12010-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
132010-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
242010-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
562010-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
1352010-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
1492010-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
1792010-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
2052010-01-29  Steve Falkenburg  <sfalken@apple.com>
206
207        Build fix.
208
209        * page/Geolocation.cpp:
210        (WebCore::Geolocation::startUpdating):
211
2122010-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
2272010-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
2492010-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
2682010-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
2832010-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
2962010-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
3172010-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
3262010-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
3382010-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
4962010-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
5102010-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
5242010-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
5362010-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
5482010-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
5962010-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
6382010-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
6972010-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
7222010-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
7362010-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
7482010-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
7682010-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
7852010-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
8562010-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
8692010-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
8812010-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
8932010-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
9152010-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
9252010-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
9322010-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
9432010-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
9512010-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
9642010-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
9792010-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
9902010-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
10092010-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
10242010-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
10492010-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
10702010-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
10782010-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
11292010-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
11422010-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
11982010-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
12142010-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
12752010-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
12972010-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
13242010-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
13662010-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
14182010-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
14452010-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
14652010-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
14812010-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
15002010-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
15132010-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
15392010-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
15452010-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
15512010-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
15812010-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
15972010-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
16122010-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
16352010-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
16422010-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
16662010-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
17342010-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
17742010-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
17832010-01-27  Darin Fisher  <darin@chromium.org>
1784
1785        Fix Chromium build bustage.
1786
1787        * rendering/RenderBoxModelObject.cpp: Add wtf/CurrentTime.h include.
1788
17892010-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
18392010-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
18742010-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
19072010-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
19232010-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
19422010-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
19842010-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
19982010-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
20822010-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
20952010-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
21032010-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
21132010-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
21362010-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
21542010-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
21742010-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
21822010-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
21952010-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
22132010-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
22342010-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
22932010-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
23072010-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
23272010-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
23322010-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
24032010-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
24242010-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
24342010-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
24622010-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
24722010-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
24882010-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
24952010-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
25072010-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
25262010-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
25332010-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
25392010-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
25452010-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
28852010-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
29042010-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
29222010-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
29352010-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
29622010-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
29712010-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
29972010-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
30362010-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
30562010-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
30822010-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
31052010-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
31152010-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
31652010-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
32242010-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
32932010-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
33152010-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
33222010-01-26  Steve Block  <steveblock@google.com>
3323
3324        Reviewed by Adam Barth.
3325
3326        Moves JSC-specific classes from bridge/jni/JNIBridge to bridge/jni/jsc/JNIBridgeJSC
3327        https://bugs.webkit.org/show_bug.cgi?id=33958
3328
3329        This allows bridge/jni/JNIBridge to be used with both JSC and V8.
3330        A later change will add the V8 equivalent of these JSC-specific classes.
3331
3332        No new tests, refactoring only.
3333
3334        * Android.jscbindings.mk: Modified. Added JNIBridgeJSC.cpp
3335        * GNUmakefile.am: Modified. Added JNIBridgeJSC.h
3336        * WebCore.xcodeproj/project.pbxproj: Modified. Added JNIBridgeJSC.[cpp|h]
3337        * bridge/jni/JNIBridge.cpp: Modified. Moved JavaField and JavaArray to JNIBridgeJSC.cpp
3338        (appendClassName): Modfied. Guard calls to JSLock
3339        (JavaMethod::signature): Modfied. Guard calls to JSLock
3340        * bridge/jni/JNIBridge.h: Modified. Moved JavaField and JavaArray to JNIBridgeJSC.h
3341        * bridge/jni/jsc/JNIBridgeJSC.cpp: Copied from WebCore/bridge/jni/JNIBridge.cpp.
3342        * bridge/jni/jsc/JNIBridgeJSC.h: Copied from WebCore/bridge/jni/JNIBridge.h.
3343        * bridge/jni/jsc/JNIUtilityPrivate.cpp: Modified. Include JNIBridgeJSC.h
3344        * bridge/jni/jsc/JavaClassJSC.h: Modified. Include JNIBridgeJSC.h
3345        * bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. Include JNIBridgeJSC.h
3346
33472010-01-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3348
3349        Unreviewed build fix.
3350
3351        [Qt] Fix Windows build when sqlite is not available.
3352
3353        * WebCore.pri:
3354        * WebCore.pro:
3355
33562010-01-26  Holger Hans Peter Freyther  <zecke@selfish.org>
3357
3358        Reviewed by Simon Hausmann.
3359
3360        [Qt] JavaScript prompt is currently broken.
3361        https://bugs.webkit.org/show_bug.cgi?id=30914
3362
3363        Remove the manual test case in favor of an automated
3364        test case in WebKit/qt/tests/qwebpage.
3365
3366        * manual-tests/qt/java-script-prompt.html: Removed.
3367
33682010-01-26  Pavel Feldman  <pfeldman@chromium.org>
3369
3370        Reviewed by Timothy Hatcher.
3371
3372        Web Inspector: Implement HTML and CSS highlighters.
3373
3374        https://bugs.webkit.org/show_bug.cgi?id=34144
3375
3376        * WebCore.gypi:
3377        * WebCore.vcproj/WebCore.vcproj:
3378        * inspector/front-end/JavaScriptTokenizer.js: Removed.
3379        * inspector/front-end/JavaScriptTokenizer.re2js: Removed.
3380        * inspector/front-end/SourceCSSTokenizer.js: Added.
3381        (WebInspector.SourceCSSTokenizer):
3382        (WebInspector.SourceCSSTokenizer.prototype._stringToken):
3383        (WebInspector.SourceCSSTokenizer.prototype._isPropertyValue):
3384        (WebInspector.SourceCSSTokenizer.prototype.nextToken):
3385        * inspector/front-end/SourceCSSTokenizer.re2js: Added.
3386        * inspector/front-end/SourceHTMLTokenizer.js: Added.
3387        (WebInspector.SourceHTMLTokenizer):
3388        (WebInspector.SourceHTMLTokenizer.prototype._stringToken):
3389        (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
3390        * inspector/front-end/SourceHTMLTokenizer.re2js: Added.
3391        * inspector/front-end/SourceJavaScriptTokenizer.js: Added.
3392        (WebInspector.SourceJavaScriptTokenizer):
3393        (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
3394        * inspector/front-end/SourceJavaScriptTokenizer.re2js: Added.
3395        * inspector/front-end/TextEditorHighlighter.js:
3396        (WebInspector.TextEditorHighlighter):
3397        (WebInspector.TextEditorHighlighter.prototype._highlightLines):
3398        (WebInspector.TextEditorHighlighter.Tokenizer):
3399        (WebInspector.TextEditorHighlighter.Tokenizer.prototype.set line):
3400        (WebInspector.TextEditorHighlighter.Tokenizer.prototype.set condition):
3401        (WebInspector.TextEditorHighlighter.Tokenizer.prototype.get condition):
3402        (WebInspector.TextEditorHighlighter.Tokenizer.prototype.hasCondition):
3403        (WebInspector.TextEditorHighlighter.Tokenizer.prototype.getLexCondition):
3404        (WebInspector.TextEditorHighlighter.Tokenizer.prototype.setLexCondition):
3405        (WebInspector.TextEditorHighlighter.Tokenizer.prototype._charAt):
3406        * inspector/front-end/WebKit.qrc:
3407        * inspector/front-end/inspector.html:
3408
34092010-01-26  Simon Hausmann  <simon.hausmann@nokia.com>
3410
3411        Reviewed by Holger Freyther.
3412
3413        REGRESSION(r53835): Fix editing/pasteboard/paste-noscript-xhtml.xhtml
3414        https://bugs.webkit.org/show_bug.cgi?id=34157
3415
3416        Pass the FragmentScriptingPermission correctly through to the DOM
3417        and disallow scripting elements in parseEndElement(), similar to
3418        the libxml tokenizer change in r53835.
3419
3420        * dom/XMLTokenizerQt.cpp:
3421        (WebCore::handleElementNamespaces):
3422        (WebCore::handleElementAttributes):
3423        (WebCore::XMLTokenizer::parseStartElement):
3424        (WebCore::XMLTokenizer::parseEndElement):
3425
34262010-01-26  Garret Kelly  <gdk@chromium.org>
3427
3428        Reviewed by Eric Seidel.
3429
3430        Add missing declaration for the feMorphology SVG element.
3431        https://bugs.webkit.org/show_bug.cgi?id=34151
3432
3433        * bindings/v8/V8DOMWrapper.cpp:
3434
34352010-01-26  Andras Becsi  <abecsi@inf.u-szeged.hu>
3436
3437        Unreviewed build fix.
3438
3439        [Qt] Build fix after API changes in r53835.
3440
3441        No new tests needed.
3442
3443        * dom/XMLTokenizerQt.cpp:
3444        (WebCore::XMLTokenizer::XMLTokenizer):
3445        (WebCore::parseXMLDocumentFragment):
3446
34472010-01-22  Jeremy Orlow  <jorlow@chromium.org>
3448
3449        Reviewed by Darin Adler.
3450
3451        Make storage events match the spec.
3452        https://bugs.webkit.org/show_bug.cgi?id=30546
3453
3454        This meat of the patch I just posted is very simple.  It's just making events
3455        asynchronous, not posting them to the frame that generated them, passing a null
3456        for the key when issuing a clear storage event, and making the events
3457        non-cancelable/non-bubbleable...all of which are clearly stated in the spec.
3458
3459        The asynchronous and not posting to the frame that generated them forced me to
3460        re-write all the layout tests that dealt with storage events.  There's a lot of
3461        code there, but I tried to be fairly careful to ensure that test coverage did
3462        not shrink in any area.
3463
3464        Tests: storage/domstorage/events/basic-body-attribute.html
3465               storage/domstorage/events/basic-setattribute.html
3466               storage/domstorage/events/basic.html
3467               storage/domstorage/events/case-sensitive.html
3468               storage/domstorage/events/documentURI.html
3469
3470        * dom/Document.cpp:
3471        (WebCore::Document::Document):
3472        (WebCore::Document::enqueueStorageEvent):
3473        (WebCore::Document::storageEventTimerFired):
3474        * dom/Document.h:
3475        * storage/StorageEvent.cpp:
3476        (WebCore::StorageEvent::StorageEvent):
3477        * storage/StorageEvent.idl:
3478        * storage/StorageEventDispatcher.cpp:
3479        (WebCore::StorageEventDispatcher::dispatch):
3480
34812010-01-25  Dan Bernstein  <mitz@apple.com>
3482
3483        Reviewed by Darin Adler.
3484
3485        <rdar://problem/7573493> Error with line break inside ?&raquo; pair of characters.
3486        https://bugs.webkit.org/show_bug.cgi?id=17475
3487
3488        Test: fast/text/line-break-after-question-mark.html
3489
3490        Instead of unconditionally allowing lines to break after a question mark, which was intended
3491        to mimic Internet Explorer, apply the Unicode line breaking behavior after a question mark,
3492        with one exception in the ASCII range to match IE, namely not allowing a line break between
3493        a question mark and a vertical line.
3494
3495        * rendering/break_lines.cpp:
3496        (WebCore::shouldBreakAfter): Added a next character parameter. Changed to consult a table
3497        for the question mark case in order to keep it fast and not require a text break iterator in
3498        the ASCII case.
3499        (WebCore::nextBreakablePosition): Pass the next character to shouldBreakAfter.
3500
35012010-01-25  Peter Kasting  <pkasting@google.com>
3502
3503        Reviewed by Dan Bernstein.
3504
3505        Mac scrollbar thumbs were drawn with the wrong size.
3506        https://bugs.webkit.org/show_bug.cgi?id=34049
3507
3508        * platform/chromium/ScrollbarThemeChromiumMac.mm:
3509        (WebCore::ScrollbarThemeChromiumMac::paint):
3510        * platform/mac/ScrollbarThemeMac.mm:
3511        (WebCore::ScrollbarThemeMac::paint):
3512
35132010-01-25  Enrica Casucci  <enrica@apple.com>
3514
3515        Reviewed by Darin Adler.
3516
3517        Cleanup unwanted tags after pasting.
3518        https://bugs.webkit.org/show_bug.cgi?id=34148
3519        
3520        Test: editing/pasteboard/paste-noscript-xhtml.xhtml
3521
3522        * dom/Element.cpp:
3523        (WebCore::Element::setAttributeNS):
3524        * dom/Element.h:
3525        * dom/XMLTokenizer.h:
3526        * dom/XMLTokenizerLibxml2.cpp:
3527        (WebCore::XMLTokenizer::XMLTokenizer):
3528        (WebCore::handleElementNamespaces):
3529        (WebCore::handleElementAttributes):
3530        (WebCore::XMLTokenizer::startElementNs):
3531        (WebCore::XMLTokenizer::endElementNs):
3532        (WebCore::parseXMLDocumentFragment):
3533        * html/HTMLElement.cpp:
3534        (WebCore::HTMLElement::createContextualFragment):
3535
35362010-01-25  Steve Falkenburg  <sfalken@apple.com>
3537
3538        Reviewed by Simon Fraser.
3539
3540        A WebGeolocationControllerClient is leaked for every WebView
3541        https://bugs.webkit.org/show_bug.cgi?id=34145
3542
3543        * page/GeolocationController.cpp:
3544        (WebCore::GeolocationController::~GeolocationController):
3545        * page/GeolocationControllerClient.h:
3546
35472010-01-25  Chris Marrin  <cmarrin@apple.com>
3548
3549        Reviewed by Simon Fraser.
3550
3551        Fixed bug in positioning of scroll layer within the
3552        parent root layer.
3553        https://bugs.webkit.org/show_bug.cgi?id=33847
3554        
3555        * platform/graphics/win/WKCACFLayerRenderer.cpp:
3556        (WebCore::WKCACFLayerRenderer::setScrollFrame):
3557        (WebCore::WKCACFLayerRenderer::createRenderer):
3558
35592010-01-25  Alexey Proskuryakov  <ap@apple.com>
3560
3561        Rubber-stamped by Geoffrey Garen.
3562
3563        https://bugs.webkit.org/show_bug.cgi?id=34076
3564        An image remains accessible via form.property syntax after being removed from document.
3565
3566        Fix crashing regression tests (tables/mozilla/bugs/bug4527.html et al.)
3567
3568        * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::insertedIntoTree): Remove incorrect
3569        assertions added in the previous patch - it's mot true that m_for is always a parent; table
3570        parsing can reparent the image element, but m_form still needs to be set.
3571
35722010-01-25  Alexey Proskuryakov  <ap@apple.com>
3573
3574        Reviewed by Geoffrey Garen.
3575
3576        https://bugs.webkit.org/show_bug.cgi?id=34076
3577        An image remains accessible via form.property syntax after being removed from document.
3578
3579        Tests: fast/forms/removed-image-as-property.html
3580               fast/forms/reparented-image-as-property.html
3581
3582        * html/HTMLImageElement.cpp:
3583        (WebCore::HTMLImageElement::~HTMLImageElement): This is called during GC - not a good time
3584        to make observable changes to DOM.
3585        (WebCore::HTMLImageElement::insertedIntoTree): This is the right place to do any work that
3586        depends on connectedness to some ancestor. We still allow for m_form to be set via constructor,
3587        which happens during parsing.
3588        (WebCore::HTMLImageElement::removedFromTree): Ditto.
3589
3590        * html/HTMLImageElement.h: Added removedFromTree/insertedIntoTree, moved removedFromDocument
3591        and insertedIntoDocument to private section, as they shouldn't be called directly.
3592
35932010-01-25  Daniel Bates  <dbates@webkit.org>
3594
3595        Reviewed by Adam Barth.
3596
3597        https://bugs.webkit.org/show_bug.cgi?id=34073
3598
3599        Fixes misspelled words in comments.
3600
3601        * accessibility/AccessibilityListBox.cpp:
3602        (WebCore::AccessibilityListBox::addChildren):
3603        (WebCore::AccessibilityListBox::doAccessibilityHitTest):
3604        * accessibility/mac/AccessibilityObjectWrapper.mm:
3605        (-[AccessibilityObjectWrapper detach]):
3606        (AXAttributeStringSetElement):
3607        * bindings/js/JSDOMBinding.cpp:
3608        (WebCore::completeURL):
3609        * bindings/js/JSDOMWindowBase.cpp:
3610        * bindings/js/JSDOMWindowBase.h:
3611        * bindings/js/JSDOMWindowCustom.cpp:
3612        (WebCore::JSDOMWindow::getOwnPropertySlot):
3613        * bindings/js/JSSVGPODTypeWrapper.h:
3614        * bindings/js/ScriptController.cpp:
3615        (WebCore::ScriptController::evaluateInWorld):
3616        * bridge/NP_jsobject.cpp:
3617        (_NPN_SetException):
3618        * bridge/jni/jsc/JavaInstanceJSC.cpp:
3619        (JavaInstance::invokeMethod):
3620        (JObjectWrapper::JObjectWrapper):
3621        * bridge/objc/objc_instance.mm:
3622        (ObjcInstance::setValueOfUndefinedField):
3623        (ObjcInstance::getValueOfUndefinedField):
3624        * css/CSSFontSelector.cpp:
3625        (WebCore::CSSFontSelector::addFontFaceRule):
3626        * css/CSSStyleSelector.cpp:
3627        (WebCore::CSSStyleSelector::CSSStyleSelector):
3628        (WebCore::CSSStyleSelector::sortMatchedRules):
3629        (WebCore::CSSStyleSelector::applyDeclarations):
3630        (WebCore::CSSStyleSelector::applyProperty):
3631        * dom/Document.cpp:
3632        (WebCore::Document::updateLayoutIgnorePendingStylesheets):
3633        (WebCore::Document::detach):
3634        * dom/Document.h:
3635        * dom/Element.cpp:
3636        (WebCore::Element::updateFocusAppearance):
3637        * dom/Element.h:
3638        * dom/MessagePortChannel.h:
3639        * dom/MouseRelatedEvent.cpp:
3640        (WebCore::MouseRelatedEvent::receivedTarget):
3641        * dom/Node.cpp:
3642        (WebCore::Node::isFocusable):
3643        (WebCore::Node::shadowAncestorNode):
3644        * dom/Node.h:
3645        * dom/Position.cpp:
3646        (WebCore::Position::upstream):
3647        * dom/Position.h:
3648        * dom/Range.cpp:
3649        (WebCore::Range::processContents):
3650        * dom/StyledElement.cpp:
3651        (WebCore::StyledElement::addCSSColor):
3652        * editing/ApplyStyleCommand.cpp:
3653        (WebCore::StyleChange::reconcileTextDecorationProperties):
3654        (WebCore::StyleChange::extractTextStyles):
3655        (WebCore::prepareEditingStyleToApplyAt):
3656        * editing/DeleteButtonController.cpp:
3657        (WebCore::isDeletableElement):
3658        * editing/DeleteSelectionCommand.cpp:
3659        (WebCore::DeleteSelectionCommand::initializeStartEnd):
3660        * editing/Editor.cpp:
3661        (WebCore::Editor::learnSpelling):
3662        * inspector/front-end/ConsoleView.js:
3663        (WebInspector.ConsoleMessage.prototype._format):
3664        * loader/Cache.cpp:
3665        (WebCore::Cache::pruneLiveResources):
3666        (WebCore::Cache::pruneDeadResources):
3667        * loader/Cache.h:
3668        * loader/CachedResource.cpp:
3669        (WebCore::CachedResource::makePurgeable):
3670        * loader/CachedResource.h:
3671        * loader/CachedResourceHandle.h:
3672        * loader/DocumentLoader.h:
3673        * loader/FTPDirectoryParser.cpp:
3674        (WebCore::parseOneFTPLine):
3675        * loader/FrameLoader.cpp:
3676        (WebCore::FrameLoader::didExplicitOpen):
3677        * loader/ResourceLoader.cpp:
3678        (WebCore::ResourceLoader::didCancel):
3679        * loader/WorkerThreadableLoader.h:
3680        * loader/appcache/ApplicationCacheStorage.cpp:
3681        (WebCore::ApplicationCacheStorage::spaceNeeded):
3682        * notifications/NotificationPresenter.h:
3683        (WebCore::NotificationPresenter::):
3684        * page/animation/AnimationController.cpp:
3685        (WebCore::AnimationController::updateAnimations):
3686        * platform/LinkHash.cpp:
3687        (WebCore::cleanPath):
3688        * platform/graphics/cg/GraphicsContextCG.cpp:
3689        (WebCore::calculateDrawingMode):
3690        * platform/graphics/cg/PatternCG.cpp:
3691        (WebCore::Pattern::createPlatformPattern):
3692        * platform/graphics/mac/ComplexTextController.cpp:
3693        (WebCore::ComplexTextController::offsetForPosition):
3694        * platform/graphics/mac/GraphicsLayerCA.h:
3695        * platform/graphics/mac/GraphicsLayerCA.mm:
3696        (WebCore::GraphicsLayerCA::ensureStructuralLayer):
3697        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3698        (WebCore::MediaPlayerPrivate::doSeek):
3699        (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
3700        (WebCore::MediaPlayerPrivate::hasAvailableVideoFrame):
3701        * platform/mac/PasteboardMac.mm:
3702        (WebCore::Pasteboard::writeSelection):
3703        (WebCore::Pasteboard::writePlainText):
3704        (WebCore::Pasteboard::writeURL):
3705        * platform/text/TextCodecICU.cpp:
3706        (WebCore::TextCodecICU::registerExtendedEncodingNames):
3707        * platform/text/TextEncodingDetectorICU.cpp:
3708        (WebCore::detectTextEncoding):
3709        * rendering/AutoTableLayout.cpp:
3710        (WebCore::AutoTableLayout::calcEffectiveWidth):
3711        (WebCore::AutoTableLayout::layout):
3712        * rendering/RenderBox.cpp:
3713        (WebCore::RenderBox::calcAbsoluteHorizontalValues):
3714        (WebCore::RenderBox::calcAbsoluteVerticalValues):
3715        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
3716        (WebCore::RenderBox::calcAbsoluteVerticalReplaced):
3717        * rendering/RenderLayer.cpp:
3718        (WebCore::RenderLayer::scrollByRecursively):
3719        (WebCore::RenderLayer::paintLayer):
3720        (WebCore::RenderLayer::hitTestLayer):
3721        * rendering/RenderObject.cpp:
3722        (WebCore::RenderObject::destroy):
3723        * rendering/RenderTextControl.cpp:
3724        (WebCore::RenderTextControl::setInnerTextValue):
3725        * rendering/RenderTheme.cpp:
3726        (WebCore::RenderTheme::stateChanged):
3727        * rendering/SVGRenderSupport.cpp:
3728        (WebCore::SVGRenderBase::mapLocalToContainer):
3729        * rendering/SVGRootInlineBox.cpp:
3730        (WebCore::SVGRootInlineBox::buildTextChunks):
3731        * rendering/TransformState.cpp:
3732        (WebCore::TransformState::flattenWithTransform):
3733        * wml/WMLInputElement.cpp:
3734        (WebCore::WMLInputElement::dispatchBlurEvent):
3735        (WebCore::WMLInputElement::suggestedValue):
3736
37372010-01-25  Geoffrey Garen  <ggaren@apple.com>
3738
3739        Suggested by Darin Adler.
3740
3741        Fixed a spelling error, tightened up some grammar.
3742
3743        * bindings/js/JSDOMBinding.cpp:
3744        (WebCore::forgetDOMObject):
3745        (WebCore::forgetDOMNode):
3746
37472010-01-25  Yury Semikhatsky  <yurys@chromium.org>
3748
3749        Reviewed by Timothy Hatcher.
3750
3751        Instead of adding inspector methods to the inspected global objects
3752        use private implementation visible from inspector code only.
3753        https://bugs.webkit.org/show_bug.cgi?id=34089
3754
3755        Test: inspector/inspected-objects-not-overriden.html
3756
3757        * inspector/front-end/InjectedScript.js:
3758        (injectedScriptConstructor):
3759
37602010-01-25  Pavel Feldman  <pfeldman@chromium.org>
3761
3762        Reviewed by Timothy Hatcher.
3763
3764        Web Inspector: don't show headers/content tabs in scripts view.
3765
3766        https://bugs.webkit.org/show_bug.cgi?id=34083
3767
3768        * inspector/front-end/ResourceView.js:
3769        (WebInspector.ResourceView):
3770        (WebInspector.ResourceView.prototype.set headersVisible):
3771        (WebInspector.ResourceView.prototype._selectContentTab):
3772        (WebInspector.ResourceView.prototype._innerSelectContentTab):
3773        * inspector/front-end/ResourcesPanel.js:
3774        (WebInspector.ResourcesPanel.prototype.show):
3775        (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
3776        (WebInspector.ResourcesPanel.prototype.showResource):
3777        * inspector/front-end/ScriptsPanel.js:
3778        (WebInspector.ScriptsPanel.prototype.show):
3779        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
3780        * inspector/front-end/inspector.css:
3781
37822010-01-25  Simon Hausmann  <hausmann@webkit.org>
3783
3784        Reviewed by Kenneth Rohde Christiansen.
3785
3786        [Qt] Reduce the size of the library when compiling for Maemo5
3787        https://bugs.webkit.org/show_bug.cgi?id=34050
3788
3789        Exclude the Web Inspector's qrc file in the Maemo5 build, just
3790        like we do for the Symbian build. Saves about ~900k.
3791
3792        * WebCore.pro:
3793
37942010-01-25  Simon Hausmann  <hausmann@webkit.org>
3795
3796        Reviewed by Kenneth Rohde Christiansen.
3797
3798        [Qt] In the StyledPainter determine the style from the Render and Scrollbar theme instead of from the paint device
3799        https://bugs.webkit.org/show_bug.cgi?id=34054
3800
3801        Getting the style from the painter's paint device is a hack that breaks when
3802        the paint device's style is different than the style that is used when
3803        calculating the metries earlier when there is no painter available.
3804
3805        This change moves us closer to always using the same style.
3806
3807        * platform/qt/RenderThemeQt.cpp:
3808        (WebCore::StylePainter::StylePainter):
3809        (WebCore::StylePainter::init):
3810        (WebCore::RenderThemeQt::paintButton):
3811        (WebCore::RenderThemeQt::paintTextField):
3812        (WebCore::RenderThemeQt::paintMenuList):
3813        (WebCore::RenderThemeQt::paintMenuListButton):
3814        (WebCore::RenderThemeQt::paintSliderTrack):
3815        (WebCore::RenderThemeQt::paintMediaMuteButton):
3816        (WebCore::RenderThemeQt::paintMediaPlayButton):
3817        (WebCore::RenderThemeQt::paintMediaSliderTrack):
3818        (WebCore::RenderThemeQt::paintMediaSliderThumb):
3819        * platform/qt/RenderThemeQt.h:
3820        * platform/qt/ScrollbarThemeQt.cpp:
3821        (WebCore::ScrollbarThemeQt::paint):
3822        (WebCore::ScrollbarThemeQt::hitTest):
3823        (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
3824        (WebCore::ScrollbarThemeQt::scrollbarThickness):
3825        (WebCore::ScrollbarThemeQt::thumbLength):
3826        (WebCore::ScrollbarThemeQt::trackPosition):
3827        (WebCore::ScrollbarThemeQt::trackLength):
3828        (WebCore::ScrollbarThemeQt::paintScrollCorner):
3829        (WebCore::ScrollbarThemeQt::style):
3830        * platform/qt/ScrollbarThemeQt.h:
3831
38322010-01-25  Simon Hausmann  <hausmann@webkit.org>
3833
3834        Reviewed by Kenneth Rohde Christiansen.
3835
3836        [Qt] In RenderThemeQt determine the QStyle from the page client instead of the page's view
3837        https://bugs.webkit.org/show_bug.cgi?id=34053
3838
3839        * platform/qt/QWebPageClient.h: Add function to return the style.
3840        * platform/qt/RenderThemeQt.cpp:
3841        (WebCore::RenderThemeQt::qStyle): Determine the style from the page client instead of the page's view.
3842
38432010-01-25  Simon Hausmann  <hausmann@webkit.org>
3844
3845        Reviewed by Kenneth Christiansen.
3846
3847        [Qt] Clean up code to determine palette from page client in RenderThemeQt
3848        https://bugs.webkit.org/show_bug.cgi?id=34052
3849
3850        Use the RenderTheme's associated page instead of going through the
3851        render tree and the document.
3852
3853        * platform/qt/RenderThemeQt.cpp:
3854        (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
3855        (WebCore::RenderThemeQt::initializeCommonQStyleOptions):
3856        * platform/qt/RenderThemeQt.h:
3857
38582010-01-25  Janne Koskinen  <janne.p.koskinen@digia.com>
3859
3860        Reviewed by Simon Hausmann.
3861
3862        [Qt] Phone backup support for QtWebkit for Symbian devices.
3863        https://bugs.webkit.org/show_bug.cgi?id=34077
3864
3865        * WebCore.pro:
3866
38672010-01-25  Benjamin Poulain  <benjamin.poulain@nokia.com>
3868
3869        Reviewed by Antti Koivisto.
3870
3871        Do not render the full frame when there is some elements with fixed positioning
3872        https://bugs.webkit.org/show_bug.cgi?id=33150
3873
3874        Do not render the full frame when there is some elements with fixed positioning
3875        https://bugs.webkit.org/show_bug.cgi?id=33150
3876
3877        * page/FrameView.cpp:
3878        (WebCore::FrameView::useSlowRepaints):
3879        (WebCore::FrameView::useSlowRepaintsIfNotOverlapped):
3880        (WebCore::FrameView::registerFixedPositionedObject):
3881        (WebCore::FrameView::unregisterFixedPositionedObject):
3882        (WebCore::FrameView::scrollContentsFastPath):
3883        * page/FrameView.h:
3884        * platform/ScrollView.cpp:
3885        (WebCore::ScrollView::scrollContents):
3886        (WebCore::ScrollView::scrollContentsFastPath):
3887        * platform/ScrollView.h:
3888        * rendering/RenderObject.cpp:
3889        (WebCore::RenderObject::styleWillChange):
3890        (WebCore::RenderObject::destroy):
3891
38922010-01-24  Pavel Feldman  <pfeldman@chromium.org>
3893
3894        Reviewed by Timothy Hatcher.
3895
3896        Web Inspector: Add support for addMessage/clearMessages to SourceFrame2.
3897
3898        https://bugs.webkit.org/show_bug.cgi?id=33904
3899
3900        * WebCore.gypi:
3901        * WebCore.vcproj/WebCore.vcproj:
3902        * inspector/front-end/SourceFrame2.js:
3903        (WebInspector.SourceFrame2):
3904        (WebInspector.SourceFrame2.prototype.addMessage):
3905        (WebInspector.SourceFrame2.prototype.clearMessages):
3906        (WebInspector.SourceFrame2.prototype._incrementMessageRepeatCount):
3907        (WebInspector.SourceFrame2.prototype._addExistingMessagesToSource):
3908        (WebInspector.SourceFrame2.prototype._addMessageToSource):
3909        (WebInspector.SourceFrame2.prototype.resize):
3910        * inspector/front-end/TextEditor.js:
3911        (WebInspector.TextEditor):
3912        (WebInspector.TextEditor.prototype.setDivDecoration):
3913        (WebInspector.TextEditor.prototype._lineHeight):
3914        (WebInspector.TextEditor.prototype._highlightChanged):
3915        (WebInspector.TextEditor.prototype.packAndRepaintAll):
3916        (WebInspector.TextEditor.prototype._updateSize):
3917        (WebInspector.TextEditor.prototype._repaintAll):
3918        (WebInspector.TextEditor.prototype._paint):
3919        (WebInspector.TextEditor.prototype._paintLinesContinuation):
3920        (WebInspector.TextEditor.prototype._mouseOut):
3921        (WebInspector.TextEditor.prototype._updateDivDecorations):
3922        (WebInspector.TextEditor.prototype._positionDivDecoration):
3923        (WebInspector.TextEditor.prototype._paintSelection):
3924        (WebInspector.TextEditor.prototype._replaceSelectionWith):
3925        * inspector/front-end/TextEditorHighlighter.js:
3926        (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
3927        * inspector/front-end/WebKit.qrc:
3928        * inspector/front-end/inspector.css:
3929        * inspector/front-end/inspector.html:
3930        * inspector/front-end/textEditor.css: Added.
3931
39322010-01-24  Pavel Feldman  <pfeldman@chromium.org>
3933
3934        Reviewed by Timothy Hatcher.
3935
3936        Web Inspector: Replace split pane with tabbed pane in resource
3937        contents view.
3938
3939        https://bugs.webkit.org/show_bug.cgi?id=32453
3940
3941        * inspector/front-end/ResourceView.js:
3942        (WebInspector.ResourceView):
3943        (WebInspector.ResourceView.prototype.attach):
3944        (WebInspector.ResourceView.prototype.show):
3945        (WebInspector.ResourceView.prototype._selectTab):
3946        (WebInspector.ResourceView.prototype._selectHeadersTab):
3947        (WebInspector.ResourceView.prototype._selectContentTab):
3948        * inspector/front-end/ResourcesPanel.js:
3949        (WebInspector.ResourcesPanel.prototype.show):
3950        (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
3951        (WebInspector.ResourcesPanel.prototype.showResource):
3952        * inspector/front-end/ScriptsPanel.js:
3953        (WebInspector.ScriptsPanel.prototype.show):
3954        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
3955        * inspector/front-end/Settings.js:
3956        (WebInspector.Settings.prototype._load):
3957        * inspector/front-end/SourceFrame.js:
3958        (WebInspector.SourceFrame.prototype._loaded):
3959        * inspector/front-end/SourceView.js:
3960        (WebInspector.SourceView):
3961        * inspector/front-end/inspector.css:
3962
39632010-01-24  Eric Carlson  <eric.carlson@apple.com>
3964
3965        Reviewed by Dan Bernstein.
3966
3967        Media element duration changes to zero after playing in reverse
3968        https://bugs.webkit.org/show_bug.cgi?id=34041
3969
3970        Test: media/video-reverse-play-duration.html
3971
3972        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3973        (WebCore::MediaPlayerPrivate::didEnd): QTKit's ended notification fires at time zero when 
3974        playing in reverse, so don't reset duration in that case.
3975
39762010-01-24  Maciej Stachowiak  <mjs@apple.com>
3977
3978        Reviewed by Dan Bernstein.
3979
3980        Content with heavily nested residual style is so slow, it seems like a hang
3981        https://bugs.webkit.org/show_bug.cgi?id=34059
3982        <rdar://problem/7292906>
3983        
3984        Test cast: fast/parser/residual-style-hang.html
3985
3986        * html/HTMLParser.cpp:
3987        (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks):
3988        Limit the number of iterations of the main loop to 5.
3989        
3990        The reason this limit is necessary is that otherwise, N misnested open tags followed
3991        by N misnested close tags will cause O(N^2) of work due to cloning and attaching subtrees;
3992        at a fixed limit, the cost is at worst O(N).
3993        
3994        The code that was in the loop originally ran exactly once - the loop was added in
3995        r21472 to fix <https://bugs.webkit.org/show_bug.cgi?id=13603>. I have verified that
3996        with the iteration limit, the bug is still fixed, both with the original test case
3997        and with the layout tests tht were added.
3998
39992010-01-24  Kent Tamura  <tkent@chromium.org>
4000
4001        Reviewed by Darin Adler.
4002
4003        HTMLInputElement::valueAsDate setter support for type=week.
4004        https://bugs.webkit.org/show_bug.cgi?id=33986
4005
4006        Introduce ISODateTime::setMillisecondsSinceEpochForWeek() and add
4007        Week type support to ISODateTime::toString().
4008
4009        * html/HTMLInputElement.cpp:
4010        (WebCore::HTMLInputElement::valueAsDate): Avoid default:.
4011        (WebCore::HTMLInputElement::setValueAsDate):
4012          Add WEEK type handling and avoid default:.
4013        * html/ISODateTime.cpp:
4014        (WebCore::offsetTo1stWeekStart):
4015        (WebCore::ISODateTime::setMillisecondsSinceEpochForWeek):
4016        (WebCore::ISODateTime::millisecondsSinceEpoch):
4017        (WebCore::ISODateTime::toString):
4018          Add Week type support and avoid default:.
4019        * html/ISODateTime.h:
4020
40212010-01-24  Oliver Hunt  <oliver@apple.com>
4022
4023        Reviewed by Darin Adler.
4024
4025        Object Serialization assumes deserialization will always occur in the context of a webpage
4026        https://bugs.webkit.org/show_bug.cgi?id=34056
4027        rdar://7573833
4028
4029        Added ClassInfo to JSDOMGlobalObject and make the window and worker class info
4030        inherit from it.  With this in place we're able to determine whether a given
4031        global object is a DOMGlobalObject, and then use that information to avoid
4032        attempting to deserialize types that require the presence of the DOM.
4033
4034        No test as all global objects in webkit inherit from JSDOMGlobalObject.
4035
4036        * bindings/js/JSDOMGlobalObject.cpp:
4037        (WebCore::):
4038        * bindings/js/JSDOMGlobalObject.h:
4039        (WebCore::JSDOMGlobalObject::classInfo):
4040        * bindings/js/JSDOMWindowBase.cpp:
4041        (WebCore::):
4042        * bindings/js/JSWorkerContextBase.cpp:
4043        (WebCore::):
4044        * bindings/js/SerializedScriptValue.cpp:
4045        (WebCore::DeserializingTreeWalker::DeserializingTreeWalker):
4046        (WebCore::DeserializingTreeWalker::convertIfTerminal):
4047
40482010-01-24  Eric Carlson  <eric.carlson@apple.com>
4049
4050        Reviewed by Simon Fraser.
4051
4052        https://bugs.webkit.org/show_bug.cgi?id=34047
4053        <rdar://problem/7573699>
4054        Media element "endedPlayback" logic doesn't match spec
4055
4056        Test: media/video-timeupdate-reverse-play.html
4057
4058        * html/HTMLMediaElement.cpp:
4059        (WebCore::HTMLMediaElement::ended): The 'ended' attribute should only be true when playback
4060        rate is positive.
4061        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Always schedule a 'timeupdate' event when
4062        the media engine signals a time discontinuity, scheduleTimeupdateEvent will only queue an event
4063        if one hasn't already been posted for the current movie time.
4064        (WebCore::HTMLMediaElement::endedPlayback): Update to match the spec logic.
4065
40662010-01-23  Simon Fraser  <simon.fraser@apple.com>
4067
4068        Reviewed by Darin Adler.
4069
4070        Video that loads inside reflection doesn't get reflected
4071        https://bugs.webkit.org/show_bug.cgi?id=34046
4072        
4073        ensureCloneLayers() made an incorrect assumption that if a clone of the primaryLayer
4074        exists already, then the structural layer and content layer can just be returned.
4075        However, this doesn't account for the situation where a content layer may have
4076        been create after the clone tree was last updated.
4077        
4078        Fix by always creating the structural and clone layers on demand.
4079
4080        Test: compositing/reflections/load-video-in-reflection.html
4081
4082        * platform/graphics/mac/GraphicsLayerCA.h: Added utility method, findOrMakeClone().
4083        * platform/graphics/mac/GraphicsLayerCA.mm:
4084        (WebCore::GraphicsLayerCA::findOrMakeClone): Utility that efficiently finds
4085        or creates a layer in a LayerMap.
4086        (WebCore::GraphicsLayerCA::ensureCloneLayers): Always look for or clone the
4087        structural and content layers, rather than relying on whether there's a primary
4088        layer clone already.
4089
40902010-01-23  Oliver Hunt  <oliver@apple.com>
4091
4092        Reviewed by Maciej Stachowiak.
4093
4094        Implement support for FileList cloning in postMessage
4095        https://bugs.webkit.org/show_bug.cgi?id=34048
4096
4097        Support passing FileList through postMessage APIs.  Basically
4098        mechanical task in line with other terminals in the object
4099        graph.
4100
4101        * bindings/js/SerializedScriptValue.cpp:
4102        (WebCore::SerializedFileList::create):
4103        (WebCore::SerializedFileList::length):
4104        (WebCore::SerializedFileList::item):
4105        (WebCore::SerializedFileList::SerializedFileList):
4106        (WebCore::SerializedScriptValueData::SerializedScriptValueData):
4107        (WebCore::SharedSerializedData::asFileList):
4108        (WebCore::SerializingTreeWalker::convertIfTerminal):
4109        (WebCore::DeserializingTreeWalker::convertIfTerminal):
4110        (WebCore::TeardownTreeWalker::convertIfTerminal):
4111            Rearrange these functions to not use 'default:' handling
4112            so that the compiler will actually tell us when we're
4113            not handling cases.
4114        * bindings/js/SerializedScriptValue.h:
4115        (WebCore::SerializedScriptValueData::):
4116        (WebCore::SerializedScriptValueData::asFileList):
4117
41182010-01-23  Yury Semikhatsky  <yurys@chromium.org>
4119
4120        Reviewed by Pavel Feldman.
4121
4122        Inject inspector script directly into the inspected context. All the
4123        communication between the script and the frontend is serialized into
4124        JSON strings. It allows to get rid of object quarantines in Web Inspector.
4125
4126        https://bugs.webkit.org/show_bug.cgi?id=32554
4127
4128        Test: inspector/console-log-before-inspector-open.html
4129
4130        * bindings/js/JSInjectedScriptHostCustom.cpp:
4131        (WebCore::JSInjectedScriptHost::databaseForId):
4132        (WebCore::JSInjectedScriptHost::currentCallFrame):
4133        (WebCore::JSInjectedScriptHost::nodeForId):
4134        (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
4135        (WebCore::JSInjectedScriptHost::selectDatabase):
4136        (WebCore::JSInjectedScriptHost::selectDOMStorage):
4137        * bindings/js/ScriptCallStack.h:
4138        (WebCore::ScriptCallStack::globalState):
4139        * bindings/js/ScriptController.cpp:
4140        (WebCore::ScriptController::mainWorldScriptState):
4141        * bindings/js/ScriptController.h:
4142        * bindings/js/ScriptObject.h:
4143        (WebCore::ScriptObject::scriptState):
4144        * bindings/js/ScriptValue.cpp:
4145        * bindings/js/ScriptValue.h:
4146        * bindings/v8/ScriptCallStack.h:
4147        (WebCore::ScriptCallStack::globalState):
4148        * bindings/v8/ScriptObject.h:
4149        (WebCore::ScriptObject::scriptState):
4150        * bindings/v8/ScriptValue.h:
4151        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
4152        * inspector/ConsoleMessage.cpp:
4153        (WebCore::ConsoleMessage::ConsoleMessage):
4154        (WebCore::ConsoleMessage::addToConsole):
4155        (WebCore::ConsoleMessage::isEqual):
4156        * inspector/ConsoleMessage.h:
4157        * inspector/InjectedScriptHost.cpp:
4158        (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
4159        * inspector/InjectedScriptHost.h:
4160        * inspector/InjectedScriptHost.idl:
4161        * inspector/InspectorBackend.cpp:
4162        (WebCore::InspectorBackend::setInjectedScriptSource):
4163        (WebCore::InspectorBackend::dispatchOnInjectedScript):
4164        (WebCore::InspectorBackend::releaseWrapperObjectGroup):
4165        * inspector/InspectorBackend.h:
4166        * inspector/InspectorBackend.idl:
4167        * inspector/InspectorController.cpp:
4168        (WebCore::InspectorController::InspectorController):
4169        (WebCore::InspectorController::clearConsoleMessages):
4170        (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
4171        (WebCore::InspectorController::windowScriptObjectAvailable):
4172        (WebCore::InspectorController::scriptObjectReady):
4173        (WebCore::InspectorController::setFrontendProxyObject):
4174        (WebCore::InspectorController::close):
4175        (WebCore::InspectorController::resetScriptObjects):
4176        (WebCore::InspectorController::didPause):
4177        (WebCore::InspectorController::injectedScriptForNodeId):
4178        * inspector/InspectorController.h:
4179        * inspector/InspectorFrontend.cpp:
4180        (WebCore::InspectorFrontend::addConsoleMessage):
4181        (WebCore::InspectorFrontend::pausedScript):
4182        * inspector/InspectorFrontend.h:
4183        * inspector/front-end/AuditsPanel.js:
4184        (WebInspector.AuditsPanel.prototype._reloadResources):
4185        * inspector/front-end/ConsoleView.js:
4186        (WebInspector.ConsoleView.prototype.requestClearMessages):
4187        (WebInspector.ConsoleView.prototype.doEvalInWindow):
4188        * inspector/front-end/DOMAgent.js:
4189        (WebInspector.DOMNode):
4190        (WebInspector.CSSStyleDeclaration):
4191        (WebInspector.CSSStyleDeclaration.parseRule):
4192        * inspector/front-end/Database.js:
4193        (WebInspector.Database.prototype.executeSql):
4194        * inspector/front-end/ElementsPanel.js:
4195        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged.InjectedScriptAccess.get addInspectedNode):
4196        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
4197        (WebInspector.ElementsPanel.prototype.setDocument):
4198        (WebInspector.ElementsPanel.prototype.searchCanceled):
4199        (WebInspector.ElementsPanel.prototype.performSearch):
4200        * inspector/front-end/ElementsTreeOutline.js:
4201        (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
4202        * inspector/front-end/EventListenersSidebarPane.js:
4203        ():
4204        * inspector/front-end/InjectedScript.js:
4205        (injectedScriptConstructor):
4206        (injectedScriptConstructor.):
4207        * inspector/front-end/InjectedScriptAccess.js:
4208        (InjectedScriptAccess):
4209        (InjectedScriptAccess.getDefault):
4210        (get InjectedScriptAccess):
4211        (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
4212        (InjectedScriptAccess._installHandler):
4213        * inspector/front-end/MetricsSidebarPane.js:
4214        (WebInspector.MetricsSidebarPane):
4215        (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
4216        * inspector/front-end/ObjectPropertiesSection.js:
4217        * inspector/front-end/ObjectProxy.js:
4218        (WebInspector.ObjectProxy):
4219        * inspector/front-end/PropertiesSidebarPane.js:
4220        (WebInspector.PropertiesSidebarPane.prototype.update.callback):
4221        * inspector/front-end/ResourcesPanel.js:
4222        (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
4223        * inspector/front-end/ScriptsPanel.js:
4224        * inspector/front-end/StylesSidebarPane.js:
4225        (WebInspector.StylePropertyTreeElement.prototype):
4226        * inspector/front-end/WatchExpressionsSidebarPane.js:
4227        (WebInspector.WatchExpressionsSection.prototype.update):
4228        * inspector/front-end/inspector.js:
4229        (WebInspector.loaded):
4230        (WebInspector.pausedScript):
4231        (WebInspector.addConsoleMessage):
4232        (WebInspector.log.logMessage):
4233        (WebInspector.log):
4234
42352010-01-22  Alex Milowski  <alex@milowski.com>
4236
4237        Reviewed by David Hyatt.
4238
4239        Added support for RenderMathMLBlock base object and isRenderMathMLBlock()
4240        method on RenderObject. 
4241
4242        Added support for text elements and updated tag and attribute names
4243
4244        Also, updated the stylesheet added files to the project
4245
4246        * DerivedSources.make:
4247        * WebCore.xcodeproj/project.pbxproj:
4248        * css/mathml.css:
4249        * mathml/MathMLInlineContainerElement.cpp:
4250        (WebCore::MathMLInlineContainerElement::createRenderer):
4251        * mathml/MathMLTextElement.cpp: Added.
4252        (WebCore::MathMLTextElement::MathMLTextElement):
4253        (WebCore::MathMLTextElement::create):
4254        (WebCore::MathMLTextElement::createRenderer):
4255        * mathml/MathMLTextElement.h: Added.
4256        * mathml/RenderMathMLBlock.cpp: Added.
4257        (WebCore::RenderMathMLBlock::RenderMathMLBlock):
4258        (WebCore::RenderMathMLBlock::styleDidChange):
4259        (WebCore::RenderMathMLBlock::isChildAllowed):
4260        (WebCore::RenderMathMLBlock::makeBlockStyle):
4261        (WebCore::RenderMathMLBlock::nonOperatorHeight):
4262        (WebCore::RenderMathMLBlock::stretchToHeight):
4263        * mathml/RenderMathMLBlock.h: Added.
4264        (WebCore::RenderMathMLBlock::isRenderMathMLBlock):
4265        (WebCore::RenderMathMLBlock::isRenderMathMLOperator):
4266        (WebCore::RenderMathMLBlock::isRenderMathMLRow):
4267        (WebCore::RenderMathMLBlock::isRenderMathMLMath):
4268        (WebCore::RenderMathMLBlock::hasBase):
4269        (WebCore::toRenderMathMLBlock):
4270        * mathml/mathattrs.in: Added.
4271        * rendering/RenderObject.h:
4272        (WebCore::RenderObject::isRenderMathMLBlock):
4273
42742010-01-22  James Robinson  <jamesr@chromium.org>
4275
4276        Reviewed by Alexey Proskuryakov.
4277
4278        Ensures that the 'selected' attribute of an <option> is correct
4279        https://bugs.webkit.org/show_bug.cgi?id=32641
4280
4281        Adds a check in OptionElement::selected() that checks if list items need to be recalculated and does so if needed,
4282        so the attribute is up to date more often.  Also gets rid of most of the recalcStyle() side effects.
4283
4284         Our behavior now matches Firefox 3.5 and IE8 after the </select> is parsed.
4285
4286         Tests: fast/forms/HTMLOptionElement_selected2.html
4287                fast/forms/HTMLOptionElement_selected3.html
4288
4289        * dom/SelectElement.cpp:
4290        (WebCore::SelectElement::setOptionsChangedOnRenderer):
4291        (WebCore::SelectElement::setRecalcListItems):
4292        (WebCore::SelectElement::recalcListItems):
4293        (WebCore::SelectElement::restoreFormControlState):
4294        (WebCore::SelectElement::reset):
4295        (WebCore::SelectElement::typeAheadFind):
4296        * dom/SelectElement.h:
4297        * html/HTMLOptionElement.cpp:
4298        (WebCore::HTMLOptionElement::selected):
4299        (WebCore::HTMLOptionElement::insertedIntoTree):
4300        * html/HTMLSelectElement.cpp:
4301        (WebCore::HTMLSelectElement::recalcStyle):
4302        (WebCore::HTMLSelectElement::recalcListItemsIfNeeded):
4303        * html/HTMLSelectElement.h:
4304        * wml/WMLSelectElement.cpp:
4305        (WebCore::WMLSelectElement::recalcStyle):
4306
43072010-01-22  Chris Rogers  <crogers@google.com>
4308
4309        Reviewed by Eric Seidel.
4310
4311        Need to handle WebGLUnsignedByteArray as method argument for V8 binding
4312        https://bugs.webkit.org/show_bug.cgi?id=33929
4313
4314        V8 code generator does not have associated tests
4315
4316        * bindings/scripts/CodeGeneratorV8.pm:
4317
43182010-01-22  Elliot Glaysher  <erg@chromium.org>
4319
4320        Reviewed by David Levin.
4321
4322        Chromium: theme selection colors to match gtk theme
4323        Add functions to RenderThemeChromiumLinux to change the selection color
4324        according to the current GTK+ theme.
4325
4326        Since the change is to the Chromium WebKit API layer, testing is done
4327        in Chromium's test shell (see Chromium side of this patch:
4328        http://codereview.chromium.org/554004)
4329
4330        https://bugs.webkit.org/show_bug.cgi?id=33921
4331
4332        * rendering/RenderThemeChromiumLinux.cpp:
4333        (WebCore::RenderThemeChromiumLinux::platformActiveSelectionBackgroundColor):
4334        (WebCore::RenderThemeChromiumLinux::platformInactiveSelectionBackgroundColor):
4335        (WebCore::RenderThemeChromiumLinux::platformActiveSelectionForegroundColor):
4336        (WebCore::RenderThemeChromiumLinux::platformInactiveSelectionForegroundColor):
4337        (WebCore::RenderThemeChromiumLinux::setSelectionColors):
4338        * rendering/RenderThemeChromiumLinux.h: Adds static members.
4339
43402010-01-22  Kevin Watters  <kevinwatters@gmail.com>
4341
4342        Reviewed by Kevin Ollivier.
4343
4344        [wx] Remove the Bakefile build system, which is no longer being used.
4345        
4346        https://bugs.webkit.org/show_bug.cgi?id=34022
4347
4348        * WebCoreSources.bkl: Removed.
4349        * webcore-base.bkl: Removed.
4350        * webcore-wx.bkl: Removed.
4351
43522010-01-22  Peter Kasting  <pkasting@google.com>
4353
4354        Reviewed by Darin Adler.
4355
4356        Remove unnecessary copy of zlib.
4357        https://bugs.webkit.org/show_bug.cgi?id=34028
4358
4359        * platform/image-decoders/zlib: Removed.
4360        * platform/image-decoders/zlib/adler32.c: Removed.
4361        * platform/image-decoders/zlib/compress.c: Removed.
4362        * platform/image-decoders/zlib/crc32.c: Removed.
4363        * platform/image-decoders/zlib/crc32.h: Removed.
4364        * platform/image-decoders/zlib/deflate.c: Removed.
4365        * platform/image-decoders/zlib/deflate.h: Removed.
4366        * platform/image-decoders/zlib/gzio.c: Removed.
4367        * platform/image-decoders/zlib/infback.c: Removed.
4368        * platform/image-decoders/zlib/inffast.c: Removed.
4369        * platform/image-decoders/zlib/inffast.h: Removed.
4370        * platform/image-decoders/zlib/inffixed.h: Removed.
4371        * platform/image-decoders/zlib/inflate.c: Removed.
4372        * platform/image-decoders/zlib/inflate.h: Removed.
4373        * platform/image-decoders/zlib/inftrees.c: Removed.
4374        * platform/image-decoders/zlib/inftrees.h: Removed.
4375        * platform/image-decoders/zlib/mozzconf.h: Removed.
4376        * platform/image-decoders/zlib/trees.c: Removed.
4377        * platform/image-decoders/zlib/trees.h: Removed.
4378        * platform/image-decoders/zlib/uncompr.c: Removed.
4379        * platform/image-decoders/zlib/zconf.h: Removed.
4380        * platform/image-decoders/zlib/zlib.h: Removed.
4381        * platform/image-decoders/zlib/zutil.c: Removed.
4382        * platform/image-decoders/zlib/zutil.h: Removed.
4383
43842010-01-22  Steve Falkenburg  <sfalken@apple.com>
4385
4386        Reviewed by Darin Adler.
4387
4388        https://bugs.webkit.org/show_bug.cgi?id=34025
4389        Enable client-based Geolocation abstraction for Mac, Windows AppleWebKit targets.
4390
4391        * Configurations/FeatureDefines.xcconfig:
4392        * DerivedSources.make:
4393
43942010-01-22  Simon Fraser  <simon.fraser@apple.com>
4395
4396        Reviewed by Eric Carlson.
4397
4398        Race condition in video setup can force videos into software mode
4399        https://bugs.webkit.org/show_bug.cgi?id=34034
4400
4401        We used to call setUpVideoRendering() unconditionally from
4402        acceleratedRenderingStateChanged(); this could happen before the movie had any
4403        data, and thus force the movie into software rendering mode.
4404        
4405        Fix by returning early from setUpVideoRendering() if isReadyForRendering() returns false,
4406        which also allows us to remove some other checks for being ready to render.
4407        
4408        Timing dependent, hard to make a test for.
4409
4410        * platform/graphics/mac/GraphicsLayerCA.mm:
4411        (WebCore::GraphicsLayerCA::setContentsToMedia): Optimize to do an early return
4412        if passing in the same layer that is already being used.
4413        
4414        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
4415        (WebCore::MediaPlayerPrivate::setUpVideoRendering): Return without doing anything
4416        if not ready to render.
4417        (WebCore::MediaPlayerPrivate::updateStates): No need to call isReadyForRendering()
4418        any more, since setUpVideoRendering() does that.
4419        (WebCore::MediaPlayerPrivate::setVisible): No need to check the ready state; this
4420        is equivalent to the check inside of setUpVideoRendering().
4421
44222010-01-22  Simon Fraser  <simon.fraser@apple.com>
4423
4424        Reviewed by Dan Bernstein.
4425
4426        REGRESSION (r53110): Find My iPhone message dialog is offset from original position once it gets focus
4427        https://bugs.webkit.org/show_bug.cgi?id=33821
4428
4429        Fix an issue with the geometry of fixed position, composited layers inside other
4430        composited layers. If we called convertToLayerCoords() on a fixed layer with an ancestor
4431        layer which is not the root, then we assumed that the fixed layer had a positioning root.
4432        However, this is not always the case, since the fixed layer may have a compositing ancestor
4433        which is not a fixed container.
4434        
4435        Test: compositing/geometry/fixed-in-composited.html
4436
4437        * rendering/RenderLayer.cpp:
4438        (WebCore::isFixedPositionedContainer): Utility function to test whether a layer acts
4439        as a fixed position container.
4440        
4441        (WebCore::RenderLayer::convertToLayerCoords): When called on a fixed position layer
4442        for an ancestor layer that is not the root, compute the correct offsets by looking for
4443        the fixed position container, and computing offsets relative to that. If the ancestorLayer
4444        is the fixed position container, fall through to the existing code that is shared
4445        with absolutely positioned layers.
4446
44472010-01-22  Simon Fraser  <simon.fraser@apple.com>
4448
4449        Reviewed by Dan Bernstein.
4450
4451        webkitConvertPointFromNodeToPage doesn't take into account most recent transform style
4452        https://bugs.webkit.org/show_bug.cgi?id=34023
4453
4454        Be sure to call updateLayoutIgnorePendingStylesheets() before doing point mapping,
4455        to apply any style changes since the last layout.
4456
4457        Test: fast/dom/Window/webkitConvertPointUpdateLayout.html
4458
4459        * page/DOMWindow.cpp:
4460        (WebCore::DOMWindow::webkitConvertPointFromNodeToPage): Call updateLayoutIgnorePendingStylesheets().
4461        (WebCore::DOMWindow::webkitConvertPointFromPageToNode): Ditto.
4462
44632010-01-22  Maciej Stachowiak  <mjs@apple.com>
4464
4465        Reviewed by Adam Roben.
4466
4467        Use stale cache data when going back and forward but not using WebCore’s page cache
4468        https://bugs.webkit.org/show_bug.cgi?id=33993
4469        <rdar://problem/7383392>
4470
4471        No tests since this is a performance change.
4472
4473        * loader/CachePolicy.h:
4474        (WebCore::): Add CachePolicyAllowStale.
4475        * loader/DocLoader.cpp:
4476        (WebCore::DocLoader::checkForReload): Never reload in the case of
4477        CachePolicyAllowStale.
4478        * loader/FrameLoader.cpp:
4479        (WebCore::FrameLoader::subresourceCachePolicy): Return CachePolicyAllowStale
4480        if the main resource is being loaded to allow stale data.
4481        (WebCore::FrameLoader::addExtraFieldsToRequest): Use ReturnCacheDataElseLoad
4482        on back/forward loads - needed when going back of forward to a page with frames.
4483
44842010-01-22  Kelly Norton  <knorton@google.com>
4485
4486        Reviewed by Pavel Feldman.
4487
4488        Web Inspector: JavaScript Error in DOMAgent.js:375 (_attributesUpdated)
4489        https://bugs.webkit.org/show_bug.cgi?id=33915
4490
4491        Errors were caused by the fact that Element::attributes calls Element::setAttribute to
4492        synchronized the styleAttr. The fix is to simply check the synchronizing style attribute
4493        flag.
4494
4495        * dom/Element.cpp:
4496        (WebCore::Element::setAttribute): Checked for case where styleAttr is being synchronized.
4497
44982010-01-22  Eric Carlson  <eric.carlson@apple.com>
4499
4500        Reviewed by Simon Fraser.
4501
4502        Update r53711 for GraphicsLayer method rename.
4503
4504        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
4505        (WebCore::MediaPlayerPrivate::createLayerForMovie): Rename from change setContentsToVideo.
4506
45072010-01-22  Jian Li  <jianli@chromium.org>
4508
4509        Reviewed by Darin Adler.
4510
4511        Add BlobConstructor to DOMWindow.
4512        https://bugs.webkit.org/show_bug.cgi?id=33982
4513
4514        * page/DOMWindow.idl:
4515
45162010-01-22  Brian Weinstein  <bweinstein@apple.com>
4517
4518        Rubber-stamped by Adam Roben.
4519        
4520        Commit files that were supposed to be part of r53696, but weren't
4521        landed.
4522
4523        * English.lproj/localizedStrings.js:
4524        * manual-tests/debugger-caught-uncaught-exceptions.html: Added.
4525
45262010-01-22  Peter Kasting  <pkasting@google.com>
4527
4528        Reviewed by David Hyatt.
4529
4530        When scrolling by page, hold back 1/8th of the visible size instead of
4531        40 px.
4532        https://bugs.webkit.org/show_bug.cgi?id=32595
4533
4534        * editing/EditorCommand.cpp:
4535        (WebCore::verticalScrollDistance):
4536        * platform/ScrollView.cpp:
4537        (WebCore::ScrollView::updateScrollbars):
4538        (WebCore::ScrollView::wheelEvent):
4539        * platform/Scrollbar.h:
4540        * platform/wx/ScrollViewWx.cpp:
4541        (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents):
4542        * rendering/RenderLayer.cpp:
4543        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
4544
45452010-01-22  Peter Kasting  <pkasting@google.com>
4546
4547        Not reviewed, backout.
4548
4549        Back out r52673, which caused several regressions.
4550        https://bugs.webkit.org/show_bug.cgi?id=32533
4551
4552        * platform/PopupMenuClient.h:
4553        * platform/chromium/PopupMenuChromium.cpp:
4554        (WebCore::PopupContainer::hidePopup):
4555        (WebCore::PopupListBox::handleKeyEvent):
4556        (WebCore::PopupListBox::abandon):
4557        (WebCore::PopupListBox::acceptIndex):
4558        (WebCore::PopupListBox::selectIndex):
4559        (WebCore::PopupListBox::clearSelection):
4560        (WebCore::PopupListBox::hidePopup):
4561        * platform/gtk/PopupMenuGtk.cpp:
4562        (WebCore::PopupMenu::menuUnmapped):
4563        * platform/mac/PopupMenuMac.mm:
4564        (WebCore::PopupMenu::show):
4565        * platform/qt/QtAbstractWebPopup.cpp:
4566        (WebCore::QtAbstractWebPopup::popupDidHide):
4567        * platform/qt/QtAbstractWebPopup.h:
4568        * platform/win/PopupMenuWin.cpp:
4569        (WebCore::PopupMenu::hide):
4570        * platform/wx/PopupMenuWx.cpp:
4571        (WebCore::PopupMenu::OnMenuItemSelected):
4572        * rendering/RenderMenuList.cpp:
4573        (WebCore::RenderMenuList::popupDidHide):
4574        * rendering/RenderMenuList.h:
4575        * rendering/RenderTextControlSingleLine.cpp:
4576        (WebCore::RenderTextControlSingleLine::popupDidHide):
4577        * rendering/RenderTextControlSingleLine.h:
4578
45792010-01-22  Dan Bernstein  <mitz@apple.com>
4580
4581        Rubber-stamped by Darin Adler.
4582
4583        Revert r53693 because it broke scrolling of pages with fixed elements on
4584        Mac OS X.
4585
4586        * page/FrameView.cpp:
4587        * page/FrameView.h:
4588        * platform/ScrollView.cpp:
4589        (WebCore::ScrollView::scrollContents):
4590        * platform/ScrollView.h:
4591        * rendering/RenderObject.cpp:
4592        (WebCore::RenderObject::styleWillChange):
4593        (WebCore::RenderObject::destroy):
4594
45952010-01-22  Alexey Proskuryakov  <ap@apple.com>
4596
4597        Reviewed by Darin Adler.
4598
4599        https://bugs.webkit.org/show_bug.cgi?id=34008
4600        Assertion failure in KURL::setProtocol when running DOM Fuzzer
4601
4602        Test: fast/dom/Window/invalid-protocol.html
4603
4604        * bindings/js/JSLocationCustom.cpp: (WebCore::JSLocation::setProtocol): Raise an exception
4605        if KURL::setProtocol fails.
4606
4607        * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::setProtocol): Move argument
4608        tweaking logic into KURL. This way, the ':' trick applies to both JSLocation and
4609        HTMLAnchorElement, matching IE (but not Firefox). IE behavior is more permissive, and even
4610        more logical in my opinion.
4611
4612        * loader/FrameLoader.cpp: (WebCore::FrameLoader::iconURL): Assert that setting protocol
4613        succeeded.
4614
4615        * platform/KURL.cpp: (WebCore::KURL::setProtocol): Remove everything past ':', if present.
4616        Return false if the protocol to set is not valid.
4617        (WebCore::isValidProtocol): Made this work correctly for empty strings.
4618
4619        * platform/KURL.h: isValidProtocol() is now static in KURL.cpp, it's only used in setProtocol().
4620
4621        * platform/KURLGoogle.cpp: 
4622        (WebCore::KURL::setProtocol): Always return true. This should hopefully prevent Chromium build
4623        breakage, alhough tests will likely fail.
4624        (WebCore::isValidProtocol): Removed, as this isn't used at the moment.
4625
4626        * websockets/WebSocketHandshake.cpp: (WebCore::WebSocketHandshake::httpURLForAuthenticationAndCookies):
4627        Assert that setting protocol succeeded.
4628
46292010-01-22  Eric Carlson  <eric.carlson@apple.com>
4630
4631        Reviewed by Adam Roben.
4632
4633        <rdar://problem/7373568>
4634        https://bugs.webkit.org/show_bug.cgi?id=34007
4635        Implement hardware acceleration of video compositing on Windows
4636
4637        Internally we still have QuickTime render to a bitmap, but frames are then composited
4638        with the page using an accelerated renderer.
4639
4640        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
4641        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_newFrameAvailable.
4642        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): Call tearDownVideoRendering.
4643        (WebCore::MediaPlayerPrivate::cancelLoad): Call tearDownVideoRendering.
4644        (WebCore::MediaPlayerPrivate::updateStates): Call setUpVideoRendering once the movie 
4645            is ready to draw.
4646        (WebCore::MediaPlayerPrivate::isReadyForRendering): New, utility function returns true 
4647            only when movie is ready to render.
4648        (WebCore::MediaPlayerPrivate::setSize): Remember the size as we need it when rendering 
4649            in accelerated mode.
4650        (WebCore::MediaPlayerPrivate::setVisible): Call setUpVideoRendering when made visible.
4651        (WebCore::MediaPlayerPrivate::paint): Do nothing when rendering to a layer. Move frame 
4652            rate drawing code to paintCompleted.
4653        (WebCore::MediaPlayerPrivate::paintCompleted): New, clear m_newFrameAvailable and, when 
4654            built with DRAW_FRAME_RATE, draw framerate.
4655        (WebCore::MediaPlayerPrivate::movieNewImageAvailable): Set m_newFrameAvailable, trigger 
4656            repaint differently when drawing to a layer.
4657        (WebCore::MediaPlayerPrivate::currentRenderingMode): New, return the current rendering mode.
4658        (WebCore::MediaPlayerPrivate::preferredRenderingMode): New, return preferred rendering mode
4659            (render to a layer whenever possible).
4660        (WebCore::MediaPlayerPrivate::setUpVideoRendering): New, tear down current rendering mode 
4661            and set up new mode when necessary.
4662        (WebCore::MediaPlayerPrivate::tearDownVideoRendering): New, noop unless rendering to a layer.
4663        (WebCore::MediaPlayerPrivate::hasSetUpVideoRendering): New.
4664        (WebCore::MediaPlayerPrivate::paintContents): New, callback from compositing layer when it
4665            is time to draw the current frame.
4666        (WebCore::MediaPlayerPrivate::createLayerForMovie): New, allocate a layer for the movie.
4667        (WebCore::MediaPlayerPrivate::destroyLayerForMovie): New, delete movie layer.
4668        (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering): New, return true unless the 
4669            movie is not ready to render.
4670        (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged): New, deal with change in 
4671            accelerated rendering state.
4672        (WebCore::MediaPlayerPrivate::notifySyncRequired): New, callback from compositing layer 
4673            when it wants to schedule a redraw.
4674        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
4675        (WebCore::MediaPlayerPrivate::notifyAnimationStarted):
4676        (WebCore::MediaPlayerPrivate::showDebugBorders):
4677        (WebCore::MediaPlayerPrivate::showRepaintCounter):
4678
4679        * platform/graphics/win/QTMovieWin.cpp:
4680        (QTMovieWin::getCurrentFrameInfo):
4681            New, return information about the offscreen render buffer.
4682        (QTMovieWin::initializeQuickTime):
4683        * platform/graphics/win/QTMovieWin.h:
4684
46852010-01-21  Jeremy Orlow  <jorlow@chromium.org>
4686
4687        Reviewed by Darin Fisher.
4688
4689        The Chromium WebKit API needs to expose storage event related data
4690        https://bugs.webkit.org/show_bug.cgi?id=33985
4691
4692        This change is not visible to layoutTests/web pages.
4693
4694        * storage/StorageArea.h:
4695        * storage/StorageAreaImpl.cpp:
4696        (WebCore::StorageAreaImpl::setItem): return the old value
4697        (WebCore::StorageAreaImpl::removeItem): return the old value
4698        (WebCore::StorageAreaImpl::clear): return whether there was anything to clear
4699        * storage/StorageAreaImpl.h:
4700
47012010-01-22  Adele Peterson  <adele@apple.com>
4702
4703        Reviewed by Dan Bernstein.
4704
4705        An element that doesn't validate and an invalid element shouldn't share style
4706        https://bugs.webkit.org/show_bug.cgi?id=34010
4707
4708        Test: fast/css/pseudo-invalid-novalidate-001.html
4709
4710        * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::canShareStyleWithElement): 
4711          Separate the check for willValidate from the check for isValidFormControlElement.
4712        * html/HTMLFormControlElement.h: The validity method doesn't need to be virtual.
4713
47142010-01-22  Steve Falkenburg  <sfalken@apple.com>
4715
4716        Reviewed by Dan Bernstein.
4717
4718        Crash in fast/dom/Window/window-properties if Geolocation enabled
4719        https://bugs.webkit.org/show_bug.cgi?id=34013
4720        
4721        Add null check to fix Geolocation crash in fast/dom/Window/window-properties.
4722        
4723        * page/Geolocation.cpp:
4724        (WebCore::createGeoposition):
4725
47262010-01-22  Kent Hansen  <kent.hansen@nokia.com>
4727
4728        Reviewed by Darin Adler.
4729
4730        Object.getOwnPropertyDescriptor(window) returns descriptors for properties in the prototype chain
4731        https://bugs.webkit.org/show_bug.cgi?id=33948
4732
4733        Even though prototype properties are proxied by JSDOMWindow::getOwnPropertySlot(),
4734        that proxying should not be performed by JSDOMWindow::getOwnPropertyDescriptor().
4735
4736        This makes getOwnPropertyDescriptor() consistent with getOwnPropertyNames().
4737
4738        Test: fast/dom/Window/window-property-descriptors.html
4739
4740        * bindings/js/JSDOMWindowCustom.cpp:
4741        (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
4742
47432010-01-22  Girish Ramakrishnan  <girish@forwardbias.in>
4744
4745        Reviewed by Simon Hausmann.
4746
4747        [Qt] Save the QWebPageClient instead of the ownerWidget in QtAbstractWebPopup
4748        
4749        The QWebPageClient is required for the QtFallbackWebPopup. QtFallbackWebPopup will
4750        need it to create a QGraphicsProxyWidget (in a future commit) for the 
4751        QGraphicsWebView's web popup.
4752
4753        * platform/qt/PopupMenuQt.cpp:
4754        (WebCore::PopupMenu::show):
4755        * platform/qt/QtAbstractWebPopup.cpp:
4756        (WebCore::QtAbstractWebPopup::QtAbstractWebPopup):
4757        (WebCore::QtAbstractWebPopup::popupDidHide):
4758        (WebCore::QtAbstractWebPopup::valueChanged):
4759        (WebCore::QtAbstractWebPopup::itemType):
4760        * platform/qt/QtAbstractWebPopup.h:
4761        (WebCore::QtAbstractWebPopup::itemText):
4762        (WebCore::QtAbstractWebPopup::itemToolTip):
4763        (WebCore::QtAbstractWebPopup::itemIsEnabled):
4764        (WebCore::QtAbstractWebPopup::itemCount):
4765        (WebCore::QtAbstractWebPopup::pageClient):
4766        (WebCore::QtAbstractWebPopup::font):
4767
47682010-01-22  Simon Hausmann  <simon.hausmann@nokia.com>
4769
4770        Unreviewed Qt "build" fix.
4771
4772        * WebCore.pro: Fix warning about missing header file that isn't present anymore.
4773
47742010-01-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
4775
4776        Reviewed by Gustavo Noronha Silva.
4777
4778        Update copy of the source whenever playbin2's source property
4779        changes.
4780
4781        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
4782        (WebCore::mediaPlayerPrivateSourceChangedCallback):
4783        (WebCore::MediaPlayerPrivate::updateStates):
4784        (WebCore::MediaPlayerPrivate::createGSTPlayBin):
4785        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
4786        Connect to the notify::source signal and update the source
4787        element pointer from there. This makes sure that we never
4788        store a pointer to an old source element.
4789
47902010-01-22  Brian Weinstein  <bweinstein@apple.com>
4791
4792        Reviewed by Timothy Hatcher.
4793
4794        Web Inspector: Caught exceptions still pause the debugger.
4795        <https://bugs.webkit.org/show_bug.cgi?id=28622>.
4796
4797        Turn the pauseOnExceptions variable from a bool to an int, because we now have
4798        3 states, in an enum: DontPauseOnExceptions, PauseOnAllExceptions, and
4799        PauseOnUncaughtExceptions. The status button for pausing on exceptions is now
4800        a tri-state button, which cycles from Don't pause (no background) to Pause on All
4801        (blue background) to Pause on Uncaught (purple background).
4802
4803        Also added the ability for a status button to have more than 2 states, and added
4804        style rules for a CSS three state button.
4805
4806        Added a manual test, manual-tests/debugger-caught-uncaught-exceptions.html, that
4807        generates caught and uncaught exceptions.
4808
4809        * English.lproj/localizedStrings.js: Added updated Action / Click to Action text.
4810        * inspector/InspectorBackend.cpp:
4811        (WebCore::InspectorBackend::pauseOnExceptions): Changed from a bool to an int.
4812        (WebCore::InspectorBackend::setPauseOnExceptions): Ditto.
4813        * inspector/InspectorBackend.h: Ditto.
4814        * inspector/InspectorBackend.idl: Ditto.
4815        * inspector/JavaScriptDebugServer.cpp:
4816        (WebCore::JavaScriptDebugServer::JavaScriptDebugServer): Changed from bool to PauseOnExceptionsState.
4817        (WebCore::JavaScriptDebugServer::setPauseOnExceptions): Ditto.
4818        (WebCore::JavaScriptDebugServer::exception): Updated logic to see if we are breaking
4819            on uncaught exceptions, and check if we have a handler.
4820        * inspector/JavaScriptDebugServer.h:
4821        (WebCore::JavaScriptDebugServer::): Changed from bool to PauseOnExceptionsState.
4822        (WebCore::JavaScriptDebugServer::pauseOnExceptions): Ditto.
4823        * inspector/front-end/InspectorBackendStub.js:
4824        (.WebInspector.InspectorBackendStub.prototype.pauseOnExceptionsState): Changed from returning false to returning 0 (stub function).
4825        * inspector/front-end/ScriptsPanel.js:
4826        (WebInspector.ScriptsPanel):
4827        (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton): Updated to new text/new cycling of variables.
4828        (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions): Updated to new text/new cycling of variables.
4829        * inspector/front-end/StatusBarButton.js:
4830        (WebInspector.StatusBarButton): Added the option for a different number of states.
4831        (WebInspector.StatusBarButton.prototype.set toggled): Added rules to toggle on/off with multiple states.
4832        * inspector/front-end/inspector.css: Added rules for toggled-1 and toggled-2.
4833        * manual-tests/debugger-caught-uncaught-exceptions.html: Added.
4834
48352010-01-22  Ben Murdoch  <benm@google.com>
4836
4837        Reviewed by Eric Seidel.
4838
4839        [Android] Android platform specific PlatformTouchEvent and PlatformTouchPoint implementations are not upstream.
4840        https://bugs.webkit.org/show_bug.cgi?id=33719
4841
4842        Add the Android specific files and update the Android makefile.
4843
4844        No new tests as this is all Android-specific code.
4845
4846        * Android.mk: Add Touch event related files to the makefile.
4847        * platform/PlatformTouchEvent.h: Add Android constructor.
4848        * platform/PlatformTouchPoint.h: Ditto.
4849        * platform/android/PlatformTouchEventAndroid.cpp: Added.
4850        (WebCore::PlatformTouchEvent::PlatformTouchEvent): Android implementation.
4851        * platform/android/PlatformTouchPointAndroid.cpp: Added.
4852        (WebCore::PlatformTouchPoint::PlatformTouchPoint): Android implementation.
4853
48542010-01-22  Benjamin Poulain  <benjamin.poulain@nokia.com>
4855
4856        Reviewed by Kenneth Rohde Christiansen.
4857
4858        Do not render the full frame when there is some elements with fixed positioning
4859        https://bugs.webkit.org/show_bug.cgi?id=33150
4860
4861        The RenderObjects with fixed position register to the view
4862        to be taken into account while scrolling.
4863        The scrolling code update specifically those elements after blitting the pixels.
4864
4865        * page/FrameView.cpp:
4866        (WebCore::FrameView::registerFixedPositionedObject):
4867        (WebCore::FrameView::unregisterFixedPositionedObject):
4868        (WebCore::FrameView::scrollContentsFastPath):
4869        * page/FrameView.h:
4870        * platform/ScrollView.cpp:
4871        (WebCore::ScrollView::scrollContents):
4872        (WebCore::ScrollView::scrollContentsFastPath):
4873        * platform/ScrollView.h:
4874        * rendering/RenderObject.cpp:
4875        (WebCore::RenderObject::styleWillChange):
4876        (WebCore::RenderObject::destroy):
4877
48782010-01-22  Anton Muhin  <antonm@chromium.org>
4879
4880        Reviewed by Eric Seidel.
4881
4882        Adding ScriptWrappable into WebCore.
4883        This allows to associate custom information when Node
4884        gets wrapped into JavaScript wrapper.
4885
4886        [v8, dom] Add a pointer field to C++ Node class
4887        https://bugs.webkit.org/show_bug.cgi?id=32430
4888
4889        * WebCore.gypi:
4890        * WebCore.pro:
4891        * WebCore.vcproj/WebCore.vcproj:
4892        * WebCore.xcodeproj/project.pbxproj:
4893        * bindings/js/ScriptWrappable.h: Added.
4894        (WebCore::ScriptWrappable::ScriptWrappable):
4895        * bindings/v8/ScriptWrappable.h: Added.
4896        (WebCore::ScriptWrappable::ScriptWrappable):
4897        (WebCore::ScriptWrappable::wrapper):
4898        (WebCore::ScriptWrappable::setWrapper):
4899        (WebCore::ScriptWrappable::clearWrapper):
4900        * dom/Node.h:
4901
49022010-01-22  Yury Semikhatsky  <yurys@chromium.org>
4903
4904        Reviewed by Pavel Feldman.
4905
4906        Add stub implementation of dispatchOnInjectedScript method so that
4907        Chromium source can compile against it and the main fix for the bug
4908        28622 can be landed without breaking Chromium build.
4909
4910        https://bugs.webkit.org/show_bug.cgi?id=28622
4911
4912        * inspector/InspectorBackend.h:
4913        (WebCore::InspectorBackend::dispatchOnInjectedScript):
4914
49152010-01-22  Kwang Yul Seo  <skyul@company100.net>
4916
4917        Reviewed by Dmitry Titov.
4918
4919        ENABLE(DATABASE) guard is missing in ScriptExecutionContext::~ScriptExecutionContext
4920        https://bugs.webkit.org/show_bug.cgi?id=33990
4921
4922        Add missing ENABLE(DATABASE) guard.
4923
4924        * dom/ScriptExecutionContext.cpp:
4925        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
4926
49272010-01-22  Xan Lopez  <xlopez@igalia.com>
4928
4929        Reviewed by Gustavo Noronha.
4930
4931        [GTK] GObject DOM bindings
4932        https://bugs.webkit.org/show_bug.cgi?id=33590
4933
4934        * bindings/scripts/generate-bindings.pl:
4935
49362010-01-22  Xan Lopez  <xlopez@igalia.com>
4937
4938        Reviewed by Gustavo Noronha.
4939
4940        [GTK] GObject DOM bindings
4941        https://bugs.webkit.org/show_bug.cgi?id=33590
4942
4943        Rename FEATURE_DEFINES_JAVASCRIPT to FEATURE_DEFINES and remove
4944        the hardcoded LANGUAGE_JAVASCRIPT=1, in preparation for its use by
4945        the GObject DOM bindings.
4946
4947        * GNUmakefile.am:
4948
49492010-01-22  Dan Bernstein  <mitz@apple.com>
4950
4951        Reviewed by Darin Adler.
4952
4953        <rdar://problem/7568696> Zoom applied to embedded SVG incorrectly
4954        https://bugs.webkit.org/show_bug.cgi?id=33988
4955
4956        Test: svg/custom/text-zoom.xhtml
4957
4958        * svg/SVGSVGElement.cpp:
4959        (WebCore::SVGSVGElement::SVGSVGElement): Initialize m_scale.
4960        (WebCore::SVGSVGElement::currentScale): If this is the document element,
4961        return the frame’s zoom factor. Otherwise, return m_scale.
4962        (WebCore::SVGSVGElement::setCurrentScale): If this is the document element,
4963        set the frame’s zoom factor. Otherwise, set m_scale and mark for layout.
4964        * svg/SVGSVGElement.h: Added m_scale member.
4965
49662010-01-21  Adam Barth  <abarth@webkit.org>
4967
4968        Reviewed by Eric Seidel.
4969
4970        [chromium] Add allowPlugins callback to allow per-site enabling of plugins
4971        https://bugs.webkit.org/show_bug.cgi?id=33974
4972
4973        Add a callback into the FrameLoaderClient to let the embedder enable or
4974        disable plugins on a per-site basis.
4975
4976        * loader/FrameLoader.cpp:
4977        (WebCore::FrameLoader::requestObject):
4978        * loader/FrameLoaderClient.h:
4979        (WebCore::FrameLoaderClient::allowPlugins):
4980
49812010-01-21  Tony Chang  <tony@chromium.org>
4982
4983        Reviewed by Darin Adler.
4984
4985        https://bugs.webkit.org/show_bug.cgi?id=25501
4986        Remove empty font tags when applying a style to a content editable
4987        region.
4988
4989        Test: editing/execCommand/change-font.html
4990
4991        * editing/ApplyStyleCommand.cpp:
4992        (WebCore::isEmptyFontTag):
4993
49942010-01-21  Joe Mason  <jmason@rim.com>
4995
4996        Reviewed by Darin Adler.
4997
4998        Promote pow argument to double to resolve ambiguous overload (compile fix for RVCT 4.0)
4999        https://bugs.webkit.org/show_bug.cgi?id=33952
5000
5001        * platform/graphics/filters/FEComponentTransfer.cpp:
5002        (WebCore::gamma):
5003
50042010-01-21  Andrei Popescu  <andreip@google.com>
5005
5006        Reviewed by David Levin.
5007
5008        [Android] bindings/v8/ScriptController.cpp needs to include
5009        PlatformBridge.h instead of ChromiumBridge.h so that it can
5010        be used on both Chromium and Android.
5011        https://bugs.webkit.org/show_bug.cgi?id=33673
5012
5013        Add "static NPObject* pluginScriptableObject(Widget*);" method
5014        to PlatformBridge.h
5015        Include PlatformBridge.h from ScriptController.cpp.
5016
5017        No new tests, just platform code.
5018
5019        * bindings/v8/ScriptController.cpp:
5020        (WebCore::ScriptController::createScriptInstanceForWidget):
5021        * platform/android/PlatformBridge.h:
5022
50232010-01-21  Brady Eidson  <beidson@apple.com>
5024
5025        Reviewed by Maciej Stachowiak.
5026
5027        history.back() for same-document history traversals isn't synchronous as the specification states.
5028        <rdar://problem/7535011> and https://bugs.webkit.org/show_bug.cgi?id=33538
5029
5030        In resolving https://bugs.webkit.org/show_bug.cgi?id=25570, all history.back()/forward()/go() navigations
5031        were made asynchronous. That doesn't agree with the HTML5 spec and might have been overreaching for fixing
5032        that particular bug. In working with the new history state APIs I noticed some things that should've been
5033        possible were not possible because of this change.
5034
5035        The change in loading behavior is well covered via modifications to previous tests.
5036
5037        * loader/RedirectScheduler.cpp:
5038        (WebCore::RedirectScheduler::scheduleHistoryNavigation): Determine beforehand if the traversal is
5039          a same-document navigation. If it is, perform the load directly instead of scheduling it.
5040
50412010-01-21  Jakub Wieczorek  <faw217@gmail.com>
5042
5043        Reviewed by Tor Arne Vestbø.
5044
5045        [Qt] Don't allow Phonon's invisible video widget to keep the app running.
5046        https://bugs.webkit.org/show_bug.cgi?id=33842
5047
5048        The change made in r38223 should not be limited to Qt < 4.5 only.
5049
5050        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
5051        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
5052
50532010-01-21  Kent Tamura  <tkent@chromium.org>
5054
5055        Reviewed by Darin Adler.
5056
5057        HTMLInputElement::valueAsDate setter support for type=datetime.
5058        https://bugs.webkit.org/show_bug.cgi?id=33939
5059
5060        Introduce ISODateTime::setMillisecondsSinceEpochForDateTime() and add
5061        DateTime type support to ISODateTime::toString().
5062
5063        * html/HTMLInputElement.cpp:
5064        (WebCore::HTMLInputElement::setValueAsDate):
5065        * html/ISODateTime.cpp:
5066        (WebCore::ISODateTime::setMillisecondsSinceEpochForDate):
5067         Set Invalid to m_type.
5068        (WebCore::ISODateTime::setMillisecondsSinceEpochForDateTime):
5069        (WebCore::ISODateTime::setMillisecondsSinceEpochForMonth):
5070         Set Invalid to m_type.
5071        (WebCore::ISODateTime::setMillisecondsSinceMidnight):
5072         Set Invalid to m_type.
5073        (WebCore::ISODateTime::toString):
5074         Support DateTime type. This always produces UTC representation.
5075        * html/ISODateTime.h:
5076
50772010-01-21  Geoffrey Garen  <ggaren@apple.com>
5078
5079        Reviewed by Sam Weinig.
5080
5081        Fixed <rdar://problem/7562574> ASSERT in WebCore::removeWrapper() at the
5082        end of run-webkit-tests
5083        
5084        This was an ASSERT-only bug, introduced by isolated worlds, which
5085        created the novelty of a wrapper that might outlive its wrapper cache.
5086        
5087        When a wrapper outlived its wrapper cache, both the wrapper's destructor
5088        and the wrapper cache's destructor would claim to have uncached the wrapper,
5089        causing an ASSERT to fire.
5090        
5091        The solution is to distinguish between operations that logically add and
5092        remove cache entries, and operations that delete whole caches. We track
5093        when a cache entry is logically added, and when it's logically removed,
5094        independent of whether the actual cache still exists.
5095
5096        * bindings/js/JSDOMBinding.cpp:
5097        (WebCore::willCacheWrapper):
5098        (WebCore::didUncacheWrapper): New names for these functions to help
5099        explain what they track.
5100
5101        (WebCore::DOMWrapperWorld::~DOMWrapperWorld): Don't claim to uncache
5102        all the wrappers in the world; we're deleting the cache, not managing its
5103        entries.
5104
5105        (WebCore::cacheDOMObjectWrapper):
5106        (WebCore::forgetDOMObject):
5107        (WebCore::forgetDOMNode):
5108        (WebCore::cacheDOMNodeWrapper):
5109        (WebCore::forgetAllDOMNodesForDocument):
5110        (WebCore::forgetWorldOfDOMNodesForDocument):
5111        (WebCore::takeWrappers):
5112        (WebCore::updateDOMNodeDocument): Updated for renames.
5113
51142010-01-21  Nikolas Zimmermann  <nzimmermann@rim.com>
5115
5116        Reviewed by Sam Weinig.
5117
5118        SVG JS bindings "context" pointer needs to move onto binding impls
5119        https://bugs.webkit.org/show_bug.cgi?id=27243
5120
5121        Rewrite SVG DOM JSC bindings to use a global DOMObject <-> SVGElement context map, similar to V8's approach.
5122        This allows us to remove DOMObjectWithSVGContext and make all SVG JS objects use DOMObjectWithGlobalPointer.
5123        We're fitting again in JS_CELL_SIZE, and there's no need to special case SVG anymore.
5124
5125        Not adding a new test, as we have yet to identify how to test that we're passing around correct global objects.
5126        For now this is just a code cleanup which lets me continue making progress in that area of the code.
5127
5128        * GNUmakefile.am: Add new DOMObjectWithSVGContext.h to build.
5129        * WebCore.gypi: Ditto.
5130        * WebCore.vcproj/WebCore.vcproj: Ditto.
5131        * WebCore.xcodeproj/project.pbxproj: Ditto.
5132        * bindings/js/DOMObjectWithSVGContext.h: Removed.
5133        * bindings/js/JSDOMBinding.cpp:
5134        (WebCore::setDOMException): Add comment, that passing 0 context is intentional.
5135        * bindings/js/JSDOMBinding.h:
5136        (WebCore::createDOMObjectWrapper): Add to JSSVGContextCache, when creating wrappers.
5137        (WebCore::getDOMObjectWrapper): Add assertion guarding the JSSVGContextCache is in-sync with the passed context.
5138        * bindings/js/JSSVGContextCache.h: Added. Maps DOMObjects to SVGElements - just like V8 approachs to this problem.
5139        (WebCore::JSSVGContextCache::wrapperMap):
5140        (WebCore::JSSVGContextCache::addWrapper):
5141        (WebCore::JSSVGContextCache::forgetWrapper):
5142        (WebCore::JSSVGContextCache::propagateSVGDOMChange): 
5143        (WebCore::JSSVGContextCache::svgContextForDOMObject):
5144        * bindings/js/JSSVGLengthCustom.cpp: Retrieve context from cache, instead of taking it from the JS* class.
5145        (WebCore::JSSVGLength::value):
5146        (WebCore::JSSVGLength::convertToSpecifiedUnits):
5147        * bindings/js/JSSVGMatrixCustom.cpp Ditto.:
5148        (WebCore::JSSVGMatrix::multiply):
5149        (WebCore::JSSVGMatrix::inverse):
5150        (WebCore::JSSVGMatrix::rotateFromVector):
5151        * bindings/js/JSSVGPODListCustom.h: Ditto.
5152        (WebCore::JSSVGPODListCustom::finishGetter):
5153        (WebCore::JSSVGPODListCustom::finishSetter):
5154        (WebCore::JSSVGPODListCustom::finishSetterReadOnlyResult):
5155        (WebCore::JSSVGPODListCustom::clear):
5156        (WebCore::JSSVGPODListCustom::initialize):
5157        * bindings/js/JSSVGPODTypeWrapper.h: Ditto.
5158        (WebCore::JSSVGDynamicPODTypeWrapper::commitChange):
5159        (WebCore::JSSVGStaticPODTypeWrapper::commitChange):
5160        (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::commitChange):
5161        (WebCore::JSSVGStaticPODTypeWrapperWithParent::commitChange):
5162        (WebCore::JSSVGPODTypeWrapperCreatorForList::create):
5163        (WebCore::JSSVGPODTypeWrapperCreatorForList::commitChange):
5164        * bindings/js/JSSVGPathSegCustom.cpp: Ditto.
5165        (WebCore::toJS):
5166        * bindings/js/JSSVGPathSegListCustom.cpp: Ditto.
5167        (WebCore::JSSVGPathSegList::clear):
5168        (WebCore::JSSVGPathSegList::initialize):
5169        (WebCore::JSSVGPathSegList::getItem):
5170        (WebCore::JSSVGPathSegList::insertItemBefore):
5171        (WebCore::JSSVGPathSegList::replaceItem):
5172        (WebCore::JSSVGPathSegList::removeItem):
5173        (WebCore::JSSVGPathSegList::appendItem):
5174        * bindings/scripts/CodeGeneratorJS.pm:
5175        * svg/SVGAngle.h: Remove unneeded associatedAttributeName() method.
5176        * svg/SVGPreserveAspectRatio.h: Ditto.
5177        * svg/SVGTransform.h: Ditto.
5178
51792010-01-21  Kevin Ollivier  <kevino@theolliviers.com>
5180
5181        Build fix, add missing header.
5182
5183        * dom/ScriptExecutionContext.cpp:
5184
51852010-01-21  Simon Fraser  <simon.fraser@apple.com>
5186
5187        Reviewed by Dan Bernstein.
5188
5189        -webkit-mask-box-image draws a box while loading
5190        https://bugs.webkit.org/show_bug.cgi?id=33979
5191        <rdar://problem/7378662>
5192        
5193        Don't render masked elements until the mask images are fully loaded.
5194
5195        Test: http/tests/misc/slow-loading-mask.html
5196
5197        * rendering/RenderBox.cpp:
5198        (WebCore::RenderBox::paintMaskImages): Check that all mask images (both the single mask-box-image,
5199        and the possibly multiple mask-image) are fully loaded before allowing the masked content to render.
5200        If they are not fully loaded, use a fully transparent transparency layer.
5201        
5202        * rendering/style/FillLayer.h:
5203        * rendering/style/FillLayer.cpp:
5204        (WebCore::FillLayer::imagesAreLoaded): New utility function that returns true if the image
5205        in every FillLayer is loaded.
5206
52072010-01-21  Darin Adler  <darin@apple.com>
5208
5209        Reviewed by Mark Rowe.
5210
5211        REGRESSION (r52795): New message created in response to mailto: URL has random character in message body
5212        rdar://problem/7565902
5213
5214        This regression affects the Mac OS X Mail application.
5215        I was not able to find a simple way to create a regression test.
5216
5217        * platform/cf/SharedBufferCF.cpp:
5218        (WebCore::SharedBuffer::SharedBuffer): Initialize m_size to 0 as in the other constructors.
5219
52202010-01-21  Enrica Casucci  <enrica@apple.com>
5221
5222        Reviewed by Darin Adler.
5223
5224        Script tags are copied and pasted, making cross-domain attacks possible.
5225        https://bugs.webkit.org/show_bug.cgi?id=33970
5226
5227        Tests: editing/pasteboard/paste-noscript-svg.html
5228               editing/pasteboard/paste-visible-script.html
5229
5230        We remove the content and the attributes of every script tag before
5231        pasting into the destination.
5232        
5233        * dom/Element.cpp:
5234        (WebCore::Element::setAttributeMap): Now we are removing xlink:href
5235        if it contains javascript protocol.
5236        * html/HTMLParser.cpp:
5237        (WebCore::HTMLParser::parseToken): We strip all the script tag attributes
5238        we are parsing to create a fragment to paste.
5239        * html/HTMLTokenizer.cpp:
5240        (WebCore::HTMLTokenizer::HTMLTokenizer):
5241        (WebCore::HTMLTokenizer::scriptHandler): Removes the script text after it was parsed.
5242        * html/HTMLTokenizer.h:
5243
52442010-01-21  Nikolas Zimmermann  <nzimmermann@rim.com>
5245
5246        Reviewed by Dirk Schulze.
5247
5248        <use> with % lengths does not update on window resize
5249        https://bugs.webkit.org/show_bug.cgi?id=14639
5250
5251        appendChild broken for symbol-use
5252        https://bugs.webkit.org/show_bug.cgi?id=24802
5253
5254        Test: svg/custom/relative-sized-shadow-tree-content-with-symbol.xhtml
5255              svg/custom/svg/custom/relative-sized-use-on-symbol.xhtml
5256
5257        Fix reaction on window size changes for relative sized elements within <symbol> elements.
5258        Don't evaluate SVGUseElement width/height attributes in order to propagate them to the shadow tree,
5259        instead just propagate the attribute values itself so "100%" remains "100%" instead of being evaluated
5260        to an absolute pixel value in the parent <svg> user-space.
5261
5262        Needs another fix in SVGStyledElement::childrenChanged(), which is a regression from my last <use>
5263        patch, that hasn't been detected, as the use-dynamic-append.svg testcase was broken.
5264
5265        The combination of all the last <use> patches finally fixes the peepo.co.uk website, which was broken by several bugs for years.
5266
5267        * svg/SVGStyledElement.cpp:
5268        (WebCore::SVGStyledElement::childrenChanged): Need to mark shadow trees needing recalcs, even when parsing.
5269        * svg/SVGUseElement.cpp:
5270        (WebCore::SVGUseElement::svgAttributeChanged): Don't reclone for width/height attribute changes, just propagate them down the render tree
5271        (WebCore::updateContainerSize): Added helper function, updating the width/height attributes in the shadow tree.
5272        (WebCore::SVGUseElement::updateContainerSizes):
5273        (WebCore::SVGUseElement::buildShadowAndInstanceTree): Update container width/height after shadow tree creation, instead of doing it inbetween.
5274        (WebCore::SVGUseElement::buildShadowTree): Don't alter width/height attributes here anymore.
5275        (WebCore::SVGUseElement::expandUseElementsInShadowTree): Ditto.
5276        (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Ditto.
5277        * svg/SVGUseElement.h:
5278
52792010-01-21  Alexey Proskuryakov  <ap@apple.com>
5280
5281        Reviewed by Darin Adler.
5282
5283        https://bugs.webkit.org/show_bug.cgi?id=33972
5284        Assertion failure in FrameLoader::checkLoadComplete()
5285
5286        I couldn't make a test for this, after trying rather hard. I'm not too worried, because such
5287        a test has to depend on details of current implementation so intimately that it would become
5288        ineffective very quickly anyway.
5289
5290        * loader/FrameLoader.cpp: (WebCore::FrameLoader::stopAllLoaders): Stop the check timer, we
5291        don't need it after aborting load.
5292
52932010-01-21  Csaba Osztrogonác  <ossy@webkit.org>
5294
5295        Reviewed by Dave Hyatt.
5296
5297        Buildfix for r53646.
5298
5299        * bindings/js/SerializedScriptValue.cpp: path of JSLock.h fixed.
5300
53012010-01-21  Csaba Osztrogonác  <ossy@webkit.org>
5302
5303        Unreviewed buildfix after r53644.
5304
5305        * platform/Scrollbar.cpp:
5306        (WebCore::Scrollbar::scroll): missing HAVE(ACCESSIBILITY) guard added.
5307
53082010-01-21  Darin Fisher  <darin@chromium.org>
5309
5310        Reviewed by David Levin.
5311
5312        Unnecessary call to HistoryItem::targetItem in HistoryController::pushState
5313        https://bugs.webkit.org/show_bug.cgi?id=33969
5314
5315        * loader/HistoryController.cpp:
5316        (WebCore::HistoryController::pushState): Remove unnecessary code.
5317
53182010-01-21  Dmitry Titov  <dimich@chromium.org>
5319
5320        Not reviewed, Chromium build fix. Add AccessibilityScrollbar.h and .cpp to WebCore.gypi
5321
5322        * WebCore.gypi:
5323
53242010-01-21  Albert J. Wong  <ajwong@chromium.org>
5325
5326        [chromium] Unreviewed build fix.
5327
5328        Fix possible use of initialized variable warning in release mode.
5329
5330        * bindings/v8/SerializedScriptValue.cpp:
5331        (WebCore::ZigZag::Deserializer::doDeserialize):
5332
53332010-01-21  Csaba Osztrogonác  <ossy@webkit.org>
5334
5335        [Qt] Unreviewed buildfix after r53644.
5336
5337        * WebCore.pro: accessibility/AccessibilityScrollbar.cpp and accessibility/AccessibilityScrollbar.h added.
5338
53392010-01-21  Dave Hyatt  <hyatt@apple.com>
5340
5341        Reviewed by Oliver Hunt.
5342
5343        Make sure to do a JSLock before deserialization of script values, since they can heap allocate.
5344
5345        * bindings/js/SerializedScriptValue.cpp:
5346        (WebCore::SerializedScriptValueData::deserialize):
5347
53482010-01-21  Beth Dakin  <bdakin@apple.com>
5349
5350        Reviewed by Oliver Hunt.
5351
5352        Fix for https://bugs.webkit.org/show_bug.cgi?id=33923 REGRESSION 
5353        (Safari 4): AXValueChanged no longer sent for text area scrollbars
5354        -and corresponding-
5355        <rdar://problem/6942686>
5356
5357        New class AccessibilityScrollbar inherits directly from 
5358        AccessibilityObject.
5359        * accessibility/AccessibilityScrollbar.cpp: Added.
5360        (WebCore::AccessibilityScrollbar::AccessibilityScrollbar):
5361        (WebCore::AccessibilityScrollbar::create):
5362        (WebCore::AccessibilityScrollbar::valueForRange):
5363        * accessibility/AccessibilityScrollbar.h: Added.
5364        (WebCore::AccessibilityScrollbar::setScrollbar):
5365        (WebCore::AccessibilityScrollbar::roleValue):
5366        (WebCore::AccessibilityScrollbar::accessibilityIsIgnored):
5367        (WebCore::AccessibilityScrollbar::size):
5368        (WebCore::AccessibilityScrollbar::elementRect):
5369        (WebCore::AccessibilityScrollbar::parentObject):
5370
5371        AXObjectCache::getOrCreate() now has a case for ScrollBarRole, 
5372        which will create a new AccessibilityScrollbar. I also added a new 
5373        version of postNotification() that does not require a renderer. The 
5374        old postNotification() calls the new one.
5375        * accessibility/AXObjectCache.cpp:
5376        (WebCore::AXObjectCache::getOrCreate):
5377        (WebCore::AXObjectCache::postNotification):
5378        * accessibility/AXObjectCache.h:
5379
5380        When AX is enabled, getOrCreate an AccessibilityScrollbar and send 
5381        a notification.
5382        * platform/Scrollbar.cpp:
5383        (WebCore::Scrollbar::scroll):
5384
5385        Fix project files.
5386        * GNUmakefile.am:
5387        * WebCore.vcproj/WebCore.vcproj:
5388        * WebCore.xcodeproj/project.pbxproj:
5389        * WebCoreSources.bkl:
5390
53912010-01-21  Eric Uhrhane  <ericu@chromium.org>
5392
5393        Reviewed by Dmitry Titov.
5394
5395        Add changes missing from r53595, without which Chromium has no database.
5396
5397        https://bugs.webkit.org/show_bug.cgi?id=33966
5398
5399        No new tests - fixes database layout tests in Chromium.
5400
5401        * bindings/v8/RuntimeEnabledFeatures.cpp:
5402        * bindings/v8/RuntimeEnabledFeatures.h:
5403
54042010-01-21  Jakob Petsovits  <jpetsovits@rim.com>
5405
5406        Reviewed by Adam Treat.
5407
5408        Don't call vgGetError()/eglGetError() repeatedly
5409        https://bugs.webkit.org/show_bug.cgi?id=33959
5410
5411        For vgGetError(), I missed the part of the spec where
5412        it says that calling that function clears the error
5413        and subsequent calls will return VG_NO_ERROR again.
5414
5415        For eglGetError(), the specification doesn't mention
5416        that kind of behavior, and interpretations seem to
5417        differ between EGL implementations (even within
5418        Khronos: the OpenVG reference implementation doesn't
5419        reset the error code - and even mentions the difference
5420        to vgGetError() in a comment - whereas the online
5421        OpenGL ES API document explicitly specifies clearing
5422        the error code).
5423
5424        It thus makes sense not to call either of the two
5425        error functions more than once for checking a single
5426        EGL/OpenVG call. This patch adapts assertions to
5427        accommodate for this behavior, and also needs to
5428        change surface creation methods as they previously
5429        relied on multiple calls of eglGetError().
5430
5431        * platform/graphics/openvg/EGLDisplayOpenVG.cpp:
5432        (WebCore::EGLDisplayOpenVG::sharedPlatformSurface):
5433        (WebCore::EGLDisplayOpenVG::createPbufferSurface):
5434        * platform/graphics/openvg/EGLDisplayOpenVG.h:
5435        * platform/graphics/openvg/EGLUtils.h:
5436        * platform/graphics/openvg/SurfaceOpenVG.cpp:
5437        (WebCore::SurfaceOpenVG::SurfaceOpenVG):
5438        * platform/graphics/openvg/SurfaceOpenVG.h:
5439        * platform/graphics/openvg/VGUtils.h:
5440
54412010-01-20  Simon Fraser  <simon.fraser@apple.com>
5442
5443        Reviewed by Dave Hyatt.
5444
5445        Hit testing on composited plugins is broken
5446        https://bugs.webkit.org/show_bug.cgi?id=33927
5447        <rdar://problem/7559069>
5448
5449        RenderWidget::paint()'s strategy of moving widgets at paint time, using tx and ty, was flawed
5450        because tx,ty are not always root-relative, especially when painting into compositing layers.
5451        This would move widgets to the wrong location, which caused hit testing issues.
5452        
5453        Widgets are usually positioned by layout. The one time this was not true was scrolling fixed-position
5454        elements, so we now reposition widgets after scrolling too.
5455        
5456        There was a related problem, which was that widgets expect the graphics context to be set up for
5457        root-relative painting. To fix this, adjust the CTM and the paintRect when the widget's frameRect
5458        is in a different coordinate system to the painting offset.
5459        
5460        Test: plugins/mouse-events-fixedpos.html
5461
5462        * page/FrameView.cpp:
5463        (WebCore::FrameView::scrollPositionChanged): Update widget positions, to handle widgets in fixed position
5464        elements, but only if we're not already inside of layout.
5465
5466        * platform/graphics/GraphicsContext.h:
5467        (WebCore::GraphicsContext::translate): Add a translate() convenience method that takes a FloatSize.
5468
5469        * platform/graphics/IntSize.h:
5470        (WebCore::IntSize::isZero): Add a convenience method for testing for a zero size.
5471
5472        * platform/mac/WidgetMac.mm:
5473        (WebCore::Widget::paint): Adjust a comment.
5474
5475        * rendering/RenderWidget.cpp:
5476        (WebCore::RenderWidget::paint): Detect when the widget's frame is in a different coordinate system
5477        to painting, and adjust the CTM and paintRect in that case.
5478
54792010-01-21  Andrei Popescu  <andreip@google.com>
5480
5481        Reviewed by David Levin.
5482
5483        [Android] bindings/v8/NPV8Object.cpp does not compile on Android
5484        https://bugs.webkit.org/show_bug.cgi?id=33608
5485
5486        Use the standard WebKit header in bridge/npruntime.h.
5487        Include PlatformBridge.h instead of ChroimiumBridge.h.
5488        Add popupsAllowed() method to PlatformBridge.h on Android.
5489        Add ARRAYSIZE_UNSAFE to PlatformBridge.h on Android.
5490
5491        No new tests, fixing the build.
5492
5493        * bindings/v8/NPV8Object.cpp:
5494        (_NPN_Evaluate):
5495        * bindings/v8/NPV8Object.h:
5496        * platform/android/PlatformBridge.h:
5497
54982010-01-21  Andrei Popescu  <andreip@google.com>
5499
5500        Reviewed by David Levin.
5501
5502        Add PlatformBridge.h header and a typedef to give ChromiumBridge a new name: PlatformBridge.
5503        https://bugs.webkit.org/show_bug.cgi?id=33917
5504
5505        No new tests needed, this is just to allow other methods to call ChromiumBridge
5506        using the new 'PlatformBridge' name.
5507
5508        * platform/chromium/PlatformBridge.h: Added.
5509
55102010-01-21  Csaba Osztrogonác  <ossy@webkit.org>
5511
5512        [Qt] Unreviewed buildfix after r53625.
5513
5514        Cleanup MediaPlayer and MediaPlayerPrivateInterface to remove dead methods
5515        https://bugs.webkit.org/show_bug.cgi?id=30106
5516
5517        * platform/qt/RenderThemeQt.cpp:
5518        (WebCore::RenderThemeQt::paintMediaSliderTrack):
5519
55202010-01-21  Andrei Popescu  <andreip@google.com>
5521
5522        Reviewed by David Levin.
5523
5524        [Android] bindings/v8/V8DOMWrapper.h[cpp] are missing guards for XPATH and XSLT features
5525        https://bugs.webkit.org/show_bug.cgi?id=33944
5526
5527        Inside V8DOMWrapper.h[cpp], the code for XPATH and XSLT features is not guarded
5528        by the appropriate #if ENABLE(feature) macros. Add the missing guards.
5529        V8DOMWrapper.cpp includes ChromiumBridge.h for no reason. Remove the include.
5530
5531        No new tests needed, functionality not changed.
5532
5533        * bindings/v8/V8DOMWrapper.cpp:
5534        (WebCore::V8DOMWrapper::getTemplate):
5535        * bindings/v8/V8DOMWrapper.h:
5536
55372010-01-21  Eric Carlson  <eric.carlson@apple.com>
5538
5539        Reviewed by Darin Adler.
5540
5541        Intermittent crash when media element is adopted by another document
5542        https://bugs.webkit.org/show_bug.cgi?id=33919
5543        rdar://problem/7557527
5544        
5545        Test: media/adopt-node-crash.html
5546
5547        * html/HTMLMediaElement.cpp:
5548        (WebCore::HTMLMediaElement::willMoveToNewOwnerDocument): Unregister for
5549        document callbacks.
5550        (WebCore::HTMLMediaElement::didMoveToNewOwnerDocument): Register for
5551        document callbacks.
5552        * html/HTMLMediaElement.h:
5553
55542010-01-21  Adam Roben  <aroben@apple.com>
5555
5556        More Windows build fixing
5557
5558        * WebCore.vcproj/WebCore.vcproj: Copy bridge/jsc in the post-build
5559        event of all configurations, not just Debug.
5560
55612010-01-21  Thiago Macieira  <thiago.macieira@nokia.com>
5562
5563        Reviewed by Simon Hausmann.
5564
5565        [Qt] Fix incorrect dependency to QtXmlPatterns in generated include/QtWebKit/QtWebKit header
5566
5567        The generated file includes QtXmlPatterns/QtXmlPatterns, which is neither used/required by
5568        the public QtWebKit API nor will it be available if Qt is configured with -no-xmlpatterns.
5569
5570        * WebCore.pro: Trick syncqt to believe that xmlpatterns is not a dependency, so that it's not
5571        included in the generated file. It'll still be used and linked to with this trick.
5572
55732010-01-21  Steve Block  <steveblock@google.com>
5574
5575        Unreviewed build fix.
5576
5577        Copy BridgeJSC.h to generated headers on Windows
5578
5579        No new tests, build fix only.
5580
5581        * WebCore.vcproj/WebCore.vcproj:
5582
55832010-01-21  Eric Carlson  <eric.carlson@apple.com>
5584
5585        Reviewed by Darin Adler.
5586
5587        Cleanup MediaPlayer and MediaPlayerPrivateInterface to remove dead methods
5588        https://bugs.webkit.org/show_bug.cgi?id=30106
5589
5590        No new tests, only dead code was removed.
5591
5592        * platform/graphics/MediaPlayer.cpp:
5593        * platform/graphics/MediaPlayer.h:
5594        * platform/graphics/MediaPlayerPrivate.h:
5595        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
5596        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
5597        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
5598        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
5599        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
5600        * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
5601        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
5602        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
5603        (WebCore::MediaPlayerPrivate::currentTime):
5604        (WebCore::MediaPlayerPrivate::doSeek):
5605        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
5606        * platform/graphics/wince/MediaPlayerPrivateWince.h:
5607
56082010-01-21  Iain Campbell <iain.campbell@accenture.com>
5609
5610        Reviewed by Simon Hausmann.
5611
5612        [Qt] Simplify the qmake code for freezing QtWebKit on Symbian.
5613
5614        * WebCore.pro:
5615
56162010-01-21  Steve Block  <steveblock@google.com>
5617
5618        Unreviewed speculative build fix for Windows.
5619
5620        Adds missing include path for JSCBridge.h on Windows, added in http://trac.webkit.org/changeset/53620
5621
5622        No new tests, build fix only.
5623
5624        * WebCore.vcproj/WebCoreCommon.vsprops:
5625
56262010-01-21  Steve Block  <steveblock@google.com>
5627
5628        Unreviewed build fix.
5629
5630        Adds missing include path for JSCBridge.h, added in http://trac.webkit.org/changeset/53620
5631
5632        No new tests, build fix only.
5633
5634        * GNUmakefile.am:
5635        * WebCore.pro:
5636        * WebCore.vcproj/WebCore.vcproj:
5637        * WebCore.xcodeproj/project.pbxproj:
5638
56392010-01-21  Steve Block  <steveblock@google.com>
5640
5641        Reviewed by David Levin.
5642
5643        Move bridge interfaces Field, Class, Instance and Array from Bridge to BridgeJSC
5644        https://bugs.webkit.org/show_bug.cgi?id=33589
5645
5646        These interfaces use JSC-specific types, so are moved out of Bridge.h to allow the file to
5647        be used with both JSC and V8.
5648
5649        No new tests, refactoring only.
5650
5651        * Android.jscbindings.mk: Modified. Removed Bridge.cpp and added BridgeJSC.cpp
5652        * GNUmakefile.am: Modified. Removed Bridge.cpp and added BridgeJSC.[cpp|h]
5653        * WebCore.pro: Modified. Removed Bridge.cpp and added BridgeJSC.[cpp|h]
5654        * WebCore.xcodeproj/project.pbxproj: Modified. Removed Bridge.cpp and added BridgeJSC.[cpp|h]
5655        * WebCoreSources.bkl: Modified. Removed Bridge.cpp and added BridgeJSC.cpp
5656        * bridge/Bridge.cpp: Removed.
5657        * bridge/Bridge.h: Modfied. Moved Field, Class, Instance and Array interfaces to BridgeJSC.h
5658        * bridge/jsc: Added.
5659        * bridge/jsc/BridgeJSC.cpp: Copied from WebCore/bridge/Bridge.cpp.
5660        * bridge/jsc/BridgeJSC.h: Copied from WebCore/bridge/Bridge.h.
5661
56622010-01-21  Steve Block  <steveblock@google.com>
5663
5664        Reviewed by David Levin.
5665
5666        Fixes style in WebCore/bridge/jni/JNIBridge
5667        https://bugs.webkit.org/show_bug.cgi?id=33914
5668
5669        No new tests, style fixes only.
5670
5671        * bridge/jni/JNIBridge.cpp:
5672        * bridge/jni/JNIBridge.h:
5673
56742010-01-13  Philippe Normand  <pnormand@igalia.com>
5675
5676        Reviewed by Oliver Hunt.
5677
5678        [GTK] handle media redirections
5679        https://bugs.webkit.org/show_bug.cgi?id=33539
5680
5681        Media redirections support.
5682
5683        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
5684        (WebCore::mediaPlayerPrivateMessageCallback):
5685        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
5686        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
5687        (WebCore::MediaPlayerPrivate::mediaLocationChanged):
5688        (WebCore::MediaPlayerPrivate::loadNextLocation):
5689        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
5690        (WebCore::MediaPlayerPrivate::pipelineReset):
5691
56922010-01-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
5693
5694        Reviewed by Antti Koivisto.
5695
5696        [Qt] Implement GraphicsLayer for accelerated layer compositing
5697        https://bugs.webkit.org/show_bug.cgi?id=33514
5698
5699        No new tests: tests in LayoutTests/compositing are now relevant for
5700        QtWebkit!
5701
5702        * WebCore.pro: added accelerated-compositing related files 
5703        * platform/graphics/GraphicsLayer.h: define Qt-specific implementation           of GraphicsLayer
5704        * platform/graphics/qt/GraphicsLayerQt.cpp: Added.
5705        (WebCore::GraphicsLayerQtImpl::): Implementation of GraphicsLayer with
5706        a QGraphicsItem
5707        (WebCore::GraphicsLayerQtImpl::ContentData::ContentData): save 
5708        pixmap/color info for directly composited content
5709        (WebCore::GraphicsLayerQtImpl::State::State): save info for syncing
5710        (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl): ctor
5711        (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl): dtor
5712        (WebCore::GraphicsLayerQtImpl::setBaseTransform): set Qt
5713        transformation in the way WebCore wants it
5714        (WebCore::GraphicsLayerQtImpl::opaqueArea): calculate opaque area
5715        based on info we have
5716        (WebCore::GraphicsLayerQtImpl::boundingRect): reimp QGraphicsItem
5717        (WebCore::GraphicsLayerQtImpl::paint): reimp QGraphicsItem
5718        (WebCore::GraphicsLayerQtImpl::drawContents): draw HTML/Pixmap/Color
5719        (WebCore::GraphicsLayerQtImpl::notifyChange): let WebCore know
5720        something has changed
5721        (WebCore::GraphicsLayerQtImpl::flushChanges): Make the changes appear
5722        on screen by setting them to QGraphicsItems
5723        (WebCore::GraphicsLayerQtImpl::notifyAnimationStarted): let WebCore
5724        know the QAnimation started
5725        (WebCore::GraphicsLayerQt::GraphicsLayerQt): ctor
5726        (WebCore::GraphicsLayerQt::~GraphicsLayerQt): dtor
5727        (WebCore::GraphicsLayer::create): hook for WebCore to know we're
5728        implementing compositing
5729        (WebCore::GraphicsLayer::compositingCoordinatesOrientation): hook for
5730        WebCore to know we use a top-down system
5731        (WebCore::GraphicsLayerQt::setNeedsDisplay): update the display
5732        (WebCore::GraphicsLayerQt::setNeedsDisplayInRect): udpate part of the
5733        display
5734        (WebCore::GraphicsLayerQt::setName): reimp
5735        (WebCore::GraphicsLayerQt::setParent): reimp
5736        (WebCore::GraphicsLayerQt::setChildren): reimp
5737        (WebCore::GraphicsLayerQt::addChild): reimp
5738        (WebCore::GraphicsLayerQt::addChildAtIndex): reimp
5739        (WebCore::GraphicsLayerQt::addChildAbove): reimp
5740        (WebCore::GraphicsLayerQt::addChildBelow): reimp
5741        (WebCore::GraphicsLayerQt::replaceChild): reimp
5742        (WebCore::GraphicsLayerQt::removeFromParent): reimp
5743        (WebCore::GraphicsLayerQt::setMaskLayer): reimp
5744        (WebCore::GraphicsLayerQt::setPosition): reimp
5745        (WebCore::GraphicsLayerQt::setAnchorPoint): reimp
5746        (WebCore::GraphicsLayerQt::setSize): reimp
5747        (WebCore::GraphicsLayerQt::setTransform): reimp
5748        (WebCore::GraphicsLayerQt::setChildrenTransform): reimp
5749        (WebCore::GraphicsLayerQt::setPreserves3D): reimp
5750        (WebCore::GraphicsLayerQt::setMasksToBounds): reimp
5751        (WebCore::GraphicsLayerQt::setDrawsContent): reimp
5752        (WebCore::GraphicsLayerQt::setBackgroundColor): reimp
5753        (WebCore::GraphicsLayerQt::clearBackgroundColor): reimp
5754        (WebCore::GraphicsLayerQt::setContentsOpaque): reimp
5755        (WebCore::GraphicsLayerQt::setBackfaceVisibility): reimp
5756        (WebCore::GraphicsLayerQt::setOpacity): reimp
5757        (WebCore::GraphicsLayerQt::setContentsRect): reimp
5758        (WebCore::GraphicsLayerQt::setContentsToImage): reimp
5759        (WebCore::GraphicsLayerQt::setContentsBackgroundColor): reimp
5760        (WebCore::GraphicsLayerQt::setGeometryOrientation): reimp
5761        (WebCore::GraphicsLayerQt::setContentsOrientation): reimp
5762        (WebCore::GraphicsLayerQt::distributeOpacity): reimp
5763        (WebCore::GraphicsLayerQt::accumulatedOpacity): reimp
5764        (WebCore::GraphicsLayerQt::syncCompositingState): reimp
5765        (WebCore::GraphicsLayerQt::nativeLayer): reimp (QGraphicsItem*)
5766        (WebCore::GraphicsLayerQt::platformLayer): reimp (QGraphicsItem*)
5767        (WebCore::solveEpsilon): copy from AnimationBase.cpp
5768        (WebCore::solveCubicBezierFunction): copy from AniamtionBase.cpp
5769        (WebCore::applyTimingFunction): use WebCore's timing and not Qt's
5770        (WebCore::webkitAnimationToQtAnimationValue): safely figure out
5771        animation values
5772        (WebCore::AnimationQtBase::AnimationQtBase): base class for Qt-based
5773        Webcore-initiated animations
5774        (WebCore::AnimationQtBase::updateState): notify when an animation
5775        starts
5776        (WebCore::AnimationQtBase::duration): reimp QAbstractAnimation
5777        (WebCore::AnimationQt:::AnimationQtBase):
5778        (WebCore::AnimationQt::updateCurrentTime): realize keyframes from
5779        progress
5780        (WebCore::TransformAnimationQt::TransformAnimationQt): ctor
5781        (WebCore::TransformAnimationQt::~TransformAnimationQt): dtor
5782        (WebCore::TransformAnimationQt::applyFrame): set the actual QTransform
5783        based on WebCore TransformOperations
5784        (WebCore::TransformAnimationQt::updateState): change cache mode
5785        (WebCore::OpacityAnimationQt::OpacityAnimationQt):
5786        (WebCore::OpacityAnimationQt::applyFrame): change item's opacity
5787        (WebCore::OpacityAnimationQt::updateState):
5788        (WebCore::GraphicsLayerQt::addAnimation): convert WebCore Animation to
5789        Qt Animation
5790        (WebCore::GraphicsLayerQt::removeAnimationsForProperty):
5791        (WebCore::GraphicsLayerQt::removeAnimationsForKeyframes):
5792        (WebCore::GraphicsLayerQt::pauseAnimation):
5793        (WebCore::GraphicsLayerQt::suspendAnimations):
5794        (WebCore::GraphicsLayerQt::resumeAnimations):
5795        * platform/graphics/qt/GraphicsLayerQt.h: Added.
5796        * platform/qt/QWebPageClient.h: virtual functions for QGraphicsWebView
5797        compositing
5798        (QWebPageClient::setRootGraphicsLayer): let QGraphicsWebView know that
5799        compositing has started/ended
5800        (QWebPageClient::markForSync): let QGraphicsWebView know the
5801        compositing layers need to sync, either soon or with the next update
5802
58032010-01-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
5804
5805        Reviewed by Simon Hausmann.
5806
5807        [Qt] Adding QPixmap/QImage support for the Qt hybrid layer
5808        Allows accesing QPixmap and QImage based arguments from Qt signals,
5809        slots and properties
5810        This is done by an intermediate object that can be turned into
5811        web-based objects by calling either toHTMLImageElement() or
5812        toDataURL()
5813        https://bugs.webkit.org/show_bug.cgi?id=32461
5814
5815        Tests are in WebKit/qt/tests/hybridPixmap
5816
5817        * WebCore.pro:
5818        * bridge/qt/qt_pixmapruntime.cpp: Added.
5819        (JSC::Bindings::QtPixmapWidthField::name): "width"
5820        (JSC::Bindings::QtPixmapWidthField::valueFromInstance): width of
5821        pixmap
5822        (JSC::Bindings::QtPixmapWidthField::setValueToInstance): nothing
5823        (JSC::Bindings::QtPixmapHeightField::name): "height"
5824        (JSC::Bindings::QtPixmapHeightField::valueFromInstance): height of
5825        pixmap
5826        (JSC::Bindings::QtPixmapHeightField::setValueToInstance): nothing
5827        (JSC::Bindings::QtPixmapRuntimeMethod::numParameters): 0
5828        (JSC::Bindings::QtPixmapCreateElementMethod::name): toHTMLImageElement
5829        (JSC::Bindings::QtPixmapCreateElementMethod::invoke): creates an HTML
5830        element from the QPixmap
5831        (JSC::Bindings::QtPixmapToDataUrlMethod::name): "toDataURL"
5832        (JSC::Bindings::QtPixmapToDataUrlMethod::invoke): encodes the image to
5833        a base64 data url
5834        (JSC::Bindings::QtPixmapToStringMethod::name): "toString"
5835        (JSC::Bindings::QtPixmapToStringMethod::invoke): [Qt Native Pixmap
5836        w,h]
5837
5838        (JSC::Bindings::QtPixmapRuntimeObjectImp::createStructure):
5839        runtime-object broilerplate
5840        (JSC::Bindings::QtPixmapRuntimeObjectImp::classInfo): ditto
5841        (JSC::Bindings::QtPixmapRuntimeObjectImp::QtPixmapRuntimeObjectImp):
5842        ditto
5843        (JSC::Bindings::): ditto
5844        (JSC::Bindings::QtPixmapClass::QtPixmapClass): class for the
5845        intermediate pixmap-holder 
5846        (JSC::Bindings::QtPixmapInstance::getClass): ditto
5847        (JSC::Bindings::QtPixmapInstance::invokeMethod): ditto
5848        (JSC::Bindings::QtPixmapClass::methodsNamed): toHTMLImageElement,
5849        toDataURL
5850        (JSC::Bindings::QtPixmapClass::fieldNamed): width, height
5851        (JSC::Bindings::QtPixmapInstance::getPropertyNames):
5852                toHTMLImageElement, toDataURL, width, height
5853        (JSC::Bindings::QtPixmapInstance::defaultValue): nothing
5854        (JSC::Bindings::QtPixmapInstance::valueOf): toString
5855        (JSC::Bindings::data): holds a QVariant of type QImage/QPixmap
5856        (JSC::Bindings::QtPixmapInstance::width): width of the image/pixmap
5857        (JSC::Bindings::QtPixmapInstance::height): height of the image/pixmap
5858        (JSC::Bindings::QtPixmapInstance::toPixmap): converts to a QPixmap
5859        (JSC::Bindings::QtPixmapInstance::toImage): converts to a QImage
5860        (JSC::Bindings::QtPixmapInstance::variantFromObject): makes sure this
5861        is the right type of object, and creates a QVariant
5862        (JSC::Bindings::QtPixmapInstance::createRuntimeObject): creates a new
5863        intermediate pixmap holder from a QVariant
5864        (JSC::Bindings::QtPixmapInstance::canHandle): returns true if a
5865        QPixmap/QImage is required
5866        * bridge/qt/qt_pixmapruntime.h: Added.
5867        * bridge/qt/qt_runtime.cpp: hooks for the bridge
5868        (JSC::Bindings::convertValueToQVariant): handle QPixmap/QImage if the
5869        object is the intermediate pixmap holder or an HTMLImageElement
5870        (JSC::Bindings::convertQVariantToValue): creates the intermediate
5871        object from a QVariant of type QImage/QPixmap
5872
58732010-01-21  Luiz Agostini  <luiz.agostini@openbossa.org>
5874
5875        Reviewed by Kenneth Rohde Christiansen.
5876
5877        [Qt] Custom select popups.
5878        https://bugs.webkit.org/show_bug.cgi?id=33418
5879
5880        Optimization of the WebCore support to combobox popup delegate.
5881
5882        * platform/qt/PopupMenuQt.cpp:
5883        (WebCore::PopupMenu::show):
5884        * platform/qt/QtAbstractWebPopup.cpp:
5885        (WebCore::QtAbstractWebPopup::QtAbstractWebPopup):
5886        (WebCore::QtAbstractWebPopup::itemType):
5887        * platform/qt/QtAbstractWebPopup.h:
5888        (WebCore::QtAbstractWebPopup::):
5889        (WebCore::QtAbstractWebPopup::itemText):
5890        (WebCore::QtAbstractWebPopup::itemToolTip):
5891        (WebCore::QtAbstractWebPopup::itemIsEnabled):
5892        (WebCore::QtAbstractWebPopup::itemCount):
5893        (WebCore::QtAbstractWebPopup::view):
5894        (WebCore::QtAbstractWebPopup::geometry):
5895        (WebCore::QtAbstractWebPopup::currentIndex):
5896        (WebCore::QtAbstractWebPopup::font):
5897
58982010-01-20  Adam Barth  <abarth@webkit.org>
5899
5900        Reviewed by Darin Adler.
5901
5902        Stylesheet href property shows redirected URL unlike other browsers
5903        https://bugs.webkit.org/show_bug.cgi?id=33683
5904
5905        Teach StyleSheet the difference between original and final URLs in
5906        redirect chains.  Unfortunately, StyleSheet needs to know both of these
5907        URLs.  The original URL is needed for the href property and the final
5908        URL is needed as the baseURL.
5909
5910        This change required touching a lot of lines of code because we need to
5911        plumb this information to the StyleSheet object.  I audited all
5912        existing clients of href() and setHref() to see whether they wanted the
5913        original or final URLs.  I then updated the clients (except the JS
5914        bindings themselves) to use the correct accessor.
5915
5916        Test: http/tests/security/stylesheet-href-redirect.html
5917
5918        * css/CSSImportRule.cpp:
5919        (WebCore::CSSImportRule::setCSSStyleSheet):
5920        (WebCore::CSSImportRule::insertedIntoParent):
5921        * css/CSSImportRule.h:
5922        * css/CSSStyleSheet.cpp:
5923        (WebCore::CSSStyleSheet::CSSStyleSheet):
5924        * css/CSSStyleSheet.h:
5925        (WebCore::CSSStyleSheet::create): 
5926        (WebCore::CSSStyleSheet::createInline): Added a new constructor to deal
5927        with "inline" style sheets that don't have a distinct original and
5928        final URL.
5929        * css/StyleBase.cpp:
5930        (WebCore::StyleBase::baseURL): This code wants to use the final URL,
5931        not the original URL.  Updated it to grab the baseURL directly.
5932        * css/StyleSheet.cpp:
5933        (WebCore::StyleSheet::StyleSheet):
5934        * css/StyleSheet.h:
5935        (WebCore::StyleSheet::href):
5936        (WebCore::StyleSheet::setBaseURL): This function really just updates
5937        the base URL of the style sheet, so I made it more explicit.
5938        (WebCore::StyleSheet::putativeBaseURL): We need an accessor for the
5939        base URL, but baseURL is already taken.
5940        * dom/Document.cpp:
5941        (WebCore::Document::updateBaseURL):
5942        (WebCore::Document::pageUserSheet):
5943        (WebCore::Document::pageGroupUserSheets):
5944        (WebCore::Document::elementSheet):
5945        (WebCore::Document::mappedElementSheet):
5946        * dom/ProcessingInstruction.cpp:
5947        (WebCore::ProcessingInstruction::checkStyleSheet):
5948        (WebCore::ProcessingInstruction::setCSSStyleSheet):
5949        (WebCore::ProcessingInstruction::setXSLStyleSheet):
5950        * dom/ProcessingInstruction.h:
5951        * dom/StyleElement.cpp:
5952        (WebCore::StyleElement::createSheet):
5953        * html/HTMLLinkElement.cpp:
5954        (WebCore::HTMLLinkElement::setCSSStyleSheet):
5955        * html/HTMLLinkElement.h:
5956        * loader/CachedCSSStyleSheet.cpp:
5957        (WebCore::CachedCSSStyleSheet::didAddClient):
5958        (WebCore::CachedCSSStyleSheet::checkNotify): This code now passes both
5959        the original and final URL into setCSSStyleSheet so that the style
5960        sheet can have both.
5961        * loader/CachedResourceClient.h:
5962        (WebCore::CachedResourceClient::setCSSStyleSheet):
5963        (WebCore::CachedResourceClient::setXSLStyleSheet):
5964        * loader/CachedXSLStyleSheet.cpp:
5965        (WebCore::CachedXSLStyleSheet::didAddClient):
5966        (WebCore::CachedXSLStyleSheet::checkNotify): I don't have any direct
5967        evidence that we need to change the XSLStyleSheet behavior, which is
5968        why I wasn't able to add a test for the behavior.  However, the objects
5969        are parallel enough that it seemed like the right thing to do.
5970        * xml/XSLImportRule.cpp:
5971        (WebCore::XSLImportRule::setXSLStyleSheet):
5972        (WebCore::XSLImportRule::loadSheet):
5973        * xml/XSLImportRule.h:
5974        * xml/XSLStyleSheet.h:
5975        (WebCore::XSLStyleSheet::create):
5976        (WebCore::XSLStyleSheet::createEmbedded):
5977        * xml/XSLStyleSheetLibxslt.cpp:
5978        (WebCore::XSLStyleSheet::XSLStyleSheet):
5979        (WebCore::XSLStyleSheet::parseString):
5980        (WebCore::XSLStyleSheet::loadChildSheets):
5981        * xml/XSLStyleSheetQt.cpp:
5982        (WebCore::XSLStyleSheet::XSLStyleSheet):
5983        * xml/XSLTProcessorLibxslt.cpp:
5984        (WebCore::xsltStylesheetPointer):
5985        * xml/XSLTProcessorQt.cpp:
5986        (WebCore::XSLTProcessor::transformToString):
5987
59882010-01-20  Kwang Yul Seo  <skyul@company100.net>
5989
5990        Reviewed by Alexey Proskuryakov.
5991
5992        Use xmlStrdup instead of strdup for consistency in Libxml2.
5993        https://bugs.webkit.org/show_bug.cgi?id=33935
5994
5995        Remove the direct use of strdup.
5996
5997        * dom/XMLTokenizerLibxml2.cpp:
5998        (WebCore::PendingCallbacks::appendErrorCallback):
5999        (WebCore::PendingCallbacks::):
6000        (WebCore::XMLTokenizer::error):
6001
60022010-01-20  Oliver Hunt  <oliver@apple.com>
6003
6004        Reviewed by Dan Bernstein.
6005
6006        Insufficient repaint issues with html embedded in foreignObject
6007        https://bugs.webkit.org/show_bug.cgi?id=16318
6008
6009        Final part of fix -- now we render the selection rect of list
6010        markers in a transformed context.
6011
6012        * rendering/RenderListMarker.cpp:
6013        (WebCore::RenderListMarker::localSelectionRect):
6014        (WebCore::RenderListMarker::paint):
6015        * rendering/RenderListMarker.h:
6016
60172010-01-20  Daniel Bates  <dbates@webkit.org>
6018
6019        No review, rolling out 53591.
6020        http://trac.webkit.org/changeset/53591
6021        https://bugs.webkit.org/show_bug.cgi?id=29564
6022
6023        Rolling out the change committed in change set 53591
6024        <http://trac.webkit.org/changeset/53591> because it caused
6025        a regression of test /fast/replaced/table-percent-height.html
6026        on the Qt bot.
6027
6028        * platform/qt/RenderThemeQt.cpp:
6029        (WebCore::RenderThemeQt::adjustButtonStyle):
6030
60312010-01-20  Stephen White  <senorblanco@chromium.org>
6032
6033        Reviewed by David Levin.
6034
6035        Disable the "seatbelt" coordinate validation functions in the
6036        Skia graphics layer.  We believe all the underlying bugs have
6037        been fixed, but just in case we're being overly optimistic, this
6038        leaves in the code for an easy revert.
6039
6040        https://bugs.webkit.org/show_bug.cgi?id=33908
6041        Exercised by many layout tests.
6042
6043        * platform/graphics/skia/GraphicsContextSkia.cpp:
6044
60452010-01-20  Kent Tamura  <tkent@chromium.org>
6046
6047        Reviewed by Darin Adler.
6048
6049        HTMLInputElement::valueAsDate setter support for type=date.
6050        https://bugs.webkit.org/show_bug.cgi?id=33911
6051
6052        Introduce ISODateTime::setMillisecondsSinceEpochForDate() and add Date
6053        type support to ISODateTime::toString().
6054
6055        * html/HTMLInputElement.cpp:
6056        (WebCore::HTMLInputElement::setValueAsDate):
6057        * html/ISODateTime.cpp:
6058        (WebCore::ISODateTime::setMillisecondsSinceEpochForDate):
6059        (WebCore::ISODateTime::toString):
6060        * html/ISODateTime.h:
6061
60622010-01-20  Ben Murdoch  <benm@google.com>
6063
6064        Reviewed by Simon Hausmann.
6065
6066        Touch Events are not sent to iframes
6067        https://bugs.webkit.org/show_bug.cgi?id=33894
6068
6069        Fix the touch event handler so it does not bail out early if the main frame document does not have any touch listeners registered, as there may be embedded iframes that have registered for touch events.
6070
6071        Test: fast/events/touch/touch-inside-iframe.html
6072
6073        * page/EventHandler.cpp:
6074        (WebCore::EventHandler::handleTouchEvent): Instead of looking at the document of the main frame to see if touch event listeners are registered, look at the document of the target element to account for iframes.
6075
60762010-01-20  Michael Nordman  <michaeln@google.com>
6077
6078        Reviewed by Alexey Proskuryakov.
6079
6080        Remove an assertion that is not valid in some detached iframes cases.
6081        https://bugs.webkit.org/show_bug.cgi?id=33827
6082
6083        Test: http/tests/appcache/detached-iframe.html
6084
6085        * loader/appcache/DOMApplicationCache.cpp:
6086        (WebCore::DOMApplicationCache::DOMApplicationCache):
6087
60882010-01-20  Eric Uhrhane  <ericu@chromium.org>
6089
6090        Reviewed by Dmitry Titov.
6091
6092        Refactoring and plumbing to get the HTML5 SQL Database API accessible to
6093        web workers.  No new functionality is exposed yet; this just gets the
6094        infrastructure in place.  It touches a lot of files in small ways; here
6095        are the main changes:
6096
6097        1) Database members and methods move from Document up to
6098        ScriptExecutionContext.  Each of Document and WorkerContext must
6099        implement a few virtual methods where the Database code requires
6100        differentiation.
6101        2) Worker thread shutdown got changed a bunch to handle Database cleanup
6102        and thread synchronization issues.  Database cleanup tasks need to post
6103        some cleanup tasks to the JavaScript thread.  However, since database
6104        cleanup may happen due to the destruction of the WorkerThread, I added a
6105        handshake [involving WorkerThreadShutdownStartTask,
6106        WorkerThreadShutdownFinishTask, and a DatabaseTaskSynchronizer] between
6107        the Database thread and WorkerThread that cleans up all the Database
6108        stuff before the WorkerThread's runLoop can exit.
6109        3) The runtime enabler for the Database moved to a static variable
6110        accessible through Database::isAvailable, following the model used by
6111        WebSocket.
6112        4) Worker threads don't run their JavaScript on the Main thread, so
6113        Database code that differentiated between the Main thread and the
6114        Database thread now need to deal with a third possibility.
6115        5) Most of the other changes have to do with having a
6116        ScriptExecutionContext pointer instead of a Document pointer when
6117        dealing with a Database.  In many cases it's just a string replacement,
6118        but in some it required the creation of a new virtual function [e.g.
6119        databaseExceededQuota, isDatabaseReadOnly]
6120
6121        https://bugs.webkit.org/show_bug.cgi?id=22725
6122
6123        No new tests; in a future patch I'll add JSC and V8 bindings and new
6124        layout tests to exercise them.
6125
6126        * bindings/v8/custom/V8DOMWindowCustom.cpp:
6127        (WebCore::V8DOMWindow::OpenDatabaseEnabled):
6128        * dom/Document.cpp:
6129        (WebCore::Document::Document):
6130        (WebCore::Document::~Document):
6131        (WebCore::Document::isDatabaseReadOnly):
6132        (WebCore::Document::databaseExceededQuota):
6133        (WebCore::Document::isContextThread):
6134        * dom/Document.h:
6135        * dom/ScriptExecutionContext.cpp:
6136        (WebCore::ScriptExecutionContext::ScriptExecutionContext):
6137        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
6138        (WebCore::ScriptExecutionContext::databaseThread):
6139        (WebCore::ScriptExecutionContext::addOpenDatabase):
6140        (WebCore::ScriptExecutionContext::removeOpenDatabase):
6141        (WebCore::ScriptExecutionContext::stopDatabases):
6142        * dom/ScriptExecutionContext.h:
6143        (WebCore::ScriptExecutionContext::setHasOpenDatabases):
6144        (WebCore::ScriptExecutionContext::hasOpenDatabases):
6145        (WebCore::ScriptExecutionContext::Task::isCleanupTask):
6146        * loader/FrameLoader.cpp:
6147        (WebCore::FrameLoader::stopLoading):
6148        * storage/Database.cpp:
6149        (WebCore::Database::setIsAvailable):
6150        (WebCore::Database::isAvailable):
6151        (WebCore::Database::openDatabase):
6152        (WebCore::Database::Database):
6153        (WebCore::DerefContextTask::create):
6154        (WebCore::DerefContextTask::performTask):
6155        (WebCore::DerefContextTask::isCleanupTask):
6156        (WebCore::Database::~Database):
6157        (WebCore::Database::openAndVerifyVersion):
6158        (WebCore::Database::markAsDeletedAndClose):
6159        (WebCore::ContextRemoveOpenDatabaseTask::create):
6160        (WebCore::ContextRemoveOpenDatabaseTask::performTask):
6161        (WebCore::ContextRemoveOpenDatabaseTask::isCleanupTask):
6162        (WebCore::ContextRemoveOpenDatabaseTask::ContextRemoveOpenDatabaseTask):
6163        (WebCore::Database::close):
6164        (WebCore::Database::performOpenAndVerify):
6165        (WebCore::Database::scheduleTransaction):
6166        (WebCore::Database::scheduleTransactionStep):
6167        (WebCore::DeliverPendingCallbackTask::create):
6168        (WebCore::DeliverPendingCallbackTask::performTask):
6169        (WebCore::DeliverPendingCallbackTask::DeliverPendingCallbackTask):
6170        (WebCore::Database::scheduleTransactionCallback):
6171        (WebCore::Database::transactionClient):
6172        (WebCore::Database::transactionCoordinator):
6173        (WebCore::Database::tableNames):
6174        (WebCore::Database::securityOrigin):
6175        * storage/Database.h:
6176        (WebCore::Database::scriptExecutionContext):
6177        * storage/DatabaseTask.h:
6178        * storage/DatabaseThread.cpp:
6179        (WebCore::DatabaseThread::DatabaseThread):
6180        (WebCore::DatabaseThread::~DatabaseThread):
6181        (WebCore::DatabaseThread::requestTermination):
6182        (WebCore::DatabaseThread::databaseThread):
6183        (WebCore::DatabaseThread::unscheduleDatabaseTasks):
6184        * storage/DatabaseThread.h:
6185        * storage/DatabaseTracker.cpp:
6186        (WebCore::DatabaseTracker::canEstablishDatabase):
6187        (WebCore::DatabaseTracker::getMaxSizeForDatabase):
6188        * storage/DatabaseTracker.h:
6189        * storage/SQLTransaction.cpp:
6190        (WebCore::SQLTransaction::executeSQL):
6191        * storage/SQLTransactionClient.cpp:
6192        (WebCore::SQLTransactionClient::didCommitTransaction):
6193        (WebCore::SQLTransactionClient::didExecuteStatement):
6194        (WebCore::SQLTransactionClient::didExceedQuota):
6195        * storage/chromium/DatabaseTrackerChromium.cpp:
6196        (WebCore::DatabaseTracker::canEstablishDatabase):
6197        (WebCore::DatabaseTracker::addOpenDatabase):
6198        (WebCore::TrackerRemoveOpenDatabaseTask::create):
6199        (WebCore::TrackerRemoveOpenDatabaseTask::performTask):
6200        (WebCore::TrackerRemoveOpenDatabaseTask::TrackerRemoveOpenDatabaseTask):
6201        (WebCore::DatabaseTracker::removeOpenDatabase):
6202        (WebCore::DatabaseTracker::getMaxSizeForDatabase):
6203        * storage/chromium/SQLTransactionClientChromium.cpp:
6204        (WebCore::NotifyDatabaseChangedTask::create):
6205        (WebCore::NotifyDatabaseChangedTask::performTask):
6206        (WebCore::NotifyDatabaseChangedTask::NotifyDatabaseChangedTask):
6207        (WebCore::SQLTransactionClient::didCommitTransaction):
6208        (WebCore::SQLTransactionClient::didExecuteStatement):
6209        (WebCore::SQLTransactionClient::didExceedQuota):
6210        * workers/WorkerContext.cpp:
6211        (WebCore::WorkerContext::openDatabase):
6212        (WebCore::WorkerContext::isContextThread):
6213        * workers/WorkerContext.h:
6214        (WebCore::WorkerContext::clearScript):
6215        (WebCore::WorkerContext::thread):
6216        (WebCore::WorkerContext::isDatabaseReadOnly):
6217        (WebCore::WorkerContext::databaseExceededQuota):
6218        * workers/WorkerRunLoop.cpp:
6219        (WebCore::WorkerRunLoop::runInMode):
6220        (WebCore::WorkerRunLoop::Task::performTask):
6221        * workers/WorkerThread.cpp:
6222        (WebCore::WorkerThread::workerThread):
6223        (WebCore::WorkerThreadShutdownFinishTask::create):
6224        (WebCore::WorkerThreadShutdownFinishTask::performTask):
6225        (WebCore::WorkerThreadShutdownFinishTask::isCleanupTask):
6226        (WebCore::WorkerThreadShutdownStartTask::create):
6227        (WebCore::WorkerThreadShutdownStartTask::performTask):
6228        (WebCore::WorkerThreadShutdownStartTask::isCleanupTask):
6229        (WebCore::WorkerThread::stop):
6230
62312010-01-20  Fumitoshi Ukai  <ukai@chromium.org>
6232
6233        Reviewed by Alexey Proskuryakov.
6234
6235        WebSocket: Request-URI should not be empty when no tralling slash in host
6236        https://bugs.webkit.org/show_bug.cgi?id=33689
6237
6238        Test: websocket/tests/url-no-trailing-slash.html
6239
6240        * websockets/WebSocketHandshake.cpp:
6241        (WebCore::resourceName):
6242
62432010-01-20  Daniel Bates  <dbates@webkit.org>
6244
6245        Reviewed by Tor Arne Vestbø.
6246
6247        https://bugs.webkit.org/show_bug.cgi?id=29564
6248
6249        [Qt] Fixes an issue where the height of <button>- and
6250        <input type="button">- elements are fixed to the height of the
6251        button label font plus padding. That is, the CSS height property
6252        is being ignored.
6253
6254        Instead, we should honor the user-specified height, if appropriate
6255        for the platform and context. Notice, the Mac ports do not honor the
6256        height for <input type="button"> elements unless a border and/or
6257        background is also specified.
6258
6259        Test: fast/css/button-height.html
6260
6261        * platform/qt/RenderThemeQt.cpp:
6262        (WebCore::RenderThemeQt::RenderThemeQt):
6263        (WebCore::RenderThemeQt::adjustButtonStyle):
6264
62652010-01-20  Brady Eidson  <beidson@apple.com>
6266
6267        Reviewed by Sam Weinig.
6268
6269        Assertion failure calling history.pushState within popstate event handler.
6270        https://bugs.webkit.org/show_bug.cgi?id=33830
6271
6272        Test: fast/loader/stateobjects/pushstate-within-popstate-handler-assert.html
6273
6274        * loader/FrameLoader.cpp:
6275        (WebCore::FrameLoader::navigateWithinDocument): Remove the ASSERT and invalid part of the comment.
6276
62772010-01-20  Nikolas Zimmermann  <nzimmermann@rim.com>
6278
6279        Reviewed by Oliver Hunt.
6280
6281        Crash on dispatching SVG mouse events
6282        https://bugs.webkit.org/show_bug.cgi?id=33841
6283
6284        Return early SVGUseElement::instanceForShadowTreeElement if m_targetElementInstance is zero.
6285        This only happens if the SVGUseElement has just been removed from the document and EventHandler
6286        tries to dispatch a mouseout event to the corresponding SVGElementInstance. This is not testable
6287        using DRT unfortunately, so we have to add another manual testcase for that.
6288
6289        Tests: manual-tests/use-crash-on-mouse-hover.svg
6290
6291        * manual-tests/svg-crash-hovering-use.svg: Added.
6292        * svg/SVGUseElement.cpp:
6293        (WebCore::SVGUseElement::instanceForShadowTreeElement): Add ASSERT(!inDocument()) when returning 0 here if m_targetElementInstance is 0.
6294
62952010-01-20  Ilya Tikhonovsky  <loislo@chromium.org>
6296
6297        Reviewed by Pavel Feldman.
6298
6299        Timeline reset button doesn't clean timeline if the panel is scrolled down.
6300        The overview pane also stay dirty after reset.
6301        https://bugs.webkit.org/show_bug.cgi?id=33829
6302
6303        * inspector/front-end/TimelineGrid.js:
6304        (WebInspector.TimelineGrid.prototype.updateDividers):
6305        * inspector/front-end/TimelineOverviewPane.js:
6306        (WebInspector.TimelineOverviewPane.prototype.reset):
6307        * inspector/front-end/TimelinePanel.js:
6308        (WebInspector.TimelinePanel.prototype.reset):
6309        (WebInspector.TimelinePanel.prototype._refreshRecords):
6310
63112010-01-20  Alexey Proskuryakov  <ap@apple.com>
6312
6313        Reviewed by Sam Weinig.
6314
6315        https://bugs.webkit.org/show_bug.cgi?id=33930
6316        Crash in JSDOMWindowBase::crossDomainAccessErrorMessage when accessing a detached sandboxed frame
6317
6318        Test: http/tests/security/detached-sandboxed-frame-access.html
6319
6320        * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::crossDomainAccessErrorMessage):
6321        Changed the way we discover the url to match what the actual check does. Both old and new
6322        code correctly fetch the URL of the current window displayed in frame, but going via
6323        DOMWindowShell avoids crashing on null DOMWindow::m_frame pointer.
6324
63252010-01-20  Vitaly Repeshko  <vitalyr@chromium.org>
6326
6327        Reviewed by Pavel Feldman.
6328
6329        [V8] Support SerializedScriptValue.
6330        https://bugs.webkit.org/show_bug.cgi?id=32920
6331        http://crbug.com/30620
6332
6333        Initial implementation of SerializedScriptValue which is used to
6334        to create a serialized representation of JavaScript objects.  This
6335        representation is needed for structured clones and worker messages.
6336
6337        * WebCore.gypi: Added SerializedScriptValue.cpp.
6338        * bindings/scripts/CodeGeneratorV8.pm: Removed conversion to string before using SerializedScriptValue.
6339        * bindings/v8/SerializedScriptValue.cpp: Added.
6340        (WebCore::):
6341        (WebCore::ZigZag::encode):
6342        (WebCore::ZigZag::decode):
6343        (WebCore::Writer::Writer):
6344        (WebCore::Writer::writeUndefined):
6345        (WebCore::Writer::writeNull):
6346        (WebCore::Writer::writeTrue):
6347        (WebCore::Writer::writeFalse):
6348        (WebCore::Writer::writeString):
6349        (WebCore::Writer::writeInt32):
6350        (WebCore::Writer::writeNumber):
6351        (WebCore::Writer::endComposite):
6352        (WebCore::Writer::data):
6353        (WebCore::Writer::doWriteUint32):
6354        (WebCore::Writer::append):
6355        (WebCore::Writer::ensureSpace):
6356        (WebCore::Writer::fillHole):
6357        (WebCore::Writer::charAt):
6358        (WebCore::Serializer::Serializer):
6359        (WebCore::Serializer::serialize):
6360        (WebCore::Serializer::StateBase::~StateBase):
6361        (WebCore::Serializer::StateBase::nextState):
6362        (WebCore::Serializer::StateBase::setNextState):
6363        (WebCore::Serializer::StateBase::composite):
6364        (WebCore::Serializer::StateBase::StateBase):
6365        (WebCore::Serializer::State::composite):
6366        (WebCore::Serializer::State::tag):
6367        (WebCore::Serializer::State::State):
6368        (WebCore::Serializer::StackCleaner::StackCleaner):
6369        (WebCore::Serializer::StackCleaner::~StackCleaner):
6370        (WebCore::Serializer::ArrayState::ArrayState):
6371        (WebCore::Serializer::ArrayState::done):
6372        (WebCore::Serializer::ArrayState::advance):
6373        (WebCore::Serializer::ObjectState::ObjectState):
6374        (WebCore::Serializer::ObjectState::done):
6375        (WebCore::Serializer::ObjectState::advance):
6376        (WebCore::Serializer::ObjectState::nextProperty):
6377        (WebCore::Serializer::doSerialize):
6378        (WebCore::Serializer::push):
6379        (WebCore::Serializer::top):
6380        (WebCore::Serializer::pop):
6381        (WebCore::Serializer::checkComposite):
6382        (WebCore::Reader::Reader):
6383        (WebCore::Reader::isEof):
6384        (WebCore::Reader::read):
6385        (WebCore::Reader::readTag):
6386        (WebCore::Reader::readString):
6387        (WebCore::Reader::readInt32):
6388        (WebCore::Reader::readNumber):
6389        (WebCore::Reader::doReadUint32):
6390        (WebCore::Deserializer::Deserializer):
6391        (WebCore::Deserializer::deserialize):
6392        (WebCore::Deserializer::doDeserialize):
6393        (WebCore::Deserializer::push):
6394        (WebCore::Deserializer::pop):
6395        (WebCore::Deserializer::stackDepth):
6396        (WebCore::Deserializer::element):
6397        (WebCore::SerializedScriptValue::SerializedScriptValue):
6398        (WebCore::SerializedScriptValue::deserialize):
6399        * bindings/v8/SerializedScriptValue.h:
6400        (WebCore::SerializedScriptValue::create):
6401        (WebCore::SerializedScriptValue::createFromWire):
6402        (WebCore::SerializedScriptValue::release):
6403        (WebCore::SerializedScriptValue::toWireString):
6404
6405        Updated uses of SerializedScriptValue:
6406        * bindings/v8/custom/V8DOMWindowCustom.cpp:
6407        (WebCore::V8DOMWindow::postMessageCallback):
6408        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
6409        (WebCore::V8DedicatedWorkerContext::postMessageCallback):
6410        * bindings/v8/custom/V8HistoryCustom.cpp:
6411        (WebCore::V8History::pushStateCallback):
6412        (WebCore::V8History::replaceStateCallback):
6413        * bindings/v8/custom/V8MessageEventCustom.cpp:
6414        (WebCore::V8MessageEvent::initMessageEventCallback):
6415        * bindings/v8/custom/V8MessagePortCustom.cpp:
6416        (WebCore::V8MessagePort::postMessageCallback):
6417        * bindings/v8/custom/V8WorkerCustom.cpp:
6418        (WebCore::V8Worker::postMessageCallback):
6419
64202010-01-20  Steve Falkenburg  <sfalken@apple.com>
6421
6422        Reviewed by Sam Weinig.
6423
6424        Fix crash in geolocation when observers change during iteration.
6425
6426        * page/GeolocationController.cpp:
6427        (WebCore::GeolocationController::positionChanged): Copy observers to vector while iterating.
6428        (WebCore::GeolocationController::errorOccurred): Copy observers to vector while iterating.
6429
64302010-01-19  Oliver Hunt  <oliver@apple.com>
6431
6432        Reviewed by Dan Bernstein.
6433
6434        Insufficient repaint issues with html embedded in foreignObject
6435        https://bugs.webkit.org/show_bug.cgi?id=16318
6436
6437        Partial fix for selection repaint in foreignObject, basically we
6438        just need to make sure foreignObject correctly applies the svg
6439        transform to the selection rect.
6440
6441        * rendering/RenderBlock.cpp:
6442        (WebCore::RenderBlock::paintSelection):
6443        * rendering/RenderForeignObject.cpp:
6444        (WebCore::RenderForeignObject::mapLocalToContainer):
6445        * rendering/RenderForeignObject.h:
6446
64472010-01-20  Gavin Barraclough  <barraclough@apple.com>
6448
6449        Reviewed by NOBODY.
6450
6451        <rdar://problem/7557695> REGRESSION(r53445-r53449): Many new memory leaks (33867)
6452
6453        Revert r53447, since this caused leaks.
6454
6455        * WebCore.base.exp:
6456        * platform/text/StringImpl.cpp:
6457        (WebCore::StringImpl::operator new):
6458        (WebCore::StringImpl::operator delete):
6459        (WebCore::StringImpl::StringImpl):
6460        (WebCore::StringImpl::~StringImpl):
6461        (WebCore::StringImpl::create):
6462        (WebCore::StringImpl::createWithTerminatingNullCharacter):
6463        (WebCore::StringImpl::crossThreadString):
6464        (WebCore::StringImpl::sharedBuffer):
6465        * platform/text/StringImpl.h:
6466        (WebCore::StringImpl::hasTerminatingNullCharacter):
6467        (WebCore::StringImpl::inTable):
6468        (WebCore::StringImpl::setInTable):
6469        (WebCore::StringImpl::):
6470        * storage/OriginUsageRecord.cpp:
6471        (WebCore::OriginUsageRecord::addDatabase):
6472        (WebCore::OriginUsageRecord::markDatabase):
6473
64742010-01-20  Jian Li  <jianli@chromium.org>
6475
6476        Reviewed by Dmitry Titov.
6477
6478        Implement File and Blob interfaces as defined in File API spec.
6479        https://bugs.webkit.org/show_bug.cgi?id=32912
6480
6481        * Android.derived.jscbindings.mk:
6482        * Android.derived.v8bindings.mk:
6483        * Android.mk:
6484        * DerivedSources.cpp:
6485        * DerivedSources.make:
6486        * GNUmakefile.am:
6487        * WebCore.gypi:
6488        * WebCore.pri:
6489        * WebCore.pro:
6490        * WebCore.vcproj/WebCore.vcproj:
6491        * WebCore.xcodeproj/project.pbxproj:
6492        * WebCoreSources.bkl:
6493        * bindings/js/JSXMLHttpRequestCustom.cpp:
6494        (WebCore::JSXMLHttpRequest::send):
6495        * bindings/objc/DOMHTML.h:
6496        * bindings/objc/PublicDOMInterfaces.h:
6497        * bindings/scripts/CodeGeneratorJS.pm:
6498        * bindings/scripts/CodeGeneratorObjC.pm:
6499        * bindings/scripts/CodeGeneratorV8.pm:
6500        * bindings/v8/DOMObjectsInclude.h:
6501        * bindings/v8/DerivedSourcesAllInOne.cpp:
6502        * bindings/v8/V8Binding.h:
6503        (WebCore::toInt64):
6504        * bindings/v8/V8Index.cpp:
6505        * bindings/v8/V8Index.h:
6506        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
6507        (WebCore::V8XMLHttpRequest::sendCallback):
6508        * html/File.cpp:
6509        (WebCore::File::File):
6510        * html/File.h:
6511        (WebCore::File::create):
6512        (WebCore::File::name):
6513        (WebCore::File::fileName):
6514        (WebCore::File::fileSize):
6515        * html/File.idl:
6516        * xml/XMLHttpRequest.cpp:
6517        (WebCore::XMLHttpRequest::send):
6518        * xml/XMLHttpRequest.h:
6519
65202010-01-20  Chris Fleizach  <cfleizach@apple.com>
6521
6522        Reviewed by Beth Dakin.
6523
6524        WAI-ARIA popup buttons spoken as simply 'button'
6525        https://bugs.webkit.org/show_bug.cgi?id=33922
6526
6527        Test: platform/mac/accessibility/aria-popup.html
6528
6529        * accessibility/AccessibilityRenderObject.cpp:
6530        (WebCore::AccessibilityRenderObject::actionElement):
6531        (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
6532        * html/HTMLAttributeNames.in:
6533
65342010-01-19  David Levin  <levin@chromium.org>
6535
6536        Reviewed by Oliver Hunt.
6537
6538        CrossThreadCopier needs to support ThreadSafeShared better.
6539        https://bugs.webkit.org/show_bug.cgi?id=33698
6540
6541        Now the copier is able to handle types that derive from ThreadSafeShared.
6542
6543        No change functionality so no new tests.
6544
6545        * loader/WorkerThreadableLoader.cpp:
6546        (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel): Remove unnecessary cast.
6547        (WebCore::WorkerThreadableLoader::MainThreadBridge::clearClientWrapper): Ditto.
6548        * loader/WorkerThreadableLoader.h:
6549        Change to use the derived class instead of the ThreadSafeShared version.
6550        * platform/CrossThreadCopier.cpp:
6551        Add the new template parameter throughout the classes and adjust the class that 
6552        handles ThreadSafeShared to allow for derived types.
6553        * platform/CrossThreadCopier.h:
6554        Add another template parameter to be able to detect classes that derive 
6555        from ThreadSafeShared.
6556        * websockets/WorkerThreadableWebSocketChannel.cpp:
6557        Removed unnecessary casts and changed a type to use the derived class instead of
6558        the ThreadSafeShared version.
6559        (WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
6560        (WebCore::workerContextDidSend):
6561        (WebCore::workerContextDidGetBufferedAmount):
6562        (WebCore::workerContextDidConnect):
6563        (WebCore::workerContextDidReceiveMessage):
6564        (WebCore::workerContextDidClose):
6565        (WebCore::WorkerThreadableWebSocketChannel::Bridge::setWebSocketChannel):
6566        (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
6567        (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
6568        (WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
6569        (WebCore::WorkerThreadableWebSocketChannel::Bridge::clearClientWrapper):
6570        (WebCore::WorkerThreadableWebSocketChannel::Bridge::setMethodNotCompleted):
6571        (WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):
6572        * websockets/WorkerThreadableWebSocketChannel.h:
6573        (WebCore::WorkerThreadableWebSocketChannel::Peer::create): Changed a type to use the
6574        derived class instead of the ThreadSafeShared version.
6575
65762010-01-20  Jon Honeycutt  <jhoneycutt@apple.com>
6577
6578        <rdar://problem/7086565> Crash in WebCore::PlugInView::dispatchNPEvent
6579
6580        Reviewed by Sam Weinig.
6581
6582        * plugins/PluginView.cpp:
6583        (WebCore::PluginView::handleEvent):
6584        Ref the PluginView to protect it from deletion while calling into the
6585        plug-in.
6586
65872010-01-20  Jon Honeycutt  <jhoneycutt@apple.com>
6588
6589        MSAA: accSelect() is not implemented
6590
6591        https://bugs.webkit.org/show_bug.cgi?id=33918
6592        <rdar://problem/7436861>
6593
6594        Reviewed by Darin Adler.
6595
6596        Test: platform/win/accessibility/selection-and-focus.html
6597
6598        * accessibility/AccessibilityMenuListOption.cpp:
6599        (WebCore::AccessibilityMenuListOption::setSelected):
6600        Return early if the object is not selectable.
6601
66022010-01-20  Nikolas Zimmermann  <nzimmermann@rim.com>
6603
6604        Not reviewed. Fix chromium build, introduced a copy&paste error.
6605
6606        * bindings/v8/ScriptEventListener.cpp:
6607        (WebCore::createAttributeEventListener):
6608
66092010-01-20  Dan Bernstein  <mitz@apple.com>
6610
6611        Reviewed by Darin Adler.
6612
6613        <rdar://problem/6579204> Exception thrown when opening a <select> pop-up that
6614        uses a web font
6615        https://bugs.webkit.org/show_bug.cgi?id=23911
6616
6617        * platform/mac/PopupMenuMac.mm:
6618        (WebCore::PopupMenu::populate): Use the (bold) system font if an NSFont cannot
6619        be obtained.
6620
66212010-01-19  Nikolas Zimmermann  <nzimmermann@rim.com>
6622
6623        Reviewed by Alexey Proskuryakov. 
6624
6625        svg/custom/use-instanceRoot-event-bubbling.xhtml is flakey
6626        https://bugs.webkit.org/show_bug.cgi?id=33835
6627
6628        mouseEvent fires mutiple times in svg/custom/use-instanceRoot-as-event-target.xhtml
6629        https://bugs.webkit.org/show_bug.cgi?id=32519
6630
6631        Test: svg/custom/use-instanceRoot-event-listener-liveness.xhtml
6632
6633        Stabilize <use> scripting support - use tests are reliable now (tested using --repeach-each 50 --random -p)
6634
6635        Do not reclone trees anymore because of event listener changes, instead keep correspondingElement & shadowTreeElement
6636        synchronized for each SVGElementInstance - any mutations on any event listeners are live, and take immediate effect,
6637        w/o having to rely on a reclone - this was the root of several race conditions making the <use> tests flakey.
6638
6639        Fix SVGUseElement::instanceRoot() to force shadow tree creation, even if it was not attached so far - we can't wait
6640        for finishedParsing() to be called which would recalculate the document style and attach the shadow tree as result.
6641        This is now matching Operas behaviour.
6642
6643        Optimize createAttributeEventListener() to not create event listeners if the supplied Attribute isNull() - otherwhise
6644        DOM calls like removeAttribute("onclick") cause a temporary JSEventListener to be created, added to the event listener
6645        cache and removed afterwards.
6646
6647        * bindings/js/ScriptEventListener.cpp:
6648        (WebCore::createAttributeEventListener): Return early if the supplied attribute is null as discussed with Geoffrey.
6649        * bindings/v8/ScriptEventListener.cpp:
6650        (WebCore::createAttributeEventListener): Ditto.
6651        * dom/Node.cpp: Synchronize event listeners with all element instances, instead of marking the use elements to reclone.
6652        (WebCore::instancesForSVGElement):
6653        (WebCore::tryAddEventListener):
6654        (WebCore::Node::addEventListener): When adding a listener, get a list of element instances and add it their as well.
6655        (WebCore::tryRemoveEventListener):
6656        (WebCore::Node::removeEventListener): Ditto for removals, but with special logic for listeners created from markup (see comments)
6657        * svg/SVGElementInstance.cpp: Cleaned up, removing unncessary checks of correspondingElement() - there is an ASSERT in the ctor.
6658        (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
6659        (WebCore::SVGElementInstance::scriptExecutionContext):
6660        (WebCore::SVGElementInstance::addEventListener):
6661        (WebCore::SVGElementInstance::removeEventListener):
6662        (WebCore::SVGElementInstance::removeAllEventListeners):
6663        (WebCore::SVGElementInstance::eventTargetData):
6664        (WebCore::SVGElementInstance::ensureEventTargetData):
6665        * svg/SVGUseElement.cpp: Call document()->updateLayoutIgnorePendingStylesheets() to force shadow tree creation, just like CSSStyleDecl works.
6666        (WebCore::SVGUseElement::instanceRoot):
6667
66682010-01-20  Dmitry Titov  <dimich@chromium.org>
6669
6670        Reviewed by Darin Adler.
6671
6672        Move local utility class DocumentWeakReference entirely from Document.h into Document.cpp
6673        since it is only used there. It is a followup for http://trac.webkit.org/changeset/53345.
6674
6675        No new tests since no change in functionality.
6676
6677        * dom/Document.cpp: Move definitions of the methods into declaration of the class, remove 'inline'.
6678        * dom/Document.h: Replace DocumentWeakReference declaration with a forward declaration.
6679
66802010-01-20  Oliver Hunt  <oliver@apple.com>
6681
6682        No review, rolling out r53561.
6683        http://trac.webkit.org/changeset/53561
6684        https://bugs.webkit.org/show_bug.cgi?id=16318
6685
6686        broke selection repaint for transformed text in html
6687
6688        * rendering/RenderBlock.cpp:
6689        (WebCore::RenderBlock::paintSelection):
6690        * rendering/RenderForeignObject.cpp:
6691        * rendering/RenderForeignObject.h:
6692
66932010-01-19  Oliver Hunt  <oliver@apple.com>
6694
6695        Reviewed by Beth Dakin.
6696
6697        Insufficient repaint issues with html embedded in foreignObject
6698        https://bugs.webkit.org/show_bug.cgi?id=16318
6699
6700        Partial fix for selection repaint in foreignObject, basically we
6701        just need to make sure foreignObject correctly applies the svg
6702        transform to the selection rect.
6703
6704        * rendering/RenderBlock.cpp:
6705        (WebCore::RenderBlock::paintSelection):
6706        * rendering/RenderForeignObject.cpp:
6707        (WebCore::RenderForeignObject::mapLocalToContainer):
6708        * rendering/RenderForeignObject.h:
6709
67102010-01-20  Kevin Ollivier  <kevino@theolliviers.com>
6711
6712        Build fix for !ENABLE(SVG).
6713
6714        * rendering/TrailingFloatsRootInlineBox.h:
6715        (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox):
6716
67172010-01-20  David Levin  <levin@chromium.org>
6718
6719        No review, rolling out r53552.
6720        http://trac.webkit.org/changeset/53552
6721        https://bugs.webkit.org/show_bug.cgi?id=32554
6722
6723        Caused lots of fast/profile test failures.
6724
6725        * bindings/js/JSInjectedScriptHostCustom.cpp:
6726        (WebCore::JSInjectedScriptHost::databaseForId):
6727        (WebCore::JSInjectedScriptHost::inspectedWindow):
6728        (WebCore::JSInjectedScriptHost::wrapCallback):
6729        (WebCore::JSInjectedScriptHost::currentCallFrame):
6730        (WebCore::JSInjectedScriptHost::nodeForId):
6731        (WebCore::JSInjectedScriptHost::wrapObject):
6732        (WebCore::JSInjectedScriptHost::unwrapObject):
6733        (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
6734        (WebCore::JSInjectedScriptHost::selectDatabase):
6735        (WebCore::JSInjectedScriptHost::selectDOMStorage):
6736        * bindings/js/ScriptCallStack.h:
6737        (WebCore::ScriptCallStack::state):
6738        * bindings/js/ScriptController.cpp:
6739        * bindings/js/ScriptController.h:
6740        * bindings/js/ScriptObject.h:
6741        * bindings/js/ScriptValue.cpp:
6742        (WebCore::ScriptValue::quarantineValue):
6743        * bindings/js/ScriptValue.h:
6744        * bindings/v8/ScriptObject.h:
6745        * bindings/v8/ScriptValue.h:
6746        (WebCore::ScriptValue::quarantineValue):
6747        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
6748        (WebCore::V8InjectedScriptHost::inspectedWindowCallback):
6749        (WebCore::V8InjectedScriptHost::wrapCallbackCallback):
6750        (WebCore::V8InjectedScriptHost::wrapObjectCallback):
6751        (WebCore::V8InjectedScriptHost::unwrapObjectCallback):
6752        * inspector/ConsoleMessage.cpp:
6753        (WebCore::ConsoleMessage::ConsoleMessage):
6754        (WebCore::ConsoleMessage::addToConsole):
6755        (WebCore::ConsoleMessage::isEqual):
6756        * inspector/ConsoleMessage.h:
6757        * inspector/InjectedScriptHost.cpp:
6758        (WebCore::InjectedScriptHost::wrapObject):
6759        (WebCore::InjectedScriptHost::unwrapObject):
6760        * inspector/InjectedScriptHost.h:
6761        * inspector/InjectedScriptHost.idl:
6762        * inspector/InspectorBackend.cpp:
6763        (WebCore::InspectorBackend::dispatchOnInjectedScript):
6764        (WebCore::InspectorBackend::releaseWrapperObjectGroup):
6765        * inspector/InspectorBackend.h:
6766        * inspector/InspectorBackend.idl:
6767        * inspector/InspectorController.cpp:
6768        (WebCore::InspectorController::InspectorController):
6769        (WebCore::InspectorController::clearConsoleMessages):
6770        (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
6771        (WebCore::InspectorController::windowScriptObjectAvailable):
6772        (WebCore::InspectorController::scriptObjectReady):
6773        (WebCore::InspectorController::setFrontendProxyObject):
6774        (WebCore::InspectorController::close):
6775        (WebCore::InspectorController::resetScriptObjects):
6776        (WebCore::InspectorController::didPause):
6777        (WebCore::InspectorController::wrapObject):
6778        (WebCore::InspectorController::unwrapObject):
6779        (WebCore::InspectorController::releaseWrapperObjectGroup):
6780        (WebCore::InspectorController::resetInjectedScript):
6781        (WebCore::InspectorController::deleteCookie):
6782        * inspector/InspectorController.h:
6783        * inspector/InspectorFrontend.cpp:
6784        (WebCore::InspectorFrontend::addConsoleMessage):
6785        (WebCore::InspectorFrontend::pausedScript):
6786        * inspector/InspectorFrontend.h:
6787        * inspector/front-end/AuditsPanel.js:
6788        (WebInspector.AuditsPanel.prototype._reloadResources):
6789        * inspector/front-end/ConsoleView.js:
6790        (WebInspector.ConsoleView.prototype.requestClearMessages):
6791        (WebInspector.ConsoleView.prototype.completions):
6792        (WebInspector.ConsoleView.prototype.doEvalInWindow):
6793        (WebInspector.ConsoleView.prototype._formatnode):
6794        (WebInspector.ConsoleView.prototype._formatarray):
6795        * inspector/front-end/DOMAgent.js:
6796        (WebInspector.DOMNode):
6797        (WebInspector.CSSStyleDeclaration):
6798        (WebInspector.CSSStyleDeclaration.parseRule):
6799        * inspector/front-end/Database.js:
6800        (WebInspector.Database.prototype.executeSql):
6801        * inspector/front-end/ElementsPanel.js:
6802        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
6803        (WebInspector.ElementsPanel.prototype.setDocument):
6804        (WebInspector.ElementsPanel.prototype.searchCanceled):
6805        (WebInspector.ElementsPanel.prototype.performSearch):
6806        * inspector/front-end/ElementsTreeOutline.js:
6807        (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
6808        * inspector/front-end/EventListenersSidebarPane.js:
6809        ():
6810        * inspector/front-end/InjectedScript.js:
6811        (InjectedScript.dispatch):
6812        (InjectedScript.toggleStyleEnabled):
6813        (InjectedScript._serializeRule):
6814        (InjectedScript._serializeStyle):
6815        (InjectedScript.getProperties):
6816        (InjectedScript.setPropertyValue):
6817        (InjectedScript._evaluateAndWrap):
6818        (InjectedScript.getCallFrames):
6819        (InjectedScript._inspectObject):
6820        (InjectedScript._ensureCommandLineAPIInstalled):
6821        (InjectedScript._resolveObject):
6822        (InjectedScript._window):
6823        (InjectedScript._objectForId):
6824        (InjectedScript.createProxyObject):
6825        (InjectedScript.executeSql):
6826        (InjectedScript.executeSql.errorCallback):
6827        (InjectedScript.executeSql.queryTransaction):
6828        (Object.type):
6829        (String.prototype.escapeCharacters):
6830        * inspector/front-end/InjectedScriptAccess.js:
6831        (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
6832        (InjectedScriptAccess._installHandler):
6833        * inspector/front-end/MetricsSidebarPane.js:
6834        (WebInspector.MetricsSidebarPane):
6835        (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
6836        (WebInspector.MetricsSidebarPane.prototype.update):
6837        (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
6838        * inspector/front-end/ObjectPropertiesSection.js:
6839        (WebInspector.ObjectPropertiesSection.prototype.update):
6840        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
6841        (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
6842        * inspector/front-end/ObjectProxy.js:
6843        (WebInspector.ObjectProxy):
6844        (WebInspector.ObjectProxy.getPropertiesAsync):
6845        * inspector/front-end/PropertiesSidebarPane.js:
6846        (WebInspector.PropertiesSidebarPane.prototype.update.callback):
6847        (WebInspector.PropertiesSidebarPane.prototype.update):
6848        * inspector/front-end/ResourcesPanel.js:
6849        (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
6850        * inspector/front-end/ScriptsPanel.js:
6851        (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
6852        * inspector/front-end/StylesSidebarPane.js:
6853        (WebInspector.StylesSidebarPane.prototype.update):
6854        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
6855        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
6856        (WebInspector.StylePropertyTreeElement.prototype):
6857        * inspector/front-end/WatchExpressionsSidebarPane.js:
6858        (WebInspector.WatchExpressionsSection.prototype.update):
6859        * inspector/front-end/inspector.js:
6860        (WebInspector.loaded):
6861        (WebInspector.pausedScript):
6862        (WebInspector.addConsoleMessage):
6863        (WebInspector.log.logMessage):
6864        (WebInspector.log):
6865
68662010-01-20  Steve Block  <steveblock@google.com>
6867
6868        Reviewed by David Levin.
6869
6870        Renames jni_runtime.[cpp|h] to JNIBridge.[cpp|h]
6871        https://bugs.webkit.org/show_bug.cgi?id=33899
6872
6873        No new tests, refactoring only.
6874
6875        * Android.jscbindings.mk: Modified. Removes jni_runtime.cpp and adds JNIBridge.cpp
6876        * GNUmakefile.am: Modified. Removes jni_runtime.h and adds JNIBridge.h
6877        * WebCore.xcodeproj/project.pbxproj: Modified. Removes jni_runtime.[cpp|h] and adds JNIBridge.[cpp|h]
6878        * bridge/jni/JNIBridge.cpp: Copied from WebCore/bridge/jni/jni_runtime.cpp.
6879        * bridge/jni/JNIBridge.h: Copied from WebCore/bridge/jni/jni_runtime.h.
6880        * bridge/jni/jni_jsobject.mm: Modified. Updated to include JNIBridge.h
6881        * bridge/jni/jni_runtime.cpp: Removed.
6882        * bridge/jni/jni_runtime.h: Removed.
6883        * bridge/jni/jsc/JNIUtilityPrivate.cpp: Modified. Updated to include JNIBridge.h
6884        * bridge/jni/jsc/JavaClassJSC.cpp: Modified. Removed superfluous include
6885        * bridge/jni/jsc/JavaClassJSC.h: Modified. Updated to include JNIBridge.h
6886        * bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. Updated to include JNIBridge.h
6887
68882010-01-20  Alexey Proskuryakov  <ap@apple.com>
6889
6890        Reviewed by Simon Fraser.
6891
6892        https://bugs.webkit.org/show_bug.cgi?id=33913
6893        Crash under Media::matchMedium in detached frame
6894
6895        Also took the opportunity to fix JS bindings for the Media object.
6896
6897        Test: fast/media/lifetime.html
6898
6899        * css/Media.h:
6900        (WebCore::Media::create): Take and store a Frame pointer, like other similar objects do.
6901        (WebCore::Media::disconnectFrame): Zero out the frame pointer (this is called from
6902        DOMWindow::clear()).
6903
6904        * css/Media.cpp:
6905        (WebCore::Media::Media): Updated to storing Frame pointer.
6906        (WebCore::Media::type): Ditto.
6907        (WebCore::Media::matchMedium): Removed null check for document element - every document has
6908        one. Also, every Frame has a document, so we only need to check for m_frame being zero.
6909
6910        * bindings/js/JSDOMWindowCustom.cpp:
6911        (WebCore::JSDOMWindow::markChildren):
6912        * page/DOMWindow.cpp:
6913        (WebCore::DOMWindow::clear):
6914        (WebCore::DOMWindow::media):
6915        * page/DOMWindow.h:
6916        (WebCore::DOMWindow::optionalMedia):
6917        Make sure there's only one Media object per window, and keep its wrapper alive.
6918
69192010-01-20  Steve Falkenburg  <sfalken@apple.com>
6920
6921        Reviewed by Darin Adler and Adam Roben.
6922
6923        Feature defines are difficult to maintain on Windows builds
6924        https://bugs.webkit.org/show_bug.cgi?id=33883
6925
6926        FeatureDefines.vsprops are now maintained in a way similar to
6927        Configurations/FeatureDefines.xcconfig, with the added advantage
6928        of having a single FeatureDefines file across all projects.
6929
6930        * Configurations/FeatureDefines.xcconfig: Add comments about keeping feature definitions in sync.
6931        * WebCore.vcproj/MigrateIDLAndScripts: Remove reference to file that no longer exists.
6932        * WebCore.vcproj/QTMovieWin.vcproj: Add FeatureDefines.vsprops inherited property sheet.
6933        * WebCore.vcproj/WebCore.vcproj: Add FeatureDefines.vsprops inherited property sheet.
6934        * WebCore.vcproj/WebCoreCommon.vsprops: Remove ENABLE_ preprocessor definitions.
6935        * WebCore.vcproj/WebCoreGenerated.vcproj: Added Cairo configuration for selecting proper features.
6936        * WebCore.vcproj/WebCoreMediaQT.vsprops: Remove ENABLE_VIDEO. This is picked up from FeatureDefines.vsprops.
6937        * WebCore.vcproj/build-generated-files.sh: Pick up features from FeatureDefines.vsprops or FeatureDefinesCairo.vsprops.
6938
69392010-01-20  Yury Semikhatsky  <yurys@chromium.org>
6940
6941        Reviewed by Pavel Feldman.
6942
6943        Inject inspector script directly into the inspected context. All the
6944        communication between the script and the frontend is serialized into
6945        JSON strings. It allows to get rid of object quarantines in Web Inspector.
6946
6947        https://bugs.webkit.org/show_bug.cgi?id=32554
6948
6949        Test: inspector/console-log-before-inspector-open.html
6950
6951        * bindings/js/JSInjectedScriptHostCustom.cpp:
6952        (WebCore::JSInjectedScriptHost::databaseForId):
6953        (WebCore::JSInjectedScriptHost::currentCallFrame):
6954        (WebCore::JSInjectedScriptHost::nodeForId):
6955        (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
6956        (WebCore::JSInjectedScriptHost::selectDatabase):
6957        (WebCore::JSInjectedScriptHost::selectDOMStorage):
6958        * bindings/js/ScriptCallStack.h:
6959        (WebCore::ScriptCallStack::state):
6960        * bindings/js/ScriptController.cpp:
6961        (WebCore::ScriptController::mainWorldScriptState):
6962        * bindings/js/ScriptController.h:
6963        * bindings/js/ScriptObject.h:
6964        (WebCore::ScriptObject::scriptState):
6965        * bindings/js/ScriptValue.cpp:
6966        * bindings/js/ScriptValue.h:
6967        * bindings/v8/ScriptObject.h:
6968        (WebCore::ScriptObject::scriptState):
6969        * bindings/v8/ScriptValue.h:
6970        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
6971        * inspector/ConsoleMessage.cpp:
6972        (WebCore::ConsoleMessage::ConsoleMessage):
6973        (WebCore::ConsoleMessage::addToConsole):
6974        (WebCore::ConsoleMessage::isEqual):
6975        * inspector/ConsoleMessage.h:
6976        * inspector/InjectedScriptHost.cpp:
6977        (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
6978        * inspector/InjectedScriptHost.h:
6979        * inspector/InjectedScriptHost.idl:
6980        * inspector/InspectorBackend.cpp:
6981        (WebCore::InspectorBackend::setInjectedScriptSource):
6982        (WebCore::InspectorBackend::dispatchOnInjectedScript):
6983        (WebCore::InspectorBackend::releaseWrapperObjectGroup):
6984        * inspector/InspectorBackend.h:
6985        * inspector/InspectorBackend.idl:
6986        * inspector/InspectorController.cpp:
6987        (WebCore::InspectorController::InspectorController):
6988        (WebCore::InspectorController::clearConsoleMessages):
6989        (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
6990        (WebCore::InspectorController::windowScriptObjectAvailable):
6991        (WebCore::InspectorController::scriptObjectReady):
6992        (WebCore::InspectorController::setFrontendProxyObject):
6993        (WebCore::InspectorController::close):
6994        (WebCore::InspectorController::resetScriptObjects):
6995        (WebCore::InspectorController::didPause):
6996        (WebCore::InspectorController::injectedScriptForNodeId):
6997        * inspector/InspectorController.h:
6998        * inspector/InspectorFrontend.cpp:
6999        (WebCore::InspectorFrontend::addConsoleMessage):
7000        (WebCore::InspectorFrontend::pausedScript):
7001        * inspector/InspectorFrontend.h:
7002        * inspector/front-end/AuditsPanel.js:
7003        (WebInspector.AuditsPanel.prototype._reloadResources):
7004        * inspector/front-end/ConsoleView.js:
7005        (WebInspector.ConsoleView.prototype.requestClearMessages):
7006        (WebInspector.ConsoleView.prototype.doEvalInWindow):
7007        * inspector/front-end/DOMAgent.js:
7008        (WebInspector.DOMNode):
7009        (WebInspector.CSSStyleDeclaration):
7010        (WebInspector.CSSStyleDeclaration.parseRule):
7011        * inspector/front-end/Database.js:
7012        (WebInspector.Database.prototype.executeSql):
7013        * inspector/front-end/ElementsPanel.js:
7014        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged.InjectedScriptAccess.get addInspectedNode):
7015        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
7016        (WebInspector.ElementsPanel.prototype.setDocument):
7017        (WebInspector.ElementsPanel.prototype.searchCanceled):
7018        (WebInspector.ElementsPanel.prototype.performSearch):
7019        * inspector/front-end/ElementsTreeOutline.js:
7020        (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
7021        * inspector/front-end/EventListenersSidebarPane.js:
7022        ():
7023        * inspector/front-end/InjectedScript.js:
7024        (injectedScriptConstructor):
7025        (injectedScriptConstructor.):
7026        * inspector/front-end/InjectedScriptAccess.js:
7027        (InjectedScriptAccess):
7028        (InjectedScriptAccess.getDefault):
7029        (get InjectedScriptAccess):
7030        (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
7031        (InjectedScriptAccess._installHandler):
7032        * inspector/front-end/MetricsSidebarPane.js:
7033        (WebInspector.MetricsSidebarPane):
7034        (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
7035        * inspector/front-end/ObjectPropertiesSection.js:
7036        * inspector/front-end/ObjectProxy.js:
7037        (WebInspector.ObjectProxy):
7038        * inspector/front-end/PropertiesSidebarPane.js:
7039        (WebInspector.PropertiesSidebarPane.prototype.update.callback):
7040        * inspector/front-end/ResourcesPanel.js:
7041        (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
7042        * inspector/front-end/ScriptsPanel.js:
7043        * inspector/front-end/StylesSidebarPane.js:
7044        (WebInspector.StylePropertyTreeElement.prototype):
7045        * inspector/front-end/WatchExpressionsSidebarPane.js:
7046        (WebInspector.WatchExpressionsSection.prototype.update):
7047        * inspector/front-end/inspector.js:
7048        (WebInspector.loaded):
7049        (WebInspector.pausedScript):
7050        (WebInspector.addConsoleMessage):
7051        (WebInspector.log.logMessage):
7052        (WebInspector.log):
7053
70542010-01-20  Kent Tamura  <tkent@chromium.org>
7055
7056        Reviewed by Darin Adler.
7057
7058        HTMLInputElement::valueAsDate setter support for type=time.
7059        https://bugs.webkit.org/show_bug.cgi?id=33825
7060
7061        Introduce ISODateTime::setMillisecondsSinceMidnight() and add a
7062        SecondFormat parameter to ISODateTime::toString(). The main code
7063        logic for type=time is implemented in
7064        setMillisecondsSinceMidnightInternal() and toStringForTime()
7065        because the logic is going to be used for other types.
7066
7067        * html/HTMLInputElement.cpp:
7068        (WebCore::HTMLInputElement::setValueAsDate):
7069        * html/ISODateTime.cpp:
7070        (WebCore::positiveFmod):
7071        (WebCore::ISODateTime::setMillisecondsSinceMidnightInternal):
7072        (WebCore::ISODateTime::setMillisecondsSinceMidnight):
7073        (WebCore::ISODateTime::toStringForTime):
7074        (WebCore::ISODateTime::toString):
7075        * html/ISODateTime.h:
7076        (WebCore::ISODateTime::):
7077
70782010-01-20  Csaba Osztrogonác  <ossy@webkit.org>
7079
7080        [Qt] Unreviewed buildfix for r53547.
7081
7082        * WebCore.pri:
7083
70842010-01-20  Ben Murdoch  <benm@google.com>
7085
7086        Reviewed by Simon Hausmann.
7087
7088        The touchcancel event is not supported.
7089        https://bugs.webkit.org/show_bug.cgi?id=33598
7090
7091        This change adds support for the touchcancel event in WebCore and adds a test.
7092
7093        Test: fast/events/touch/send-oncancel-event.html
7094
7095        * bindings/js/ScriptController.cpp:
7096        (WebCore::ScriptController::processingUserGestureEvent): Considers touchcancel with the other touch events when working out if the event is a user gesture.
7097        * dom/Document.cpp:
7098        (WebCore::Document::addListenerTypeIfNeeded): Adds a check to consider ontouchcancel a touch event listener.
7099        * dom/Document.h: Add the touchcancel attribute event listener.
7100        * dom/Document.idl: ditto.
7101        * dom/Element.h: ditto.
7102        * dom/Element.idl: ditto.
7103        * dom/EventNames.h: Adds touchcancel as an event name.
7104        * html/HTMLAttributeNames.in:Adds touchcancel as an HTML attribute name.
7105        * html/HTMLElement.cpp:
7106        (WebCore::HTMLElement::parseMappedAttribute): Parses the ontouchcancel attribute.
7107        * page/DOMWindow.h: Adds the touchcancel attribute event listener.
7108        * page/DOMWindow.idl: ditto.
7109        * page/EventHandler.cpp:
7110        (WebCore::EventHandler::handleTouchEvent): Add code to detect and dispatch touchcancel events.
7111        * platform/PlatformTouchEvent.h:
7112        (WebCore::): Add TouchCancel as a touch event type.
7113        * platform/PlatformTouchPoint.h:
7114        (WebCore::PlatformTouchPoint::): Add TouchCanceled as a touch point state.
7115
71162010-01-20  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
7117
7118        Reviewed by Simon Hausmann.
7119
7120        [Qt] Make extraCompilers for generated sources depend on their scripts
7121
7122        * DerivedSources.pro:
7123        * WebCore.pri:
7124
71252010-01-20  Kent Tamura  <tkent@chromium.org>
7126
7127        Reviewed by Adam Barth.
7128
7129        [Chromium][V8] Fix null pointer dereference in V8Proxy::retrieve().
7130        https://bugs.webkit.org/show_bug.cgi?id=33886
7131
7132        This is equivalent to r53433, and fix a crash by
7133        LayoutTests/http/tests/appcache/destroyed-iframe.html.
7134
7135        * bindings/v8/V8Proxy.cpp:
7136        (WebCore::V8Proxy::retrieve): Check if context is null.
7137
71382010-01-20  Alexander Pavlov  <apavlov@chromium.org>
7139
7140        Reviewed by Timothy Hatcher.
7141
7142        Optimize resize event handling for hidden views
7143        https://bugs.webkit.org/show_bug.cgi?id=33803
7144
7145        * inspector/front-end/AbstractTimelinePanel.js:
7146        (WebInspector.AbstractTimelinePanel.prototype.resize):
7147        (WebInspector.AbstractTimelinePanel.prototype.updateMainViewWidth):
7148        * inspector/front-end/AuditsPanel.js:
7149        * inspector/front-end/Panel.js:
7150        (WebInspector.Panel.prototype.updateSidebarWidth):
7151        (WebInspector.Panel.prototype.resize):
7152        * inspector/front-end/PanelEnablerView.js:
7153        (WebInspector.PanelEnablerView):
7154        (WebInspector.PanelEnablerView.prototype.show):
7155        (WebInspector.PanelEnablerView.prototype.resize):
7156        * inspector/front-end/ProfilesPanel.js:
7157        (WebInspector.ProfilesPanel.prototype.show):
7158        (WebInspector.ProfilesPanel.prototype.addProfileHeader):
7159        (WebInspector.ProfilesPanel.prototype.showProfile):
7160        (WebInspector.ProfilesPanel.prototype.showView):
7161        (WebInspector.ProfilesPanel.prototype.closeVisibleView):
7162        (WebInspector.ProfilesPanel.prototype._updateInterface):
7163        (WebInspector.ProfilesPanel.prototype.updateMainViewWidth):
7164        * inspector/front-end/ResourcesPanel.js:
7165        (WebInspector.ResourcesPanel.prototype.show):
7166        (WebInspector.ResourcesPanel.prototype.get visibleView):
7167        (WebInspector.ResourcesPanel.prototype.updateMainViewWidth):
7168        * inspector/front-end/Settings.js:
7169        * inspector/front-end/StoragePanel.js:
7170        (WebInspector.StoragePanel.prototype.updateMainViewWidth):
7171        * inspector/front-end/WelcomeView.js:
7172        (WebInspector.WelcomeView):
7173        (WebInspector.WelcomeView.prototype.show):
7174        (WebInspector.WelcomeView.prototype.resize):
7175        * inspector/front-end/inspector.css:
7176        * inspector/front-end/inspector.js:
7177        (WebInspector.windowResize):
7178
71792010-01-20  Steve Block  <steveblock@google.com>
7180
7181        Reviewed by David Levin.
7182
7183        Fixes style in WebCore/bridge/Bridge
7184        https://bugs.webkit.org/show_bug.cgi?id=33839
7185
7186        No new tests, style fixes only.
7187
7188        * bridge/Bridge.cpp: Modified.
7189        * bridge/Bridge.h: Modified.
7190        * bridge/c/c_instance.cpp: Modified.
7191        (JSC::Bindings::CInstance::invokeMethod): Modified. Use renamed m_rootObject member
7192        (JSC::Bindings::CInstance::invokeDefaultMethod): Modified. Use renamed m_rootObject member
7193        (JSC::Bindings::CInstance::invokeConstruct): Modified. Use renamed m_rootObject member
7194        * bridge/jni/jni_runtime.cpp: Modified.
7195        (JavaArray::JavaArray): Modified. Use renamed m_rootObject member
7196        (JavaArray::rootObject): Modified. Use renamed m_rootObject member
7197        * bridge/objc/objc_instance.mm: Modified.
7198        (ObjcInstance::invokeMethod): Modified. Use renamed m_rootObject member
7199        (ObjcInstance::invokeDefaultMethod): Modified. Use renamed m_rootObject member
7200        (ObjcInstance::getValueOfUndefinedField): Modified. Use renamed m_rootObject member
7201        * bridge/objc/objc_runtime.mm: Modified.
7202        (JSC::Bindings::ObjcArray::valueAt): Modified. Use renamed m_rootObject member
7203        * bridge/qt/qt_runtime.cpp: Modified.
7204        (JSC::Bindings::::rootObject): Modified. Use renamed m_rootObject member
7205
72062010-01-20  Daniel Bates  <dbates@webkit.org>
7207
7208        Reviewed by Eric Seidel.
7209
7210        https://bugs.webkit.org/show_bug.cgi?id=33885
7211
7212        Fixes style errors exposed by the style bot in the patch
7213        for bug #33770. Moreover, fixes all style errors reported
7214        by check-webkit-style.
7215
7216        No functionality was changed. So, no new tests.
7217
7218        * bindings/js/JSWebGLRenderingContextCustom.cpp:
7219        (WebCore::dataFunctionf):
7220        (WebCore::dataFunctioni):
7221        (WebCore::dataFunctionMatrix):
7222
72232010-01-19  Steve Block  <steveblock@google.com>
7224
7225        Reviewed by David Levin.
7226
7227        Fixes style in WebCore/bridge/JNIUtility
7228        https://bugs.webkit.org/show_bug.cgi?id=33870
7229
7230        No new tests, style fixes only.
7231
7232        * bridge/jni/JNIUtility.cpp:
7233        * bridge/jni/JNIUtility.h:
7234
72352010-01-20  Simon Hausmann  <simon.hausmann@nokia.com>
7236
7237        Reviewed by Tor Arne Vestbø.
7238
7239        On Linux link QtWebKit with -no-undefined to catch build breakages due to missing
7240        files in the .pro file, resulting in unresolved symbols.
7241
7242        * WebCore.pro:
7243
72442010-01-20  Simon Hausmann  <simon.hausmann@nokia.com>
7245
7246        Reviewed by Tor Arne Vestbø.
7247
7248        [Qt] Make it possible to link with -no-undefined.
7249
7250        * WebCore.pro: Add missing explicit dependency to libXrender due to the
7251        use of XRenderFindVisualFormat in the X11 plugin code.
7252
72532010-01-20  Simon Hausmann  <simon.hausmann@nokia.com>
7254
7255        Reviewed by Tor Arne Vestbø.
7256
7257        Add missing files to the build.
7258
7259        * WebCore.pro:
7260
72612010-01-20  Shinichiro Hamaji  <hamaji@chromium.org>
7262
7263        Reviewed by Darin Fisher.
7264
7265        [Chromium] computePageRectsForFrame seems to be unnecessary
7266        https://bugs.webkit.org/show_bug.cgi?id=33881
7267
7268        * WebCore.gypi: Removed FrameChromium.h
7269        * page/chromium/FrameChromium.cpp: Removed computePageRectsForFrame.
7270        * page/chromium/FrameChromium.h: Removed.
7271
72722010-01-20  Roland Steiner  <rolandsteiner@chromium.org>
7273
7274        Reviewed by Dan Bernstein.
7275
7276        Bug 33266 - WebCore::InlineFlowBox::determineSpacingForFlowBoxes ReadAV@NULL (43c64e8abbda6766e5f5edbd254c2d57)
7277        (https://bugs.webkit.org/show_bug.cgi?id=33266)
7278        
7279        Ruby did not handle malformed cases correctly when the ruby base was in
7280        block flow. Changed the code to handle all possible cases.
7281        Also, added some simplification methods to RenderBlock.
7282
7283        Tests: fast/ruby/ruby-illegal-1.html
7284               fast/ruby/ruby-illegal-2.html
7285               fast/ruby/ruby-illegal-3.html
7286               fast/ruby/ruby-illegal-4.html
7287               fast/ruby/ruby-illegal-5.html
7288               fast/ruby/ruby-illegal-6.html
7289               fast/ruby/ruby-illegal-7.html
7290               fast/ruby/ruby-illegal-combined.html
7291               fast/ruby/rubyDOM-insert-rt-block-1.html
7292               fast/ruby/rubyDOM-insert-rt-block-2.html
7293               fast/ruby/rubyDOM-insert-rt-block-3.html
7294               fast/ruby/rubyDOM-remove-rt-block-1.html
7295               fast/ruby/rubyDOM-remove-rt-block-2.html
7296               fast/ruby/rubyDOM-remove-rt-block-3.html
7297
7298        * rendering/RenderBlock.cpp:
7299        (WebCore::RenderBlock::moveAllChildrenTo): useful for anonymous block manipulation
7300        (WebCore::RenderBlock::removeChild): making use of moveAllChildrenTo
7301        * rendering/RenderBlock.h:
7302        * rendering/RenderRubyBase.cpp:
7303        (WebCore::RenderRubyBase::hasOnlyWrappedInlineChildren):
7304        (WebCore::RenderRubyBase::moveChildren):
7305        (WebCore::RenderRubyBase::moveInlineChildren):
7306        (WebCore::RenderRubyBase::moveBlockChildren):
7307        (WebCore::RenderRubyBase::mergeBlockChildren):
7308        * rendering/RenderRubyBase.h:
7309        * rendering/RenderRubyRun.cpp:
7310        (WebCore::RenderRubyRun::addChild):
7311        (WebCore::RenderRubyRun::removeChild):
7312
73132010-01-19  Dan Bernstein  <mitz@apple.com>
7314
7315        Build fix after r53514
7316
7317        * WebCore.base.exp: Removed threadGlobalData(), which was inlined in r53514.
7318
73192010-01-19  Simon Fraser  <simon.fraser@apple.com>
7320
7321        Reviewed by Dan Bernstein.
7322
7323        Avoid calling NSEqualRects() on the garbage rect obtained
7324        by calling -frame on a null view.
7325
7326        * platform/mac/WidgetMac.mm:
7327        (WebCore::Widget::setFrameRect):
7328
73292010-01-19  Maciej Stachowiak  <mjs@apple.com>
7330
7331        Unreviewed build fix.
7332
7333        Remove currentWorld from the exports file again, since it is now inline.
7334
7335        * WebCore.base.exp:
7336
73372010-01-19  Brian Weinstein  <bweinstein@apple.com>
7338
7339        Reviewed by Tim Hatcher.
7340
7341        Part of <http://webkit.org/b/28622>.
7342        Caught exceptions still pause the debugger.
7343        
7344        Update JavaScriptDebugServer::exception to take a hasHandler parameter,
7345        so later we can differentiate between a caught and an uncaught exception.
7346        
7347        This just adds a new parameter, no behavior is changed.
7348
7349        No change in functionality, so no tests.
7350
7351        * inspector/JavaScriptDebugServer.cpp:
7352        (WebCore::JavaScriptDebugServer::exception):
7353        * inspector/JavaScriptDebugServer.h:
7354
73552010-01-18  Maciej Stachowiak  <mjs@apple.com>
7356
7357        Reviewed by Adam Barth.
7358
7359        Inline functions that are hot in DOM manipulation
7360        https://bugs.webkit.org/show_bug.cgi?id=33820
7361
7362        (3% speedup on Dromaeo DOM Core tests)
7363
7364        * bindings/js/JSDOMBinding.h:
7365        (WebCore::currentWorld): Inlined.
7366        (WebCore::jsString): Inlined String& overload and split off slow case.
7367        * bindings/js/JSDOMBinding.cpp:
7368        (WebCore::jsStringSlowCase): Slow case for the above.
7369        * dom/Document.h:
7370        (WebCore::Document::isHTMLDocument): Use a bit and an inline method
7371        instead of a virtual method, since this is so hot and size of Document
7372        is not a prime concern.
7373        (WebCore::Document::create): Adapt for above.
7374        (WebCore::Document::createXHTML): ditto
7375        * dom/Document.cpp:
7376        (WebCore::Document::Document): ditto
7377        * html/HTMLDocument.cpp:
7378        (WebCore::HTMLDocument::HTMLDocument): ditto
7379        * html/HTMLDocument.h: ditto
7380        * loader/PlaceholderDocument.h:
7381        (WebCore::PlaceholderDocument::PlaceholderDocument): ditto
7382        * svg/SVGDocument.cpp:
7383        (WebCore::SVGDocument::SVGDocument): ditto
7384        * dom/Element.h:
7385        (WebCore::Element::attributes): Inlined.
7386        (WebCore::Element::updateId): Inlined.
7387        * dom/Element.cpp: (Remove inlined methods.)
7388        * dom/NamedAttrMap.h:
7389        (WebCore::NamedNodeMap::getAttributeItem): Inlined and split off slow case.
7390        * dom/NamedAttrMap.cpp:
7391        (WebCore::NamedNodeMap::getAttributeItemSlowCase): Slow case for the above.
7392        * inspector/InspectorController.cpp:
7393        * inspector/InspectorController.h:
7394        (WebCore::InspectorController::didInsertDOMNode): Inlined so the fast case
7395        early exit doesn't incur a function call.
7396        (WebCore::InspectorController::didRemoveDOMNode): ditto
7397        (WebCore::InspectorController::didModifyDOMAttr): ditto
7398        * platform/ThreadGlobalData.h:
7399        (WebCore::threadGlobalData): Inlined.
7400        * platform/ThreadGlobalData.cpp: (Removed inline methods).
7401        * platform/Timer.h:
7402        (WebCore::TimerBase::isActive): Inlined.
7403        * platform/Timer.cpp: (Removed inline methods).
7404        * WebCore.xcodeproj/project.pbxproj: Install new heares.
7405        * WebCore.base.exp: Add appropriate exports.
7406
74072010-01-19  Jon Honeycutt  <jhoneycutt@apple.com>
7408
7409        Chromium build fix.
7410
7411        * accessibility/chromium/AccessibilityObjectChromium.cpp:
7412        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
7413        Call correct function.
7414
74152010-01-17  Jon Honeycutt  <jhoneycutt@apple.com>
7416
7417        MSAA: The child <option> elements of a non-multiple <select> are not
7418        exposed
7419
7420        https://bugs.webkit.org/show_bug.cgi?id=33773
7421        <rdar://problem/7550556>
7422
7423        Reviewed by Alice Liu.
7424
7425        This exposes the child <option> elements in a format similar to
7426        Firefox's: the <select> element has one child, a hidden list object,
7427        and this list has as its children the <option> elements.
7428
7429        * GNUmakefile.am:
7430        * WebCore.gypi:
7431        * WebCore.vcproj/WebCore.vcproj:
7432        * WebCore.xcodeproj/project.pbxproj:
7433        Add new files to project.
7434
7435        * accessibility/AXObjectCache.cpp:
7436        (WebCore::AXObjectCache::getOrCreate):
7437        If the element is a RenderMenuList, create an AccessibilityMenuList.
7438        (WebCore::AXObjectCache::getOrCreate):
7439        Add new types to create by role value.
7440
7441        * accessibility/AccessibilityMenuList.cpp: Added.
7442        (WebCore::AccessibilityMenuList::AccessibilityMenuList):
7443        Call the base class constructor. Assert that the RenderObject passed
7444        is a RenderMenuList.
7445        (WebCore::AccessibilityMenuList::press):
7446        Show or hide the popup menu.
7447        (WebCore::AccessibilityMenuList::addChildren):
7448        Create an AccessibilityMenuListPopup. If the platform ignores its
7449        accessibility, remove it from the object cache and return early.
7450        Otherwise, set its parent object to this object, add it to our list of
7451        children, and tell it to add its children.
7452        (WebCore::AccessibilityMenuList::childrenChanged):
7453        Tell our child hidden list that its children changed.
7454        (WebCore::AccessibilityMenuList::isCollapsed):
7455        Return whether the popup menu is visible.
7456
7457        * accessibility/AccessibilityMenuList.h: Added.
7458        (WebCore::AccessibilityMenuList::create):
7459        Adopt and return a new RenderMenuList.
7460        (WebCore::AccessibilityMenuList::isMenuList):
7461        (WebCore::AccessibilityMenuList::roleValue):
7462        (WebCore::AccessibilityMenuList::accessibilityIsIgnored):
7463        (WebCore::AccessibilityMenuList::canSetFocusAttribute):
7464
7465        * accessibility/AccessibilityMenuListOption.cpp: Added.
7466        (WebCore::AccessibilityMenuListOption::AccessibilityMenuListOption):
7467        Initialize the pointer to our parent popup menu.
7468        (WebCore::AccessibilityMenuListOption::setElement):
7469        Assert that the element is an <option> element.
7470        (WebCore::AccessibilityMenuListOption::actionElement):
7471        Return our element.
7472        (WebCore::AccessibilityMenuListOption::parentObject):
7473        Return our parent popup menu.
7474        (WebCore::AccessibilityMenuListOption::isEnabled):
7475        Return true if the element itself is enabled.
7476        (WebCore::AccessibilityMenuListOption::isVisible):
7477        Return true if the popup is visible, or return true if the popup is
7478        collapsed but the element is selected.
7479        (WebCore::AccessibilityMenuListOption::isOffScreen):
7480        Return true if the object is invisible.
7481        (WebCore::AccessibilityMenuListOption::isSelected):
7482        (WebCore::AccessibilityMenuListOption::setSelected):
7483        (WebCore::AccessibilityMenuListOption::nameForMSAA):
7484        Return the <option> element's text.
7485        (WebCore::AccessibilityMenuListOption::canSetSelectedAttribute):
7486        Return true if enabled.
7487        (WebCore::AccessibilityMenuListOption::elementRect):
7488        Return the AccessibilityMenuList's rect.
7489
7490        * accessibility/AccessibilityMenuListOption.h: Added.
7491        (WebCore::AccessibilityMenuListOption::create):
7492        Adopt and return a new AccessibilityMenuListOption.
7493        (WebCore::AccessibilityMenuListOption::setParent):
7494        (WebCore::AccessibilityMenuListOption::isMenuListOption):
7495        (WebCore::AccessibilityMenuListOption::roleValue):
7496        (WebCore::AccessibilityMenuListOption::canHaveChildren):
7497        (WebCore::AccessibilityMenuListOption::size):
7498
7499        * accessibility/AccessibilityMenuListPopup.cpp: Added.
7500        (WebCore::AccessibilityMenuListPopup::AccessibilityMenuListPopup):
7501        Initialize the pointer to our parent list.
7502        (WebCore::AccessibilityMenuListPopup::isVisible):
7503        Return false; we're never considered visible.
7504        (WebCore::AccessibilityMenuListPopup::isOffScreen):
7505        Return true if the popup is collapsed.
7506        (WebCore::AccessibilityMenuListPopup::parentObject):
7507        Return our parent AccessibilityMenuList.
7508        (WebCore::AccessibilityMenuListPopup::isEnabled):
7509        Return true if our parent is enabled.
7510        (WebCore::AccessibilityMenuListPopup::menuListOptionAccessibilityObject):
7511        If the element is an <option> element, create a list item for it, and
7512        set the object's element to this element.
7513        (WebCore::AccessibilityMenuListPopup::press):
7514        Call our parent's press() function to show or hide the popup menu.
7515        (WebCore::AccessibilityMenuListPopup::addChildren):
7516        Walk the select element's children, and create list items for them. Add
7517        them to our list of children.
7518        (WebCore::AccessibilityMenuListPopup::childrenChanged):
7519        If any of our children have been detached from the document, remove
7520        them from the AXObjectCache and from our child list.
7521        (WebCore::AccessibilityMenuListPopup::setMenuList):
7522
7523        * accessibility/AccessibilityMenuListPopup.h: Added.
7524        (WebCore::AccessibilityMenuListPopup::create):
7525        Adopt and return an AccessibilityMenuListPopup.
7526        (WebCore::AccessibilityMenuListPopup::isMenuListPopup):
7527        (WebCore::AccessibilityMenuListPopup::elementRect):
7528        (WebCore::AccessibilityMenuListPopup::size):
7529        (WebCore::AccessibilityMenuListPopup::roleValue):
7530
7531        * accessibility/AccessibilityObject.cpp:
7532        (WebCore::AccessibilityObject::actionVerb):
7533        Add the menuListAction and menuListPopupAction verbs.
7534
7535        * accessibility/AccessibilityObject.h:
7536        (WebCore::):
7537        Add new roles.
7538        (WebCore::AccessibilityObject::isMenuList):
7539        Stubbed.
7540        (WebCore::AccessibilityObject::isMenuListHiddenList):
7541        Stubbed.
7542        (WebCore::AccessibilityObject::isMenuListOption):
7543        Stubbed.
7544        (WebCore::AccessibilityObject::isVisible):
7545        Stubbed.
7546
7547        * accessibility/chromium/AccessibilityObjectChromium.cpp:
7548        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
7549        Ignore the new object type.
7550
7551        * accessibility/gtk/AccessibilityObjectAtk.cpp:
7552        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
7553        Ditto.
7554
7555        * accessibility/mac/AccessibilityObjectMac.mm:
7556        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
7557        Ditto.
7558
7559        * accessibility/qt/AccessibilityObjectQt.cpp:
7560        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
7561        Ditto.
7562
7563        * accessibility/win/AccessibilityObjectWin.cpp:
7564        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
7565        Allow the new object types.
7566
7567        * accessibility/wx/AccessibilityObjectWx.cpp:
7568        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
7569        Ignore the new object type.
7570
7571        * accessibility/win/AccessibilityObjectWin.cpp:
7572        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
7573        If the object is an AccessibilityMenuListHiddenList or
7574        AccessibilityMenuListOption, include it.
7575
7576        * html/HTMLOptionElement.cpp:
7577        (WebCore::HTMLOptionElement::disabled):
7578        Call ownElementDisabled().
7579
7580        * html/HTMLOptionElement.h:
7581        (WebCore::HTMLOptionElement::ownElementDisabled):
7582        Return the base class implementation of disabled, which returns
7583        whether this <option> itself is disabled.
7584
7585        * platform/LocalizedStrings.h:
7586        Declare new localized string functions.
7587
7588        * platform/gtk/LocalizedStringsGtk.cpp:
7589        (WebCore::AXMenuListPopupActionVerb):
7590        Stubbed.
7591        (WebCore::AXMenuListActionVerb):
7592        Stubbed.
7593
7594        * platform/haiku/LocalizedStringsHaiku.cpp:
7595        (WebCore::AXMenuListPopupActionVerb):
7596        Stubbed.
7597        (WebCore::AXMenuListActionVerb):
7598        Stubbed.
7599
7600        * platform/mac/LocalizedStringsMac.mm:
7601        (WebCore::AXMenuListPopupActionVerb):
7602        Call the view factory's method.
7603        (WebCore::AXMenuListActionVerb):
7604        Ditto.
7605
7606        * platform/qt/Localizations.cpp:
7607        (WebCore::AXMenuListPopupActionVerb):
7608        Stubbed.
7609        (WebCore::AXMenuListActionVerb):
7610        Stubbed.
7611
7612        * platform/wx/LocalizedStringsWx.cpp:
7613        (WebCore::AXMenuListPopupActionVerb):
7614        Stubbed.
7615        (WebCore::AXMenuListActionVerb):
7616        Stubbed.
7617
76182010-01-19  Simon Fraser  <simon.fraser@apple.com>
7619
7620        Reviewed by Dan Bernstein.
7621
7622        Support reflections on WebGL
7623        https://bugs.webkit.org/show_bug.cgi?id=33754
7624
7625        Support reflections of WebGL content, by ensuring that when the Canvas3DLayer containing the
7626        WebGL content gets displayed, we correctly copy its content to the clone layers.
7627        
7628        Test: compositing/webgl/webgl-reflection.html
7629
7630        * platform/graphics/GraphicsLayer.h:
7631        (WebCore::GraphicsLayer::didDisplay): Give the didDisplay() client method a parameter
7632        which is the layer that displayed.
7633        * platform/graphics/mac/Canvas3DLayer.mm:
7634        (-[Canvas3DLayer display]): Override -[CALayer display], and call the client didDisplay().
7635        * platform/graphics/mac/GraphicsLayerCA.h: didDisplay() takes a PlatformLayer parameter.
7636
7637        * platform/graphics/mac/GraphicsLayerCA.mm:
7638        (WebCore::GraphicsLayerCA::~GraphicsLayerCA): We need to clear the layer owner on the content
7639        layer, since we're setting it for WebGL layers now.
7640        
7641        (WebCore::GraphicsLayerCA::didDisplay): Handle didDisplay() calls for the content layer,
7642        as well as the main layer now, getting the correct layer to copy contents from, and using
7643        the correct clone map.
7644        
7645        (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D): Set the layer owner for WebGL
7646        layers, because we need the didDisplay() callback.
7647
7648        * platform/graphics/mac/WebLayer.mm:
7649        (-[WebLayer display]): didDisplay() takes a layer argument.
7650        * platform/graphics/mac/WebTiledLayer.mm:
7651        (-[WebTiledLayer display]): ditto.
7652
76532010-01-19  Mark Rowe  <mrowe@apple.com>
7654
7655        Reviewed by Oliver Hunt.
7656
7657        <rdar://problem/7555330> <http://webkit.org/b/33770> dataFunctionMatrix leaks the array allocated by toArray
7658
7659        Rework toArray to extract elements in to a vector rather than handing out raw pointers.  This prevents
7660        callers from forgetting to free the memory, and gives them the option of using stack buffers for
7661        sufficiently small allocations.
7662
7663        * bindings/js/JSWebGLRenderingContextCustom.cpp:
7664        (WebCore::JSWebGLRenderingContext::texSubImage2D):
7665        (WebCore::toVector):
7666        (WebCore::dataFunctionf):
7667        (WebCore::dataFunctioni):
7668        (WebCore::dataFunctionMatrix):
7669
76702010-01-19  Carol Szabo  <carol.szabo@nokia.com>
7671
7672        Reviewed by Darin Adler.
7673
7674        Another crazy counters bug
7675        https://bugs.webkit.org/show_bug.cgi?id=11031
7676
7677        This patch actually provides for counter updating when the style
7678        of a renderer changes.
7679
7680        Tests: fast/css/counters/counter-increment-002.html
7681               fast/css/counters/counter-reset-000.html
7682               fast/css/counters/counter-reset-002.html
7683
7684        * rendering/RenderCounter.cpp:
7685        (WebCore::RenderCounter::rendererStyleChanged):
7686        This function is added to update the counter hierarchy in 
7687        response to changes to the style of a renderer.
7688        * rendering/RenderCounter.h:
7689        * rendering/RenderObject.cpp:
7690        (WebCore::RenderObject::styleDidChange):
7691        For changes that may include the counter directives added a
7692        call to RenderCounter::rendererStyleChanged.
7693
76942010-01-19  Gustavo Noronha Silva  <gns@gnome.org>
7695
7696        Unreviewed. Build fixes for make distcheck - missing files.
7697
7698        * GNUmakefile.am:
7699
77002010-01-19  Alexey Proskuryakov  <ap@apple.com>
7701
7702        Reviewed by Oliver Hunt.
7703
7704        https://bugs.webkit.org/show_bug.cgi?id=33850
7705        Attr.childNodes does not get updated after DOM mutations
7706
7707        Test: fast/dom/Attr/child-nodes-cache.html
7708
7709        * dom/Node.cpp: (WebCore::Node::notifyLocalNodeListsAttributeChanged): If the node is an
7710        attribute, then changing it shouldn't take the shortcut that only resets a subset of caches.
7711
77122010-01-19  John Sullivan  <sullivan@apple.com>
7713
7714        https://bugs.webkit.org/show_bug.cgi?id=33854
7715        Would like a variant of WebHTMLRepresentation's searchForLabelsBeforeElement that returns 
7716        more info about where the result was found
7717
7718        Reviewed by Darin Adler.
7719
7720        No new tests. This just adds a couple of out parameters for the benefit of WebKit clients.
7721
7722        * WebCore.base.exp:
7723        Updated mangled signature for export.
7724
7725        * page/Frame.cpp:
7726        (WebCore::Frame::searchForLabelsAboveCell):
7727        Now fills in an out parameter with the number of characters from the start of the cell.
7728        (WebCore::Frame::searchForLabelsBeforeElement):
7729        Now fills in an out parameter with the distance as a number of characters, and another
7730        with a bool for whether the result was in a table cell above the current cell (otherwise
7731        it was found in the text before this element and after the previous element or start of form).
7732
7733        * page/Frame.h:
7734        Updated signatures.
7735
7736        * page/mac/FrameMac.mm:
7737        (WebCore::Frame::searchForNSLabelsAboveCell):
7738        Same as above. This is a parallel copy of the function using Mac-specific data structures.
7739        (WebCore::Frame::searchForLabelsBeforeElement):
7740        Ditto
7741
77422010-01-19  Jakob Petsovits  <jpetsovits@rim.com>
7743
7744        Reviewed by Nikolas Zimmermann.
7745
7746        [OpenVG] Add (EGL) surface/context management
7747        https://bugs.webkit.org/show_bug.cgi?id=33403
7748
7749        The foundations for a new OpenVG port.
7750
7751        OpenVG is not tied to EGL per se, EGL just happens to be
7752        the only usable backend for OpenVG state and painting
7753        at the time of writing.
7754
7755        The purpose of the SurfaceOpenVG class is to provide
7756        an EGL-independent interface for OpenVG-specific code.
7757        The EGLDisplayOpenVG class takes care of keeping track
7758        of EGL displays, surfaces and contexts. It also makes
7759        sure that all created contexts are interoperable, and
7760        that different surfaces use a single context if possible.
7761
7762        * platform/graphics/openvg/EGLDisplayOpenVG.cpp: Added.
7763        (WebCore::displayManagers):
7764        (WebCore::EGLDisplayOpenVG::currentSurface):
7765        (WebCore::EGLDisplayOpenVG::registerPlatformSurface):
7766        (WebCore::EGLDisplayOpenVG::unregisterPlatformSurface):
7767        (WebCore::EGLDisplayOpenVG::setCurrentDisplay):
7768        (WebCore::EGLDisplayOpenVG::current):
7769        (WebCore::EGLDisplayOpenVG::forDisplay):
7770        (WebCore::EGLDisplayOpenVG::EGLDisplayOpenVG):
7771        (WebCore::EGLDisplayOpenVG::~EGLDisplayOpenVG):
7772        (WebCore::EGLDisplayOpenVG::setDefaultPbufferConfig):
7773        (WebCore::EGLDisplayOpenVG::defaultPbufferConfig):
7774        (WebCore::EGLDisplayOpenVG::setDefaultWindowConfig):
7775        (WebCore::EGLDisplayOpenVG::defaultWindowConfig):
7776        (WebCore::EGLDisplayOpenVG::sharedPlatformSurface):
7777        (WebCore::EGLDisplayOpenVG::createPbufferSurface):
7778        (WebCore::EGLDisplayOpenVG::surfaceForWindow):
7779        (WebCore::EGLDisplayOpenVG::surfacesCompatible):
7780        (WebCore::EGLDisplayOpenVG::destroySurface):
7781        (WebCore::EGLDisplayOpenVG::contextForSurface):
7782        * platform/graphics/openvg/EGLDisplayOpenVG.h: Added.
7783        (WebCore::EGLDisplayOpenVG::display):
7784        * platform/graphics/openvg/EGLUtils.h: Added.
7785        (toEGLErrorConstant):
7786        * platform/graphics/openvg/SurfaceOpenVG.cpp: Added.
7787        (WebCore::SurfaceOpenVG::currentSurface):
7788        (WebCore::SurfaceOpenVG::SurfaceOpenVG):
7789        (WebCore::SurfaceOpenVG::~SurfaceOpenVG):
7790        (WebCore::SurfaceOpenVG::isValid):
7791        (WebCore::SurfaceOpenVG::width):
7792        (WebCore::SurfaceOpenVG::height):
7793        (WebCore::SurfaceOpenVG::sharedSurface):
7794        (WebCore::SurfaceOpenVG::makeCurrent):
7795        (WebCore::SurfaceOpenVG::makeCompatibleCurrent):
7796        (WebCore::SurfaceOpenVG::flush):
7797        * platform/graphics/openvg/SurfaceOpenVG.h: Added.
7798        (WebCore::SurfaceOpenVG::eglDisplay):
7799        (WebCore::SurfaceOpenVG::eglSurface):
7800        (WebCore::SurfaceOpenVG::eglContext):
7801        * platform/graphics/openvg/VGUtils.h: Added.
7802        (toVGErrorConstant):
7803
78042010-01-19  Steve Block  <steveblock@google.com>
7805
7806        Reviewed by David Levin.
7807
7808        Renames jni_utility and jni_utility_private to JNIUtility and JNIUtilityPrivate
7809        https://bugs.webkit.org/show_bug.cgi?id=33843
7810
7811        No new tests, refactoring only.
7812
7813        * Android.jscbindings.mk:
7814        * Android.v8bindings.mk:
7815        * GNUmakefile.am:
7816        * WebCore.xcodeproj/project.pbxproj:
7817        * bridge/jni/JNIUtility.cpp: Copied from WebCore/bridge/jni/jni_utility.cpp.
7818        * bridge/jni/JNIUtility.h: Copied from WebCore/bridge/jni/jni_utility.h.
7819        * bridge/jni/jni_jsobject.mm:
7820        * bridge/jni/jni_objc.mm:
7821        * bridge/jni/jni_runtime.cpp:
7822        * bridge/jni/jni_runtime.h:
7823        * bridge/jni/jni_utility.cpp: Removed.
7824        * bridge/jni/jni_utility.h: Removed.
7825        * bridge/jni/jsc/JNIUtilityPrivate.cpp: Copied from WebCore/bridge/jni/jsc/jni_utility_private.cpp.
7826        (JSC::Bindings::convertValueToJValue):
7827        * bridge/jni/jsc/JNIUtilityPrivate.h: Copied from WebCore/bridge/jni/jsc/jni_utility_private.h.
7828        * bridge/jni/jsc/JavaClassJSC.cpp:
7829        * bridge/jni/jsc/JavaInstanceJSC.cpp:
7830        * bridge/jni/jsc/JavaStringJSC.h:
7831        * bridge/jni/jsc/jni_utility_private.cpp: Removed.
7832        * bridge/jni/jsc/jni_utility_private.h: Removed.
7833        * platform/android/GeolocationServiceBridge.cpp:
7834        * platform/android/GeolocationServiceBridge.h:
7835        * platform/android/TemporaryLinkStubs.cpp:
7836
78372010-01-19  Simon Fraser  <simon.fraser@apple.com>
7838
7839        Reviewed by Dan Bernstein.
7840
7841        Occasional crash when interacting with page with reflected WebGL
7842        https://bugs.webkit.org/show_bug.cgi?id=33863
7843        
7844        If updateCompositingLayers() was called with an updateRoot that was a reflection layer,
7845        then we would determine that the layer does not require compositing, and tear down its
7846        backing (without clearing replicaLayer() on the source layer's GraphicsLayer).
7847        
7848        Fix by changing requiresCompositingLayer() on a reflection layer to always give the
7849        same answer for a reflection and its original.
7850        
7851        Also add various belt-and-brances code and null checks to ensure that if we ever end up
7852        with a non-composited reflection layer, we won't crash.
7853        
7854        No new tests, because the crash depends on timing issues that are hard to reproduce in a test.
7855
7856        * platform/graphics/GraphicsLayer.h:
7857        (WebCore::GraphicsLayer::replicaLayer): Make this public so we can use it in an assertion.
7858        
7859        * rendering/RenderLayerCompositor.cpp:
7860        (WebCore::RenderLayerCompositor::updateBacking): Clear the source layer's replica layer
7861        pointer if tearing down backing store of a reflection.
7862        
7863        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Null-check reflection->backing().
7864        (WebCore::RenderLayerCompositor::updateLayerTreeGeometry): Null-check reflection->backing().
7865        (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): reflection->backing().
7866        (WebCore::RenderLayerCompositor::requiresCompositingLayer): If being called for a reflection layer,
7867        use the source layer to answer the question.        
7868
78692010-01-19  Simon Fraser  <simon.fraser@apple.com>
7870
7871        Reviewed by Dan Bernstein.
7872
7873        Some composited reflections incorrectly positioned
7874        https://bugs.webkit.org/show_bug.cgi?id=33856
7875        
7876        When setting the position of the replicated layer inside the reflection, we need to take
7877        into account the bounds of the original layer, and the replica layer to get the
7878        reflection in the right place.
7879
7880        Tests: compositing/reflections/nested-reflection-transformed2.html
7881               compositing/reflections/reflection-positioning2.html
7882
7883        * rendering/RenderLayerBacking.cpp:
7884        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
7885
78862010-01-19  Enrica Casucci  <enrica@apple.com>
7887
7888        Reviewed by Simon Fraser.
7889
7890        REGRESSION: Infinite recursion in Position::getInlineBoxAndOffset()
7891        https://bugs.webkit.org/show_bug.cgi?id=33864
7892        <rdar://problem/7552959>
7893        
7894        Regression has been introduced by changeset 53085.
7895        The original fix had to be limited to editable content.
7896
7897        Test: editing/selection/selection-applet.html
7898
7899        * dom/Position.cpp:
7900        (WebCore::Position::getInlineBoxAndOffset):
7901
79022010-01-19  Kristian Amlie <kristian.amlie@nokia.com>
7903
7904        Reviewed by Laszlo Gombos.
7905
7906        [Qt] Fix qmake warning with qmake in Qt for Symbian
7907        https://bugs.webkit.org/show_bug.cgi?id=33786
7908
7909        * WebCore.pro: Use QMAKE_LFLAGS instead of MMP_RULES.
7910
79112010-01-19  Daniel Bates  <dbates@rim.com>
7912
7913        Reviewed by Darin Adler.
7914
7915        https://bugs.webkit.org/show_bug.cgi?id=33851
7916
7917        Fixes an issue in the Apple Mac port where ScrollView::platformVisibleContentRect
7918        returns the rectangle of the document within the content view of
7919        the scroll view (i.e. the rectangle not including scrollbars) when
7920        the parameter includeScrollbars == true
7921
7922        Currently, this behavior contradicts both the comment in ScrollView.h
7923        for method visibleContentRect as well as the behavior in
7924        ScrollView::visibleContentRect() for a platform-independent scroll view.
7925
7926        Instead, it should return the rectangle whose dimensions include
7927        the scrollbars.
7928
7929        Also, removes some extra whitespace at the end of the lines.
7930
7931        No tests included because we cannot test this using either DRT
7932        or a manual test.
7933
7934        * platform/mac/ScrollViewMac.mm:
7935        (WebCore::ScrollView::platformVisibleContentRect): If includeScrollbars == true
7936        then return the rectangle whose dimensions are that of
7937        the frame (i.e. -[NSScrollView frame]).
7938
79392010-01-19  Steve Block  <steveblock@google.com>
7940
7941        Reviewed by David Levin.
7942
7943        Fixes style in WebCore/bridge/jni/jsc/JavaClassJSC
7944        https://bugs.webkit.org/show_bug.cgi?id=33819
7945
7946        No new tests, style fixes only.
7947
7948        * bridge/jni/jsc/JavaClassJSC.cpp: Modified.
7949        * bridge/jni/jsc/JavaClassJSC.h: Modified.
7950
79512010-01-19  Jaime Yap  <jaimeyap@google.com>
7952
7953        Reviewed by Pavel Feldman.
7954        
7955        Refactors the TimelineRecordFactory and InspectorTimelineAgent to support reporting data
7956        when closing a record. Also includes grabbing the start and end line number for parse HTML
7957        records as a reference use case for the above refactor
7958
7959        Tests updated:
7960            inspector/timeline-parse-html-expected.txt
7961            inspector/timeline-layout-expected.txt
7962            inspector/timeline-recalculate-styles-expected.txt
7963
7964        https://bugs.webkit.org/show_bug.cgi?id=33853
7965
7966        * html/HTMLTokenizer.cpp:
7967        (WebCore::HTMLTokenizer::write):
7968        * inspector/InspectorTimelineAgent.cpp:
7969        (WebCore::InspectorTimelineAgent::willDispatchEvent):
7970        (WebCore::InspectorTimelineAgent::willLayout):
7971        (WebCore::InspectorTimelineAgent::willRecalculateStyle):
7972        (WebCore::InspectorTimelineAgent::willPaint):
7973        (WebCore::InspectorTimelineAgent::willWriteHTML):
7974        (WebCore::InspectorTimelineAgent::didWriteHTML):
7975        (WebCore::InspectorTimelineAgent::didInstallTimer):
7976        (WebCore::InspectorTimelineAgent::didRemoveTimer):
7977        (WebCore::InspectorTimelineAgent::willFireTimer):
7978        (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
7979        (WebCore::InspectorTimelineAgent::willLoadXHR):
7980        (WebCore::InspectorTimelineAgent::willEvaluateScript):
7981        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
7982        (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
7983        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
7984        (WebCore::InspectorTimelineAgent::didMarkTimeline):
7985        (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
7986        (WebCore::InspectorTimelineAgent::pushCurrentRecord):
7987        * inspector/InspectorTimelineAgent.h:
7988        (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
7989        * inspector/TimelineRecordFactory.cpp:
7990        (WebCore::TimelineRecordFactory::createEventDispatchData):
7991        (WebCore::TimelineRecordFactory::createGenericTimerData):
7992        (WebCore::TimelineRecordFactory::createTimerInstallData):
7993        (WebCore::TimelineRecordFactory::createXHRReadyStateChangeData):
7994        (WebCore::TimelineRecordFactory::createXHRLoadData):
7995        (WebCore::TimelineRecordFactory::createEvaluateScriptData):
7996        (WebCore::TimelineRecordFactory::createMarkTimelineData):
7997        (WebCore::TimelineRecordFactory::createResourceSendRequestData):
7998        (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
7999        (WebCore::TimelineRecordFactory::createResourceFinishData):
8000        (WebCore::TimelineRecordFactory::createPaintData):
8001        (WebCore::TimelineRecordFactory::createParseHTMLData):
8002        * inspector/TimelineRecordFactory.h:
8003
80042010-01-19 Joanmarie Diggs  <joanmarie.diggs@gmail.com>
8005
8006        Reviewed by Xan Lopez.
8007
8008        https://bugs.webkit.org/show_bug.cgi?id=30883
8009        [Gtk] Implement AtkText for HTML elements which contain text
8010
8011        Moves the text assembling functionality from getPangoLayoutForAtk to
8012        textForObject, which webkit_accessible_text_get_text now falls back on
8013        when it comes up empty.
8014
8015        Adds a check in textForObject so that we don't double-add newlines
8016        when we have a BR.
8017
8018        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
8019        (textForObject):
8020        (getPangoLayoutForAtk):
8021        (webkit_accessible_text_get_text):
8022
80232010-01-19  Eric Carlson  <eric.carlson@apple.com>
8024
8025        Reviewed by Adam Roben.
8026
8027        error events don't fire if no <source> elements passed to media engine
8028        https://bugs.webkit.org/show_bug.cgi?id=33855
8029
8030        Test: media/video-source-error-no-candidate.html
8031
8032        * html/HTMLMediaElement.cpp:
8033        (WebCore::HTMLMediaElement::selectMediaResource): Only bail early if
8034        there is no 'src' attribute and no <source> child elements at all.
8035
80362010-01-19  Daniel Bates  <dbates@webkit.org>
8037
8038        Reviewed by Adam Roben.
8039
8040        https://bugs.webkit.org/show_bug.cgi?id=33822
8041
8042        REGRESSION(r53273): Fixes redefinition of XFORM error when building
8043        WebKit using Qt Windows with the MinGW compiler.
8044 
8045        Note, MinGW has a slightly different declaration of the struct XFORM
8046        from that in the Microsoft SDK. So, we need to substitute an alternative
8047        typedef for XFORM when compiling with MinGW.
8048
8049        No functionality was changed. So, no new tests.
8050
8051        * platform/graphics/transforms/TransformationMatrix.h:
8052
80532010-01-19  Stephen White  <senorblanco@chromium.org>
8054
8055        Reviewed by Dimitri Glazkov.
8056
8057        Fix for crash on large TransparencyWin allocation.  The fix is
8058        to leave m_layerValid false when the allocPixels of
8059        OwnedBuffers::m_referenceBitmap fails.  Then TransparencyWin won't
8060        attempt to use it.
8061
8062        Will be covered by a new unit test in Chromium's test_shell_tests (when
8063        this is rolled into Chromium).
8064
8065        https://bugs.webkit.org/show_bug.cgi?id=33844
8066
8067        * platform/graphics/chromium/TransparencyWin.cpp:
8068        (WebCore::TransparencyWin::initializeNewContext):
8069        Early return when m_referenceBitmap or its pixels is NULL, leaving
8070        m_layerValid false.
8071
80722010-01-19  Eric Carlson  <eric.carlson@apple.com>
8073
8074        Reviewed by Adam Roben.
8075
8076        video.networkState remains NETWORK_LOADING indefinitely when no <source> element was able to be loaded
8077        https://bugs.webkit.org/show_bug.cgi?id=33744
8078
8079        Test: media/video-source-none-supported.html
8080
8081        * html/HTMLMediaElement.cpp:
8082        (WebCore::HTMLMediaElement::loadNextSourceChild): Call waitForSourceChange if
8083            there are no valid source elements.
8084        (WebCore::HTMLMediaElement::waitForSourceChange): New, set networkState to NETWORK_NO_SOURCE.
8085        (WebCore::HTMLMediaElement::setNetworkState): Call waitForSourceChange if the movie
8086            hasn't reached HAVE_METADATA and there are no more <source> elements to try.
8087        * html/HTMLMediaElement.h: Declare waitForSourceChange.
8088
80892010-01-19  Daniel Bates  <dbates@rim.com>
8090
8091        Reviewed by Adam Treat.
8092
8093        https://bugs.webkit.org/show_bug.cgi?id=33408
8094
8095        Implements an optimization to ignore fixed background images
8096        (i.e. background-attachment: fixed) when a page does not contain
8097        any fixed position elements so as to allow fast repaints (via bit
8098        blit) when scrolling a page.
8099
8100        Currently, if a page has elements that specify either a fixed
8101        background or a fixed position then we perform a slow repaint
8102        (i.e disable blitting) so as to avoid rendering artifacts.
8103        However, on low-powered/mobile devices slow repaints can cause
8104        noticeable delays when scrolling a page with a fixed background
8105        image. By sacrificing support for fixed background images when
8106        there are no fixed elements on the page and with come care, we
8107        don't need to force slow repaints and can avoid rendering artifacts.
8108        Hence, on such devices we can improve the responsiveness of
8109        scrolling a page with a fixed background image.
8110
8111        Note, this optimization is only enabled if the WebKit is built
8112        with FAST_MOBILE_SCROLLING enabled.
8113
8114        Tests: fast/fast-mobile-scrolling/fixed-position-element.html
8115               fast/fast-mobile-scrolling/no-fixed-position-elements.html
8116
8117        * rendering/RenderBoxModelObject.cpp:
8118        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
8119        Disable fixed background attachment if we can blit on scroll.
8120        * rendering/RenderObject.cpp:
8121        (WebCore::RenderObject::styleWillChange):
8122
81232010-01-19  Dave Hyatt  <hyatt@apple.com>
8124
8125        Build bustage fix.  Land modified WebCore.base.exp file that includes export of currentWorld().
8126
8127        * WebCore.base.exp:
8128
81292010-01-19  Brady Eidson  <beidson@apple.com>
8130
8131        Reviewed by Alexey Proskuryakov.
8132
8133        Crash in Page::backForwardList when using History object from a detached window
8134        <rdar://problem/7556252> and https://bugs.webkit.org/show_bug.cgi?id=33828
8135
8136        Test: fast/loader/stateobjects/state-api-on-detached-frame-crash.html
8137
8138        * page/History.cpp:
8139        (WebCore::History::stateObjectAdded): Do an early return when detached. The spec
8140          doesn't really cover expected behavior and we already do something similar in 
8141          other places, such as in History::length().
8142
81432010-01-19  Yury Semikhatsky  <yurys@chromium.org>
8144
8145        Reviewed by NOBODY (build fix).
8146
8147        Revert r53467. Browser crashes on opening inspector if there
8148        are messages in console.
8149
8150        * bindings/js/JSInjectedScriptHostCustom.cpp:
8151        (WebCore::JSInjectedScriptHost::databaseForId):
8152        (WebCore::JSInjectedScriptHost::inspectedWindow):
8153        (WebCore::JSInjectedScriptHost::wrapCallback):
8154        (WebCore::JSInjectedScriptHost::currentCallFrame):
8155        (WebCore::JSInjectedScriptHost::nodeForId):
8156        (WebCore::JSInjectedScriptHost::wrapObject):
8157        (WebCore::JSInjectedScriptHost::unwrapObject):
8158        (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
8159        (WebCore::JSInjectedScriptHost::selectDatabase):
8160        (WebCore::JSInjectedScriptHost::selectDOMStorage):
8161        * bindings/js/ScriptController.cpp:
8162        * bindings/js/ScriptController.h:
8163        * bindings/js/ScriptObject.h:
8164        * bindings/js/ScriptValue.cpp:
8165        (WebCore::ScriptValue::quarantineValue):
8166        * bindings/js/ScriptValue.h:
8167        * bindings/v8/ScriptObject.h:
8168        * bindings/v8/ScriptValue.h:
8169        (WebCore::ScriptValue::quarantineValue):
8170        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
8171        (WebCore::V8InjectedScriptHost::inspectedWindowCallback):
8172        (WebCore::V8InjectedScriptHost::wrapCallbackCallback):
8173        (WebCore::V8InjectedScriptHost::wrapObjectCallback):
8174        (WebCore::V8InjectedScriptHost::unwrapObjectCallback):
8175        * inspector/ConsoleMessage.cpp:
8176        (WebCore::ConsoleMessage::ConsoleMessage):
8177        (WebCore::ConsoleMessage::addToConsole):
8178        (WebCore::ConsoleMessage::isEqual):
8179        * inspector/ConsoleMessage.h:
8180        * inspector/InjectedScriptHost.cpp:
8181        (WebCore::InjectedScriptHost::wrapObject):
8182        (WebCore::InjectedScriptHost::unwrapObject):
8183        * inspector/InjectedScriptHost.h:
8184        * inspector/InjectedScriptHost.idl:
8185        * inspector/InspectorBackend.cpp:
8186        (WebCore::InspectorBackend::dispatchOnInjectedScript):
8187        (WebCore::InspectorBackend::releaseWrapperObjectGroup):
8188        * inspector/InspectorBackend.h:
8189        * inspector/InspectorBackend.idl:
8190        * inspector/InspectorController.cpp:
8191        (WebCore::InspectorController::InspectorController):
8192        (WebCore::InspectorController::clearConsoleMessages):
8193        (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
8194        (WebCore::InspectorController::windowScriptObjectAvailable):
8195        (WebCore::InspectorController::scriptObjectReady):
8196        (WebCore::InspectorController::setFrontendProxyObject):
8197        (WebCore::InspectorController::close):
8198        (WebCore::InspectorController::resetScriptObjects):
8199        (WebCore::InspectorController::didPause):
8200        (WebCore::InspectorController::wrapObject):
8201        (WebCore::InspectorController::unwrapObject):
8202        (WebCore::InspectorController::releaseWrapperObjectGroup):
8203        (WebCore::InspectorController::resetInjectedScript):
8204        * inspector/InspectorController.h:
8205        * inspector/InspectorFrontend.cpp:
8206        (WebCore::InspectorFrontend::addConsoleMessage):
8207        (WebCore::InspectorFrontend::pausedScript):
8208        * inspector/InspectorFrontend.h:
8209        * inspector/front-end/AuditsPanel.js:
8210        (WebInspector.AuditsPanel.prototype._reloadResources):
8211        * inspector/front-end/ConsoleView.js:
8212        (WebInspector.ConsoleView.prototype.requestClearMessages):
8213        (WebInspector.ConsoleView.prototype.completions):
8214        (WebInspector.ConsoleView.prototype.doEvalInWindow):
8215        (WebInspector.ConsoleView.prototype._formatnode):
8216        (WebInspector.ConsoleView.prototype._formatarray):
8217        * inspector/front-end/DOMAgent.js:
8218        (WebInspector.DOMNode):
8219        (WebInspector.CSSStyleDeclaration):
8220        (WebInspector.CSSStyleDeclaration.parseRule):
8221        * inspector/front-end/Database.js:
8222        (WebInspector.Database.prototype.executeSql):
8223        * inspector/front-end/ElementsPanel.js:
8224        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
8225        (WebInspector.ElementsPanel.prototype.setDocument):
8226        (WebInspector.ElementsPanel.prototype.searchCanceled):
8227        (WebInspector.ElementsPanel.prototype.performSearch):
8228        * inspector/front-end/ElementsTreeOutline.js:
8229        (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
8230        * inspector/front-end/EventListenersSidebarPane.js:
8231        ():
8232        * inspector/front-end/InjectedScript.js:
8233        (InjectedScript.dispatch):
8234        (InjectedScript.toggleStyleEnabled):
8235        (InjectedScript._serializeRule):
8236        (InjectedScript._serializeStyle):
8237        (InjectedScript.getProperties):
8238        (InjectedScript.setPropertyValue):
8239        (InjectedScript._evaluateAndWrap):
8240        (InjectedScript.getCallFrames):
8241        (InjectedScript._inspectObject):
8242        (InjectedScript._ensureCommandLineAPIInstalled):
8243        (InjectedScript._resolveObject):
8244        (InjectedScript._window):
8245        (InjectedScript._objectForId):
8246        (InjectedScript.createProxyObject):
8247        (InjectedScript.executeSql):
8248        (InjectedScript.executeSql.errorCallback):
8249        (InjectedScript.executeSql.queryTransaction):
8250        (Object.type):
8251        (String.prototype.escapeCharacters):
8252        * inspector/front-end/InjectedScriptAccess.js:
8253        (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
8254        (InjectedScriptAccess._installHandler):
8255        * inspector/front-end/MetricsSidebarPane.js:
8256        (WebInspector.MetricsSidebarPane):
8257        (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
8258        (WebInspector.MetricsSidebarPane.prototype.update):
8259        (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
8260        * inspector/front-end/ObjectPropertiesSection.js:
8261        (WebInspector.ObjectPropertiesSection.prototype.update):
8262        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
8263        (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
8264        * inspector/front-end/ObjectProxy.js:
8265        (WebInspector.ObjectProxy):
8266        (WebInspector.ObjectProxy.getPropertiesAsync):
8267        * inspector/front-end/PropertiesSidebarPane.js:
8268        (WebInspector.PropertiesSidebarPane.prototype.update.callback):
8269        (WebInspector.PropertiesSidebarPane.prototype.update):
8270        * inspector/front-end/ResourcesPanel.js:
8271        (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
8272        * inspector/front-end/ScriptsPanel.js:
8273        (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
8274        * inspector/front-end/StylesSidebarPane.js:
8275        (WebInspector.StylesSidebarPane.prototype.update):
8276        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
8277        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
8278        (WebInspector.StylePropertyTreeElement.prototype):
8279        * inspector/front-end/WatchExpressionsSidebarPane.js:
8280        (WebInspector.WatchExpressionsSection.prototype.update):
8281        * inspector/front-end/inspector.js:
8282        (WebInspector.loaded):
8283        (WebInspector.pausedScript):
8284        (WebInspector.addConsoleMessage):
8285        (WebInspector.log.logMessage):
8286        (WebInspector.log):
8287
82882010-01-19  Yury Semikhatsky  <yurys@chromium.org>
8289
8290        Reviewed by Pavel Feldman.
8291
8292        Inject inspector script directly into the inspected context. All the
8293        communication between the script and the frontend is serialized into
8294        JSON strings. It allows to get rid of object quarantines in Web Inspector.
8295
8296        https://bugs.webkit.org/show_bug.cgi?id=32554
8297
8298        * bindings/js/JSInjectedScriptHostCustom.cpp:
8299        (WebCore::JSInjectedScriptHost::databaseForId):
8300        (WebCore::JSInjectedScriptHost::currentCallFrame):
8301        (WebCore::JSInjectedScriptHost::nodeForId):
8302        (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
8303        (WebCore::JSInjectedScriptHost::selectDatabase):
8304        (WebCore::JSInjectedScriptHost::selectDOMStorage):
8305        * bindings/js/ScriptController.cpp:
8306        (WebCore::ScriptController::mainWorldScriptState):
8307        * bindings/js/ScriptController.h:
8308        * bindings/js/ScriptObject.h:
8309        (WebCore::ScriptObject::scriptState):
8310        * bindings/js/ScriptValue.cpp:
8311        * bindings/js/ScriptValue.h:
8312        * bindings/v8/ScriptObject.h:
8313        (WebCore::ScriptObject::scriptState):
8314        * bindings/v8/ScriptValue.h:
8315        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
8316        * inspector/ConsoleMessage.cpp:
8317        (WebCore::ConsoleMessage::ConsoleMessage):
8318        (WebCore::ConsoleMessage::addToConsole):
8319        (WebCore::ConsoleMessage::isEqual):
8320        * inspector/ConsoleMessage.h:
8321        * inspector/InjectedScriptHost.cpp:
8322        (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
8323        * inspector/InjectedScriptHost.h:
8324        * inspector/InjectedScriptHost.idl:
8325        * inspector/InspectorBackend.cpp:
8326        (WebCore::InspectorBackend::setInjectedScriptSource):
8327        (WebCore::InspectorBackend::dispatchOnInjectedScript):
8328        (WebCore::InspectorBackend::releaseWrapperObjectGroup):
8329        * inspector/InspectorBackend.h:
8330        * inspector/InspectorBackend.idl:
8331        * inspector/InspectorController.cpp:
8332        (WebCore::InspectorController::InspectorController):
8333        (WebCore::InspectorController::clearConsoleMessages):
8334        (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
8335        (WebCore::InspectorController::windowScriptObjectAvailable):
8336        (WebCore::InspectorController::scriptObjectReady):
8337        (WebCore::InspectorController::setFrontendProxyObject):
8338        (WebCore::InspectorController::close):
8339        (WebCore::InspectorController::resetScriptObjects):
8340        (WebCore::InspectorController::didPause):
8341        (WebCore::InspectorController::injectedScriptForNodeId):
8342        * inspector/InspectorController.h:
8343        * inspector/InspectorFrontend.cpp:
8344        (WebCore::InspectorFrontend::addConsoleMessage):
8345        (WebCore::InspectorFrontend::pausedScript):
8346        * inspector/InspectorFrontend.h:
8347        * inspector/front-end/AuditsPanel.js:
8348        (WebInspector.AuditsPanel.prototype._reloadResources):
8349        * inspector/front-end/ConsoleView.js:
8350        (WebInspector.ConsoleView.prototype.requestClearMessages):
8351        (WebInspector.ConsoleView.prototype.doEvalInWindow):
8352        * inspector/front-end/DOMAgent.js:
8353        (WebInspector.DOMNode):
8354        (WebInspector.CSSStyleDeclaration):
8355        (WebInspector.CSSStyleDeclaration.parseRule):
8356        * inspector/front-end/Database.js:
8357        (WebInspector.Database.prototype.executeSql):
8358        * inspector/front-end/ElementsPanel.js:
8359        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged.InjectedScriptAccess.get addInspectedNode):
8360        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
8361        (WebInspector.ElementsPanel.prototype.setDocument):
8362        (WebInspector.ElementsPanel.prototype.searchCanceled):
8363        (WebInspector.ElementsPanel.prototype.performSearch):
8364        * inspector/front-end/ElementsTreeOutline.js:
8365        (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
8366        * inspector/front-end/EventListenersSidebarPane.js:
8367        ():
8368        * inspector/front-end/InjectedScript.js:
8369        (injectedScriptConstructor):
8370        (injectedScriptConstructor.):
8371        * inspector/front-end/InjectedScriptAccess.js:
8372        (InjectedScriptAccess):
8373        (InjectedScriptAccess.getDefault):
8374        (get InjectedScriptAccess):
8375        (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
8376        (InjectedScriptAccess._installHandler):
8377        * inspector/front-end/MetricsSidebarPane.js:
8378        (WebInspector.MetricsSidebarPane):
8379        (WebInspector.MetricsSidebarPane.prototype.update.inlineStyleCallback):
8380        * inspector/front-end/ObjectPropertiesSection.js:
8381        * inspector/front-end/ObjectProxy.js:
8382        (WebInspector.ObjectProxy):
8383        * inspector/front-end/PropertiesSidebarPane.js:
8384        (WebInspector.PropertiesSidebarPane.prototype.update.callback):
8385        * inspector/front-end/ResourcesPanel.js:
8386        (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
8387        * inspector/front-end/ScriptsPanel.js:
8388        * inspector/front-end/StylesSidebarPane.js:
8389        (WebInspector.StylePropertyTreeElement.prototype):
8390        * inspector/front-end/WatchExpressionsSidebarPane.js:
8391        (WebInspector.WatchExpressionsSection.prototype.update):
8392        * inspector/front-end/inspector.js:
8393        (WebInspector.loaded):
8394        (WebInspector.pausedScript):
8395        (WebInspector.addConsoleMessage):
8396        (WebInspector.log.logMessage):
8397        (WebInspector.log):
8398
83992010-01-19  Steve Block  <steveblock@google.com>
8400
8401        Unreviewed build fix.
8402
8403        Fixes Windows build due to http://trac.webkit.org/changeset/53464
8404        Updates WebCore.vcproj to reflect renaming of runtime.[cpp|h] to Bridge.[cpp|h]
8405
8406        No new tests, build fix only.
8407
8408        * WebCore.vcproj/WebCore.vcproj:
8409
84102010-01-19  Steve Block  <steveblock@google.com>
8411
8412        Reviewed by Adam Barth.
8413
8414        Renames WebCore/bridge/runtime.[cpp|h] to WebCore/bridge/Bridge.[cpp|h]
8415        https://bugs.webkit.org/show_bug.cgi?id=33801
8416
8417        runtime.[cpp|h] contains general interface classes for use in the bridge,
8418        so Bridge is a more appropriate name than runtime.
8419
8420        No new tests, renaming only.
8421
8422        * Android.jscbindings.mk:
8423        * GNUmakefile.am:
8424        * WebCore.pro:
8425        * WebCore.xcodeproj/project.pbxproj:
8426        * WebCoreSources.bkl:
8427        * bindings/js/JSPluginElementFunctions.cpp:
8428        * bindings/js/ScriptControllerGtk.cpp:
8429        * bindings/js/ScriptControllerHaiku.cpp:
8430        * bindings/js/ScriptControllerMac.mm:
8431        * bindings/js/ScriptControllerQt.cpp:
8432        * bindings/js/ScriptControllerWin.cpp:
8433        * bindings/js/ScriptControllerWx.cpp:
8434        * bindings/js/ScriptInstance.h:
8435        * bindings/objc/WebScriptObject.mm:
8436        * bridge/Bridge.cpp: Copied from WebCore/bridge/runtime.cpp.
8437        * bridge/Bridge.h: Copied from WebCore/bridge/runtime.h.
8438        * bridge/c/c_class.h:
8439        * bridge/c/c_instance.h:
8440        * bridge/c/c_runtime.h:
8441        * bridge/jni/jni_instance.h:
8442        * bridge/objc/objc_runtime.h:
8443        * bridge/qt/qt_class.h:
8444        * bridge/qt/qt_instance.h:
8445        * bridge/qt/qt_runtime.cpp:
8446        * bridge/qt/qt_runtime.h:
8447        * bridge/runtime.cpp: Removed.
8448        * bridge/runtime.h: Removed.
8449        * bridge/runtime_array.h:
8450        * bridge/runtime_method.h:
8451        * bridge/runtime_object.h:
8452        * bridge/runtime_root.cpp:
8453        * bridge/testbindings.cpp:
8454        * bridge/testbindings.mm:
8455        * bridge/testqtbindings.cpp:
8456        * page/win/FrameWin.cpp:
8457        * platform/graphics/wince/MediaPlayerProxy.cpp:
8458        * plugins/PluginView.cpp:
8459        * plugins/gtk/PluginViewGtk.cpp:
8460        * plugins/mac/PluginViewMac.cpp:
8461        * plugins/qt/PluginViewQt.cpp:
8462        * plugins/symbian/PluginViewSymbian.cpp:
8463        * plugins/win/PluginViewWin.cpp:
8464
84652010-01-19  Geoffrey Garen  <ggaren@apple.com>
8466
8467        Reviewed by Oliver Hunt.
8468
8469        REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
8470        https://bugs.webkit.org/show_bug.cgi?id=33826
8471
8472        Test: fast/workers/worker-gc2.html
8473
8474        * bindings/js/WorkerScriptController.cpp:
8475        (WebCore::WorkerScriptController::~WorkerScriptController): Removed some
8476        ASSERTs that have moved to JavaScriptCore.
8477
84782010-01-19  Gavin Barraclough  <barraclough@apple.com>
8479
8480        Reviewed by NOBODY (build fix).
8481
8482        Reverting r53455, breaks 2 javascriptcore tests.
8483
8484        * bindings/js/WorkerScriptController.cpp:
8485        (WebCore::WorkerScriptController::~WorkerScriptController):
8486
84872010-01-18  Geoffrey Garen  <ggaren@apple.com>
8488
8489        Reviewed by Oliver Hunt.
8490
8491        REGRESSION (52082): Crash on worker thread when reloading http://radnan.public.iastate.edu/procedural/
8492        https://bugs.webkit.org/show_bug.cgi?id=33826
8493
8494        Test: fast/workers/worker-gc2.html
8495
8496        * bindings/js/WorkerScriptController.cpp:
8497        (WebCore::WorkerScriptController::~WorkerScriptController): Removed some
8498        ASSERTs that have moved to JavaScriptCore.
8499
85002010-01-18  Daniel Bates  <dbates@webkit.org>
8501
8502        Reviewed by Darin Adler.
8503
8504        https://bugs.webkit.org/show_bug.cgi?id=33089
8505
8506        Implements all of the alphabetic CSS3 list-style-types as per
8507        section 4.4 of the CSS3 Lists module <http://www.w3.org/TR/css3-lists/#alphabetic>.
8508
8509        Test: fast/lists/w3-css3-list-styles-alphabetic.html
8510
8511        * css/CSSParser.cpp:
8512        (WebCore::CSSParser::parseValue): Updated comment to include
8513        added list-style-types.
8514        * css/CSSPrimitiveValueMappings.h:
8515        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added new list style types,
8516        alphabetized enums, and removed indent to conform to the WebKit Code Style Guidelines.
8517        * css/CSSValueKeywords.in:
8518        * inspector/front-end/CSSSourceSyntaxHighlighter.js:
8519        (WebInspector.CSSSourceSyntaxHighlighter): Added new list style types
8520        and alphabetized array valueKeywords.
8521        * platform/text/CharacterNames.h: Added constant ethiopicPrefaceColon.
8522        * rendering/RenderListMarker.cpp:
8523        (WebCore::toAlphabetic):
8524        (WebCore::listMarkerSuffix): Added.
8525        (WebCore::listMarkerText):
8526        (WebCore::RenderListMarker::paint): Modified to call WebCore::listMarkerSuffix.
8527        (WebCore::RenderListMarker::calcPrefWidths): Ditto.
8528        (WebCore::RenderListMarker::getRelativeMarkerRect): Ditto.
8529        * rendering/style/RenderStyle.h:
8530        (WebCore::):
8531        * rendering/style/RenderStyleConstants.h:
8532        (WebCore::):
8533
85342010-01-18  Daniel Bates  <dbates@webkit.org>
8535
8536        Unreviewed, fix misspelling of the word maximum in comment.
8537
8538        * html/HTMLInputElement.cpp:
8539        (WebCore::HTMLInputElement::maximum):
8540
85412010-01-18  Dan Bernstein  <mitz@apple.com>
8542
8543        Rubber-stamped by Sam Weinig.
8544
8545        <rdar://problem/7476957> REGRESSION (r49567): Business widget list does not line up: too tall due to line height rounding change
8546
8547        Reverted r49567.
8548
8549        * css/CSSComputedStyleDeclaration.cpp:
8550        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
8551        * rendering/InlineFlowBox.cpp:
8552        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
8553        * rendering/RenderBR.cpp:
8554        (WebCore::RenderBR::lineHeight):
8555        * rendering/style/RenderStyle.h:
8556        (WebCore::InheritedFlags::computedLineHeight):
8557
85582010-01-18  Steve Block  <steveblock@google.com>
8559
8560        Reviewed by Adam Barth.
8561
8562        Moves JSC-specific implementation of JavaString to a private implementation class.
8563        https://bugs.webkit.org/show_bug.cgi?id=33558
8564
8565        Also modifies JavaField::name and JavaMethod::name to return const JavaString&, rather than UString::Rep*,
8566        which is JSC-specific. This allows this code to be used with both JSC and V8, as required by Android.
8567
8568        No new tests, refactoring only.
8569
8570        * WebCore.xcodeproj/project.pbxproj: Modified. Added JavaStringJSC.h
8571        * bridge/jni/jni_class.cpp: Modified.
8572        (JavaClass::JavaClass): Modified. Updates call sites of JavaField::name and JavaMethod::name.
8573        * bridge/jni/jni_runtime.h: Modified.
8574        (JSC::Bindings::JavaString::JavaString): Modified. Pass through to implementation.
8575        (JSC::Bindings::JavaString::UTF8String): Modified. Pass through to implementation.
8576        (JSC::Bindings::JavaString::uchars): Modified. Pass through to implementation.
8577        (JSC::Bindings::JavaString::length): Modified. Pass through to implementation.
8578        (JSC::Bindings::JavaString::operator UString): Modified. Pass through to implementation.
8579        (JSC::Bindings::JavaField::name): Modified. Pass through to implementation.
8580        (JSC::Bindings::JavaMethod::name): Modified. Pass through to implementation.
8581        * bridge/jni/jsc/JavaStringJSC.h: Added.
8582        (JSC::Bindings::JavaStringImpl::~JavaStringImpl):
8583        (JSC::Bindings::JavaStringImpl::init):
8584        (JSC::Bindings::JavaStringImpl::UTF8String):
8585        (JSC::Bindings::JavaStringImpl::uchars):
8586        (JSC::Bindings::JavaStringImpl::length):
8587        (JSC::Bindings::JavaStringImpl::uString):
8588
85892010-01-18  Yuzo Fujishima  <yuzo@google.com>
8590
8591        Reviewed by Darin Adler.
8592
8593        Skip an error after invalid blocks in a CSS expression.
8594        https://bugs.webkit.org/show_bug.cgi?id=33650
8595
8596        * css/CSSGrammar.y:
8597
85982010-01-15  Gavin Barraclough  <barraclough@apple.com>
8599
8600        Reviewed by Darin Adler & Oliver Hunt.
8601
8602        https://bugs.webkit.org/show_bug.cgi?id=33731
8603        Remove uses of PtrAndFlags from WebCore::StringImpl.
8604
8605        These break the OS X Leaks tool.  Move the management of null-terminated copies
8606        out from StringImpl to String, and use a bit stolen from the refCount to hold the
8607        'InTable' flag.
8608
8609        * platform/sql/SQLiteFileSystem.cpp:
8610        (WebCore::SQLiteFileSystem::openDatabase):
8611        * platform/sql/SQLiteStatement.cpp:
8612        (WebCore::SQLiteStatement::prepare):
8613        * platform/sql/SQLiteStatement.h:
8614        * platform/text/PlatformString.h:
8615        * platform/text/String.cpp:
8616        (WebCore::String::copyWithNullTermination):
8617        * platform/text/StringImpl.cpp:
8618        (WebCore::StringImpl::StringImpl):
8619        (WebCore::StringImpl::~StringImpl):
8620        (WebCore::StringImpl::create):
8621        (WebCore::StringImpl::crossThreadString):
8622        (WebCore::StringImpl::sharedBuffer):
8623        * platform/text/StringImpl.h:
8624        (WebCore::StringImpl::inTable):
8625        (WebCore::StringImpl::setInTable):
8626
86272010-01-18  Nikolas Zimmermann  <nzimmermann@rim.com>
8628
8629        Reviewed by Dirk Schulze.
8630
8631        Rewrite SVG <use> support in a modern-fashion
8632        https://bugs.webkit.org/show_bug.cgi?id=33776
8633
8634        Tests: svg/custom/relative-sized-deep-shadow-tree-content.xhtml
8635               svg/custom/relative-sized-shadow-tree-content.xhtml
8636
8637        Fixes: svg/W3C-SVG-1.1/animate-elem-30-t.svg (animated circle sometimes takes wrong path)
8638
8639        Rewrite <use> support in less intrusive way. Try hard to avoid recloning where possible, and do it lazily.
8640        Introduce RenderSVGShadowTreeRootContainer as special renderer for SVGUseElement, that now manages the
8641        render tree, instead of SVGUseElement manually hacking around it's own renderer from the DOM side.
8642
8643        Instead of recloning the whole shadow tree for every attribute change (DOM setAttribute / SVG DOM changes / CSS changes / childrenChanged()...)
8644        just notify the RenderSVGShadowTreeRootContainer that it's supposed to reclone the tree upon the next updateFromElement() call.
8645
8646        updateFromElement() is fired from SVGUseElement::attach() / recalcStyle(), as it's done for HTMLFormControlElement/HTMLMediaElement, thus
8647        lazily recloning the shadow tree if necessary.
8648
8649        Animations for <use> elements was a real performance bottlenck as the tree got recloned on every attribute change. Reclones are _completly_
8650        avoided for animations now - the SVGAnim*Element classes already updated the instances of an element manually, though that resulted in a reclone
8651        nontheless, and thus killing performance. <use> elements can only be recloned through mutations of the elements that they reference to.
8652        For example referencing a <rect> element from a <use> element and scripting the <rect> element (setAttribute, or child tree mutations etc.).
8653        We reclone instead of trying to synchronize trees - as it's currenty implemented - because it's very hard to do it right.
8654
8655        Any DOM / SVG DOM / CSS change on the <use> element don't reclone the tree anymore, this is a huge speed benefit.
8656        x/y attribute changes are correctly handled in the render tree now (by an additional local transformation), now percentual values work
8657        as expected, and resize on window changes - affecting lots of testcases.
8658
8659        The <use> implementation is much safer now, not doing any mutations synchronously from svgAttributeChanged etc.
8660        Remove hack to force garbage collection on SVGElementInstance destruction - can't reproduce it anymore.
8661
8662        * Android.mk: Add new files to build.
8663        * GNUmakefile.am: Ditto.
8664        * WebCore.gypi: Ditto.
8665        * WebCore.pro: Ditto.
8666        * WebCore.vcproj/WebCore.vcproj: Ditto.
8667        * WebCore.xcodeproj/project.pbxproj: Ditto.
8668        * rendering/RenderSVGShadowTreeRootContainer.cpp: Added. This is the rendered now created by SVGUseElement.
8669        (WebCore::RenderSVGShadowTreeRootContainer::RenderSVGShadowTreeRootContainer):
8670        (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer):
8671        (WebCore::RenderSVGShadowTreeRootContainer::updateStyle): Used form SVGUseElement to request style recalculations for the shadow tree renderers
8672        (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement): Used from SVGUseElement attach/recalcStyle to eventually request shadow tree updates.
8673        (WebCore::RenderSVGShadowTreeRootContainer::styleDidChange): Used to propage style updates across shadow tree boundaries.
8674        * rendering/RenderSVGShadowTreeRootContainer.h: Added.
8675        (WebCore::RenderSVGShadowTreeRootContainer::markShadowTreeForRecreation): Marks the shadow tree for a reclone, next time updateFromElement is used.
8676        * rendering/RenderSVGTransformableContainer.cpp:
8677        (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): Take containerTranslation() into account, supplied by RenderSVGSDhadowTreeContainer.
8678        * rendering/SVGShadowTreeElements.cpp: Added. This is the root element of the SVG shadow tree residing as (hidden) child of SVGUseElement (DOM wise).
8679        (WebCore::SVGShadowTreeContainerElement::SVGShadowTreeContainerElement):
8680        (WebCore::SVGShadowTreeContainerElement::~SVGShadowTreeContainerElement):
8681        (WebCore::SVGShadowTreeContainerElement::containerTranslation): Used from calculateLocalTransform() to take x/y translation into account for shadow tree container elements.
8682        (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement):
8683        (WebCore::SVGShadowTreeRootElement::~SVGShadowTreeRootElement):
8684        (WebCore::SVGShadowTreeRootElement::attachElement): Used by RenderSVGShadowTreeRootContainer, instead of attach(), as we're a shadow tree root node.
8685        * rendering/SVGShadowTreeElements.h: Added. This is the root element of each SVG shadow sub-tree (whenever a <use> element is expanded in the shadow tree).
8686        (WebCore::SVGShadowTreeContainerElement::isShadowTreeContainerElement): Return true here.
8687        (WebCore::SVGShadowTreeContainerElement::setContainerOffset): Used from SVGUseElement to propagate x/y translation values set on <use> elements in the shadow tree.
8688        (WebCore::SVGShadowTreeRootElement::isShadowNode): Identify us as shadow node.
8689        (WebCore::SVGShadowTreeRootElement::shadowParentNode): Ditto. Return actual shadow parent node (== corresponding use element).
8690        * svg/SVGElement.cpp: Shrink size of all SVG*Elements, by removing the m_shadowParent parent. SVGShadowTreeRootElement is the new base class for shadow tree.
8691        (WebCore::SVGElement::SVGElement):
8692        (WebCore::SVGElement::eventParentNode): Call virtual shadowParentNode() method, instead of accessing m_shadowParent.
8693        * svg/SVGElement.h: Remove isShadowNode() / shadowParentNode() / setShadowParentNode().
8694        * svg/SVGElementInstance.cpp: Remove the hack, calling garbage collection before destruction. Can't reproduce this anymore, let's see what the bots say.
8695        (WebCore::SVGElementInstance::SVGElementInstance): Remove now unnecessary m_needsUpdate flag.
8696        (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): Don't invalidate if instance updates are blocked (see SVGStyledElement changes)
8697        * svg/SVGElementInstance.h: Remove m_needsUpdate, and forgetWrapper() method.
8698        * svg/SVGGElement.h:
8699        (WebCore::SVGGElement::isShadowTreeContainerElement): Add new virtual method here returning false by default, SVGShadowTreeContainerElement will override it.
8700        * svg/SVGStyledElement.cpp: Remove gElementsWithInstanceUpdatesBlocked HashSet tracking the state of instancesUpdatesBlocked() per SVGStyledElement - make it a member variable.
8701        * svg/SVGStyledElement.h: Add inline getter/setters around m_instanceUpdatesBlocked.
8702        (WebCore::SVGStyledElement::instanceUpdatesBlocked):
8703        (WebCore::SVGStyledElement::setInstanceUpdatesBlocked):
8704        * svg/SVGUseElement.cpp: Full rewrite of <use> support, a detailed discussion would blow the ChangeLog - see short version above.
8705        (WebCore::SVGUseElement::SVGUseElement):
8706        (WebCore::SVGUseElement::instanceRoot):
8707        (WebCore::SVGUseElement::insertedIntoDocument):
8708        (WebCore::SVGUseElement::removedFromDocument):
8709        (WebCore::SVGUseElement::svgAttributeChanged):
8710        (WebCore::updateContainerOffset):
8711        (WebCore::SVGUseElement::updateContainerOffsets):
8712        (WebCore::SVGUseElement::recalcStyle):
8713        (WebCore::dumpInstanceTree):
8714        (WebCore::SVGUseElement::buildPendingResource):
8715        (WebCore::SVGUseElement::buildShadowAndInstanceTree):
8716        (WebCore::SVGUseElement::createRenderer):
8717        (WebCore::updateFromElementCallback):
8718        (WebCore::SVGUseElement::attach):
8719        (WebCore::SVGUseElement::detach):
8720        (WebCore::SVGUseElement::toClipPath):
8721        (WebCore::SVGUseElement::buildInstanceTree):
8722        (WebCore::SVGUseElement::handleDeepUseReferencing):
8723        (WebCore::SVGUseElement::buildShadowTree):
8724        (WebCore::SVGUseElement::expandUseElementsInShadowTree):
8725        (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
8726        (WebCore::SVGUseElement::instanceForShadowTreeElement):
8727        (WebCore::SVGUseElement::invalidateShadowTree):
8728        (WebCore::SVGUseElement::transferUseAttributesToReplacedElement):
8729        * svg/SVGUseElement.h:
8730        (WebCore::SVGUseElement::isPendingResource):
8731
87322010-01-18  Kent Tamura  <tkent@chromium.org>
8733
8734        Reviewed by Darin Adler.
8735
8736        HTMLInputElement::valueAsDate setter support for type=month.
8737        https://bugs.webkit.org/show_bug.cgi?id=33021
8738
8739        Introduce ISODateTime::setMillisecondsSinceEpochForMonth() and
8740        toString() for the Month type, and HTMLInputElement::setValueAsDate()
8741        calls them.
8742
8743        * html/HTMLInputElement.cpp:
8744        (WebCore::HTMLInputElement::setValueAsDate):
8745        * html/ISODateTime.cpp:
8746        (WebCore::beforeGregorianStartDate):
8747        (WebCore::ISODateTime::addDay): Use beforeGregorianStartDate().
8748        (WebCore::ISODateTime::parseMonth): Use beforeGregorianStartDate().
8749        (WebCore::ISODateTime::setMillisecondsSinceEpochForDateInternal):
8750        (WebCore::ISODateTime::setMillisecondsSinceEpochForMonth):
8751        (WebCore::ISODateTime::toString): Implement only for the Month type.
8752        * html/ISODateTime.h:
8753
87542010-01-18  Enrica Casucci  <enrica@apple.com>
8755
8756        Reviewed by Darin Adler.
8757
8758        Script attributes are copied and pasted, making cross-domain attacks possible (30019)
8759        <rdar://problem/6008809>
8760        https://bugs.webkit.org/show_bug.cgi?id=30019
8761
8762        When we create the document fragment from a markup string,
8763        either to perform a paste operation or a drag and drop, we
8764        want to remove all the event handlers and any attribute that contain
8765        a value that leads to code execution.
8766        The HTMLParser class is now aware of the needs of stripping these attributes.
8767        I've modified the call to createMarkupString for every platform.
8768
8769        Test: editing/pasteboard/paste-noscript.html
8770
8771        * WebCore.base.exp:
8772        * dom/Element.cpp:
8773        (WebCore::isEventHandlerAttribute):
8774        (WebCore::Element::setAttributeMap):
8775        * dom/Element.h:
8776        * dom/MappedAttributeEntry.h:
8777        (WebCore::):
8778        * editing/markup.cpp:
8779        (WebCore::createFragmentFromMarkup):
8780        * editing/markup.h:
8781        * html/HTMLElement.cpp:
8782        (WebCore::HTMLElement::createContextualFragment):
8783        * html/HTMLElement.h:
8784        * html/HTMLParser.cpp:
8785        (WebCore::HTMLParser::HTMLParser):
8786        (WebCore::HTMLParser::parseToken):
8787        * html/HTMLParser.h:
8788        * html/HTMLTokenizer.cpp:
8789        (WebCore::HTMLTokenizer::HTMLTokenizer):
8790        (WebCore::parseHTMLDocumentFragment):
8791        * html/HTMLTokenizer.h:
8792        * platform/chromium/DragDataChromium.cpp:
8793        (WebCore::DragData::asFragment):
8794        * platform/chromium/PasteboardChromium.cpp:
8795        (WebCore::Pasteboard::documentFragment):
8796        * platform/gtk/PasteboardGtk.cpp:
8797        (WebCore::Pasteboard::documentFragment):
8798        * platform/mac/PasteboardMac.mm:
8799        (WebCore::Pasteboard::documentFragment):
8800        * platform/qt/DragDataQt.cpp:
8801        (WebCore::DragData::asFragment):
8802        * platform/qt/PasteboardQt.cpp:
8803        (WebCore::Pasteboard::documentFragment):
8804        * platform/win/ClipboardUtilitiesWin.cpp:
8805        (WebCore::fragmentFromCF_HTML):
8806        (WebCore::fragmentFromHTML):
8807
88082010-01-18  Steve Falkenburg  <sfalken@apple.com>
8809
8810        Reviewed by Sam Weinig.
8811
8812        <https://bugs.webkit.org/show_bug.cgi?id=33816>        
8813        Crashes in Geolocation code due to refcounting, observer balance issues.
8814        
8815        Hold a ref to the GeoNotifier while dispatching a callback. The code was
8816        copying a data member to avoid accessing a freed this ptr, but was still
8817        using the this ptr.
8818        
8819        Geolocation::removeObserver calls are not always balanced with addObserver.
8820        Instead of asserting and continuing, don't try to remove non-existant
8821        observers.
8822
8823        * page/Geolocation.cpp:
8824        (WebCore::Geolocation::GeoNotifier::timerFired): Protect notifier.
8825        * page/GeolocationController.cpp:
8826        (WebCore::GeolocationController::removeObserver): Change ASSERT into an if with early return.
8827
88282010-01-18  Alexey Proskuryakov  <ap@apple.com>
8829
8830        Reviewed by Darin Adler.
8831
8832        https://bugs.webkit.org/show_bug.cgi?id=33815
8833        Crash when using DOMTimer from a detached frame
8834
8835        Test: fast/dom/Window/timer-null-script-execution-context.html
8836
8837        * bindings/js/JSDOMWindowCustom.cpp:
8838        (WebCore::JSDOMWindow::setTimeout):
8839        (WebCore::JSDOMWindow::setInterval):
8840        * page/DOMWindow.h:
8841        * page/DOMWindow.idl:
8842        Make setTimer and setInterval raise an exception. It is not specified in HTML5, but both
8843        IE and Firefox do raise an exception in this situation, although different ones.
8844
8845        * page/DOMWindow.cpp:
8846        (WebCore::DOMWindow::setTimeout): Raise INVALID_ACCESS_ERR if script execution context is
8847        null (meaning that the window is detached).
8848        (WebCore::DOMWindow::setInterval): Ditto.
8849        (WebCore::DOMWindow::clearTimeout): Silently return early if there is no script execution
8850        context.
8851        (WebCore::DOMWindow::clearInterval): Ditto.
8852        Raise INVALID_ACCESS_ERR if script execution context is null (meaning .
8853
88542010-01-18  Steve Block  <steveblock@google.com>
8855
8856        Reviewed by Adam Barth.
8857
8858        Moves JSC-specific version of JavaClass from bridge/jni/jni_class to bridge/jni/jsc/JavaClassJSC
8859        https://bugs.webkit.org/show_bug.cgi?id=33561
8860
8861        No new tests, refactoring only.
8862
8863        * Android.jscbindings.mk: Modified. Removed jni_class.cpp and added JavaClassJSC.cpp
8864        * GNUmakefile.am: Modified. Removed jni_class.h and added JavaClassJSC.h
8865        * WebCore.xcodeproj/project.pbxproj: Modified. Removed jni_class.[cpp|h] and added JavaClassJSC.[cpp|h]
8866        * bridge/jni/jni_class.cpp: Removed.
8867        * bridge/jni/jni_class.h: Removed.
8868        * bridge/jni/jsc/JavaClassJSC.cpp: Copied from WebCore/bridge/jni/jni_class.cpp.
8869        * bridge/jni/jsc/JavaClassJSC.h: Copied from WebCore/bridge/jni/jni_class.h.
8870        * bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. Includes JavaClassJSC.h
8871
88722010-01-18  Steve Block  <steveblock@google.com>
8873
8874        Reviewed by Adam Barth.
8875
8876        Fix style in WebCore/bridge/jni/jsc/JavaInstanceJSC.[cpp|h]
8877        https://bugs.webkit.org/show_bug.cgi?id=33792
8878
8879        No new tests, style fixes only.
8880
8881        * bridge/jni/jni_runtime.cpp: Modified.
8882        (JavaField::dispatchValueFromInstance): Modified. Updated to use renamed JavaInstance::m_instance
8883        (JavaField::dispatchSetValueToInstance): Modified. Updated to use renamed JavaInstance::m_instance
8884        (JavaArray::JavaArray): Modified. Updated to use renamed JavaInstance::m_instance
8885        * bridge/jni/jni_runtime.h: Modified.
8886        (JSC::Bindings::JavaArray::javaArray): Modified. Updated to use renamed JavaInstance::m_instance
8887        * bridge/jni/jsc/JavaInstanceJSC.cpp: Modified. Fixed style
8888        * bridge/jni/jsc/JavaInstanceJSC.h: Modified. Fixed style
8889
88902010-01-18  Chris Marrin  <cmarrin@apple.com>
8891
8892        Reviewed by Oliver Hunt.
8893
8894        https://bugs.webkit.org/show_bug.cgi?id=30073
8895        Moved reshape to HTMLCanvasElement::reset and have it always
8896        set the size to the canvas width and height attrs.
8897
8898        This is not testable with LayoutTests, so I instead added logic
8899        to the demo at:
8900
8901        https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/demos/webkit/SpinningBox.html
8902
8903        * html/HTMLCanvasElement.cpp:
8904        (WebCore::HTMLCanvasElement::reset):
8905        (WebCore::HTMLCanvasElement::paint):
8906
89072010-01-18  Alexey Proskuryakov  <ap@apple.com>
8908
8909        Reviewed by Geoffrey Garen.
8910
8911        https://bugs.webkit.org/show_bug.cgi?id=33813
8912        <rdar://problem/7545104> Crash when using DOMApplicationCache from a destroyed frame
8913
8914        Test: http/tests/appcache/destroyed-frame.html
8915
8916        * loader/appcache/DOMApplicationCache.cpp:
8917        (WebCore::DOMApplicationCache::scriptExecutionContext): Return null when there is no frame.
8918
89192010-01-18  Dan Bernstein  <mitz@apple.com>
8920
8921        Reviewed by Darin Adler.
8922
8923        REGRESSION (r53420): incomplete repaint of bottom of bugs.webkit.org comment field
8924        https://bugs.webkit.org/show_bug.cgi?id=33809
8925
8926        Test: fast/repaint/trailing-floats-root-line-box-overflow.html
8927
8928        * rendering/RenderBlockLineLayout.cpp:
8929        (WebCore::RenderBlock::layoutInlineChildren): Copy bottom overflow from the last
8930        root box to the trailing floats box, which is becoming the last root box. This is
8931        needed because painting code assumes that the last line in a block is the one with the
8932        lowest overflow bottom.
8933
89342010-01-18  Csaba Osztrogonác  <ossy@webkit.org>
8935
8936        [Qt] Unreviewed trivial buildfix. (r53429)
8937
8938        * WebCore.pri: missing XMLNS_NAMES added.
8939
89402010-01-18  Geoffrey Garen  <ggaren@apple.com>
8941
8942        Reviewed by Darin Adler.
8943
8944        Removed unnecessary use of scriptExecutionContext() when creating a JS event listener.
8945        https://bugs.webkit.org/show_bug.cgi?id=33811
8946
8947        This change simplifies a bunch of code, and also reduces
8948        the number of places that use the difficult-to-understand and possibly
8949        crashy-null scriptExecutionContext() idiom.
8950
8951        * bindings/js/JSDOMGlobalObject.cpp:
8952        * bindings/js/JSDOMGlobalObject.h:
8953        * bindings/js/JSEventListener.h:
8954        (WebCore::createJSAttributeEventListener):
8955        * bindings/scripts/CodeGeneratorJS.pm:
8956
89572010-01-18  Alexey Proskuryakov  <ap@apple.com>
8958
8959        Reviewed by Darin Adler.
8960
8961        https://bugs.webkit.org/show_bug.cgi?id=33787
8962        Add constants for more XML strings
8963
8964        No change in functionality, so no tests.
8965
8966        * WebCore/xml/xmlnsattrs.in: Added a new file for xmlns namespace and attribute - 
8967        XMLNames.{h,cpp} are auto-generated, and I dodn't see a reasonable way to extend it.
8968
8969        * platform/text/AtomicString.cpp: (WebCore::AtomicString::init):
8970        * platform/text/AtomicString.h:
8971        Added atomic strings for "xml" and "xmlns".
8972
8973        * page/Frame.cpp: (WebCore::Frame::Frame): Call XMLNSNames::init().
8974
8975        * dom/Attr.cpp: (WebCore::Attr::setPrefix):
8976        * dom/Document.cpp:
8977        (WebCore::Document::hasPrefixNamespaceMismatch):
8978        (WebCore::Document::createAttributeNS):
8979        * dom/Node.cpp:
8980        (WebCore::Node::checkSetPrefix):
8981        (WebCore::Node::isDefaultNamespace):
8982        (WebCore::Node::lookupNamespaceURI):
8983        (WebCore::Node::lookupNamespacePrefix):
8984        * dom/XMLTokenizerLibxml2.cpp:
8985        (WebCore::XMLTokenizer::XMLTokenizer):
8986        (WebCore::handleElementNamespaces):
8987        * editing/markup.cpp:
8988        (WebCore::shouldAddNamespaceAttr):
8989        (WebCore::appendNamespace):
8990        * xml/XPathStep.cpp:
8991        (WebCore::XPath::nodeMatchesBasicTest):
8992        (WebCore::XPath::Step::nodesInAxis):
8993        Use the new constants.
8994
8995        * Android.derived.mk:
8996        * DerivedSources.make:
8997        * GNUmakefile.am:
8998        * WebCore.gyp/WebCore.gyp:
8999        * WebCore.pri:
9000        * WebCore.vcproj/WebCore.vcproj:
9001        * WebCore.xcodeproj/project.pbxproj:
9002        * WebCoreSources.bkl:
9003        Added the new files to projects.
9004
90052010-01-18  Anders Carlsson  <andersca@apple.com>
9006
9007        Fix !ENABLE(3D_CANVAS) build.
9008
9009        * rendering/RenderLayerBacking.cpp:
9010        (WebCore::is3DCanvas):
9011
90122010-01-18  Timothy Hatcher  <timothy@apple.com>
9013
9014        Adjust the scroll position when doing a full page zoom, so the content
9015        stays in relatively the same position.
9016
9017        <rdar://problem/6150099> Zooming should keep the page content in the same place
9018
9019        Reviewed by Oliver Hunt.
9020
9021        * page/Frame.cpp:
9022        (WebCore::Frame::setZoomFactor): Apply the zoom percent difference to
9023        the scroll position, only when doing a full page zoom.
9024
90252010-01-18  Adam Roben  <aroben@apple.com>
9026
9027        Add SecurityOrigin::{set,is}DomainRelaxationForbiddenForURLScheme and
9028        respect it
9029
9030        WebCore part of fixing <http://webkit.org/b/33806>
9031        <rdar://problem/7552837> Would like API to disallow setting of
9032        document.domain for pages with certain URL schemes
9033
9034        Test: http/tests/security/setDomainRelaxationForbiddenForURLScheme.html
9035
9036        Reviewed by Sam Weinig.
9037
9038        * WebCore.base.exp: Export
9039        SecurityOrigin::setDomainRelaxationForbiddenForURLScheme.
9040
9041        * dom/Document.cpp:
9042        (WebCore::Document::setDomain): If domain relaxation is forbidden for
9043        our security origin's scheme, throw an exception and don't allow
9044        the domain to be set.
9045
9046        * page/SecurityOrigin.cpp:
9047        (WebCore::schemesForbiddenFromDomainRelaxation): Added. Returns a
9048        global set of schemes.
9049        (WebCore::SecurityOrigin::setDomainRelaxationForbiddenForURLScheme):
9050        Add or remove the scheme to schemesForbiddenFromDomainRelaxation, as
9051        appropriate.
9052        (WebCore::SecurityOrigin::isDomainRelaxationForbiddenForURLScheme):
9053        Returns true if the scheme is in schemesForbiddenFromDomainRelaxation.
9054
9055        * page/SecurityOrigin.h: Added
9056        {set,is}DomainRelaxationForbiddenForURLScheme.
9057
90582010-01-18  Dan Bernstein  <mitz@apple.com>
9059
9060        Address review comments on the last change
9061
9062        * rendering/TrailingFloatsRootInlineBox.h:
9063        (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox):
9064
90652010-01-18  Dan Bernstein  <mitz@apple.com>
9066
9067        Reviewed by Darin Adler.
9068
9069        <rdar://problem/6892207> REGRESSION (Safari 4): Menus at sciencedirect.com push the main article context down the page
9070        <rdar://problem/7546035> Second right floated image misplacment
9071        https://bugs.webkit.org/show_bug.cgi?id=33245
9072
9073        Test: fast/dynamic/float-in-trailing-whitespace-after-last-line-break-2.html
9074
9075        When the last line of a block contains a line break and there are floats
9076        after the line break, it is incorrect to put those floats in the last line’s
9077        floats vector (along with floats from before the break). Instead, create
9078        an additional line box (a TrailingFloatsRootInlineBox) and put those floats
9079        in its floats vector. 
9080
9081        * WebCore.vcproj/WebCore.vcproj: Added TrailingFloatsRootInlineBox.h
9082        * WebCore.xcodeproj/project.pbxproj: Ditto.
9083        * rendering/RenderBlock.cpp:
9084        (WebCore::RenderBlock::markLinesDirtyInVerticalRange): Added an optional
9085        parameter, which is the highest line to dirty.
9086        * rendering/RenderBlock.h:
9087        * rendering/RenderBlockLineLayout.cpp:
9088        (WebCore::RenderBlock::layoutInlineChildren): Create a TrailingFloatsRootInlineBox
9089        for the floats occurring after the line break on the last line.
9090        (WebCore::RenderBlock::determineStartPosition): Prevent dirtying of lines
9091        above the first dirty line.
9092        * rendering/TrailingFloatsRootInlineBox.h: Added.
9093        (WebCore::TrailingFloatsRootInlineBox::TrailingFloatsRootInlineBox): Call
9094        setHasVirtualHeight().
9095        (WebCore::TrailingFloatsRootInlineBox::virtualHeight): Return 0.
9096
90972010-01-18  Gavin Barraclough  <barraclough@apple.com>
9098
9099        Reviewed by NOBODY (build fix).
9100
9101        Eeeep! reverting r53416 & r53417, more to be done to fix windows.
9102
9103        * WebCore.base.exp:
9104        * platform/sql/SQLiteFileSystem.cpp:
9105        (WebCore::SQLiteFileSystem::openDatabase):
9106        * platform/sql/SQLiteStatement.cpp:
9107        (WebCore::SQLiteStatement::prepare):
9108        * platform/sql/SQLiteStatement.h:
9109        * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
9110        (WebCore::SQLiteFileSystem::openDatabase):
9111        * platform/text/PlatformString.h:
9112        * platform/text/String.cpp:
9113        (WebCore::String::charactersWithNullTermination):
9114        * platform/text/StringImpl.cpp:
9115        (WebCore::StringImpl::operator new):
9116        (WebCore::StringImpl::operator delete):
9117        (WebCore::StringImpl::StringImpl):
9118        (WebCore::StringImpl::~StringImpl):
9119        (WebCore::StringImpl::create):
9120        (WebCore::StringImpl::createWithTerminatingNullCharacter):
9121        (WebCore::StringImpl::crossThreadString):
9122        (WebCore::StringImpl::sharedBuffer):
9123        * platform/text/StringImpl.h:
9124        (WebCore::StringImpl::hasTerminatingNullCharacter):
9125        (WebCore::StringImpl::inTable):
9126        (WebCore::StringImpl::setInTable):
9127        (WebCore::StringImpl::):
9128        * platform/win/ClipboardUtilitiesWin.cpp:
9129        (WebCore::createGlobalData):
9130        * storage/OriginUsageRecord.cpp:
9131        (WebCore::OriginUsageRecord::addDatabase):
9132        (WebCore::OriginUsageRecord::markDatabase):
9133
91342010-01-18  Gavin Barraclough  <barraclough@apple.com>
9135
9136        Reviewed by NOBODY (windows build fix).
9137
9138        * platform/win/ClipboardUtilitiesWin.cpp:
9139        (WebCore::createGlobalData):
9140
91412010-01-15  Gavin Barraclough  <barraclough@apple.com>
9142
9143        Reviewed by Darin Adler.
9144
9145        https://bugs.webkit.org/show_bug.cgi?id=33731
9146        Remove uses of PtrAndFlags from WebCore::StringImpl.
9147
9148        These break the OS X Leaks tool.  Move the management of null-terminated copies
9149        out from StringImpl to String, and use a bit stolen from the refCount to hold the
9150        'InTable' flag.
9151
9152        * platform/sql/SQLiteFileSystem.cpp:
9153        (WebCore::SQLiteFileSystem::openDatabase):
9154        * platform/sql/SQLiteStatement.cpp:
9155        (WebCore::SQLiteStatement::prepare):
9156        * platform/sql/SQLiteStatement.h:
9157        * platform/text/PlatformString.h:
9158        * platform/text/String.cpp:
9159        (WebCore::String::copyWithNullTermination):
9160        * platform/text/StringImpl.cpp:
9161        (WebCore::StringImpl::StringImpl):
9162        (WebCore::StringImpl::~StringImpl):
9163        (WebCore::StringImpl::create):
9164        (WebCore::StringImpl::crossThreadString):
9165        (WebCore::StringImpl::sharedBuffer):
9166        * platform/text/StringImpl.h:
9167        (WebCore::StringImpl::inTable):
9168        (WebCore::StringImpl::setInTable):
9169
91702010-01-18  Chris Marrin  <cmarrin@apple.com>
9171
9172        Reviewed by Darin Adler.
9173
9174        Made root compositing layer scroll rather than scroll parent.
9175        https://bugs.webkit.org/show_bug.cgi?id=32279
9176        
9177        There's some general cleanup here so the frames, bounds and
9178        positions of all the associated layers are correct.
9179        I also changed API of setScrollFrame to use an IntRect.
9180
9181        * platform/graphics/win/WKCACFLayerRenderer.cpp:
9182        (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
9183        (WebCore::WKCACFLayerRenderer::setScrollFrame):
9184        (WebCore::WKCACFLayerRenderer::setRootChildLayer):
9185        (WebCore::WKCACFLayerRenderer::createRenderer):
9186        (WebCore::WKCACFLayerRenderer::resize):
9187        * platform/graphics/win/WKCACFLayerRenderer.h:
9188
91892010-01-18  Ilya Tikhonovsky  <loislo@chromium.org>
9190
9191        Reviewed by Pavel Feldman.
9192
9193        WebInspector: Timeline panel scrolling speed can be 2 times faster.
9194        https://bugs.webkit.org/show_bug.cgi?id=33794
9195
9196        * inspector/front-end/TimelinePanel.js:
9197        (WebInspector.TimelinePanel.prototype._scheduleRefresh):
9198        (WebInspector.TimelinePanel.prototype._refreshRecords):
9199        (WebInspector.TimelineCalculator):
9200        (WebInspector.TimelineCalculator.prototype.calculateWindow):
9201        (WebInspector.TimelineCalculator.prototype.reset):
9202        (WebInspector.TimelineCalculator.prototype.updateBoundaries):
9203        (WebInspector.TimelineRecordGraphRow.prototype.update):
9204
92052010-01-18  Steve Block  <steveblock@google.com>
9206
9207        Reviewed by Adam Barth.
9208
9209        Moves JSC-specific version of JavaInstance from bridge/jni/jni_instance to bridge/jni/jsc/JavaInstanceJSC
9210        https://bugs.webkit.org/show_bug.cgi?id=33672
9211
9212        No new tests, refactoring only.
9213
9214        * Android.jscbindings.mk: Modified. Removed jni_instance.cpp and added JavaInstanceJSC.cpp
9215        * GNUmakefile.am: Modified. Removed jni_instance.h and added JavaInstanceJSC.h
9216        * WebCore.xcodeproj/project.pbxproj: Modified. Removed jni_instance.[cpp|h] and added JavaInstanceJSC.[cpp|h]
9217        * bindings/js/ScriptControllerMac.mm: Modified. Includes JavaInstanceJSC.h
9218        * bridge/jni/jni_instance.cpp: Removed.
9219        * bridge/jni/jni_instance.h: Removed.
9220        * bridge/jni/jni_runtime.h: Modified. Includes JavaInstanceJSC.h
9221        * bridge/jni/jsc/JavaInstanceJSC.cpp: Copied from WebCore/bridge/jni/jni_instance.cpp.
9222        * bridge/jni/jsc/JavaInstanceJSC.h: Copied from WebCore/bridge/jni/jni_instance.h.
9223
92242010-01-18  Peter Kasting  <pkasting@google.com>
9225
9226        Reviewed by Adam Barth.
9227
9228        Simplify image decoders slightly by using OwnPtr instead of raw pointers
9229        and eliminating a basically-useless wrapper class in the GIF decoder.
9230        https://bugs.webkit.org/show_bug.cgi?id=28751
9231
9232        * platform/graphics/qt/ImageDecoderQt.cpp:
9233        (WebCore::ImageDecoderQt::ImageDecoderQt):
9234        (WebCore::ImageDecoderQt::~ImageDecoderQt):
9235        (WebCore::ImageDecoderQt::setData):
9236        (WebCore::ImageDecoderQt::internalReadImage):
9237        (WebCore::ImageDecoderQt::failRead):
9238        * platform/graphics/qt/ImageDecoderQt.h:
9239        * platform/image-decoders/gif/GIFImageDecoder.cpp:
9240        (WebCore::GIFImageDecoder::GIFImageDecoder):
9241        (WebCore::GIFImageDecoder::~GIFImageDecoder):
9242        (WebCore::GIFImageDecoder::setData):
9243        (WebCore::GIFImageDecoder::frameCount):
9244        (WebCore::GIFImageDecoder::repetitionCount):
9245        (WebCore::GIFImageDecoder::decode):
9246        (WebCore::GIFImageDecoder::decodingHalted):
9247        (WebCore::GIFImageDecoder::initFrameBuffer):
9248        (WebCore::GIFImageDecoder::haveDecodedRow):
9249        (WebCore::GIFImageDecoder::gifComplete):
9250        * platform/image-decoders/gif/GIFImageDecoder.h:
9251        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
9252        (WebCore::JPEGImageDecoder::JPEGImageDecoder):
9253        (WebCore::JPEGImageDecoder::~JPEGImageDecoder):
9254        (WebCore::JPEGImageDecoder::setData):
9255        (WebCore::JPEGImageDecoder::decode):
9256        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
9257        * platform/image-decoders/png/PNGImageDecoder.cpp:
9258        (WebCore::PNGImageDecoder::PNGImageDecoder):
9259        (WebCore::PNGImageDecoder::~PNGImageDecoder):
9260        (WebCore::PNGImageDecoder::setData):
9261        (WebCore::PNGImageDecoder::decode):
9262        (WebCore::PNGImageDecoder::headerAvailable):
9263        (WebCore::PNGImageDecoder::rowAvailable):
9264        * platform/image-decoders/png/PNGImageDecoder.h:
9265
92662010-01-18  Daniel Cheng  <dcheng@google.com>
9267
9268        Reviewed by Adam Roben.
9269
9270        DataTransfer interface broken on Windows--types member is always
9271        undefined, and getData() does not work.
9272        https://bugs.webkit.org/show_bug.cgi?id=30527
9273
9274        * platform/win/ClipboardWin.cpp:
9275        (WebCore::addMimeTypesForFormat): pass FORMATETC as a const ref.
9276        (WebCore::ClipboardWin::types): fix calls to IEnumFORMATETC.
9277        (WebCore::ClipboardWin::hasData): fix calls to IEnumFORMATETC.
9278
92792010-01-18  Mikhail Naganov  <mnaganov@chromium.org>
9280
9281        Reviewed by Timothy Hatcher.
9282
9283        Don't show Profiles welcome screen on panel switch,
9284        if a profile view is shown.
9285
9286        https://bugs.webkit.org/show_bug.cgi?id=33799
9287
9288        * inspector/front-end/ProfilesPanel.js:
9289        (WebInspector.ProfilesPanel.prototype.show):
9290
92912010-01-18  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
9292
9293        Reviewed by Simon Hausmann.
9294
9295        [Qt] Force qmake to generate a single makefile for DerivedSources.pro
9296
9297        * DerivedSources.pro:
9298
92992010-01-18  Jonathan Dixon  <joth@chromium.org>
9300
9301        Reviewed by Adam Barth.
9302
9303        Add support for enabling navigator.geolocation at runtime in the V8 bindings.
9304        Adds the [EnabledAtRuntime] modifier to the navigator IDL.
9305        https://bugs.webkit.org/show_bug.cgi?id=33467
9306
9307        * WebCore.gypi:
9308        * bindings/v8/RuntimeEnabledFeatures.cpp:
9309        * bindings/v8/RuntimeEnabledFeatures.h:
9310        (WebCore::RuntimeEnabledFeatures::setGeolocationEnabled):
9311        (WebCore::RuntimeEnabledFeatures::geolocationEnabled):
9312        * bindings/v8/custom/V8NavigatorCustom.cpp: Added.
9313        (WebCore::V8Navigator::GeolocationEnabled):
9314        * page/Navigator.cpp:
9315        (WebCore::Navigator::geolocation):
9316        * page/Navigator.idl:
9317
93182010-01-18  Alexander Pavlov  <apavlov@chromium.org>
9319
9320        Reviewed by Pavel Feldman.
9321
9322        Improve Resources panel performance for lots of resources
9323
9324        DOM properties are extracted into const's, comparisons are faster.
9325        https://bugs.webkit.org/show_bug.cgi?id=33790
9326
9327        * inspector/front-end/AbstractTimelinePanel.js:
9328        (WebInspector.AbstractTimelinePanel.prototype._updateDividersLabelBarPosition):
9329        * inspector/front-end/Resource.js:
9330        (WebInspector.Resource.CompareByStartTime):
9331        (WebInspector.Resource.CompareByResponseReceivedTime):
9332        (WebInspector.Resource.CompareByEndTime):
9333        (WebInspector.Resource.CompareByDuration):
9334        (WebInspector.Resource.CompareByLatency):
9335        (WebInspector.Resource.CompareBySize):
9336        * inspector/front-end/ResourcesPanel.js:
9337        (WebInspector.ResourceGraph.prototype.refreshLabelPositions):
9338
93392010-01-18  Daniel Bates  <dbates@rim.com>
9340
9341        Reviewed by Eric Seidel.
9342
9343        https://bugs.webkit.org/show_bug.cgi?id=33726
9344
9345        Following up on changes made with respect to bug #33498, we should
9346        fix the the style errors found by the style bot.
9347        
9348        Moreover, this fixes all the style errors found by check-webkit-style
9349        except the use of an underline in the variable name _niflags. We should
9350        fix this in a second run through for all the other variables names that
9351        contain an underline because there are many.
9352
9353        No functionality was changed. So, no new tests.
9354
9355        * rendering/style/SVGRenderStyle.h:
9356        (WebCore::SVGRenderStyle::create):
9357        (WebCore::SVGRenderStyle::copy):
9358        (WebCore::SVGRenderStyle::operator!=):
9359        (WebCore::SVGRenderStyle::hasStroke):
9360        (WebCore::SVGRenderStyle::hasFill):
9361        (WebCore::SVGRenderStyle::InheritedFlags::operator==):
9362        (WebCore::SVGRenderStyle::InheritedFlags::operator!=):
9363        (WebCore::SVGRenderStyle::NonInheritedFlags::operator==):
9364        (WebCore::SVGRenderStyle::NonInheritedFlags::operator!=):
9365        (WebCore::SVGRenderStyle::NonInheritedFlags::):
9366        (WebCore::SVGRenderStyle::):
9367        (WebCore::SVGRenderStyle::setBitDefaults):
9368
93692010-01-18  Andrei Popescu  <andreip@google.com>
9370
9371        Reviewed by Adam Barth.
9372
9373        [Android] DOMWrapperMap::Visitor needs virtual destructor
9374        https://bugs.webkit.org/show_bug.cgi?id=33675
9375
9376        Add protected virtual dtor to DOMWrapperMap::Visitor. See bug for further discussion.
9377
9378        No new tests needed, functionality not changed.
9379
9380        * bindings/v8/V8DOMMap.h:
9381        (WebCore::DOMWrapperMap::Visitor::~Visitor): Added.
9382
93832010-01-18  Simon Hausmann  <simon.hausmann@nokia.com>
9384
9385        Unreviewed Symbian build fix.
9386
9387        If we don't link with def files, then we have to pass EXPORTUNFROZEN,
9388        so that the build system still creates the .dso files in
9389        release/armv5/lib and we can actually link against the created QtWebKit
9390        dlls.
9391
9392        Thanks Iain for the help!
9393
9394        * WebCore.pro:
9395
93962010-01-17  Srinidhi Shreedhara  <srinidhi.shreedhara@nokia.com>
9397
9398        Reviewed by Simon Hausmann.
9399
9400        [Qt] [Symbian] SetWindow call in npapi plugin does not happen when the cooridnates are negative
9401        https://bugs.webkit.org/show_bug.cgi?id=33573
9402
9403        * plugins/symbian/PluginViewSymbian.cpp:
9404        (WebCore::PluginView::setNPWindowIfNeeded): Remove tests for negative
9405        coordinates for early return.
9406
94072010-01-17  Oliver Hunt  <oliver@apple.com>
9408
9409        Reviewed by Dan Bernstein.
9410
9411        REGRESSION (r52449): SVG mask wrongly clipped when not at origin for recent nightly build
9412        https://bugs.webkit.org/show_bug.cgi?id=33782
9413
9414        Test: svg/custom/transformedMaskFails.svg
9415
9416        When computing the bounds for elements in a mask, we iterate through
9417        all of our children requesting their repaint bounds using
9418        repaintRectInLocalCoordinates(), but we were not converting that
9419        rect into our own coordinate system, thus leading to an incorrect
9420        repaint rect.  This patch simply adds the missing localToParent
9421        transform.
9422
9423        * svg/SVGMaskElement.cpp:
9424        (WebCore::SVGMaskElement::drawMaskerContent):
9425
94262010-01-17  Maciej Stachowiak  <mjs@apple.com>
9427
9428        Reviewed by Dan Bernstein.
9429
9430        Avoid slow access to AX objects on attribute access when AX is off
9431        https://bugs.webkit.org/show_bug.cgi?id=33779
9432
9433        ~4% Dromaeo attributes test speedup
9434
9435        * dom/Element.cpp:
9436        (WebCore::Element::updateAfterAttributeChanged): Don't do expensive lookup of
9437        AX object cache unless accessibility is on and an AX-related attribute is
9438        changed.
9439
94402010-01-17  Kevin Watters  <kevinwatters@gmail.com>
9441
9442        Reviewed by Kevin Ollivier.
9443
9444        [wx] On Win and GTK, we need to manually apply the transforms when falling back
9445        to GDI / GDK drawing, but this is not needed on Mac since we always use CG there.
9446        
9447        https://bugs.webkit.org/show_bug.cgi?id=33730
9448
9449        * platform/wx/RenderThemeWx.cpp:
9450        (WebCore::RenderThemeWx::paintButton):
9451
94522010-01-17  Martin Robinson  <martin.james.robinson@gmail.com>
9453
9454        Reviewed by Gustavo Noronha Silva.
9455
9456        [GTK] GtkWebKit incompatible with rgba colormaps
9457        https://bugs.webkit.org/show_bug.cgi?id=20736
9458
9459        Fix GTK theme rendering onto drawables with RGBA colormaps. Now
9460        each type of colormap has its own collection of GtkWidgets.
9461
9462        This fix does not introduce any functionality changes, so does not
9463        includes new tests.
9464
9465        * platform/gtk/RenderThemeGtk.cpp:
9466        (WebCore::RenderThemeGtk::RenderThemeGtk):
9467        (WebCore::RenderThemeGtk::~RenderThemeGtk):
9468        (WebCore::RenderThemeGtk::partsForDrawable):
9469        (WebCore::adjustMozillaStyle):
9470        (WebCore::setMozillaState):
9471        (WebCore::paintMozillaGtkWidget):
9472        (WebCore::setToggleSize):
9473        (WebCore::RenderThemeGtk::setCheckboxSize):
9474        (WebCore::RenderThemeGtk::paintCheckbox):
9475        (WebCore::RenderThemeGtk::setRadioSize):
9476        (WebCore::RenderThemeGtk::paintRadio):
9477        (WebCore::RenderThemeGtk::paintButton):
9478        (WebCore::RenderThemeGtk::adjustMenuListStyle):
9479        (WebCore::RenderThemeGtk::paintMenuList):
9480        (WebCore::RenderThemeGtk::adjustTextFieldStyle):
9481        (WebCore::RenderThemeGtk::paintTextField):
9482        (WebCore::RenderThemeGtk::paintSearchFieldResultsButton):
9483        (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
9484        (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
9485        * platform/gtk/RenderThemeGtk.h:
9486        * platform/gtk/gtk2drawing.c:
9487        (moz_gtk_use_theme_parts):
9488        (ensure_window_widget):
9489        (setup_widget_prototype):
9490        (ensure_button_widget):
9491        (ensure_hpaned_widget):
9492        (ensure_vpaned_widget):
9493        (ensure_toggle_button_widget):
9494        (ensure_button_arrow_widget):
9495        (ensure_checkbox_widget):
9496        (ensure_radiobutton_widget):
9497        (ensure_scrollbar_widget):
9498        (ensure_spin_widget):
9499        (ensure_scale_widget):
9500        (ensure_entry_widget):
9501        (moz_gtk_get_combo_box_inner_button):
9502        (moz_gtk_get_combo_box_button_inner_widgets):
9503        (ensure_combo_box_widgets):
9504        (moz_gtk_get_combo_box_entry_inner_widgets):
9505        (moz_gtk_get_combo_box_entry_arrow):
9506        (ensure_combo_box_entry_widgets):
9507        (ensure_handlebox_widget):
9508        (ensure_toolbar_widget):
9509        (ensure_toolbar_separator_widget):
9510        (ensure_tooltip_widget):
9511        (ensure_tab_widget):
9512        (ensure_progress_widget):
9513        (ensure_statusbar_widget):
9514        (ensure_frame_widget):
9515        (ensure_menu_bar_widget):
9516        (ensure_menu_bar_item_widget):
9517        (ensure_menu_popup_widget):
9518        (ensure_menu_item_widget):
9519        (ensure_image_menu_item_widget):
9520        (ensure_menu_separator_widget):
9521        (ensure_check_menu_item_widget):
9522        (ensure_tree_view_widget):
9523        (ensure_tree_header_cell_widget):
9524        (ensure_expander_widget):
9525        (ensure_scrolled_window_widget):
9526        (moz_gtk_checkbox_get_metrics):
9527        (moz_gtk_radio_get_metrics):
9528        (moz_gtk_splitter_get_metrics):
9529        (moz_gtk_toggle_paint):
9530        (moz_gtk_scrollbar_button_paint):
9531        (moz_gtk_scrollbar_trough_paint):
9532        (moz_gtk_scrollbar_thumb_paint):
9533        (moz_gtk_spin_paint):
9534        (moz_gtk_spin_updown_paint):
9535        (moz_gtk_scale_paint):
9536        (moz_gtk_scale_thumb_paint):
9537        (moz_gtk_gripper_paint):
9538        (moz_gtk_hpaned_paint):
9539        (moz_gtk_vpaned_paint):
9540        (moz_gtk_caret_paint):
9541        (moz_gtk_treeview_paint):
9542        (moz_gtk_tree_header_cell_paint):
9543        (moz_gtk_tree_header_sort_arrow_paint):
9544        (moz_gtk_treeview_expander_paint):
9545        (moz_gtk_expander_paint):
9546        (moz_gtk_combo_box_paint):
9547        (moz_gtk_downarrow_paint):
9548        (moz_gtk_combo_box_entry_button_paint):
9549        (moz_gtk_container_paint):
9550        (moz_gtk_toggle_label_paint):
9551        (moz_gtk_toolbar_paint):
9552        (moz_gtk_toolbar_separator_paint):
9553        (moz_gtk_tooltip_paint):
9554        (moz_gtk_resizer_paint):
9555        (moz_gtk_frame_paint):
9556        (moz_gtk_progressbar_paint):
9557        (moz_gtk_progress_chunk_paint):
9558        (moz_gtk_get_tab_thickness):
9559        (moz_gtk_tab_paint):
9560        (moz_gtk_tabpanels_paint):
9561        (moz_gtk_tab_scroll_arrow_paint):
9562        (moz_gtk_menu_bar_paint):
9563        (moz_gtk_menu_popup_paint):
9564        (moz_gtk_menu_separator_paint):
9565        (moz_gtk_menu_item_paint):
9566        (moz_gtk_menu_arrow_paint):
9567        (moz_gtk_check_menu_item_paint):
9568        (moz_gtk_window_paint):
9569        (moz_gtk_get_widget_border):
9570        (moz_gtk_get_combo_box_entry_button_size):
9571        (moz_gtk_get_tab_scroll_arrow_size):
9572        (moz_gtk_get_downarrow_size):
9573        (moz_gtk_get_toolbar_separator_width):
9574        (moz_gtk_get_expander_size):
9575        (moz_gtk_get_treeview_expander_size):
9576        (moz_gtk_get_menu_separator_height):
9577        (moz_gtk_get_scalethumb_metrics):
9578        (moz_gtk_get_scrollbar_metrics):
9579        (moz_gtk_images_in_menus):
9580        (moz_gtk_widget_paint):
9581        (moz_gtk_get_scrollbar_widget):
9582        (moz_gtk_shutdown):
9583        (moz_gtk_destroy_theme_parts_widgets):
9584        * platform/gtk/gtkdrawing.h:
9585
95862010-01-16  Maciej Stachowiak  <mjs@apple.com>
9587
9588        Reviewed by Oliver Hunt.
9589
9590        Cache JS string values made from DOM strings (Dromaeo speedup)
9591        https://bugs.webkit.org/show_bug.cgi?id=33768
9592        <rdar://problem/7353576>
9593
9594        Added a new cache for JSString values that are created from Strings or AtomicStrings
9595        in the DOM. It's common for the same string to be retrieved from the DOM repeatedly,
9596        and it is wasteful to make a new JS-level string value every time.
9597        
9598        The string cache is per-world, and thus thread-safe and not a
9599        vector for accidental information exchange.
9600        
9601        ~30% speedup on Dromaeo Attributes test, also substantially helps other Dromaeo DOM tests.
9602
9603        * bindings/js/JSDOMBinding.cpp:
9604        (WebCore::jsStringCache): Helper function to get the string cache for the current world.
9605        (WebCore::jsString): Some new overloads including the caching version.
9606        (WebCore::stringWrapperDestroyed): Finalizer callback - remove from relevant caches.
9607        * bindings/js/JSDOMBinding.h:
9608        (WebCore::jsString): Prototype new overloads (and define a few inline).
9609        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
9610        (WebCore::JSJavaScriptCallFrame::type): Explicitly make a UString.
9611        * bindings/js/ScriptFunctionCall.cpp:
9612        (WebCore::ScriptFunctionCall::appendArgument): Ditto.
9613        * WebCore.base.exp: Add new JSString overloads that WebCore gets to see.
9614
96152010-01-16  Oliver Hunt  <oliver@apple.com>
9616
9617        Reviewed by Nikolas Zimmermann.
9618
9619        SVG Markers are getting culled incorrectly
9620        https://bugs.webkit.org/show_bug.cgi?id=33767
9621
9622        Use applyTransformToPaintInfo to transform the paintInfo, otherwise
9623        the paint rect is not updated leading to incorrect culling.
9624
9625        * svg/graphics/SVGResourceMarker.cpp:
9626        (WebCore::SVGResourceMarker::draw):
9627
96282010-01-15  John Sullivan  <sullivan@apple.com>
9629
9630        https://bugs.webkit.org/show_bug.cgi?id=33751 and <rdar://problem/7538330>
9631        Zip code field is misidentified as street address because id attribute isn't checked.
9632
9633        Reviewed by Darin Adler
9634
9635        No new tests. I believe this code is used only by Safari AutoFill, but in any case
9636        it does not affect page rendering or anything else at the WebCore/WebKit level.
9637
9638        * page/Frame.cpp:
9639        (WebCore::matchLabelsAgainstString):
9640        New function, split out from matchLabelsAgainstElement.
9641        (WebCore::Frame::matchLabelsAgainstElement):
9642        Now calls matchLabelsAgainstString for the id attribute if no match is found for the name attribute.
9643        
9644        * page/mac/FrameMac.mm:
9645        (WebCore::matchLabelsAgainstString):
9646        Same as above. This is a parallel copy of the function using Mac-specific data structures.
9647        (WebCore::Frame::matchLabelsAgainstElement):
9648        Ditto.
9649
96502010-01-16  Timothy Hatcher  <timothy@apple.com>
9651
9652        Use String.trim() instead of a regex in the Web Inspector.
9653
9654        https://bugs.webkit.org/show_bug.cgi?id=33765
9655
9656        Reviewed by George Staikos.
9657
9658        * inspector/front-end/ElementsPanel.js:
9659        (WebInspector.ElementsPanel.prototype.performSearch): Use .trim().
9660        * inspector/front-end/ObjectPropertiesSection.js:
9661        (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Ditto.
9662        * inspector/front-end/ProfileView.js:
9663        * inspector/front-end/SourceFrame.js:
9664        (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame): Ditto.
9665        * inspector/front-end/StylesSidebarPane.js:
9666        (WebInspector.StylePropertyTreeElement.prototype): Ditto.
9667        * inspector/front-end/utilities.js:
9668        (String.prototype.trimLeadingWhitespace): Removed.
9669        (String.prototype.trimTrailingWhitespace): Removed.
9670        (String.prototype.trimWhitespace): Removed.
9671
96722010-01-16  Oliver Hunt  <oliver@apple.com>
9673
9674        Reviewed by Nikolas Zimmermann.
9675
9676        Copying TransformationMatrix consumed a lot of cpu time while scroll with cursor over content
9677        https://bugs.webkit.org/show_bug.cgi?id=33766
9678
9679        Make localToParentTransform return by reference to avid copy overhead.
9680        This is a little gnarly in places as it means we need to be able to 
9681        return temporary values in a few implementations, so we have to add
9682        class fields to hold them, heppily the classes that these effect are
9683         sufficiently uncommon for this to be okay.
9684
9685        * rendering/RenderForeignObject.cpp:
9686        (WebCore::RenderForeignObject::localToParentTransform):
9687        * rendering/RenderForeignObject.h:
9688        * rendering/RenderObject.cpp:
9689        (WebCore::RenderObject::localTransform):
9690        (WebCore::RenderObject::localToParentTransform):
9691        * rendering/RenderObject.h:
9692        * rendering/RenderPath.cpp:
9693        (WebCore::RenderPath::localToParentTransform):
9694        (WebCore::RenderPath::nodeAtFloatPoint):
9695        * rendering/RenderPath.h:
9696        * rendering/RenderSVGImage.h:
9697        (WebCore::RenderSVGImage::localToParentTransform):
9698        * rendering/RenderSVGRoot.cpp:
9699        (WebCore::RenderSVGRoot::localToParentTransform):
9700        * rendering/RenderSVGRoot.h:
9701        * rendering/RenderSVGText.h:
9702        (WebCore::RenderSVGText::localToParentTransform):
9703        * rendering/RenderSVGTransformableContainer.cpp:
9704        (WebCore::RenderSVGTransformableContainer::localToParentTransform):
9705        * rendering/RenderSVGTransformableContainer.h:
9706        * rendering/RenderSVGViewportContainer.cpp:
9707        (WebCore::RenderSVGViewportContainer::localToParentTransform):
9708        * rendering/RenderSVGViewportContainer.h:
9709
97102010-01-16  Darin Adler  <darin@apple.com>
9711
9712        Reviewed by Oliver Hunt and Alexey Proskuryakov.
9713
9714        ValidityState can hold a stale pointer to control
9715        https://bugs.webkit.org/show_bug.cgi?id=33729
9716        rdar://problem/7545114
9717
9718        Test: fast/forms/ValidityState-removed-control.html
9719
9720        * html/HTMLFormControlElement.h: Use OwnPtr instead of
9721        RefPtr to point to the ValidityState object.
9722
9723        * html/ValidityState.cpp: Use a constant instead of a
9724        macro for the email validation regular expression.
9725        (WebCore::ValidityState::validationMessage): Use
9726        m_control instead of control function; we don't need
9727        a function for this. Also marked const.
9728        (WebCore::ValidityState::typeMismatch): Ditto.
9729        Fixed some minor style problems.
9730        (WebCore::ValidityState::rangeUnderflow): Ditto.
9731        (WebCore::ValidityState::rangeOverflow): Ditto.
9732        (WebCore::ValidityState::stepMismatch): Ditto.
9733        (WebCore::ValidityState::valid): Ditto.
9734        (WebCore::ValidityState::isValidEmailAddress):
9735        Changed local variable names for clarity. Got rid of
9736        an unneeded global variable.
9737
9738        * html/ValidityState.h: Removed RefCounted as a base
9739        class, deriving from Noncopyable instead. Changed
9740        creation to use PassOwnPtr instead of PassRefPtr.
9741        Eliminated unneeded control function. Added ref and
9742        deref functions that forward the reference counting
9743        to the control. Moved constructor here and made it
9744        inline.
9745
97462010-01-15  Alexey Proskuryakov  <ap@apple.com>
9747
9748        Reviewed by Darin Adler.
9749
9750        https://bugs.webkit.org/show_bug.cgi?id=33752
9751        Assertion failure when getting a href attribute with prefix
9752
9753        This was due to a temporary change made in 2005 (r9639) - checks in checkSetPrefix were
9754        disabled during introduction of QualifiedName, but never re-enabled.
9755
9756        Tests: fast/dom/bad-href-attribute.html
9757               fast/dom/node-prefix-setter-namespace-exception.html
9758
9759        * dom/Attr.cpp: (WebCore::Attr::setPrefix):
9760        * dom/Element.cpp: (WebCore::Element::setPrefix):
9761        * dom/Node.cpp: (WebCore::Node::checkSetPrefix):
9762        Re-enabled the checks. Also, changed the prefix setter to treat "" as null, matching Firefox
9763        (DOM 3 Core spec says this behavior is implementation defined).
9764
97652010-01-16  Brady Eidson  <beidson@apple.com>
9766
9767        Reviewed by Darin Adler.
9768
9769        <rdar://problem/7536748> and https://bugs.webkit.org/show_bug.cgi?id=33571
9770        History traversals to a new document do not get the popstate event
9771
9772        State objects now live-on in their HistoryItem indefinitely.
9773        This means any back/forward navigation might result in a popstate event, not just to 
9774        pre-existing documents as was previously the case.
9775
9776        * history/HistoryItem.cpp:
9777        (WebCore::HistoryItem::documentDetached): State objects are held beyond Document lifetime.
9778       
9779        * loader/FrameLoader.cpp:
9780        (WebCore::FrameLoader::begin): If there is a pending state object for this Frame load, pass it
9781          on to the Document after the Document is created.
9782        (WebCore::FrameLoader::transitionToCommitted): If the current history item has a state object,
9783          set it as the FrameLoad's pending state object.
9784        * loader/FrameLoader.h:
9785        
9786        * page/Page.cpp:
9787        (WebCore::Page::goToItem): Remove a now-invalid ASSERT.
9788
97892010-01-15  Simon Fraser  <simon.fraser@apple.com>
9790
9791        Reviewed by Dan Bernstein and Adele Peterson.
9792
9793        Support reflections on composited layers
9794        https://bugs.webkit.org/show_bug.cgi?id=31885
9795        
9796        Implement reflections (via -webkit-box-reflect:) on compositing layers.
9797        
9798        We add to the GraphicsLayer the notion of having a replica, and being a replicated layer.
9799        The replica layer is not parented in the tree, but referenced by another layer.
9800        RenderLayerBacking sets this up when it finds RenderLayers for reflections.
9801        
9802        GraphicsLayerCA implements rendering of replica layers by cloning CA layers,
9803        and copying their properties, including animations and contents. Deep reflections
9804        are supported by a hash of clone layers on each GraphicsLayerCA, indexed by
9805        the path down the tree to each replica instance.
9806        
9807        When GraphicsLayerCA properties are changed, in most cases the clones must also
9808        be updated.
9809
9810        Tests: compositing/masks/direct-image-mask.html
9811               compositing/reflections/animation-inside-reflection.html
9812               compositing/reflections/compositing-change-inside-reflection.html
9813               compositing/reflections/deeply-nested-reflections.html
9814               compositing/reflections/masked-reflection-on-composited.html
9815               compositing/reflections/nested-reflection-anchor-point.html
9816               compositing/reflections/nested-reflection-animated.html
9817               compositing/reflections/nested-reflection-mask-change.html
9818               compositing/reflections/nested-reflection-on-overflow.html
9819               compositing/reflections/nested-reflection-opacity.html
9820               compositing/reflections/nested-reflection-size-change.html
9821               compositing/reflections/nested-reflection-transformed.html
9822               compositing/reflections/nested-reflection-transition.html
9823               compositing/reflections/nested-reflection.html
9824               compositing/reflections/reflection-opacity.html
9825               compositing/reflections/reflection-ordering.html
9826               compositing/reflections/reflection-positioning.html
9827               compositing/reflections/transform-inside-reflection.html
9828
9829        * platform/graphics/GraphicsLayer.h:
9830        (WebCore::GraphicsLayer::isReplicated): Returns true when this layer has a replicated layer.
9831        (WebCore::GraphicsLayer::replicatedLayerPosition):
9832        (WebCore::GraphicsLayer::setReplicatedLayerPosition): The position of the replica layer must be 
9833        special-cased; we cannot just copy the position of the original.
9834        (WebCore::GraphicsLayer::didDisplay): Method that indicates that the contents of the layer changed,
9835        which gives us a chance to update clone layers.
9836        (WebCore::GraphicsLayer::replicaLayer): reference to the replica layer.
9837        (WebCore::GraphicsLayer::replicatedLayer): reference to the layer that this (replica) layer is replicating.
9838        (WebCore::GraphicsLayer::setReplicatedLayer):
9839
9840        * platform/graphics/GraphicsLayer.cpp:
9841        (WebCore::GraphicsLayer::GraphicsLayer):
9842        (WebCore::GraphicsLayer::setReplicatedByLayer): Hook up a replica with its replicated layer.
9843        (WebCore::GraphicsLayer::dumpProperties):
9844
9845        * platform/graphics/mac/GraphicsLayerCA.h:
9846        (WebCore::GraphicsLayerCA::primaryLayer): Returns a CALayer, since structural layers may not be WebLayers.
9847        (WebCore::GraphicsLayerCA::isReplicatedRootClone): Given a cloneID (string representation of the path to a clone
9848        down the tree, which is a bitstring of 1 (replica), or 0 (non-replica)), returns true if this ID represents the
9849        root of a replica tree.
9850        (WebCore::GraphicsLayerCA::primaryLayerClones): Returns a pointer to the hash map of clones of the primary layers.
9851
9852        (WebCore::GraphicsLayerCA::ReplicaState::ReplicaState): Small struct used to track original/clone branching
9853        down the tree during recursion, to build cloneID paths.
9854
9855        (WebCore::GraphicsLayerCA::hasCloneLayers): returns true if this layer has clone layers.
9856
9857        * platform/graphics/mac/GraphicsLayerCA.mm:
9858        (WebCore::GraphicsLayerCA::~GraphicsLayerCA): remove the clone layers.
9859        (WebCore::GraphicsLayerCA::setChildren): call noteSublayersChanged() since we may have to update replicas too.
9860        (WebCore::GraphicsLayerCA::addChild): ditto
9861        (WebCore::GraphicsLayerCA::addChildAtIndex): ditto
9862        (WebCore::GraphicsLayerCA::addChildBelow): ditto
9863        (WebCore::GraphicsLayerCA::addChildAbove): ditto
9864        (WebCore::GraphicsLayerCA::replaceChild): ditto
9865        (WebCore::GraphicsLayerCA::removeFromParent): ditto
9866        (WebCore::GraphicsLayerCA::setMaskLayer): call propagateLayerChangeToReplicas()
9867        (WebCore::GraphicsLayerCA::setReplicatedLayer): note replica changed.
9868        (WebCore::GraphicsLayerCA::setReplicatedByLayer): ditto
9869        (WebCore::GraphicsLayerCA::moveOrCopyAllAnimationsForProperty): Enhanced to allow moving or copying animations.
9870        (WebCore::GraphicsLayerCA::moveOrCopyAnimationsForProperty): Ditto.
9871        (WebCore::GraphicsLayerCA::setContentsToImage): call noteSublayersChanged()
9872        (WebCore::GraphicsLayerCA::setContentsToVideo): call noteSublayersChanged()
9873        (WebCore::GraphicsLayerCA::didDisplay): here is our chance to copy updated contents to clone layers.
9874        (WebCore::GraphicsLayerCA::recursiveCommitChanges):
9875        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): pre-order commit, for things that need to be
9876            committed before we recurse on children.
9877        (WebCore::GraphicsLayerCA::commitLayerChangesAfterSublayers): post-order commit, for things that need to be
9878            committed after we recurse on children, like clones.
9879        (WebCore::GraphicsLayerCA::updateLayerNames): New method to match the other 'update' methods.
9880        (WebCore::GraphicsLayerCA::updateSublayerList): Insert replica layers into the hierarchy.
9881        (WebCore::GraphicsLayerCA::updateLayerPosition): update clones.
9882        (WebCore::GraphicsLayerCA::updateLayerSize): ditto
9883        (WebCore::GraphicsLayerCA::updateAnchorPoint): ditto
9884        (WebCore::GraphicsLayerCA::updateTransform): ditto
9885        (WebCore::GraphicsLayerCA::updateChildrenTransform): ditto
9886        (WebCore::GraphicsLayerCA::updateMasksToBounds): ditto
9887        (WebCore::GraphicsLayerCA::updateContentsOpaque): ditto
9888        (WebCore::GraphicsLayerCA::updateBackfaceVisibility): ditto
9889        (WebCore::GraphicsLayerCA::updateStructuralLayer): call ensureStructuralLayer()
9890        (WebCore::moveAnimation): utility to move a CAAnimation from one layer to another.
9891        (WebCore::GraphicsLayerCA::ensureStructuralLayer): refactored code which creates enclosing CALayers for reflection
9892        flattening, or CATransformLayers for preserve-3d.
9893        (WebCore::GraphicsLayerCA::structuralLayerPurpose): indicates why we need a structural layer.
9894        (WebCore::GraphicsLayerCA::updateLayerDrawsContent): update clones
9895        (WebCore::GraphicsLayerCA::updateContentsImage): ditto
9896        (WebCore::GraphicsLayerCA::updateContentsRect): ditto
9897        (WebCore::GraphicsLayerCA::updateMaskLayer): ditto
9898        (WebCore::GraphicsLayerCA::updateReplicatedLayers): This is where we ask for the tree of layers for the replica
9899        and its children, and attach them as sublayers.
9900        (WebCore::GraphicsLayerCA::ReplicaState::cloneID): Build a bitstring from the array of original/clone values; this
9901        string serves to identify clones in the hash map.
9902        (WebCore::GraphicsLayerCA::replicatedLayerRoot): Request the tree of clone layers, set its position and transform,
9903        and return it.
9904        (WebCore::GraphicsLayerCA::setAnimationOnLayer): update clones
9905        (WebCore::GraphicsLayerCA::removeAnimationFromLayer): ditto
9906        (WebCore::GraphicsLayerCA::pauseAnimationOnLayer): ditto
9907        (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D): udpate sublayers.
9908        (WebCore::GraphicsLayerCA::suspendAnimations): update clones.
9909        (WebCore::GraphicsLayerCA::resumeAnimations): ditto
9910        (WebCore::GraphicsLayerCA::animatedLayerClones): return the hash map for clones of the appropriate layer for the given property.
9911        (WebCore::GraphicsLayerCA::ensureCloneLayers): create and return clones for the CALayers for this layer.
9912        (WebCore::GraphicsLayerCA::removeCloneLayers): clear out the clone layers.
9913        (WebCore::GraphicsLayerCA::positionForCloneRootLayer): the root of a clonal subtree needs its position and transform to be special-cased,
9914        since it doesn't just copy those properties from the original.
9915        (WebCore::GraphicsLayerCA::propagateLayerChangeToReplicas): push the change flags onto the replica.
9916        (WebCore::GraphicsLayerCA::fetchCloneLayers): recurse down sublayers, creating clones of the CALayers along the way, and returning
9917        the root of the clone tree.
9918        (WebCore::copyAnimation): utility to copy an animation from one layer to another. Animations can be shared between layers.
9919        (WebCore::GraphicsLayerCA::cloneLayer): utility to clone a CALayer, copying those properties which GraphicsLayerCA makes use of
9920        (WebCore::GraphicsLayerCA::setOpacityInternal): push opacity changes to clones.
9921        (WebCore::GraphicsLayerCA::updateOpacityOnLayer): ditto
9922        (WebCore::GraphicsLayerCA::noteSublayersChanged): set the ChildrenChanged flag, and proprate changes to the replica, if any.
9923
9924        * platform/graphics/mac/WebLayer.mm:
9925        (-[WebLayer display]): override -display so we know when to update the contents of clone layers
9926
9927        * platform/graphics/mac/WebTiledLayer.mm:
9928        (-[WebTiledLayer display]): ditto.
9929
9930        * rendering/RenderLayer.h:
9931        (WebCore::RenderLayer::isReflection): New method that returns true if the renderer is a replica.
9932
9933        * rendering/RenderLayer.cpp:
9934        (WebCore::RenderLayer::RenderLayer): initialize m_isReflection
9935        (WebCore::RenderLayer::updateReflectionStyle): call setIsReflection
9936
9937        * rendering/RenderLayerBacking.cpp:
9938        (WebCore::RenderLayerBacking::createGraphicsLayer): Put a name on the reflection layer.
9939        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Hook up the GraphicsLayers for the reflection.
9940        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Reflection overrides preserve-3d (you have to flatten to reflect).
9941        Also hook up updating the reflection layer geometry, and the relica position.
9942        
9943        (WebCore::RenderLayerBacking::paintIntoLayer): We no longer paint the reflection in software.
9944
9945        * rendering/RenderLayerCompositor.cpp:
9946        (WebCore::RenderLayerCompositor::computeCompositingRequirements): Hook reflection layers into the compositing logic.
9947        (WebCore::RenderLayerCompositor::canAccelerateVideoRendering): No longer have to push video into software if it's reflected.
9948        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Update the bounds of the reflection layer.
9949        (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): ditto
9950        (WebCore::RenderLayerCompositor::requiresCompositingWhenDescendantsAreCompositing): a compositing descendant forces
9951        a reflection ancestor to composite now.
9952        (WebCore::RenderLayerBacking::containsPaintedContent): Reflection layers don't paint anything.
9953        (WebCore::RenderLayerBacking::isDirectlyCompositedImage): No need to fall out of direct compositing mode
9954        for masks or reflections any more.
9955        (WebCore::RenderLayerBacking::paintIntoLayer): No need to paint the reflection manually now.
9956
9957        * rendering/RenderObject.h:
9958        (WebCore::RenderObject::isReplica):
9959        * rendering/RenderReplica.h:
9960        (WebCore::RenderReplica::isReplica):
9961        New method used to determine if a render is a replica.
9962
99632010-01-15  Carol Szabo  <carol.szabo@nokia.com>
9964
9965        Reviewed by Darin Adler.
9966
9967        CSS2.1 Counters not updated when new elements are inserted in the DOM.
9968        https://bugs.webkit.org/show_bug.cgi?id=32884
9969
9970        Test: fast/css/counters/adding-nodes.html
9971
9972        * rendering/CounterNode.cpp:
9973        (WebCore::CounterNode::insertAfter):
9974        Modified to handle the addition of nodes with children. Needed when formerly 
9975        root nodes become descendants of a new node.
9976        * rendering/RenderCounter.cpp:
9977        (WebCore::makeCounterNode):
9978        Changed to handle the case when root counter nodes lose their root 
9979        status as a result of a new root counter node creation. 
9980        (WebCore::destroyCounterNodeWithoutMapRemoval):
9981        Refactored more code into destroyCounterNodeChildren and renamed the
9982        function according to its new action.
9983        (WebCore::RenderCounter::destroyCounterNodes):
9984        Simplified to share more code with the new destroyCounterNode.
9985        (WebCore::RenderCounter::destroyCounterNode):
9986        Added to allow for selective counterNode destruction.
9987        (WebCore::RenderCounter::rendererSubtreeAttached):
9988        Added to refresh counter values in response to DOM changes.
9989        For renderers with no attached counters the execution time of this
9990        function cannot be discerned in comparison with the time needed to
9991        add a node or change the style of a node.
9992        (WebCore::updateCounters):
9993        Helper function for rendererSubtreeAttached. Updates the counters
9994        attached to a Renderer in response to the renderer or its ancestors
9995        being attached to the renderer tree.
9996        * rendering/RenderCounter.h:
9997        * rendering/RenderObject.cpp:
9998        (WebCore::RenderObject::addChild):
9999        Changed to update counter values if needed.
10000
100012010-01-15  Alejandro G. Castro  <alex@igalia.com>
10002
10003        Reviewed by Xan Lopez.
10004
10005        Original patch by David Ronis <david.ronis@mcgill.ca>
10006
10007        Upgrade 1.1.17->1.1.18 fails: GTK_WIDGET_TOPLEVEL' was not declared in this scope
10008        https://bugs.webkit.org/show_bug.cgi?id=33486
10009
10010        Deprecated symbols replaced for gtk+ versions over 2.18.
10011
10012        * platform/gtk/PlatformScreenGtk.cpp:
10013        (WebCore::getVisual):
10014        (WebCore::screenRect):
10015
100162010-01-15  Oliver Hunt  <oliver@apple.com>
10017
10018        Reviewed by Sam Weinig.
10019
10020        Bad DOM performance in large SVG files
10021        https://bugs.webkit.org/show_bug.cgi?id=30055
10022
10023        Improve the performance of the early culling check by avoiding save/restore
10024        of graphics state in culled case.
10025
10026        * rendering/RenderPath.cpp:
10027        (WebCore::RenderPath::paint):
10028
100292010-01-15  Eric Seidel  <eric@webkit.org>
10030
10031        No review, rolling out r53344.
10032        http://trac.webkit.org/changeset/53344
10033        https://bugs.webkit.org/show_bug.cgi?id=32920
10034
10035        Broke the Chromium Mac builder.
10036
10037        * WebCore.gypi:
10038        * bindings/scripts/CodeGeneratorV8.pm:
10039        * bindings/v8/SerializedScriptValue.cpp: Removed.
10040        * bindings/v8/SerializedScriptValue.h:
10041        (WebCore::SerializedScriptValue::create):
10042        (WebCore::SerializedScriptValue::release):
10043        (WebCore::SerializedScriptValue::toString):
10044        (WebCore::SerializedScriptValue::SerializedScriptValue):
10045        * bindings/v8/custom/V8DOMWindowCustom.cpp:
10046        (WebCore::V8DOMWindow::postMessageCallback):
10047        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
10048        (WebCore::V8DedicatedWorkerContext::postMessageCallback):
10049        * bindings/v8/custom/V8HistoryCustom.cpp:
10050        (WebCore::V8History::pushStateCallback):
10051        (WebCore::V8History::replaceStateCallback):
10052        * bindings/v8/custom/V8MessageEventCustom.cpp:
10053        (WebCore::V8MessageEvent::initMessageEventCallback):
10054        * bindings/v8/custom/V8MessagePortCustom.cpp:
10055        (WebCore::V8MessagePort::postMessageCallback):
10056        * bindings/v8/custom/V8PopStateEventCustom.cpp:
10057        (WebCore::V8PopStateEvent::initPopStateEventCallback):
10058        (WebCore::V8PopStateEvent::stateAccessorGetter):
10059        * bindings/v8/custom/V8WorkerCustom.cpp:
10060        (WebCore::V8Worker::postMessageCallback):
10061
100622010-01-15  Darin Fisher  <darin@chromium.org>
10063
10064        Reviewed by Brady Eidson.
10065
10066        history.length does not return number of elements in history list
10067        https://bugs.webkit.org/show_bug.cgi?id=24472
10068
10069        Test: fast/history/history-length.html
10070
10071        * page/Page.cpp:
10072        (WebCore::Page::getHistoryLength):
10073
100742010-01-15  Dmitry Titov  <dimich@chromium.org>
10075
10076        Reviewed by Darin Adler.
10077
10078        Need to ensure that Document::postTask does not provide the Task with a dangling pointer to destroyed Document
10079        https://bugs.webkit.org/show_bug.cgi?id=31633
10080
10081        Don't see a way to add test for it, we don't have a way to reproduce the issue currently.
10082
10083        * dom/Document.cpp:
10084        (WebCore::DocumentWeakReference::DocumentWeakReference):
10085        (WebCore::DocumentWeakReference::document):
10086        (WebCore::DocumentWeakReference::clear):
10087        (WebCore::Document::Document): Create a weak reference to this Document.
10088        (WebCore::Document::~Document): Clear the weak pointer, preventing further execution of tasks.
10089        (WebCore::PerformTaskContext::PerformTaskContext):
10090        (WebCore::performTask): Check if the documentWeakReference is cleared by Document destructor - in this case do not run the task.
10091        (WebCore::Document::postTask):
10092        * dom/Document.h:
10093        (WebCore::DocumentWeakReference::create):
10094
100952010-01-15  Vitaly Repeshko  <vitalyr@chromium.org>
10096
10097        Reviewed by David Levin.
10098
10099        [V8] Support SerializedScriptValue.
10100        https://bugs.webkit.org/show_bug.cgi?id=32920
10101        http://crbug.com/30620
10102
10103        Initial implementation of SerializedScriptValue which is used to
10104        to create a serialized representation of JavaScript objects.  This
10105        representation is needed for structured clones and worker messages.
10106
10107        * WebCore.gypi: Added SerializedScriptValue.cpp.
10108        * bindings/scripts/CodeGeneratorV8.pm: Removed conversion to string before using SerializedScriptValue.
10109        * bindings/v8/SerializedScriptValue.cpp: Added.
10110        (WebCore::):
10111        (WebCore::ZigZag::encode):
10112        (WebCore::ZigZag::decode):
10113        (WebCore::Writer::Writer):
10114        (WebCore::Writer::writeUndefined):
10115        (WebCore::Writer::writeNull):
10116        (WebCore::Writer::writeTrue):
10117        (WebCore::Writer::writeFalse):
10118        (WebCore::Writer::writeString):
10119        (WebCore::Writer::writeInt32):
10120        (WebCore::Writer::writeNumber):
10121        (WebCore::Writer::endComposite):
10122        (WebCore::Writer::data):
10123        (WebCore::Writer::doWriteUint32):
10124        (WebCore::Writer::append):
10125        (WebCore::Writer::ensureSpace):
10126        (WebCore::Writer::fillHole):
10127        (WebCore::Writer::charAt):
10128        (WebCore::Serializer::Serializer):
10129        (WebCore::Serializer::serialize):
10130        (WebCore::Serializer::StateBase::~StateBase):
10131        (WebCore::Serializer::StateBase::nextState):
10132        (WebCore::Serializer::StateBase::setNextState):
10133        (WebCore::Serializer::StateBase::composite):
10134        (WebCore::Serializer::StateBase::StateBase):
10135        (WebCore::Serializer::State::composite):
10136        (WebCore::Serializer::State::tag):
10137        (WebCore::Serializer::State::State):
10138        (WebCore::Serializer::StackCleaner::StackCleaner):
10139        (WebCore::Serializer::StackCleaner::~StackCleaner):
10140        (WebCore::Serializer::ArrayState::ArrayState):
10141        (WebCore::Serializer::ArrayState::done):
10142        (WebCore::Serializer::ArrayState::advance):
10143        (WebCore::Serializer::ObjectState::ObjectState):
10144        (WebCore::Serializer::ObjectState::done):
10145        (WebCore::Serializer::ObjectState::advance):
10146        (WebCore::Serializer::ObjectState::nextProperty):
10147        (WebCore::Serializer::doSerialize):
10148        (WebCore::Serializer::push):
10149        (WebCore::Serializer::top):
10150        (WebCore::Serializer::pop):
10151        (WebCore::Serializer::checkComposite):
10152        (WebCore::Reader::Reader):
10153        (WebCore::Reader::isEof):
10154        (WebCore::Reader::read):
10155        (WebCore::Reader::readTag):
10156        (WebCore::Reader::readString):
10157        (WebCore::Reader::readInt32):
10158        (WebCore::Reader::readNumber):
10159        (WebCore::Reader::doReadUint32):
10160        (WebCore::Deserializer::Deserializer):
10161        (WebCore::Deserializer::deserialize):
10162        (WebCore::Deserializer::doDeserialize):
10163        (WebCore::Deserializer::push):
10164        (WebCore::Deserializer::pop):
10165        (WebCore::Deserializer::stackDepth):
10166        (WebCore::Deserializer::element):
10167        (WebCore::SerializedScriptValue::SerializedScriptValue):
10168        (WebCore::SerializedScriptValue::deserialize):
10169        * bindings/v8/SerializedScriptValue.h:
10170        (WebCore::SerializedScriptValue::create):
10171        (WebCore::SerializedScriptValue::createFromWire):
10172        (WebCore::SerializedScriptValue::release):
10173        (WebCore::SerializedScriptValue::toWireString):
10174
10175        Updated uses of SerializedScriptValue:
10176        * bindings/v8/custom/V8DOMWindowCustom.cpp:
10177        (WebCore::V8DOMWindow::postMessageCallback):
10178        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
10179        (WebCore::V8DedicatedWorkerContext::postMessageCallback):
10180        * bindings/v8/custom/V8HistoryCustom.cpp:
10181        (WebCore::V8History::pushStateCallback):
10182        (WebCore::V8History::replaceStateCallback):
10183        * bindings/v8/custom/V8MessageEventCustom.cpp:
10184        (WebCore::V8MessageEvent::initMessageEventCallback):
10185        * bindings/v8/custom/V8MessagePortCustom.cpp:
10186        (WebCore::V8MessagePort::postMessageCallback):
10187        * bindings/v8/custom/V8WorkerCustom.cpp:
10188        (WebCore::V8Worker::postMessageCallback):
10189
101902010-01-15  Oliver Hunt  <oliver@apple.com>
10191
10192        Reviewed by Dirk Schulze.
10193
10194        Bad DOM performance in large SVG files
10195        https://bugs.webkit.org/show_bug.cgi?id=30055
10196
10197        Add an early return when we go to paint a RenderPath that
10198        isn't in the current clip.
10199
10200        * rendering/RenderPath.cpp:
10201        (WebCore::RenderPath::paint):
10202        * svg/graphics/SVGImage.cpp:
10203        (WebCore::SVGImage::draw):
10204
102052010-01-15  Steve Block  <steveblock@google.com>
10206
10207        Reviewed by Eric Seidel.
10208
10209        Make Geolocation::suspend/resume public.
10210        https://bugs.webkit.org/show_bug.cgi?id=33679
10211
10212        These were made private in Bug 32499, but are required by Android to be public.
10213
10214        No new tests, build fix only.
10215
10216        * page/Geolocation.cpp: Modified
10217        (WebCore::Geolocation::suspend): Added back in
10218        (WebCore::Geolocation::resume): Added back in
10219        * page/Geolocation.h: Modified. Make suspend and resume public
10220
102212010-01-15  Alexander Pavlov  <apavlov@chromium.org>
10222
10223        Reviewed by Pavel Feldman.
10224
10225        Set pointer cursor when over a breakpoint in the BreakpointsSidebarPane
10226
10227        https://bugs.webkit.org/show_bug.cgi?id=33713
10228
10229        * inspector/front-end/inspector.css:
10230
102312010-01-15  Nate Chapin  <japhet@chromium.org>
10232
10233        Reviewed by Dimitri Glazkov.
10234
10235        [V8] Generate more of the custom behaviors that the v8 bindings attach to v8 FunctionTemplates.
10236
10237        * bindings/scripts/CodeGeneratorV8.pm:
10238        * bindings/v8/V8Binding.cpp:
10239        (WebCore::getToStringName):
10240        (WebCore::constructorToString):
10241        (WebCore::getToStringTemplate):
10242        * bindings/v8/V8Binding.h:
10243        * bindings/v8/V8DOMWindowShell.cpp:
10244        (WebCore::V8DOMWindowShell::createNewContext):
10245        * bindings/v8/V8DOMWrapper.cpp:
10246        (WebCore::V8DOMWrapper::getTemplate):
10247
102482010-01-15  Dimitri Glazkov  <dglazkov@chromium.org>
10249
10250        No review, rolling out r53331.
10251        http://trac.webkit.org/changeset/53331
10252        https://bugs.webkit.org/show_bug.cgi?id=30055
10253
10254        Broke fast/borders/svg-as-border-image-3.html. Don't give up,
10255        Oliver! You are really, really close.
10256
10257        * rendering/RenderPath.cpp:
10258        (WebCore::RenderPath::paint):
10259
102602010-01-15  Oliver Hunt  <oliver@apple.com>
10261
10262        Reviewed by Nikolas Zimmermann.
10263
10264        Bad DOM performance in large SVG files
10265        https://bugs.webkit.org/show_bug.cgi?id=30055
10266
10267        Add an early return when we go to paint a RenderPath that
10268        isn't in the current clip.
10269
10270        * rendering/RenderPath.cpp:
10271        (WebCore::RenderPath::paint):
10272
102732010-01-15  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
10274
10275        Reviewed by Antti Koivisto.
10276
10277        Use OS(MAC_OS_X) instead of PLATFORM(MAC) when determining navigator.platform
10278
10279        https://bugs.webkit.org/show_bug.cgi?id=33711
10280
10281        * page/NavigatorBase.cpp:
10282
102832010-01-14  Philippe Normand  <pnormand@igalia.com>
10284
10285        Reviewed by Xan Lopez.
10286
10287        [Gtk] Compiler warning: comparisons like 'X<=Y<=Z' do not have their mathematical meaning
10288        https://bugs.webkit.org/show_bug.cgi?id=33575
10289
10290        Patch from Magnus Boman <captain.magnus@gmail.com>
10291
10292        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
10293        (WebCore::mimeTypeCache): fix compiler warnings.
10294
102952010-01-14  Mikhail Naganov  <mnaganov@chromium.org>
10296
10297        Reviewed by Timothy Hatcher.
10298
10299        Add welcome screen to Profiles pane to provide some instructions for novices.
10300
10301        https://bugs.webkit.org/show_bug.cgi?id=19268
10302
10303        * English.lproj/localizedStrings.js:
10304        * WebCore.gypi:
10305        * WebCore.vcproj/WebCore.vcproj:
10306        * inspector/front-end/ProfileView.js:
10307        (WebInspector.CPUProfileType.prototype.get welcomeMessage):
10308        * inspector/front-end/ProfilesPanel.js:
10309        (WebInspector.ProfileType.prototype.get welcomeMessage):
10310        (WebInspector.ProfilesPanel):
10311        (WebInspector.ProfilesPanel.prototype.show):
10312        (WebInspector.ProfilesPanel.prototype.registerProfileType):
10313        (WebInspector.ProfilesPanel.prototype._addWelcomeMessage.messageButtonClicked):
10314        (WebInspector.ProfilesPanel.prototype._addWelcomeMessage):
10315        (WebInspector.ProfilesPanel.prototype.showProfile):
10316        (WebInspector.ProfilesPanel.prototype.closeVisibleView):
10317        (WebInspector.ProfilesPanel.prototype._updateInterface):
10318        * inspector/front-end/WebKit.qrc:
10319        * inspector/front-end/WelcomeView.js: Added.
10320        (WebInspector.WelcomeView):
10321        (WebInspector.WelcomeView.prototype._windowResized):
10322        (WebInspector.WelcomeView.prototype.addMessage):
10323        * inspector/front-end/inspector.css:
10324        * inspector/front-end/inspector.html:
10325
103262010-01-13  Girish Ramakrishnan  <girish@forwardbias.in>
10327
10328        Reviewed by Simon Hausmann.
10329
10330        [Qt/Win] Flash in QGraphicsWebView does not process hover correctly.
10331        
10332        https://bugs.webkit.org/show_bug.cgi?id=33591
10333        
10334        Mouse hover does not work as expected with the flash in some sites.
10335        - http://www.bbc.co.uk/ Hover over the map
10336        - http://www.barbie.com/ Hover over the menu items (Games, Videos)
10337        The problem appears to be that Flash queries NPNVnetscapeWindow on every
10338        mouse hover. I do not how flash uses this value but returning 0 when flash
10339        is in windowless mode solves the problem (When using QGraphicsWebView we
10340        inject wmode opaque, thereby putting the plugin in windowless mode).
10341
10342        * plugins/win/PluginViewWin.cpp:
10343        (windowHandleForPageClient):
10344
103452010-01-15  Zoltan Horvath  <zoltan@webkit.org>
10346
10347        Reviewed by Darin Adler.
10348
10349        Allow custom memory allocation control for Peer class
10350        https://bugs.webkit.org/show_bug.cgi?id=33670
10351
10352        Inherits the following class from Noncopyable because it is 
10353        instantiated by 'new' and no need to be copyable:
10354
10355        class name - instantiated at: WebCore/'location'
10356        class Peer - websockets/WebSocketChannelClient.h:38
10357
10358        * websockets/WorkerThreadableWebSocketChannel.h:
10359
103602010-01-15  Zoltan Horvath  <zoltan@webkit.org>
10361
10362        Reviewed by Oliver Hunt.
10363
10364        [Qt] Allow custom memory allocation control for GraphicsContextPlatformPrivate class
10365        https://bugs.webkit.org/show_bug.cgi?id=33669
10366
10367        Inherits the following class from Noncopyable because it is 
10368        instantiated by 'new' and no need to be copyable:
10369
10370        class name                           - instantiated at: WebCore/'location'
10371        class GraphicsContextPlatformPrivate - platform/graphics/qt/GraphicsContextQt.cpp:254
10372
10373        * platform/graphics/qt/GraphicsContextQt.cpp:
10374
103752010-01-14  Darin Fisher  <darin@chromium.org>
10376
10377        Reviewed by Brady Eidson.
10378
10379        history.pushState should clear the entire forward history
10380        https://bugs.webkit.org/show_bug.cgi?id=33160
10381
10382        Test: fast/loader/stateobjects/pushstate-clears-forward-history.html
10383
10384        * history/BackForwardList.cpp:
10385        (WebCore::BackForwardList::addItem):
10386        (WebCore::BackForwardList::pushStateItem):
10387        * history/BackForwardList.h:
10388
103892010-01-14  Gavin Barraclough  <barraclough@apple.com>
10390
10391        Rubber stamped by Sam Weinig.
10392
10393        Make naming & behaviour of UString[Impl] methods more consistent.
10394        https://bugs.webkit.org/show_bug.cgi?id=33702
10395
10396        WebCore change reflecting UString method name change computedHash() -> existingHash().
10397
10398        * platform/text/AtomicString.cpp:
10399        (WebCore::AtomicString::add):
10400        (WebCore::AtomicString::find):
10401
104022010-01-14  Dan Bernstein  <mitz@apple.com>
10403
10404        Reviewed by Simon Fraser.
10405
10406        <rdar://problem/6020083> -webkit-gradient slows down scrolling when page has horizontal scrollbar
10407        https://bugs.webkit.org/show_bug.cgi?id=19650
10408
10409        * platform/graphics/GeneratedImage.cpp:
10410        (WebCore::GeneratedImage::drawPattern): Added call to adjustParametersForTiledDrawing(),
10411        letting the generator substitute the parameters with visually-equivalent values that
10412        are more efficient.
10413        * platform/graphics/Generator.h:
10414        (WebCore::Generator::adjustParametersForTiledDrawing): Added a base class implementation
10415        that does nothing.
10416        * platform/graphics/Gradient.cpp:
10417        (WebCore::Gradient::adjustParametersForTiledDrawing): Added. If the gradient is a horizontal
10418        or vertical linear gradient, changes to use a 1-pixel tall (or wide) tile.
10419        * platform/graphics/Gradient.h:
10420
104212010-01-14  Norbert Leser  <norbert.leser@nokia.com>
10422
10423        Reviewed by Laszlo Gombos.
10424
10425        Platform Symbian specific:
10426        Added time-based optimization (-Otime) and increased optimization level to -O3,
10427        conditionally for RVCT compiler (for ARM), for increasing performance
10428        (primarily affecting JavaScript execution).
10429        Default settings are -Ospace and -O2.
10430
10431        No new tests needed because no new funtionality is introduced,
10432        only potential regression on existing tests needs to be evaluated.
10433
10434        * WebCore.pro:
10435
104362010-01-14  Jungshik Shin  <jshin@chromium.org>
10437
10438        Unreviewed, attempted build fix on chromium.
10439
10440        Fix a Chromium build failure due to an unused variable in V8 binding.(part 2)
10441
10442        * bindings/v8/V8Collection.h:
10443        (WebCore::getNamedPropertyOfCollection):
10444
104452010-01-14  Jungshik Shin  <jshin@chromium.org>
10446
10447        Unreviewed, attempted build fix on chromium.
10448
10449        Fix a Chromium build failure due to an unused variable in V8 binding. 
10450
10451        * bindings/v8/V8Collection.h:
10452        (WebCore::getIndexedPropertyOfCollection):
10453
104542010-01-14  Peter Kasting  <pkasting@google.com>
10455
10456        Unreviewed, attempted build fix.
10457
10458        * platform/image-decoders/gif/GIFImageDecoder.cpp:
10459        (WebCore::GIFImageDecoder::haveDecodedRow):
10460
104612010-01-14  Peter Kasting  <pkasting@google.com>
10462
10463        Reviewed by Adam Barth.
10464
10465        Simplify image decoders by making downsampling functions available at
10466        all times, allowing much duplicated logic to be collapsed.
10467        https://bugs.webkit.org/show_bug.cgi?id=28751
10468
10469        * platform/graphics/ImageSource.cpp:
10470        (WebCore::ImageSource::setData):
10471        * platform/image-decoders/ImageDecoder.cpp:
10472        (WebCore::ImageDecoder::prepareScaleDataIfNecessary):
10473        * platform/image-decoders/ImageDecoder.h:
10474        (WebCore::ImageDecoder::ImageDecoder):
10475        (WebCore::ImageDecoder::scaledSize):
10476        (WebCore::ImageDecoder::setMaxNumPixels):
10477        * platform/image-decoders/gif/GIFImageDecoder.cpp:
10478        (WebCore::GIFImageDecoder::sizeNowAvailable):
10479        (WebCore::GIFImageDecoder::initFrameBuffer):
10480        (WebCore::GIFImageDecoder::haveDecodedRow):
10481        (WebCore::GIFImageDecoder::frameComplete):
10482        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
10483        (WebCore::JPEGImageDecoder::setSize):
10484        (WebCore::JPEGImageDecoder::outputScanlines):
10485        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
10486        * platform/image-decoders/png/PNGImageDecoder.cpp:
10487        (WebCore::PNGImageDecoder::headerAvailable):
10488        (WebCore::PNGImageDecoder::rowAvailable):
10489
104902010-01-14  Jian Li  <jianli@chromium.org>
10491
10492        Reviewed by Eric Seidel.
10493
10494        [chromium] Remove obsolete CF related files from gyp build.
10495        https://bugs.webkit.org/show_bug.cgi?id=33002
10496
10497        * WebCore.gypi:
10498
104992010-01-14  Peter Kasting  <pkasting@google.com>
10500
10501        Reviewed by Adam Barth.
10502
10503        Decoding images to scaled output buffers resulted in garbage for
10504        no-alpha PNGs and CMYK JPEGs.
10505        https://bugs.webkit.org/show_bug.cgi?id=33624
10506        
10507        No layout test since I don't have access to a platform that scales the
10508        output buffers.
10509
10510        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
10511        (WebCore::convertCMYKToRGBA):
10512        * platform/image-decoders/png/PNGImageDecoder.cpp:
10513        (WebCore::PNGImageDecoder::rowAvailable):
10514
105152010-01-14  Brian Weinstein  <bweinstein@apple.com>
10516
10517        Rubber-stamped by Oliver Hunt.
10518
10519        Fix an assertion that was causing test crashes. Filed a bug
10520        about the weirdness that causes this assertion (inconsistencies 
10521        between DragOperationMove and DragOperationGeneric).
10522
10523        * dom/Clipboard.cpp:
10524        (WebCore::dragOpFromIEOp):
10525        (WebCore::Clipboard::setDestinationOperation):
10526
105272010-01-14  Beth Dakin  <bdakin@apple.com>
10528
10529        Reviewed by Sam Weinig.
10530
10531        Fix for https://bugs.webkit.org/show_bug.cgi?id=33498 REGRESSION: 
10532        svg/css/circle-in-mask-with-shadow.svg failing pixel tests
10533        -and corresponding-
10534        <rdar://problem/7544176>
10535
10536        This change makes repaintRectInLocalCoordinates return a rect that 
10537        is -webkit-svg-shadow-aware.
10538
10539        * rendering/RenderPath.cpp:
10540        (WebCore::RenderPath::repaintRectInLocalCoordinates):
10541        * rendering/RenderSVGContainer.cpp:
10542        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
10543        * rendering/RenderSVGImage.cpp:
10544        (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
10545        * rendering/RenderSVGRoot.cpp:
10546        (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
10547        * rendering/RenderSVGText.cpp:
10548        (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
10549        * rendering/SVGRenderSupport.cpp:
10550        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
10551        * rendering/style/SVGRenderStyle.cpp:
10552        (WebCore::SVGRenderStyle::inflateForShadow):
10553        * rendering/style/SVGRenderStyle.h:
10554
105552010-01-14  Brian Weinstein  <bweinstein@apple.com>
10556
10557        Reviewed by Adam Roben.
10558
10559        Drag and Drop source/destination code needs cleanup.
10560        <https://bugs.webkit.org/show_bug.cgi?id=33691>.
10561        
10562        Cleaned up some Drag and Drop code that deals with getting
10563        source and destination operations, and added some ASSERTS to make
10564        sure we don't get in bad states.
10565
10566        * dom/Clipboard.cpp:
10567        (WebCore::Clipboard::sourceOperation): Make this return the operation itself.
10568        (WebCore::Clipboard::destinationOperation): Ditto.
10569        (WebCore::Clipboard::setSourceOperation): Add an assert to make sure we're valud.
10570        (WebCore::Clipboard::setDestinationOperation): Ditto.
10571        * dom/Clipboard.h:
10572        * page/DragController.cpp:
10573        (WebCore::DragController::tryDHTMLDrag):
10574        * page/EventHandler.cpp:
10575        (WebCore::EventHandler::handleDrag):
10576
105772010-01-14  Timothy Hatcher  <timothy@apple.com>
10578
10579        Make the Web Inspector's JavaScript debugger work with isolated worlds.
10580        Console evaluation is not performed in the correct world yet, tracked
10581        by bug http://webkit.org/b/33692.
10582
10583        http://webkit.org/b/33690
10584
10585        Reviewed by Adam Roben.
10586
10587        * bindings/js/ScriptCachedFrameData.cpp:
10588        (WebCore::ScriptCachedFrameData::restore): Attach the debugger to
10589        any window shell, not just for the debugger world.
10590        * bindings/js/ScriptController.cpp:
10591        (WebCore::ScriptController::clearWindowShell): Detach the debugger, and
10592        reattach to all window shells, not just for the debugger world.
10593        (WebCore::ScriptController::initScript): Attach the debugger to
10594        any window shell, not just for the debugger world.
10595        (WebCore::ScriptController::attachDebugger): Changed to loop through
10596        all the window shells and call the new overloaded attachDebugger.
10597        (WebCore::ScriptController::attachDebugger): Added. An overload that
10598        takes a window shell to attach the debugger to. Has most of the
10599        logic from the original attachDebugger.
10600        * bindings/js/ScriptController.h: Added the new attachDebugger.
10601
106022010-01-14  Adam Roben  <aroben@apple.com>
10603
10604        Make Cache::requestResource return 0 if the resource's load fails
10605        immediately
10606
10607        Fixes <rdar://problem/7543406> <http://webkit.org/b/33687>
10608        window.onload never fires if page contains a <script src=foo> whose
10609        load is cancelled by resource load delegate returning null from
10610        willSendRequest
10611
10612        Test: fast/loader/onload-willSendRequest-null-for-script.html
10613
10614        Reviewed by Dave Hyatt.
10615
10616        * loader/Cache.cpp:
10617        (WebCore::Cache::requestResource): Moved code to handle immediate load
10618        failure out of the "cache is disabled" block so that it will run even
10619        when the cache is enabled.
10620
106212010-01-14  Stephen White  <senorblanco@chromium.org>
10622
10623        Reviewed by mitz@webkit.org.
10624
10625        Fix for crash with gradient on table cell.  Pass the correct
10626        background object down to
10627        RenderBoxModelObject::paintFillLayerExtended().  This also allowed a
10628        rework of the fix to bug 18445 by passing the correct RenderObject
10629        from RenderBox::paintRootBoxDecorations() down to
10630        RenderBoxModelObject::paintFillLayerExtended().
10631        https://bugs.webkit.org/show_bug.cgi?id=28426
10632
10633        Covered by new layout test:  LayoutTests/fast/gradients/crash-on-tr.html
10634
10635        * rendering/RenderBox.cpp:
10636        (WebCore::RenderBox::paintFillLayers):
10637        (WebCore::RenderBox::paintFillLayer):
10638        * rendering/RenderBox.h:
10639        Plumb through the correct background RenderObject.
10640        * rendering/RenderBoxModelObject.cpp:
10641        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
10642        Use the passed-in background RenderObject (if present) when painting background images.  Remove the previous fix for bug 18445.
10643        * rendering/RenderBoxModelObject.h:
10644        Plumb through the correct background RenderObject.
10645        * rendering/RenderTableCell.cpp:
10646        Pass in the correct backgroundObject to paintFillLayers().
10647
10648        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
10649
106502010-01-14  Nate Chapin  <japhet@chromium.org>
10651
10652        Reviewed by Dimitri Glazkov.
10653
10654        Standardize the rest of the v8 bindings on toNative() wherever possible.
10655
10656        https://bugs.webkit.org/show_bug.cgi?id=33677
10657
10658        * bindings/v8/NPV8Object.cpp:
10659        (v8ObjectToNPObject): Special case for converting NPObjects, since there aren't genereated bindings for them.
10660        * bindings/v8/NPV8Object.h:
10661        * bindings/v8/ScriptController.cpp:
10662        * bindings/v8/V8Collection.cpp:
10663        * bindings/v8/V8Collection.h:
10664        (WebCore::toNativeCollection): Special case for converting V8Collections, since there aren't genereated bindings for them.
10665        * bindings/v8/V8DOMWindowShell.cpp:
10666        * bindings/v8/V8DOMWrapper.cpp:
10667        * bindings/v8/V8DOMWrapper.h:
10668        * bindings/v8/V8NPObject.cpp:
10669        * bindings/v8/V8Proxy.cpp:
10670        * bindings/v8/V8SVGPODTypeWrapper.h:
10671        * bindings/v8/WorkerContextExecutionProxy.cpp:
10672
106732010-01-14  Evan Stade  <estade@chromium.org>
10674
10675        Reviewed by Eric Seidel.
10676
10677        Chromium Linux: don't stretch checkboxes
10678        https://bugs.webkit.org/show_bug.cgi?id=28631
10679
10680        Make the default size for checkboxes/radio buttons also the maximum
10681        size.
10682
10683        Based on patch by Adam Langley.
10684
10685        Test: fast/css/non-standard-checkbox-size.html
10686
10687        * rendering/RenderThemeChromiumSkia.cpp:
10688        (WebCore::center):
10689        (WebCore::RenderThemeChromiumSkia::paintCheckbox):
10690        (WebCore::RenderThemeChromiumSkia::setCheckboxSize):
10691        (WebCore::RenderThemeChromiumSkia::paintRadio):
10692
106932010-01-14  Brian Weinstein  <bweinstein@apple.com>
10694
10695        Reviewed by Adam Roben.
10696
10697        Follow up to <https://bugs.webkit.org/show_bug.cgi?id=33635>.
10698        
10699        Now that dropEffect and effectAllowed are guaranteed to not be
10700        null, change null checks into asserts to make sure we are returning
10701        a proper DragOperation value.
10702
10703        * dom/Clipboard.cpp:
10704        (WebCore::Clipboard::sourceOperation): Change null check to assert.
10705        (WebCore::Clipboard::destinationOperation): Ditto.
10706
107072010-01-14  Brian Weinstein  <bweinstein@apple.com>
10708
10709        Reviewed by Oliver Hunt.
10710
10711        [DnD] effectAllowed and dropEffect can be set to bogus values.
10712        Fixes <https://bugs.webkit.org/show_bug.cgi?id=33635>.
10713        
10714        Test to make aure dropEffect and effectAllowed are being set to valid values
10715        when they are being set (list of valid values given by HTML5 specification).
10716        
10717        Also, drive by change to initialize dropEffect to none (as described in spec).
10718
10719        Test: fast/events/bogus-dropEffect-effectAllowed.html
10720
10721        * dom/Clipboard.cpp:
10722        (WebCore::Clipboard::Clipboard): Initialize m_dropEffect to "none".
10723        (WebCore::Clipboard::setDropEffect): Check if dropEffect is being set to a valid value.
10724        (WebCore::Clipboard::setEffectAllowed): Check if effectAllowed is being set to a valid value.
10725
107262010-01-14  Kent Hansen  <kent.hansen@nokia.com>
10727
10728        Reviewed by Darin Adler.
10729
10730        Infinite recursion in RuntimeObjectImp::getOwnPropertyNames()
10731        https://bugs.webkit.org/show_bug.cgi?id=33371
10732
10733        RuntimeObjectImp should not reimplement getPropertyNames();
10734        move the implementation to getOwnPropertyNames().
10735
10736        * bridge/runtime_object.cpp:
10737        (JSC::RuntimeObjectImp::getOwnPropertyNames):
10738        * bridge/runtime_object.h:
10739
107402010-01-14  Kwang Yul Seo  <skyul@company100.net>
10741
10742        Reviewed by Alexey Proskuryakov.
10743
10744        Add ENABLE(XSLT) guard to TransformSourceLibxslt.cpp
10745        https://bugs.webkit.org/show_bug.cgi?id=33665
10746
10747        TransformSource is available only when ENABLE(XSLT) guard is true.
10748
10749        * dom/TransformSourceLibxslt.cpp:
10750
107512010-01-14  Adam Roben  <aroben@apple.com>
10752
10753        Treat all synchronous loads equally in FrameLoader::loadSubframe
10754
10755        Only loads of the empty URL or about:blank were being treated as
10756        synchronous loads. But other loads can be synchronous (e.g., when we
10757        receive a null ResourceRequest from requestFromDelegate or when a
10758        policy decision of "ignore" is made). We now treat those loads the
10759        same way we treated empty URLs and about:blank.
10760
10761        Fixes <rdar://problem/7533333> <http://webkit.org/b/33533>
10762        window.onload never fires if page contains an <iframe> with a bad
10763        scheme or whose load is cancelled by returning null from resource load
10764        delegate's willSendRequest
10765
10766        Tests: fast/loader/onload-bad-scheme-for-frame.html
10767               fast/loader/onload-policy-ignore-for-frame.html
10768               fast/loader/onload-willSendRequest-null-for-frame.html
10769
10770        Reviewed by Brady Eidson.
10771
10772        * loader/FrameLoader.cpp:
10773        (WebCore::FrameLoader::loadSubframe):
10774          - Detect synchronous loads by checking the subframe's loader's
10775            state, rather than by checking its URL
10776          - Removed unnecessary call to completed(), since checkCompleted()
10777            will call completed() if needed (the call to completed() was added
10778            first and wasn't removed when the call to checkCompleted() was
10779            added in r8316)
10780          - Added more comments about the strange thing this function does
10781            with the subframe's loader
10782
107832010-01-14  Diego Gonzalez  <diego.gonzalez@openbossa.org>
10784
10785        Reviewed by Kenneth Christiansen.
10786
10787        [Qt] Missing fileSystemPath() method in Qt KURL implementation
10788        https://bugs.webkit.org/show_bug.cgi?id=33614
10789
10790        No new tests.
10791
10792        * platform/qt/KURLQt.cpp:
10793        (WebCore::KURL::fileSystemPath):
10794
107952010-01-13  Alexey Proskuryakov  <ap@apple.com>
10796
10797        Reviewed by Brady Eidson.
10798
10799        https://bugs.webkit.org/show_bug.cgi?id=33652
10800        REGRESSION: Frames stop appearing after browsing for a while
10801
10802        <rdar://problem/7308312> REGRESSION: iBench gets slower after several runs
10803
10804        I do not know how not creating renderers for frames could make iBench slower, but it did.
10805
10806        Test: fast/frames/cached-frame-counter.html
10807
10808        * history/CachedFrame.cpp:
10809        (WebCore::CachedFrame::CachedFrame): A frame that's cached is moved away from Page,
10810        so decrement frame count here.
10811        (WebCore::CachedFrame::open): Increase frame count when a frame is restored.
10812
10813        * history/CachedFrame.h: Remove unneeded forward declarations.
10814
10815        * history/CachedPage.h: Ditto.
10816
10817        * history/CachedPage.cpp: (WebCore::CachedPage::restore): Assert that page frame count is
10818        zero prior to restoring a page from b/f cache.
10819        
10820        * page/Page.cpp: (WebCore::Page::checkFrameCountConsistency): A debug-only method to
10821        check that frame count stored in Page matches the number of frames in frame tree.
10822
10823        * page/Page.h:
10824        (WebCore::Page::decrementFrameCount): Assert that frame count is positive.
10825        (WebCore::Page::frameCount): Call checkFrameCountConsistency().
10826
108272010-01-14  Steve Falkenburg  <sfalken@apple.com>
10828
10829        Windows build fixes.
10830        Add forward declarations and additional includes of windows.h.
10831
10832        * platform/Cursor.h: Add forward declaration of HCURSOR. Move destructor implementation into cpp.
10833        * platform/graphics/transforms/TransformationMatrix.h: Add forward declaration of XFORM. Remove windows.h include.
10834        * platform/graphics/win/TransformationMatrixWin.cpp: Add include of windows.h.
10835        * platform/win/CursorWin.cpp: Moved destructor of SharedCursor here.
10836        (WebCore::SharedCursor::~SharedCursor): Moved here.
10837        * platform/win/EventLoopWin.cpp: Add include of windows.h.
10838        * platform/win/SystemInfo.cpp: Add include of windows.h.
10839
108402010-01-14  Nate Chapin  <japhet@chromium.org>
10841
10842        Reviewed by Dimitri Glazkov.
10843
10844        Switch the custom V8 bindings to use class toNative() functions.
10845
10846        Refactoring, so no new tests.
10847
10848        * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
10849        * bindings/v8/custom/V8AttrCustom.cpp:
10850        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
10851        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
10852        * bindings/v8/custom/V8ClipboardCustom.cpp:
10853        * bindings/v8/custom/V8CoordinatesCustom.cpp:
10854        * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
10855        * bindings/v8/custom/V8DOMWindowCustom.cpp:
10856        * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
10857        * bindings/v8/custom/V8DatabaseCustom.cpp:
10858        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
10859        * bindings/v8/custom/V8DocumentCustom.cpp:
10860        * bindings/v8/custom/V8DocumentLocationCustom.cpp:
10861        * bindings/v8/custom/V8ElementCustom.cpp:
10862        * bindings/v8/custom/V8EventCustom.cpp:
10863        * bindings/v8/custom/V8GeolocationCustom.cpp:
10864        * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
10865        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
10866        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
10867        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
10868        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
10869        * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
10870        * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
10871        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
10872        * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
10873        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
10874        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
10875        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
10876        * bindings/v8/custom/V8HistoryCustom.cpp:
10877        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
10878        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
10879        * bindings/v8/custom/V8LocationCustom.cpp:
10880        * bindings/v8/custom/V8MessageEventCustom.cpp:
10881        * bindings/v8/custom/V8MessagePortCustom.cpp:
10882        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
10883        * bindings/v8/custom/V8NodeCustom.cpp:
10884        * bindings/v8/custom/V8NodeIteratorCustom.cpp:
10885        * bindings/v8/custom/V8NodeListCustom.cpp:
10886        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
10887        * bindings/v8/custom/V8PopStateEventCustom.cpp:
10888        * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
10889        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
10890        * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
10891        * bindings/v8/custom/V8SVGLengthCustom.cpp:
10892        * bindings/v8/custom/V8SVGMatrixCustom.cpp:
10893        * bindings/v8/custom/V8StorageCustom.cpp:
10894        * bindings/v8/custom/V8StyleSheetListCustom.cpp:
10895        * bindings/v8/custom/V8TreeWalkerCustom.cpp:
10896        * bindings/v8/custom/V8WebGLArrayCustom.h:
10897        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
10898        * bindings/v8/custom/V8WebSocketCustom.cpp:
10899        * bindings/v8/custom/V8WorkerContextCustom.cpp:
10900        * bindings/v8/custom/V8WorkerCustom.cpp:
10901        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
10902        * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
10903        * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
10904
109052010-01-14  Martin Robinson  <martin.james.robinson@gmail.com>
10906
10907        Reviewed by Xan Lopez.
10908
10909        [GTK] Enable DOM clipboard and drag-and-drop access
10910        https://bugs.webkit.org/show_bug.cgi?id=30623
10911
10912        Add DataObjectGtk, a container for pasteboard and drag-and-drop data.
10913
10914        No new tests, because functionality has not changed.
10915
10916        * GNUmakefile.am:
10917        * platform/gtk/DataObjectGtk.cpp: Added.
10918        (WebCore::DataObjectGtk::text):
10919        (WebCore::DataObjectGtk::markup):
10920        (WebCore::DataObjectGtk::setText):
10921        (WebCore::DataObjectGtk::setMarkup):
10922        (WebCore::DataObjectGtk::files):
10923        (WebCore::DataObjectGtk::url):
10924        (WebCore::DataObjectGtk::urlLabel):
10925        (WebCore::DataObjectGtk::hasURL):
10926        (WebCore::DataObjectGtk::clear):
10927        (WebCore::DataObjectGtk::forClipboard):
10928        * platform/gtk/DataObjectGtk.h: Added.
10929        (WebCore::DataObjectGtk::create):
10930        (WebCore::DataObjectGtk::uriList):
10931        (WebCore::DataObjectGtk::image):
10932        (WebCore::DataObjectGtk::setRange):
10933        (WebCore::DataObjectGtk::setURIList):
10934        (WebCore::DataObjectGtk::setImage):
10935        (WebCore::DataObjectGtk::setDragContext):
10936        (WebCore::DataObjectGtk::hasText):
10937        (WebCore::DataObjectGtk::hasMarkup):
10938        (WebCore::DataObjectGtk::hasURIList):
10939        (WebCore::DataObjectGtk::hasImage):
10940        (WebCore::DataObjectGtk::dragContext):
10941
109422010-01-14  Ilya Tikhonovsky  <loislo@chromium.org>
10943
10944        Reviewed by Pavel Feldman.
10945
10946        WebInspector: Scrolling of Timeline Page was broken by fix for bug 33470.
10947        https://bugs.webkit.org/show_bug.cgi?id=33666
10948
10949        * inspector/front-end/inspector.css:
10950
109512010-01-14  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
10952
10953        [Qt] Unreviewed fix of builds with the --no-svg switch.
10954
10955        * WebCore.pri:
10956
109572010-01-14  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
10958
10959        [Qt] Unreviewed build fix on Windows.
10960
10961        * platform/graphics/transforms/TransformationMatrix.h:
10962
109632010-01-14  Andreas Kling  <andreas.kling@nokia.com>
10964
10965        Reviewed by Kenneth Rohde Christiansen.
10966
10967        [Qt] Enable scrolling optimization for pages with embedded widgets
10968
10969        https://bugs.webkit.org/show_bug.cgi?id=33373
10970
10971        Added a basic manual test for scrolling of embedded QWidgets.
10972
10973        * manual-tests/qt/qtplugin-scrolling.html: Added.
10974        * platform/ScrollView.cpp:
10975        (WebCore::ScrollView::scrollContents):
10976        (WebCore::ScrollView::setParent):
10977        * platform/ScrollView.h:
10978        * platform/qt/ScrollViewQt.cpp:
10979        (WebCore::ScrollView::platformInit):
10980        (WebCore::ScrollView::platformAddChild):
10981        (WebCore::ScrollView::platformRemoveChild):
10982        * plugins/qt/PluginViewQt.cpp:
10983        (WebCore::PluginView::updatePluginWidget):
10984        (WebCore::PluginView::invalidateRect):
10985
109862009-12-09  Philippe Normand  <pnormand@igalia.com>
10987
10988        Reviewed by Xan Lopez.
10989
10990        [GStreamer] Check return values of gst_element_set_state()
10991        https://bugs.webkit.org/show_bug.cgi?id=30000
10992
10993        Check for state change failure when going from READY/NULL to
10994        PAUSED or PLAYING. Also refactored the common code of play() and
10995        pause() to a new private method of the player.
10996
10997        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
10998        (WebCore::MediaPlayerPrivate::changePipelineState):
10999        (WebCore::MediaPlayerPrivate::play):
11000        (WebCore::MediaPlayerPrivate::pause):
11001        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
11002
110032010-01-14  Eric Seidel  <eric@webkit.org>
11004
11005        No review, rolling out r53248.
11006        http://trac.webkit.org/changeset/53248
11007        https://bugs.webkit.org/show_bug.cgi?id=32641
11008
11009        Caused 2 tests to crash on various bots:
11010        fast/dom/HTMLSelectElement/listbox-select-reset.html and
11011        fast/forms/listbox-typeahead-scroll.html
11012
11013        * dom/SelectElement.cpp:
11014        (WebCore::SelectElement::recalcStyle):
11015        (WebCore::SelectElement::setRecalcListItems):
11016        (WebCore::SelectElement::recalcListItems):
11017        (WebCore::SelectElement::restoreFormControlState):
11018        (WebCore::SelectElement::reset):
11019        (WebCore::SelectElement::typeAheadFind):
11020        * dom/SelectElement.h:
11021        * html/HTMLOptionElement.cpp:
11022        (WebCore::HTMLOptionElement::selected):
11023        (WebCore::HTMLOptionElement::insertedIntoTree):
11024        * html/HTMLSelectElement.cpp:
11025        (WebCore::HTMLSelectElement::recalcStyle):
11026        * html/HTMLSelectElement.h:
11027        * wml/WMLSelectElement.cpp:
11028        (WebCore::WMLSelectElement::recalcStyle):
11029
110302010-01-14  Ben Murdoch  <benm@google.com>
11031
11032        Reviewed by Darin Adler.
11033
11034        [Android] [Qt] The document.createEvent API does not support touch events.
11035        https://bugs.webkit.org/show_bug.cgi?id=33605
11036
11037        Test: fast/events/touch/create-touch-event.html
11038
11039        * dom/Document.cpp:
11040        (WebCore::Document::createEvent): add creation of a TouchEvent when the "TouchEvent" argument is supplied.
11041
110422010-01-14  James Robinson  <jamesr@chromium.org>
11043
11044        Reviewed by Alexey Proskuryakov.
11045
11046        Ensures that the 'selected' attribute of an <option> is correct
11047        https://bugs.webkit.org/show_bug.cgi?id=32641
11048
11049        Adds a check in OptionElement::selected() that checks if list items need to be recalculated and does so if needed,
11050        so the attribute is up to date more often.  Also gets rid of most of the recalcStyle() side effects.
11051
11052         Our behavior now matches Firefox 3.5 and IE8 after the </select> is parsed.
11053
11054         Tests: fast/forms/HTMLOptionElement_selected2.html
11055                fast/forms/HTMLOptionElement_selected3.html
11056
11057        * dom/SelectElement.cpp:
11058        (WebCore::SelectElement::setOptionsChangedOnRenderer):
11059        (WebCore::SelectElement::setRecalcListItems):
11060        (WebCore::SelectElement::recalcListItems):
11061        (WebCore::SelectElement::restoreFormControlState):
11062        (WebCore::SelectElement::reset):
11063        (WebCore::SelectElement::typeAheadFind):
11064        * dom/SelectElement.h:
11065        * html/HTMLOptionElement.cpp:
11066        (WebCore::HTMLOptionElement::selected):
11067        (WebCore::HTMLOptionElement::insertedIntoTree):
11068        * html/HTMLSelectElement.cpp:
11069        (WebCore::HTMLSelectElement::recalcStyle):
11070        (WebCore::HTMLSelectElement::recalcListItemsIfNeeded):
11071        * html/HTMLSelectElement.h:
11072        * wml/WMLSelectElement.cpp:
11073        (WebCore::WMLSelectElement::recalcStyle):
11074
110752010-01-14  Zoltan Horvath  <zoltan@webkit.org>
11076
11077        Reviewed by Oliver Hunt.
11078
11079        [Qt] Allow custom memory allocation control for TransparencyLayer class
11080        https://bugs.webkit.org/show_bug.cgi?id=33585
11081
11082        Inherits the following class from FastAllocBase because it is 
11083        instantiated by 'new':
11084
11085        class name              - instantiated at: WebCore/'location'
11086        class TransparencyLayer - platform/graphics/qt/GraphicsContextQt.cpp:906
11087
11088        * platform/graphics/qt/GraphicsContextQt.cpp:
11089
110902010-01-14  Zoltan Horvath  <zoltan@webkit.org>
11091
11092        Reviewed by Oliver Hunt.
11093
11094        [Qt] Allow custom memory allocation control for FontPlatformDataPrivate class
11095        https://bugs.webkit.org/show_bug.cgi?id=33583
11096
11097        Inherits the following class from Noncopyable because it is 
11098        instantiated by 'new' and no need to be copyable:
11099
11100        class name                    - instantiated at: WebCore/'location'
11101        class FontPlatformDataPrivate - platform/graphics/qt/FontPlatformData.h:70
11102
11103        * platform/graphics/qt/FontPlatformData.h:
11104
111052010-01-12  Philippe Normand  <pnormand@igalia.com>
11106
11107        Reviewed by Xan Lopez.
11108
11109        [GTK] un-needed seeks
11110        https://bugs.webkit.org/show_bug.cgi?id=33532
11111
11112        Avoid un-needed seeks. Don't seek at current playback position and
11113        don't update the rate if it is already set to target value.
11114
11115        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
11116        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
11117        (WebCore::MediaPlayerPrivate::seek):
11118        (WebCore::MediaPlayerPrivate::setRate):
11119        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
11120
111212010-01-14  Eric Seidel  <eric@webkit.org>
11122
11123        No review.  Tiger build fix after http://trac.webkit.org/changeset/53238.
11124
11125        Need to implement WebGLContextAttributes
11126        https://bugs.webkit.org/show_bug.cgi?id=31169
11127
11128        Fix a build break when ENABLE(3D_CANVAS) is disabled.
11129
11130        * html/HTMLCanvasElement.cpp:
11131        (WebCore::HTMLCanvasElement::getContext): UNUSED_PARAM(attrs) when 3D_CANVAS is disabled.
11132
111332010-01-13  Pavel Feldman  <pfeldman@chromium.org>
11134
11135        Reviewed by Timothy Hatcher.
11136
11137        Web Inspector: use hidden text area for clipboard in order to
11138        workaround windows setData bug.
11139
11140        https://bugs.webkit.org/show_bug.cgi?id=33633
11141
11142        * inspector/front-end/TextEditor.js:
11143        (WebInspector.TextEditor):
11144        (WebInspector.TextEditor.prototype._copy):
11145        * inspector/front-end/inspector.css:
11146
111472010-01-13  Mads Ager  <ager@chromium.org>
11148
11149        Reviewed by Dimitri Glazkov.
11150
11151        [V8] Slow named property lookup on DOMWindow because of missing fast case
11152        https://bugs.webkit.org/show_bug.cgi?id=33584
11153
11154        Add fast case checks to V8 named property getter on DOMWindow
11155        objects.  If the property is not in the DOM there is no reason to
11156        search the DOM for all occurrences.
11157
11158        Covered by layout tests.
11159
11160        * bindings/v8/custom/V8DOMWindowCustom.cpp:
11161        (WebCore::V8DOMWindow::namedPropertyGetter):
11162
111632010-01-13  Gavin Barraclough  <barraclough@apple.com>
11164
11165        Reviewed by Oliver Hunt.
11166
11167        <rdar://problem/7403736> REGRESSION (r49963,r49965): 8% Dromaeo Core DOM test regression
11168
11169        Adding isolated worlds support to the JSC bindings introduced a regression due to
11170        additional map lookups.  Add a mechanism to quickly detect that a lookup is for the
11171        'normal' world, and add fast paths to a couple of methods to check the normal world
11172        first.
11173
11174        * bindings/js/JSDOMBinding.cpp:
11175        (WebCore::Document::getWrapperCache):
11176        (WebCore::DOMWrapperWorld::DOMWrapperWorld):
11177        (WebCore::forgetDOMObject):
11178        * bindings/js/JSDOMBinding.h:
11179        (WebCore::DOMWrapperWorld::isNormal):
11180        (WebCore::WebCoreJSClientData::WebCoreJSClientData):
11181        * bindings/js/ScriptController.cpp:
11182        (WebCore::IsolatedWorld::IsolatedWorld):
11183        * dom/Document.cpp:
11184        (WebCore::Document::Document):
11185        (WebCore::Document::createWrapperCache):
11186        * dom/Document.h:
11187
111882010-01-13  Kenneth Russell  <kbr@google.com>
11189
11190        Reviewed by Oliver Hunt.
11191
11192        Need to implement WebGLContextAttributes
11193        https://bugs.webkit.org/show_bug.cgi?id=31169
11194
11195        Added the WebGLContextAttributes class and custom JavaScript
11196        bindings to accept a native object as the second argument to
11197        getContext("experimental-webgl") per the WebGL specification.
11198        Added GraphicsContext3D::Attributes struct to isolate DOM and
11199        graphics layers. Added getContextAttributes() to
11200        WebGLRenderingContext. Added test case ensuring that context
11201        attributes can be passed down and returned. Tested in Safari and
11202        Chromium. The attributes will be hooked up to the creation of the
11203        OpenGL context in bug 33416.
11204
11205        Test: fast/canvas/webgl/context-attributes.html
11206
11207        * DerivedSources.make:
11208        * WebCore.gypi:
11209        * WebCore.xcodeproj/project.pbxproj:
11210        * bindings/js/JSHTMLCanvasElementCustom.cpp:
11211        (WebCore::JSHTMLCanvasElement::getContext):
11212        * bindings/scripts/CodeGeneratorV8.pm:
11213        * bindings/scripts/IDLParser.pm:
11214        * bindings/v8/DOMData.cpp:
11215        * bindings/v8/DerivedSourcesAllInOne.cpp:
11216        * bindings/v8/V8DOMWrapper.cpp:
11217        * bindings/v8/V8Index.cpp:
11218        * bindings/v8/V8Index.h:
11219        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
11220        (WebCore::V8HTMLCanvasElement::getContextCallback):
11221        * html/HTMLCanvasElement.cpp:
11222        (WebCore::HTMLCanvasElement::getContext):
11223        * html/HTMLCanvasElement.h:
11224        * html/HTMLCanvasElement.idl:
11225        * html/canvas/CanvasContextAttributes.cpp: Added.
11226        (WebCore::CanvasContextAttributes::CanvasContextAttributes):
11227        (WebCore::CanvasContextAttributes::~CanvasContextAttributes):
11228        * html/canvas/CanvasContextAttributes.h: Added.
11229        * html/canvas/WebGLContextAttributes.cpp: Added.
11230        (WebCore::WebGLContextAttributes::create):
11231        (WebCore::WebGLContextAttributes::WebGLContextAttributes):
11232        (WebCore::WebGLContextAttributes::~WebGLContextAttributes):
11233        (WebCore::WebGLContextAttributes::alpha):
11234        (WebCore::WebGLContextAttributes::setAlpha):
11235        (WebCore::WebGLContextAttributes::depth):
11236        (WebCore::WebGLContextAttributes::setDepth):
11237        (WebCore::WebGLContextAttributes::stencil):
11238        (WebCore::WebGLContextAttributes::setStencil):
11239        (WebCore::WebGLContextAttributes::antialias):
11240        (WebCore::WebGLContextAttributes::setAntialias):
11241        (WebCore::WebGLContextAttributes::premultipliedAlpha):
11242        (WebCore::WebGLContextAttributes::setPremultipliedAlpha):
11243        (WebCore::WebGLContextAttributes::attributes):
11244        * html/canvas/WebGLContextAttributes.h: Added.
11245        * html/canvas/WebGLContextAttributes.idl: Added.
11246        * html/canvas/WebGLRenderingContext.cpp:
11247        (WebCore::WebGLRenderingContext::create):
11248        (WebCore::WebGLRenderingContext::getContextAttributes):
11249        * html/canvas/WebGLRenderingContext.h:
11250        * html/canvas/WebGLRenderingContext.idl:
11251        * platform/graphics/GraphicsContext3D.h:
11252        * platform/graphics/mac/GraphicsContext3DMac.cpp:
11253        (WebCore::GraphicsContext3D::create):
11254        (WebCore::GraphicsContext3D::GraphicsContext3D):
11255        (WebCore::GraphicsContext3D::getContextAttributes):
11256
112572010-01-13  Simon Fraser  <simon.fraser@apple.com>
11258
11259        Fix Windows build.
11260
11261        * platform/graphics/cg/GraphicsContextCG.cpp:
11262
112632010-01-13  Simon Fraser  <simon.fraser@apple.com>
11264
11265        Reviewed by Darin Adler.
11266
11267        Transition followed by animation fails to run the animation sometimes
11268        https://bugs.webkit.org/show_bug.cgi?id=33563
11269
11270        If a transition was closely followed by an animation, it was possible for the cleanup
11271        after the end of the transition to kill the animation.
11272        
11273        Fix this by including the keyframes name (or empty string for transitions) in the labels
11274        used to identify CAAnimations on layers.
11275        
11276        No test because this was a subtle timing issue that is hard to reproduce in a layout test.
11277
11278        * platform/graphics/mac/GraphicsLayerCA.h: Some new methods and signature changes.
11279        
11280        * platform/graphics/mac/GraphicsLayerCA.mm:
11281        (WebCore::animationIdentifier): Pass the keyframes name, since this is included in the identifier string now.
11282        (WebCore::moveAllAnimationsForProperty): Pass the keyframes name.
11283        (WebCore::GraphicsLayerCA::moveAnimationsForProperty): Try to move both transition- and animation-related
11284        CAAnimations, using the list of running animations to get the keyframe names for the latter.
11285
11286        (WebCore::GraphicsLayerCA::ensureStructuralLayer): moveAnimation renamed to moveAnimationsForProperty
11287        and takes the keyframes name.
11288
11289        (WebCore::GraphicsLayerCA::updateLayerAnimations): Pass keyframes name down (or "" for transitions).
11290        (WebCore::GraphicsLayerCA::setAnimationOnLayer): Pass keyframes name down.
11291        (WebCore::GraphicsLayerCA::removeAnimationFromLayer): Pass keyframes name down.
11292        (WebCore::GraphicsLayerCA::pauseAnimationOnLayer): Pass keyframes name down.
11293        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Pass keyframes name down.
11294
112952010-01-13  Simon Fraser  <simon.fraser@apple.com>
11296
11297        Reviewed by Dan Bernstein.
11298
11299        Fix shadow drawing to do the correct computations using the base coordinate space
11300        https://bugs.webkit.org/show_bug.cgi?id=33629
11301        
11302        Shadows draw using the CGContext base CTM, so we need to convert the shadow offet
11303        and size from user CTM into into base CTM coordinates, via the matix obtained from wkGetUserToBaseCTM().
11304
11305        Test: compositing/shadows/shadow-drawing.html
11306
11307        * platform/graphics/cg/GraphicsContextCG.cpp:
11308        (WebCore::GraphicsContext::setPlatformShadow):
11309
113102010-01-13  Nikolas Zimmermann  <nzimmermann@rim.com>
11311
11312        Reviewed by Oliver Hunt.
11313
11314        SVGClipPathElement shouldn't resolve style manually
11315        https://bugs.webkit.org/show_bug.cgi?id=33647
11316
11317        Build renderers for SVGClipPathElement, so we can query the style from the renderer
11318        instead of re-resolving style on every clip path resource invalidation.
11319
11320        * svg/SVGClipPathElement.cpp:
11321        (WebCore::SVGClipPathElement::createRenderer):
11322        (WebCore::SVGClipPathElement::canvasResource):
11323        * svg/SVGClipPathElement.h:
11324        (WebCore::SVGClipPathElement::isValid):
11325
113262010-01-13  Kelly Norton  <knorton@google.com>
11327
11328        Reviewed by Timothy Hatcher.
11329
11330        Web Inspector does not update the DOM tree when attributes change.
11331        https://bugs.webkit.org/show_bug.cgi?id=20162
11332
11333        * dom/Element.cpp: Moves callbacks to InspectorController directly into setAttribute
11334        and removeAttribute and removes the existing call sites. This makes it possible to
11335        see attribute modifications.
11336        (WebCore::Element::setAttribute):
11337        (WebCore::Element::dispatchAttrRemovalEvent):
11338        (WebCore::Element::dispatchAttrAdditionEvent):
11339        (WebCore::Element::removeAttribute):
11340        * inspector/front-end/DOMAgent.js:
11341        (WebInspector.DOMNode.prototype._setAttributesPayload): Clear existing attributes.
11342        (WebInspector.DOMAgent.prototype._didApplyDomChange): Updated call site and fixed style.
11343        (WebInspector.DOMAgent.prototype._attributesUpdated): Added.
11344        * inspector/front-end/ElementsPanel.js:
11345        (WebInspector.ElementsPanel.prototype._attributesUpdated): Added.
11346        (WebInspector.ElementsPanel.prototype.updateModifiedNodes): Updated call site.
11347        * inspector/front-end/ElementsTreeOutline.js: Renamed _updateTitle to updateTitle.
11348        (WebInspector.ElementsTreeElement.prototype.onattach): Updated updateTitle call site.
11349        (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted): Ditto.
11350        (WebInspector.ElementsTreeElement.prototype._editingCancelled): Ditto.
11351
113522010-01-13  Carol Szabo <carol.szabo@nokia.com>
11353
11354        Reviewed by Darin Adler.
11355
11356        CounterNode::nextInPreOrderAfterChildren(stayWithin) does not stay within.
11357        https://bugs.webkit.org/show_bug.cgi?id=33625
11358
11359        No new tests because the fix should affect strictly performance.
11360
11361        * rendering/CounterNode.cpp:
11362        (WebCore::CounterNode::nextInPreOrderAfterChildren):
11363
113642010-01-13  Nikolas Zimmermann  <nzimmermann@rim.com>
11365
11366        Reviewed by Oliver Hunt.
11367
11368        Window size changes are not propagated down the render tree
11369        https://bugs.webkit.org/show_bug.cgi?id=33643
11370
11371        Test: svg/custom/relative-sized-content.xhtml
11372
11373        * rendering/RenderSVGContainer.cpp: Fix incorrect markParents=true usage, leading to unnecessary relayouts.
11374        (WebCore::RenderSVGContainer::layout): Use new layoutChildren() method.
11375        (WebCore::RenderSVGContainer::paint): Fix indention.
11376        * rendering/RenderSVGHiddenContainer.cpp: Fix incorrect markParents=true usage.
11377        (WebCore::RenderSVGHiddenContainer::layout): Use new layoutChildren() helper.
11378        * rendering/RenderSVGRoot.cpp: Refactor existing code to layout children in SVGRenderSupport::layoutChildren.
11379        (WebCore::RenderSVGRoot::layout): Make children relayouting depend on width/height changes, if the outermost svg uses relative viewport sizes.
11380        * rendering/SVGRenderSupport.cpp: Add central place handling child layout, skips relayouting non-relative sized children as benefit.
11381        (WebCore::SVGRenderBase::layoutChildren): This methods contains the actual changes.
11382        * rendering/SVGRenderSupport.h:
11383        * svg/SVGGElement.h: Remove dead code.
11384        * svg/SVGSVGElement.h: Make hasRelativeValues() public to remove the need for friendship declarations.
11385        * svg/SVGStyledElement.h: Change default return value for hasRelativeValues() to false, as it was intended.
11386        (WebCore::SVGStyledElement::hasRelativeValues): Make it public, to be usable from SVGRenderSupport.
11387        * svg/SVGSymbolElement.h: Remove dead code.
11388        * svg/SVGUseElement.cpp: Implement hasRelativeValues() - it was simply missing here.
11389        (WebCore::SVGUseElement::hasRelativeValues):
11390        * svg/SVGUseElement.h:
11391
113922010-01-13  Fumitoshi Ukai  <ukai@chromium.org>
11393
11394        Reviewed by David Levin.
11395
11396        Fix websocket/tests/worker/worker-simple.html crash on Leopard Intel Debug (Tests) builder
11397        https://bugs.webkit.org/show_bug.cgi?id=33581
11398
11399        unref m_workerContext when websocket is disconnected, so that avoid
11400        keeping reference to workerContext longer than worker thread runs.
11401
11402        * websockets/WorkerThreadableWebSocketChannel.cpp:
11403        (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
11404        (WebCore::WorkerThreadableWebSocketChannel::Bridge::waitForMethodCompletion):
11405
114062010-01-12  Jon Honeycutt  <jhoneycutt@apple.com>
11407
11408        MSAA: selected, selectable, extended selectable, and multiple
11409        selectable states are not reported
11410
11411        https://bugs.webkit.org/show_bug.cgi?id=33574
11412        <rdar://problem/7536826>
11413
11414        Reviewed by Darin Adler.
11415
11416        * accessibility/AccessibilityObject.h:
11417        (WebCore::AccessibilityObject::isMultiSelectable):
11418        Use the correct function name - the function name overriden by
11419        and used in AccessiblityRenderObject.
11420
11421        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
11422        (setAtkStateSetFromCoreObject):
11423        Update for function rename.
11424        (webkit_accessible_selection_select_all_selection):
11425        Ditto.
11426
114272010-01-13  Darin Adler  <darin@apple.com>
11428
11429        Reviewed by Dan Bernstein.
11430
11431        Move more of the selection and caret painting code from Frame to SelectionController.
11432        https://bugs.webkit.org/show_bug.cgi?id=33619
11433
11434        Helpful preparation step for a bug fix I am working on.
11435
11436        * editing/SelectionController.cpp:
11437        (WebCore::SelectionController::SelectionController): Initialize new data members.
11438        Note that m_caretVisible starts as true for the drag caret controller to match the
11439        old behavior for painting.
11440        (WebCore::SelectionController::setSelection): Changed to call selectionLayoutChanged
11441        in its new name and location.
11442        (WebCore::SelectionController::paintCaret): Added checks that were formerly done
11443        at the Frame level. Tweaked formatting and changed to use early return as well.
11444        (WebCore::SelectionController::focusedOrActiveStateChanged): Updated for call
11445        moved into this class.
11446        (WebCore::SelectionController::updateAppearance): Moved the
11447        Frame::selectionLayoutChanged function here. Had to rename it because the word
11448        "layout" is usedfor other purposes in this function.
11449        (WebCore::SelectionController::setCaretVisible): Moved here from Frame.
11450        (WebCore::SelectionController::clearCaretRectIfNeeded): Ditto.
11451        (WebCore::SelectionController::caretBlinkTimerFired): Ditto.
11452
11453        * editing/SelectionController.h: Added new functions. Moved conditional function
11454        out of class definition for clarity. Removed unneeded == and != operators.
11455        Removed unneeded use of bit fields.
11456
11457        * page/Frame.cpp: Moved functions to SelectionController.
11458        (WebCore::Frame::Frame): Removed initialization of moved data members.
11459
11460        * page/Frame.h: Removed things moved to SelectionController as well as unneeded
11461        forward declaration of Timer class template.
11462
11463        * page/FrameView.cpp:
11464        (WebCore::FrameView::layout): Updated for new location of function.
11465
11466        * rendering/RenderBlock.cpp:
11467        (WebCore::RenderBlock::paintCaret): Ditto.
11468
114692010-01-13  Simon Fraser  <simon.fraser@apple.com>
11470
11471        Reviewed by Darin Adler.
11472
11473        <rdar://problem/7532544>
11474        
11475        Expose new method on WebKitSystemInterface, WKGetUserToBaseCTM(), which will
11476        be used for a shadow drawing fix.
11477
11478        * WebCore.base.exp:
11479        * platform/mac/WebCoreSystemInterface.h:
11480        * platform/mac/WebCoreSystemInterface.mm:
11481
114822010-01-13  Simon Fraser  <simon.fraser@apple.com>
11483
11484        Reviewed by Dan Bernstein.
11485
11486        Fix shadow drawing to do the correct computations using the base coordinate space
11487        https://bugs.webkit.org/show_bug.cgi?id=33629
11488
11489        Step 1: do some renames in setPlatformShadow():
11490            size -> offset
11491            width -> xOffset
11492            height -> yOffset
11493        
11494        * platform/graphics/cg/GraphicsContextCG.cpp:
11495        (WebCore::GraphicsContext::setPlatformShadow):
11496
114972010-01-13  Jeremy Orlow  <jorlow@chromium.org>
11498
11499        Reviewed by Darin Fisher.
11500
11501        [Chromium] Move getSessionStorageNamespace from WebKitClient to WebViewClient
11502        https://bugs.webkit.org/show_bug.cgi?id=33492
11503
11504        * page/Page.cpp:
11505        (WebCore::Page::sessionStorage):
11506        * storage/StorageNamespace.cpp:
11507        (WebCore::StorageNamespace::sessionStorageNamespace):
11508        * storage/StorageNamespace.h:
11509        (WebCore::StorageNamespace::~StorageNamespace):
11510
115112010-01-13  Dirk Schulze  <krit@webkit.org>
11512
11513        Reviewed by Beth Dakin.
11514
11515        Repaint bug dragging a star shape with a dash stroke
11516        https://bugs.webkit.org/show_bug.cgi?id=33406
11517
11518        Calculation of repaint rects for RenderPath objects was wrong. We must take the
11519        union of strokeBoundingBox and objectBoundingBox, since the strokeBoundingBox
11520        must not contain the objectBoundingBox. This is mainly visible on dash-arrays for
11521        strokes.
11522
11523        Test: svg/custom/js-repaint-rect-on-path-with-stroke.svg
11524
11525        * rendering/RenderPath.cpp:
11526        (WebCore::RenderPath::strokeBoundingBox):
11527
115282010-01-13  Kevin Ollivier  <kevino@theolliviers.com>
11529
11530        [wx] Build fix. Make the XFORM operator work on wx port.
11531
11532        * platform/graphics/transforms/TransformationMatrix.h:
11533        * wscript:
11534
115352010-01-13  Pavel Feldman  <pfeldman@chromium.org>
11536
11537        Reviewed by Timothy Hatcher.
11538
11539        Web Inspector: Introduce SourceFrame2 with basic breakpoint / execution line
11540        rendering capabilities.
11541
11542        Contains a drive-by naming fix (lineNumberOffset and lineNumberToOffset were
11543        too close to each other, but were unrelated).
11544
11545        https://bugs.webkit.org/show_bug.cgi?id=33618
11546
11547        * WebCore.gypi:
11548        * WebCore.vcproj/WebCore.vcproj:
11549        * inspector/front-end/SourceFrame2.js: Added.
11550        (WebInspector.SourceFrame2):
11551        (WebInspector.SourceFrame2.prototype.set text):
11552        (WebInspector.SourceFrame2.prototype.get executionLine):
11553        (WebInspector.SourceFrame2.prototype.set executionLine):
11554        (WebInspector.SourceFrame2.prototype.revealLine):
11555        (WebInspector.SourceFrame2.prototype._toggleBreakpoint):
11556        (WebInspector.SourceFrame2.prototype.resize):
11557        (WebInspector.BreakpointLineNumberDecorator):
11558        (WebInspector.BreakpointLineNumberDecorator.prototype.decorate):
11559        (WebInspector.BreakpointLineNumberDecorator.prototype._paintBreakpoint):
11560        (WebInspector.BreakpointLineNumberDecorator.prototype._paintProgramCounter):
11561        (WebInspector.BreakpointLineNumberDecorator.prototype.mouseDown):
11562        (WebInspector.ExecutionLineDecorator):
11563        (WebInspector.ExecutionLineDecorator.prototype.decorate):
11564        * inspector/front-end/TextEditor.js:
11565        (WebInspector.TextEditor):
11566        (WebInspector.TextEditor.prototype.get textModel):
11567        (WebInspector.TextEditor.prototype.set readOnly):
11568        (WebInspector.TextEditor.prototype.set lineNumberDecorator):
11569        (WebInspector.TextEditor.prototype.set lineDecorator):
11570        (WebInspector.TextEditor.prototype.selectionRange):
11571        (WebInspector.TextEditor.prototype._offsetToLine):
11572        (WebInspector.TextEditor.prototype._lineToOffset):
11573        (WebInspector.TextEditor.prototype.reveal):
11574        (WebInspector.TextEditor.prototype._textChanged):
11575        (WebInspector.TextEditor.prototype._updateSize):
11576        (WebInspector.TextEditor.prototype.updateCanvasSize):
11577        (WebInspector.TextEditor.prototype._repaintAll):
11578        (WebInspector.TextEditor.prototype._paintLines):
11579        (WebInspector.TextEditor.prototype._paintLinesContinuation):
11580        (WebInspector.TextEditor.prototype.paintLineNumbers):
11581        (WebInspector.TextEditor.prototype._paintCurrentLine):
11582        (WebInspector.TextEditor.prototype._mouseDown):
11583        (WebInspector.TextEditor.prototype._caretForMouseEvent):
11584        (WebInspector.TextEditor.prototype._keyDown):
11585        (WebInspector.TextEditor.prototype._handleNavigationKey):
11586        (WebInspector.TextEditor.prototype._textInput):
11587        (WebInspector.TextEditor.prototype._updateCursor):
11588        (WebInspector.TextEditor.prototype._paintSelection):
11589        (WebInspector.TextEditor.prototype._initFont):
11590
115912010-01-13  Nate Chapin  <japhet@chromium.org>
11592
11593        Reviewed by Dimitri Glazkov.
11594
11595        Generate a function in the V8 bindings to convert v8 objects
11596        to native WebCore objects.
11597
11598        * bindings/scripts/CodeGeneratorV8.pm: Generate and use toNative().
11599        * bindings/v8/V8Binding.cpp: Remove manually defined conversion helprs.
11600        (WebCore::getElementStringAttr):
11601        (WebCore::setElementStringAttr):
11602        * bindings/v8/V8Binding.h: Remove manually defined conversion helprs.
11603        * bindings/v8/V8SVGPODTypeWrapper.h: Still need a manually defined coversion helper for SVGPODTypes.
11604        (WebCore::V8SVGPODTypeWrapper::toNative):
11605        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
11606        (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
11607        (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
11608        (WebCore::V8WebGLRenderingContext::getUniformCallback):
11609
116102010-01-13  Brian Weinstein  <bweinstein@apple.com>
11611
11612        Reviewed by Adam Roben.
11613
11614        REGRESSION (r49268): DHTML drag not allowed unless event.dataTransfer.effectAllowed
11615        is set (differs from HTML5).
11616        Fixes <https://bugs.webkit.org/show_bug.cgi?id=33607> and <rdar://7507114>.
11617
11618        If no effectAllowed is set in the dragStart operation, we should default to
11619        uninitialized instead of none, so the user doesn't have to manually set the
11620        effectAllowed to enable drag and drop.
11621
11622        * dom/Clipboard.cpp:
11623        (WebCore::Clipboard::Clipboard):
11624
116252010-01-13  Dave Hyatt  <hyatt@apple.com>
11626
11627        Reviewed by Dan Bernstein.
11628
11629        https://bugs.webkit.org/show_bug.cgi?id=32495
11630
11631        font-size:small with background-color causes text to get clipped.  Make sure to only paint within the lineTop/lineBottom of
11632        a line for quirky inline flow boxes that didn't contribute to the overall height of the line. 
11633        
11634        Added fast/backgrounds/quirks-mode-line-boxes-backgrounds.html
11635
11636        * rendering/InlineFlowBox.cpp:
11637        (WebCore::InlineFlowBox::computeVerticalOverflow):
11638        (WebCore::InlineFlowBox::paintBoxDecorations):
11639        (WebCore::InlineFlowBox::paintMask):
11640
116412010-01-13  Dumitru Daniliuc  <dumi@chromium.org>
11642
11643        Reviewed by Darin Adler.
11644
11645        Refactoring DatabaseAuthorizer to use a CaseFoldingHash function
11646        for the set of whitelisted sqlite functions, and fixing some
11647        indenting issues.
11648
11649        https://bugs.webkit.org/show_bug.cgi?id=33612
11650
11651        * storage/DatabaseAuthorizer.cpp:
11652        (WebCore::DatabaseAuthorizer::allowFunction):
11653        * storage/DatabaseAuthorizer.h:
11654
116552010-01-13  Carol Szabo  <carol.szabo@nokia.com>
11656
11657        Reviewed by Darin Adler.
11658
11659        RenderObject::nextInPreOrderAfterChildren(RenderObject* stayWithin) does not stay within
11660        https://bugs.webkit.org/show_bug.cgi?id=33600
11661
11662        No new tests as this fix affects mainly performance.
11663        No test has been found yet that could evidence the bug in the layout
11664        of a page, but the fix to bug 32884 exposes this bug on some pages
11665        such as http://www.w3.org/Style/CSS/Test/CSS2.1/current/html4/counters-scope-implied-001.htm
11666
11667        * rendering/RenderObject.cpp:
11668        (WebCore::RenderObject::nextInPreOrderAfterChildren):
11669
116702010-01-13  Jeremy Orlow  <jorlow@chromium.org>
11671
11672        No reviewer.  More or less a build fix.  My 53180 broke some 
11673        stuff on the Chromium port so I'm reverting.
11674
11675        * page/Page.cpp:
11676        (WebCore::Page::sessionStorage):
11677        * storage/StorageNamespace.cpp:
11678        (WebCore::StorageNamespace::sessionStorageNamespace):
11679        * storage/StorageNamespace.h:
11680        (WebCore::StorageNamespace::~StorageNamespace):
11681
116822010-01-13  Steve Block  <steveblock@google.com>
11683
11684        Update appendClassName in jni_runtime.cpp to use WebCore::StringBuilder, rather than JSC::StringBuilder.
11685        https://bugs.webkit.org/show_bug.cgi?id=33586
11686
11687        Avoiding the JSC version of StringBuilder allows this file to be used with both JSC and V8 on Android.
11688
11689        No new tests, refactoring only.
11690
11691        * bridge/jni/jni_runtime.cpp: Modified.
11692        (JavaMethod::signature): Modified. Use WebCore::StringBuilder.
11693
116942010-01-13  Kent Hansen  <kent.hansen@nokia.com>
11695
11696        Reviewed by Timothy Hatcher.
11697
11698        Some objects in the global scope are not completed
11699        https://bugs.webkit.org/show_bug.cgi?id=19119
11700
11701        Use Object.getOwnPropertyNames instead of for-in to provide completions, since
11702        Object.getOwnPropertyNames reports both enumerable and non-enumerable properties.
11703
11704        * inspector/front-end/InjectedScript.js:
11705        (InjectedScript._getPropertyNames):
11706        (InjectedScript.getCompletions):
11707
117082010-01-13  Ben Murdoch  <benm@google.com>
11709
11710        Reviewed by Simon Hausmann.
11711
11712        [Android] [Qt] The JSC ScriptController does not consider Touch Events user gestures.
11713        https://bugs.webkit.org/show_bug.cgi?id=33597
11714
11715        * bindings/js/ScriptController.cpp:
11716        (WebCore::ScriptController::processingUserGestureEvent): Add the touch event types (touchstart, touchmove and touchend) to the set of events that are considered user gestures.
11717
117182010-01-13  Simon Hausmann  <simon.hausmann@nokia.com>
11719
11720        Rubber-stamped by Tor Arne Vestbø.
11721
11722        [Qt] REGRESSION(53187) Touchevent related tests fail
11723
11724        https://bugs.webkit.org/show_bug.cgi?id=33602
11725
11726        Pass the ENABLE_TOUCH_EVENTS to the IDL generators.
11727
11728        * WebCore.pri:
11729
117302010-01-13  Ilya Tikhonovsky  <loislo@chromium.org>
11731
11732        Reviewed by Pavel Feldman.
11733
11734        WebInspector: Timeline panel scrolling speed can be increased.
11735        https://bugs.webkit.org/show_bug.cgi?id=33579
11736
11737        * inspector/front-end/TimelinePanel.js:
11738        (WebInspector.TimelinePanel):
11739        (WebInspector.TimelinePanel.prototype._scheduleRefresh):
11740        (WebInspector.TimelinePanel.prototype._refresh):
11741        (WebInspector.TimelinePanel.prototype._refreshRecords):
11742
117432010-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
11744
11745        Reviewed by Simon Hausmann.
11746
11747        [Qt] Split the build process in two different .pro files.
11748        This allows qmake to be run once all source files are available.
11749
11750        * DerivedSources.pro: Added.
11751        * WebCore.pri: Added. Contains common logic between source generation and compilation.
11752        * WebCore.pro: Moved source generation to DerivedSources.pro.
11753
117542010-01-13  Pavel Feldman  <pfeldman@chromium.org>
11755
11756        Reviewed by Timothy Hatcher.
11757
11758        Web Inspector: Scrolling editor to the 20Kth line is not smooth.
11759
11760        https://bugs.webkit.org/show_bug.cgi?id=33587
11761
11762        * inspector/front-end/TextEditor.js:
11763        (WebInspector.TextEditor):
11764        (WebInspector.TextEditor.prototype._textChanged):
11765        (WebInspector.TextEditor.prototype._highlightChanged):
11766        (WebInspector.TextEditor.prototype._paintLinesContinuation):
11767        * inspector/front-end/TextEditorHighlighter.js:
11768        (WebInspector.TextEditorHighlighter):
11769        (WebInspector.TextEditorHighlighter.prototype.highlight):
11770        (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
11771        (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
11772        (WebInspector.TextEditorHighlighter.prototype._highlightLines):
11773        (WebInspector.TextEditorHighlighter.prototype._lex):
11774        * inspector/front-end/TextEditorModel.js:
11775        (WebInspector.TextEditorModel.prototype._setLine):
11776        (WebInspector.TextEditorModel.prototype.setAttribute):
11777        (WebInspector.TextEditorModel.prototype.getAttribute):
11778        (WebInspector.TextEditorModel.prototype.removeAttribute):
11779
117802010-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
11781
11782        Reviewed by Simon Hausmann.
11783
11784        [Qt] Fix the build on Windows.
11785
11786        PluginViewWin.cpp requires the conversion operator from TransformationMatrix to XFORM.
11787
11788        * WebCore.pro: Build TransformationMatrixWin.cpp.
11789        * platform/graphics/transforms/TransformationMatrix.h: Enable the conversion operator to XFORM.
11790
117912010-01-13  Miikka Heikkinen <miikka.heikkinen@digia.com>
11792
11793        Reviewed by Simon Hausmann.
11794
11795        [Qt/Symbian] Added missing vendor information to qtwebkit.sis
11796
11797        This information is necessary to Symbian sign the package.
11798
11799        http://bugreports.qt.nokia.com/browse/QTBUG-7290
11800
11801        * WebCore.pro:
11802
118032010-01-11  Jeremy Orlow  <jorlow@chromium.org>
11804
11805        Reviewed by Darin Fisher.
11806
11807        [Chromium] Move getSessionStorageNamespace from WebKitClient to WebViewClient
11808        https://bugs.webkit.org/show_bug.cgi?id=33492
11809
11810        * page/Page.cpp:
11811        (WebCore::Page::sessionStorage):
11812        * storage/StorageNamespace.cpp:
11813        (WebCore::StorageNamespace::sessionStorageNamespace):
11814        * storage/StorageNamespace.h:
11815        (WebCore::StorageNamespace::~StorageNamespace):
11816
118172010-01-12  Dumitru Daniliuc  <dumi@chromium.org>
11818
11819        Reviewed by Adam Barth.
11820
11821        Adding a list of whitelisted sqlite functions that users are
11822        allowed to use.
11823
11824        https://bugs.webkit.org/show_bug.cgi?id=33549
11825
11826        * platform/sql/SQLiteDatabase.cpp:
11827        (WebCore::SQLiteDatabase::authorizerFunction):
11828        * storage/DatabaseAuthorizer.cpp:
11829        (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
11830        (WebCore::DatabaseAuthorizer::addWhitelistedFunctions):
11831        (WebCore::DatabaseAuthorizer::allowFunction):
11832        * storage/DatabaseAuthorizer.h:
11833
118342010-01-12  Fumitoshi Ukai  <ukai@chromium.org>
11835
11836        Reviewed by Simon Hausmann.
11837
11838        [Qt][WebSocket] SocketStreamHandleSoup.cpp is misnamed
11839        https://bugs.webkit.org/show_bug.cgi?id=33077
11840
11841        * WebCore.pro:
11842        * platform/network/qt/SocketStreamHandleQt.cpp: Copied from WebCore/platform/network/qt/SocketStreamHandleSoup.cpp.
11843        * platform/network/qt/SocketStreamHandleSoup.cpp: Removed.
11844
118452010-01-12  Simon Fraser  <simon.fraser@apple.com>
11846
11847        Reviewed by Dan Bernstein.
11848
11849        position:fixed and transform on same element breaks fixed behavior
11850        https://bugs.webkit.org/show_bug.cgi?id=31283
11851
11852        Fix interactions of transforms and fixed positioning, namely that fixed position
11853        elements with a transformed ancestor are positioned relative to that ancestor,
11854        and an element with both a transform and fixed position respects that positioning.
11855        
11856        Test: transforms/2d/transform-fixed-container.html
11857
11858        * rendering/RenderBox.cpp:
11859        (WebCore::RenderBox::mapLocalToContainer):
11860        (WebCore::RenderBox::mapAbsoluteToLocalPoint):
11861        Transforms should not unconditionally stop the propagation of the 'fixed' flag to ancestors,
11862        but only if the transformed element is not itself fixed.
11863        
11864        * rendering/RenderLayer.cpp:
11865        (WebCore::RenderLayer::convertToLayerCoords):
11866        Fix this method to behave correctly for fixed position layers whose container is not
11867        the root, but some other (probably transformed) ancestor. In that case, we can fall into
11868        the "position: absolute" code path.
11869
118702010-01-12  Tony Chang  <tony@chromium.org>
11871
11872        Reviewed by Adam Barth.
11873
11874        Fix an assert being triggered by how the Chromium port sets the
11875        replacing flag for error pages.  This was caused by r53143.
11876
11877        Covered by existing Chromium UI tests.
11878
11879        * loader/FrameLoader.cpp:
11880        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
11881
118822010-01-12  Kent Hansen  <kent.hansen@nokia.com>
11883
11884        Reviewed by Geoffrey Garen.
11885
11886        [ES5] Implement Object.getOwnPropertyNames
11887        https://bugs.webkit.org/show_bug.cgi?id=32242
11888
11889        Add new argument to reimplementations of getPropertyNames()
11890        and getOwnPropertyNames(), and update the JS bindings generator.
11891
11892        Test: fast/js/Object-getOwnPropertyNames.html
11893
11894        * bindings/js/JSDOMWindowCustom.cpp:
11895        (WebCore::JSDOMWindow::getPropertyNames):
11896        (WebCore::JSDOMWindow::getOwnPropertyNames):
11897        * bindings/js/JSDOMWindowShell.cpp:
11898        (WebCore::JSDOMWindowShell::getPropertyNames):
11899        (WebCore::JSDOMWindowShell::getOwnPropertyNames):
11900        * bindings/js/JSDOMWindowShell.h:
11901        * bindings/js/JSHistoryCustom.cpp:
11902        (WebCore::JSHistory::getOwnPropertyNames):
11903        * bindings/js/JSLocationCustom.cpp:
11904        (WebCore::JSLocation::getOwnPropertyNames):
11905        * bindings/js/JSQuarantinedObjectWrapper.cpp:
11906        (WebCore::JSQuarantinedObjectWrapper::getPropertyNames):
11907        (WebCore::JSQuarantinedObjectWrapper::getOwnPropertyNames):
11908        * bindings/js/JSQuarantinedObjectWrapper.h:
11909        * bindings/js/JSStorageCustom.cpp:
11910        (WebCore::JSStorage::getOwnPropertyNames):
11911        * bindings/scripts/CodeGeneratorJS.pm:
11912        * bridge/runtime_array.cpp:
11913        (JSC::RuntimeArray::getOwnPropertyNames):
11914        * bridge/runtime_array.h:
11915        * bridge/runtime_object.cpp:
11916        (JSC::RuntimeObjectImp::getPropertyNames):
11917        (JSC::RuntimeObjectImp::getOwnPropertyNames):
11918        * bridge/runtime_object.h:
11919
119202010-01-12  Brian Weinstein  <bweinstein@apple.com>
11921
11922        Reviewed by Dave Hyatt.
11923
11924        Safari shows an unneeded horizontal scrollbar on many websites.
11925        Fixes <rdar://6321041> and <http://webkit.org/b/33555>.
11926        
11927        If a div has no children, and its height or width are 0, we can ignore
11928        it in our calculation of lowest, rightmost, and leftmost positions. This
11929        calculation was causing horizontal scrollbars to be drawn when they weren't needed.
11930
11931        Test: fast/block/positioning/absolute-positioning-no-scrollbar.html
11932
11933        * rendering/RenderBlock.cpp:
11934        (WebCore::RenderBlock::lowestPosition): Added check for no children and width or height 0.
11935        (WebCore::RenderBlock::rightmostPosition): Ditto.
11936        (WebCore::RenderBlock::leftmostPosition): Ditto.
11937
119382010-01-12  Alexander Pavlov  <apavlov@chromium.org>
11939
11940        Reviewed by Timothy Hatcher.
11941
11942        Optimize WebInspector.TimelineGrid.prototype.updateDividers()
11943
11944        DOM element property access and modification are slow and should be done as lazily as possible.
11945        https://bugs.webkit.org/show_bug.cgi?id=33536
11946
11947        * inspector/front-end/TimelineGrid.js:
11948        (WebInspector.TimelineGrid.prototype.updateDividers):
11949        (WebInspector.TimelineGrid.prototype._setDividerAndBarLeft):
11950
119512010-01-12  Beth Dakin  <bdakin@apple.com>
11952
11953        Reviewed by Sam Weinig.
11954
11955        Fix for https://bugs.webkit.org/show_bug.cgi?id=33550 REGRESSION: -
11956        webkit-svg-shadow with opacity still over-clipped
11957
11958        We need to call inflateForShadow() on the repaintRect before we 
11959        clip for opacity or we will over-clip.
11960        * rendering/SVGRenderSupport.cpp:
11961        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
11962
119632010-01-12  Steve Falkenburg  <sfalken@apple.com>
11964
11965        Reviewed by Sam Weinig.
11966
11967        Update all-in-one derived sources for Geolocation.
11968
11969        * DerivedSources.cpp: Add JSCoordinates.cpp, JSGeolocation.cpp, JSGeoposition.cpp, JSPositionError.cpp
11970
119712010-01-12  Nate Chapin  <japhet@chromium.org>
11972
11973        Reviewed by Dimitri Glazkov.
11974
11975        Remove static const ints from V8CustomBinding.h
11976
11977        https://bugs.webkit.org/show_bug.cgi?id=33547
11978
11979        * bindings/scripts/CodeGeneratorV8.pm: Generate and use custom 
11980            internal field indices from lists of custom internal fields.
11981        * bindings/v8/NPV8Object.cpp:
11982        * bindings/v8/NPV8Object.h:
11983        * bindings/v8/V8Binding.cpp:
11984        * bindings/v8/V8DOMWindowShell.cpp:
11985        * bindings/v8/V8DOMWindowShell.h:
11986        * bindings/v8/V8DOMWrapper.cpp: Remove a bunch of now unnecessary
11987            manually calls to setInternalFieldCount().
11988        * bindings/v8/V8DOMWrapper.h:
11989        * bindings/v8/V8Index.h:
11990        * bindings/v8/V8IsolatedContext.cpp:
11991        * bindings/v8/V8IsolatedContext.h:
11992        * bindings/v8/V8NPObject.cpp:
11993        * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
11994        * bindings/v8/custom/V8CustomBinding.h: Remove the static const ints.
11995        * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
11996        * bindings/v8/custom/V8DOMWindowCustom.cpp:
11997        * bindings/v8/custom/V8DocumentCustom.cpp:
11998        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
11999        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
12000        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
12001        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
12002        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
12003        * bindings/v8/custom/V8MessagePortCustom.cpp:
12004        * bindings/v8/custom/V8NodeCustom.cpp:
12005        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
12006        * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
12007        * bindings/v8/custom/V8WebSocketCustom.cpp:
12008        * bindings/v8/custom/V8WorkerContextCustom.cpp:
12009        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
12010        * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
12011
120122010-01-12  Darin Fisher  <darin@chromium.org>
12013
12014        Fixing chromium build bustage.
12015
12016        * bindings/v8/custom/V8PopStateEventCustom.cpp: Add V8Proxy.h include.
12017
120182010-01-12  Darin Fisher  <darin@chromium.org>
12019
12020        Reviewed by Dimitri Glazkov.
12021
12022        Add V8 bindings for PopStateEvent.
12023        https://bugs.webkit.org/show_bug.cgi?id=33546
12024        
12025        This is covered by existing tests for PopStateEvent.
12026
12027        * WebCore.gypi:
12028        * bindings/v8/DOMObjectsInclude.h:
12029        * bindings/v8/DerivedSourcesAllInOne.cpp:
12030        * bindings/v8/V8DOMWrapper.cpp:
12031        (WebCore::V8DOMWrapper::convertEventToV8Object):
12032        * bindings/v8/V8Index.cpp:
12033        * bindings/v8/V8Index.h:
12034        * bindings/v8/custom/V8PopStateEventCustom.cpp: Added.
12035        (WebCore::V8PopStateEvent::initPopStateEventCallback):
12036        (WebCore::V8PopStateEvent::stateAccessorGetter):
12037
120382010-01-12  Kelly Norton  <knorton@google.com>
12039
12040        Reviewed by Timothy Hatcher.
12041
12042        Adds source length to ParseHTMLRecords in the inspector timeline.
12043        https://bugs.webkit.org/show_bug.cgi?id=33548
12044
12045        Test: inspector/timeline-parse-html.html
12046
12047        * html/HTMLTokenizer.cpp:
12048        (WebCore::HTMLTokenizer::write):
12049        * inspector/InspectorTimelineAgent.cpp:
12050        (WebCore::InspectorTimelineAgent::willWriteHTML):
12051        * inspector/InspectorTimelineAgent.h:
12052        * inspector/TimelineRecordFactory.cpp:
12053        (WebCore::TimelineRecordFactory::createParseHTMLRecord):
12054        * inspector/TimelineRecordFactory.h:
12055
120562010-01-12  Jungshik Shin  <jshin@chromium.org>
12057
12058        Reviewed by Darin Adler
12059
12060        https://bugs.webkit.org/show_bug.cgi?id=31597
12061
12062        Make ICU's text breakiterator and string search use Chrome's UI
12063        language instead of 'en-US' or the OS UI language.
12064
12065        As long as the webkit layout tests are run in en-US locale, there'd be 
12066        no visible change.
12067
12068        * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:
12069        (UILanguage):
12070        (WebCore::currentSearchLocaleID):
12071        (WebCore::currentTextBreakLocaleID):
12072
120732010-01-12  Beth Dakin  <bdakin@apple.com>
12074
12075        Rubber-stamped by Dave Hyatt.
12076
12077        This patch changes the name of -webkit-shadow to -webkit-svg-shadow 
12078        to avoid giving a custom property an overly-general name.
12079        <rdar://problem/7534590>
12080
12081        * css/CSSComputedStyleDeclaration.cpp:
12082        (WebCore::):
12083        * css/CSSParser.cpp:
12084        (WebCore::CSSParser::parseShadow):
12085        * css/SVGCSSComputedStyleDeclaration.cpp:
12086        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
12087        * css/SVGCSSParser.cpp:
12088        (WebCore::CSSParser::parseSVGValue):
12089        * css/SVGCSSPropertyNames.in:
12090        * css/SVGCSSStyleSelector.cpp:
12091        (WebCore::CSSStyleSelector::applySVGProperty):
12092
120932010-01-12  Peter Kasting  <pkasting@google.com>
12094
12095        Not reviewed, build fix.
12096
12097        * WebCore.vcproj/WebCore.vcproj:
12098
120992010-01-12  Nate Chapin  <japhet@chromium.org>
12100
12101        Reviewed by Dimitri Glazkov.
12102
12103        Add a null check in case of an event handler with invalid syntax.
12104
12105        Should make fast/js/invalid-syntax--for-function.html not crash in
12106        Chromium's test shell.
12107
12108        * bindings/v8/V8LazyEventListener.cpp:
12109        (WebCore::V8LazyEventListener::callListenerFunction): Check the listener object before using it.
12110
121112010-01-12  Peter Kasting  <pkasting@google.com>
12112
12113        Reviewed by Dimitri Glazkov.
12114
12115        Remove XBM support from the open-source image decoders.
12116        https://bugs.webkit.org/show_bug.cgi?id=27823
12117
12118        * GNUmakefile.am:
12119        * WebCore.gypi:
12120        * WebCore.vcproj/WebCore.vcproj:
12121        * WebCoreSources.bkl:
12122        * platform/image-decoders/ImageDecoder.cpp:
12123        (WebCore::ImageDecoder::create):
12124        * platform/image-decoders/xbm: Removed.
12125        * platform/image-decoders/xbm/XBMImageDecoder.cpp: Removed.
12126        * platform/image-decoders/xbm/XBMImageDecoder.h: Removed.
12127
121282010-01-12  Alexey Proskuryakov  <ap@apple.com>
12129
12130        Reviewed by Darin Adler.
12131
12132        https://bugs.webkit.org/show_bug.cgi?id=33540
12133        Make it possible to build in debug mode with assertions disabled
12134
12135        * dom/Element.cpp: (WebCore::Element::getURLAttribute):
12136        * dom/SelectElement.cpp: (WebCore::SelectElementData::checkListItems):
12137        * editing/TextIterator.cpp:
12138        * loader/Cache.cpp: (WebCore::Cache::removeFromLRUList):
12139        * rendering/RenderArena.cpp: (WebCore::RenderArena::free):
12140
121412010-01-12  Eric Carlson  <eric.carlson@apple.com>
12142
12143        Reviewed by Darin Adler and Simon Fraser.
12144
12145        rdar://problem/5684062
12146        https://bugs.webkit.org/show_bug.cgi?id=23094
12147        Flash of white when switching from poster image to video playback
12148        
12149        https://bugs.webkit.org/show_bug.cgi?id=23140
12150        <video> poster should scale like a video frame
12151
12152        * html/HTMLMediaElement.cpp:
12153        (WebCore::HTMLMediaElement::setReadyState): Only call updatePosterImage from one place
12154
12155        * html/HTMLVideoElement.cpp:
12156        (WebCore::HTMLVideoElement::HTMLVideoElement): m_shouldShowPosterImage -> m_shouldDisplayPoster.
12157        (WebCore::HTMLVideoElement::createRenderer): Always create a RenderVideo.
12158        (WebCore::HTMLVideoElement::attach): Call updatePosterImage before checking to see if we
12159            should display the poster image. renderer() is never a RenderImage, don't need to check.
12160            m_shouldShowPosterImage -> m_shouldDisplayPoster.
12161        (WebCore::HTMLVideoElement::detach): m_shouldShowPosterImage -> m_shouldDisplayPoster.
12162        (WebCore::HTMLVideoElement::parseMappedAttribute): Cache poster attribute when it is set since
12163            it is checked frequently. m_shouldShowPosterImage -> m_shouldDisplayPoster.
12164        (WebCore::HTMLVideoElement::updatePosterImage): Don't bother looking at the network state, 
12165            display the poster as long as the attribute is valid and the media engine says it hasn't
12166            rendered a video frame. m_shouldShowPosterImage -> m_shouldDisplayPoster.
12167        (WebCore::HTMLVideoElement::hasAvailableVideoFrame): New, ask the media engine if a video frame
12168            is available to render.
12169        * html/HTMLVideoElement.h:
12170        (WebCore::HTMLVideoElement::poster):
12171        (WebCore::HTMLVideoElement::shouldDisplayPoster):
12172
12173        * loader/ImageLoader.cpp:
12174        (WebCore::ImageLoader::updateRenderer): Call setCachedImage for render video too.
12175
12176        * manual-tests/video-player.html: Remove bit-rot from manual test so it works again.
12177
12178        * platform/graphics/MediaPlayer.cpp:
12179        (WebCore::MediaPlayer::hasAvailableVideoFrame): New, ask the media engine if a video frame
12180            is available to render.
12181
12182        * platform/graphics/MediaPlayer.h: Prototype for hasAvailableVideoFrame.
12183        * platform/graphics/MediaPlayerPrivate.h: Ditto.
12184
12185        * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Declare hasAvailableVideoFrame, declare
12186            all bool variables to aid packing.
12187        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 
12188        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_videoFrameHasDrawn. Cleanup
12189            floating point initializers to match coding guidelines.
12190        (WebCore::MediaPlayerPrivate::load): Initialize m_videoFrameHasDrawn.
12191        (WebCore::MediaPlayerPrivate::hasAvailableVideoFrame): New.
12192        (WebCore::MediaPlayerPrivate::repaint): Set m_videoFrameHasDrawn.
12193
12194        (WebCore::RenderImage::paintReplaced): Split part out into paint method.
12195        (WebCore::RenderImage::paint): New.
12196        * rendering/RenderImage.h: Declare paint. Make isWidthSpecified and isHeightSpecified protected
12197            instead of private so RenderVideo can use them.
12198
12199        * rendering/RenderMedia.cpp:
12200        (WebCore::RenderMedia::RenderMedia): Inherit from RenderImage, not RenderReplaced
12201        (WebCore::RenderMedia::destroy): Ditto.
12202        (WebCore::RenderMedia::styleDidChange): Ditto.
12203        (WebCore::RenderMedia::layout): Ditto.
12204        (WebCore::RenderMedia::lowestPosition): Ditto.
12205        (WebCore::RenderMedia::rightmostPosition): Ditto.
12206        (WebCore::RenderMedia::leftmostPosition): Ditto.
12207        * rendering/RenderMedia.h: Declare isImage and isRenderImage.
12208
12209        * rendering/RenderVideo.cpp:
12210        (WebCore::RenderVideo::intrinsicSizeChanged): New, call RenderVideo::intrinsicSizeChanged
12211            when displaying a poster so it is sized correctly.
12212        (WebCore::RenderVideo::imageChanged): Override so we can cache the image's intrisic size and
12213        use it when we also know the movie's intrinsic size but still need to draw the poster.
12214        (WebCore::RenderVideo::videoBox): Use the poster's intrinsic size when drawing the poster,
12215        use the movie's intrinsic size when drawing frames.
12216        (WebCore::RenderVideo::paintReplaced): Call RenderImage::paint when drawing the poster.
12217        (WebCore::RenderVideo::videoElement): New.
12218        (WebCore::RenderVideo::updatePlayer):
12219        * rendering/RenderVideo.h:
12220        (WebCore::RenderVideo::minimumReplacedHeight): Added.
12221
122222010-01-12  Tony Chang  <tony@chromium.org>
12223
12224        Reviewed by Maciej Stachowiak.
12225
12226        Fix a crash in Chromium when receiving multipart/x-mixed-replace data.
12227        If we stop a multipart load after ResourceLoader::didReceiveResponse
12228        but before ResourceLoader::didReceiveData, we have a NULL document
12229        loader because it has been moved back to the provisional state.  New
12230        loads that happen after this will dereference the NULL document
12231        loader.
12232
12233        Work around this by moving the provisional document loader back as
12234        the document loader when the request is stopped.
12235
12236        https://bugs.webkit.org/show_bug.cgi?id=31446
12237
12238        Test: http/tests/multipart/multipart-wait-before-boundary.html
12239
12240        * loader/FrameLoader.cpp:
12241        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
12242
122432010-01-12  Enrica Casucci  <enrica@apple.com>
12244
12245        Reviewed by Darin Adler.
12246
12247        WebKit returns incorrect match count when first string match is on an element with user-select-none style
12248        https://bugs.webkit.org/show_bug.cgi?id=33508
12249        <rdar://problem/7482143>
12250
12251        If we use VisiblePosition to calculate the start of the new search range,
12252        we skip all the nodes with user-select-none style, producing an incorrect
12253        match count.
12254        
12255        No new tests: there are no API's available to Javascript to verify the
12256        number of matches found.
12257
12258        * page/Frame.cpp:
12259        (WebCore::Frame::markAllMatchesForText): Changed to use the end of the previous
12260        result range as the start of the new search range.
12261
122622010-01-12  Mikhail Naganov  <mnaganov@chromium.org>
12263
12264        Reviewed by Timothy Hatcher.
12265
12266        Changed ".sidebar" style to allow v-scroll to appear in
12267        "Profiles" panel sidebar.
12268
12269        https://bugs.webkit.org/show_bug.cgi?id=33470
12270
12271        No new tests -- no code changed.
12272
12273        * inspector/front-end/inspector.css:
12274
122752010-01-12  Adam Roben  <aroben@apple.com>
12276
12277        Windows accelerated compositing build fix after r53110
12278
12279        * plugins/PluginWidget.h:
12280        (WebCore::PluginWidget::platformLayer): Define platformLayer() for
12281        non-Mac platforms that have accelerated compositing turned on. It
12282        would probably be better to make PluginWidget not be used at all on
12283        non-Mac platforms, but this fix is much simpler.
12284
122852010-01-12  Yury Semikhatsky  <yurys@chromium.org>
12286
12287        Reviewed by Pavel Feldman.
12288
12289        Support injection of inspector scripts into the inspected context.
12290
12291        https://bugs.webkit.org/show_bug.cgi?id=33523
12292
12293        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
12294        (WebCore::WeakReferenceCallback):
12295        (WebCore::createInjectedScriptHostV8Wrapper):
12296        (WebCore::createInjectedScript):
12297        (WebCore::InjectedScriptHost::injectedScriptFor):
12298
122992010-01-12  Ben Murdoch  <benm@google.com>
12300
12301        Reviewed by Darin Adler.
12302
12303        Form Reset : Press Back Button and Reset , TextareaElemnt is not set to Default Value
12304        https://bugs.webkit.org/show_bug.cgi?id=31539
12305
12306        Added manual test: manual-tests/textarea-reset-default-value.html.
12307
12308        * html/HTMLTextAreaElement.cpp:
12309        (WebCore::HTMLTextAreaElement::restoreFormControlState): set the value, rather than default value of a text area when restoring its state. This allows resetting a form with a textarea to work correctly after its state has been restored.
12310        * manual-tests/resources/textarea-form-back-on-submit.html: Added.
12311        * manual-tests/textarea-reset-default-value.html: Added.
12312
123132010-01-12  Simon Hausmann  <simon.hausmann@nokia.com>
12314
12315        Reviewed by Holger Freyther.
12316
12317        [Qt] WebCore::Path allocates QPainterPath unnecessarily on the heap
12318        https://bugs.webkit.org/show_bug.cgi?id=33466
12319
12320        WebCore::Path is a pointer to a PlatformPath. In case of Qt that's a
12321        QPainterPath, which itself is a pointer to the elements (QVector).
12322        That creates unecessary allocations in PathQt.cpp.
12323
12324        Replaced the "PlatformPath* m_path;" with a PlatformPathPtr, which
12325        is a plain QPainterPath.
12326
12327        * platform/graphics/Path.h:
12328        (WebCore::Path::platformPath):
12329        * platform/graphics/qt/GraphicsContextQt.cpp:
12330        (WebCore::drawFilledShadowPath):
12331        (WebCore::GraphicsContext::fillPath):
12332        (WebCore::GraphicsContext::fillRoundedRect):
12333        (WebCore::GraphicsContext::addPath):
12334        (WebCore::GraphicsContext::clip):
12335        (WebCore::GraphicsContext::clipOut):
12336        * platform/graphics/qt/PathQt.cpp:
12337        (WebCore::Path::~Path):
12338        (WebCore::Path::operator=):
12339        (WebCore::Path::contains):
12340        (WebCore::Path::strokeContains):
12341        (WebCore::Path::translate):
12342        (WebCore::Path::boundingRect):
12343        (WebCore::Path::strokeBoundingRect):
12344        (WebCore::Path::moveTo):
12345        (WebCore::Path::addLineTo):
12346        (WebCore::Path::addQuadCurveTo):
12347        (WebCore::Path::addBezierCurveTo):
12348        (WebCore::Path::addArcTo):
12349        (WebCore::Path::closeSubpath):
12350        (WebCore::Path::addArc):
12351        (WebCore::Path::addRect):
12352        (WebCore::Path::addEllipse):
12353        (WebCore::Path::clear):
12354        (WebCore::Path::isEmpty):
12355        (WebCore::Path::debugString):
12356        (WebCore::Path::apply):
12357        (WebCore::Path::transform):
12358
123592010-01-12  Jakub Wieczorek  <faw217@gmail.com>
12360
12361        Reviewed by Adam Barth.
12362
12363        [Qt] XSL stylesheets can load documents from a different origin
12364
12365        https://bugs.webkit.org/show_bug.cgi?id=33423
12366
12367        * xml/XSLTProcessorQt.cpp:
12368        (WebCore::XSLTUriResolver::XSLTUriResolver):
12369        (WebCore::XSLTUriResolver::resolve):
12370        (WebCore::XSLTProcessor::transformToString):
12371
123722010-01-12  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
12373
12374        Reviewed by Gustavo Noronha Silva.
12375
12376        https://bugs.webkit.org/show_bug.cgi?id=30883
12377        [Gtk] Implement AtkText for HTML elements which contain text
12378
12379        Tweak/correction: Eliminate a needless variable.
12380
12381        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
12382        (webkit_accessible_text_get_caret_offset):
12383
123842010-01-12  Yury Semikhatsky  <yurys@chromium.org>
12385
12386        Reviewed by Geoffrey Garen.
12387
12388        Allow creating injected script for the inspected script state. The InjectedScript is
12389        cached on the inspected ExecState global object and will be garbage collected when the
12390        object is collected. Each InjectedScript object is assigned unique id.
12391
12392        https://bugs.webkit.org/show_bug.cgi?id=33469
12393
12394        * bindings/js/JSDOMGlobalObject.cpp:
12395        (WebCore::JSDOMGlobalObject::markChildren):
12396        (WebCore::JSDOMGlobalObject::setInjectedScript):
12397        (WebCore::JSDOMGlobalObject::injectedScript):
12398        * bindings/js/JSDOMGlobalObject.h: InjectedScript is cached on the global object as a
12399        field that is not visible from the inspected code. This InjectedScript should be alive as long as
12400        the global object is alive and should be accessible from Web Inspector's native code.
12401        (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
12402        * bindings/js/JSInjectedScriptHostCustom.cpp:
12403        (WebCore::createInjectedScript): Creates injected script using the lexical global object of the
12404        inspected ScriptState. Reference to the object is stored on the global DOM object.
12405        (WebCore::InjectedScriptHost::injectedScriptFor):
12406        * inspector/InjectedScriptHost.cpp:
12407        (WebCore::InjectedScriptHost::InjectedScriptHost):
12408        (WebCore::InjectedScriptHost::injectedScriptForId):
12409        (WebCore::InjectedScriptHost::discardInjectedScripts): This method is expected to be called when the
12410        the InjectedScript are no longer needed. In particular, this should be called before frame navigation. 
12411        * inspector/InjectedScriptHost.h:
12412        (WebCore::InjectedScriptHost::setInjectedScriptSource): This allows to provide injected script source.
12413        The source may be loaded in a platform specific way.
12414
124152010-01-11  Darin Adler  <darin@apple.com>
12416
12417        Reviewed by Dan Bernstein.
12418
12419        Fix handling of unusual kana sequences in search
12420        https://bugs.webkit.org/show_bug.cgi?id=33506
12421
12422        * editing/TextIterator.cpp:
12423        (WebCore::composedVoicedSoundMark): Removed unnnecessary case for a
12424        non-kana-letter character. This function only works for kana letters.
12425        (WebCore::SearchBuffer::isBadMatch): Fixed voiced sound mark code to
12426        properly handle cases where one character has a shorter list of
12427        combining voiced sound marks than the other.
12428
124292010-01-11  Victor Wang  <victorw@chromium.org>
12430
12431        Reviewed by Dimitri Glazkov.
12432
12433        Clear m_acceptedIndexOnAbandon flag when user accepts the selected index.
12434
12435        https://bugs.webkit.org/show_bug.cgi?id=33499
12436
12437        TEST: manual-tests/chromium/onchange-reload-popup.html
12438        It should be covered by the above test. The current
12439        test shell does not support sending keyboard events to popup
12440        list so use manual test for it.
12441
12442        * platform/chromium/PopupMenuChromium.cpp:
12443        (WebCore::PopupListBox::acceptIndex):
12444
124452010-01-11  Gustavo Noronha Silva  <gns@gnome.org>
12446
12447        Reviewed by Eric Seidel.
12448
12449        [GTK] Debug bots crashing in plugins/iframe-shims.html
12450        https://bugs.webkit.org/show_bug.cgi?id=33472
12451
12452        Call computeOffsetInContainerNode() instead of
12453        offsetInContainerNode(), since we are not sure this is always
12454        parent-anchored.
12455
12456        plugins/iframe-shims.html no longer ASSERTS
12457
12458        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
12459        (objectAndOffsetUnignored):
12460
124612010-01-11  Simon Fraser  <simon.fraser@apple.com>
12462
12463        Reviewed by Kevin Decker.
12464
12465        https://bugs.webkit.org/show_bug.cgi?id=33455
12466        Allows plugins to participate in accelerated compositing
12467
12468        For plugins using the CoreAnimation rendering mode, host their CALayers in the
12469        accelerated compositing layer tree.
12470        
12471        This requires making normal flow RenderLayers for RenderEmbeddedObjects when they represent
12472        a plugin using this mode.
12473        
12474        * WebCore.base.exp: Export Node::setNeedsStyleRecalc() for use by WebKit.
12475        * WebCore.xcodeproj/project.pbxproj: Re-order files for sorting.
12476
12477        * rendering/RenderEmbeddedObject.h:
12478        * rendering/RenderEmbeddedObject.cpp:
12479        (WebCore::RenderEmbeddedObject::requiresLayer): Make a layer if the plugin is using
12480        accelerated compositing mode.
12481        (WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing): Asks whether the plugin has
12482        a layer, via PluginWidget.
12483
12484        * rendering/RenderLayer.cpp:
12485        (WebCore::RenderLayer::shouldBeNormalFlowOnly):
12486        (WebCore::RenderLayer::isSelfPaintingLayer):
12487        RenderEmbeddedObjects should be normal flow layers, and self-painting layers.
12488        
12489        * rendering/RenderLayerBacking.cpp:
12490        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
12491        Parent the plugin's layer in the GraphicsLayer when updating the layer configuration.
12492        
12493        * rendering/RenderLayerCompositor.h:
12494        * rendering/RenderLayerCompositor.cpp:
12495        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
12496        (WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
12497        RenderEmbeddedObjects that allow accelerated compositing trip accelerated compositing mode
12498        for the page.
12499
125002010-01-11  Andreas Kling  <andreas.kling@nokia.com>
12501
12502        Reviewed by Darin Adler.
12503
12504        Fixed an uninitialized PluginView member (m_mode) which wasn't
12505        set when constructed with a null PluginPackage*
12506
12507        https://bugs.webkit.org/show_bug.cgi?id=33468
12508
12509        * plugins/PluginView.cpp:
12510        (WebCore::PluginView::PluginView):
12511
125122010-01-11  Dirk Schulze  <krit@webkit.org>
12513
12514        Reviewed by Nikolas Zimmermann.
12515
12516        SVG radialGradient example radial-gradient-with-outstanding-focalPoint.svg fails
12517        https://bugs.webkit.org/show_bug.cgi?id=32201
12518
12519        This patch moves every focalPoint that lies outside the circle defined by the radial
12520        gradients central point and its radius to stay inside this circle, as demanded by the
12521        SVG 1.1 specification.
12522        We use r * 0.99 as maximum radius for the aforementioned circle, when determining where
12523        the focalPoint is lying, to achieve compatibility with Firefox.
12524
12525        * svg/SVGRadialGradientElement.cpp:
12526        (WebCore::SVGRadialGradientElement::buildGradient):
12527
125282010-01-11  Alexey Proskuryakov  <ap@apple.com>
12529
12530        Reviewed by Oliver Hunt.
12531
12532        https://bugs.webkit.org/show_bug.cgi?id=33493
12533        Log redirect details to Network channel
12534
12535        * platform/network/mac/ResourceHandleMac.mm:
12536        (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
12537        Log response code and Location header field value. Also, removed a redundant null check.
12538
125392010-01-11  Beth Dakin  <bdakin@apple.com>
12540
12541        Reviewed by Oliver Hunt.
12542
12543        Fix for https://bugs.webkit.org/show_bug.cgi?id=33491 REGRESSION: 
12544        Many SVG -webkit-shadow tests are currently failing (in the pixel 
12545        tests)
12546        -and-
12547        <rdar://problem/7501200>
12548
12549        The real fix here is to call inflateForShadow() on the repaintRect 
12550        in prepareToRenderSVGContent(). But in order to do that, I had to 
12551        move inflateForShadow() to a different class since functions in 
12552        SVGRenderBase cannot call each other. inflateForShadow() now exists 
12553        in SVGRenderStyle which I think makes some sense because a similar 
12554        function that returns a box shadow's extent exists on RenderStyle.
12555
12556        Now call inflateForShadow() through the SVGRenderStyle.
12557        * rendering/RenderForeignObject.cpp:
12558        (WebCore::RenderForeignObject::computeRectForRepaint):
12559        * rendering/RenderSVGImage.cpp:
12560        (WebCore::RenderSVGImage::computeRectForRepaint):
12561        * rendering/RenderSVGModelObject.cpp:
12562        (WebCore::RenderSVGModelObject::computeRectForRepaint):
12563        * rendering/RenderSVGRoot.cpp:
12564        (WebCore::RenderSVGRoot::computeRectForRepaint):
12565        * rendering/RenderSVGText.cpp:
12566        (WebCore::RenderSVGText::computeRectForRepaint):
12567
12568        No longer implement inflateForShadow() here.
12569        * rendering/SVGRenderSupport.cpp:
12570        (WebCore::SVGRenderBase::prepareToRenderSVGContent): Call new 
12571        inflateForShadow() through the SVGRenderStyle
12572        * rendering/SVGRenderSupport.h:
12573
12574        Implementation of inflateForShadow() now lives here.
12575        * rendering/style/SVGRenderStyle.cpp:
12576        (WebCore::getSVGShadowExtent):
12577        (WebCore::SVGRenderStyle::inflateForShadow):
12578        * rendering/style/SVGRenderStyle.h:
12579
125802010-01-11  Alexander Pavlov  <apavlov@chromium.org>
12581
12582        Reviewed by Pavel Feldman.
12583
12584        Rewrite relative URLs in the ElementsTreeOutline to make them navigable
12585
12586        Targets for "src" and "href" attribute values in the Elements outline tree
12587        are rewritten to full URLs whenever possible.
12588        https://bugs.webkit.org/show_bug.cgi?id=33024
12589
12590        Test: inspector/elements-panel-rewrite-href.html
12591
12592        * inspector/front-end/ElementsTreeOutline.js:
12593        (WebInspector.ElementsTreeElement.prototype._rewriteAttrHref):
12594        (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
12595        * inspector/front-end/inspector.js:
12596
125972010-01-11  Nikolas Zimmermann  <nzimmermann@rim.com>
12598
12599        Not reviewed. Attempt to fix windows builds, by removing the no-longer existant JSSVGPointListCustom.cpp from JSBindingsAllInOne.cpp.
12600
12601        * bindings/js/JSBindingsAllInOne.cpp:
12602
126032010-01-11  Nikolas Zimmermann  <nzimmermann@rim.com>
12604
12605        Reviewed by Adam Roben & Dirk Schulze.
12606
12607        svg <text> fails to update when setting x/y
12608        https://bugs.webkit.org/show_bug.cgi?id=22384
12609
12610        Introduce JSSVGPODListCustom, refactoring the existing custom code for SVG POD type lists.
12611        (Currently SVGTransformList/SVGPointList was handled correctly, and SVGLengthList/SVGNumberList not)
12612
12613        Remove the need for custom JSSVG*List.cpp implementations, but instead tweak CodeGeneratorJS.pm,
12614        to call into the new JSSVGPODListCustom methods. Fixes dynamic updates of the SVGTextElement
12615        'rotate' & 'x'/'y' SVG DOM properties.
12616
12617        Tests: svg/custom/text-xy-updates-SVGList.xhtml
12618               svg/dynamic-updates/SVGTextElement-svgdom-rotate-prop.html
12619  
12620        * Android.jscbindings.mk: Remove old files from build, add the new header.
12621        * GNUmakefile.am: Ditto.
12622        * WebCore.gypi: Ditto.
12623        * WebCore.pro: Ditto.
12624        * WebCore.vcproj/WebCore.vcproj: Ditto.
12625        * WebCore.xcodeproj/project.pbxproj: Ditto.
12626        * bindings/js/JSSVGPODListCustom.h: Copied from bindings/js/JSSVGTransformListCustom.cpp. Refactored code to be sharable between all JSSVG*List classes.
12627        (WebCore::JSSVGPODListCustom::finishGetter):
12628        (WebCore::JSSVGPODListCustom::finishSetter):
12629        (WebCore::JSSVGPODListCustom::finishSetterReadOnlyResult):
12630        (WebCore::JSSVGPODListCustom::clear):
12631        (WebCore::JSSVGPODListCustom::initialize):
12632        (WebCore::JSSVGPODListCustom::getItem):
12633        (WebCore::JSSVGPODListCustom::insertItemBefore):
12634        (WebCore::JSSVGPODListCustom::replaceItem):
12635        (WebCore::JSSVGPODListCustom::removeItem):
12636        (WebCore::JSSVGPODListCustom::appendItem):
12637        * bindings/js/JSSVGPointListCustom.cpp: Removed.
12638        * bindings/js/JSSVGTransformListCustom.cpp: Removed.
12639        * bindings/scripts/CodeGeneratorJS.pm: Forward any SVGList call on POD list types to the new JSSVGPODListCustom.
12640        * svg/SVGNumberList.cpp: Make SVGNumberList a SVGPODList, instead of a SVGList, to make dynamic updates work.
12641        (WebCore::SVGNumberList::SVGNumberList):
12642        * svg/SVGNumberList.h:
12643        * svg/SVGPointList.idl: Remove JSCCustom markers everywhere.
12644        * svg/SVGTransformList.idl: Ditto.
12645
126462010-01-08  Enrica Casucci  <enrica@apple.com>
12647
12648        Reviewed by Darin Adler.
12649
12650        Cannot focus on an empty editable span in a non editable div.
12651        https://bugs.webkit.org/show_bug.cgi?id=33411
12652        <rdar://problem/5982901>
12653
12654        We now allow to set the focus inside an empty inline element if it is the only
12655        editable element inside non-editable content.
12656
12657        * dom/Position.cpp:
12658        (WebCore::Position::isCandidate): Extended to allow positions in inline elements when
12659        at the border between editable and non editable content.
12660        (WebCore::Position::getInlineBoxAndOffset): Modified to be able to calculate the caret
12661        position inside an empty inline.
12662        * editing/DeleteSelectionCommand.cpp:
12663        (WebCore::DeleteSelectionCommand::mergeParagraphs): When merging, we don't always find a break
12664        element, since now an editable inline is a VisiblePosition if it is at editability boundary.
12665        * editing/VisibleSelection.h: Updated comment on the use of Position member variables
12666        instead of VisiblePosition.
12667        * page/Frame.cpp:
12668        (WebCore::Frame::selectionLayoutChanged): Changed to avoid multiple calls to upstream and
12669        downstream on the same position.
12670
126712010-01-06  Dimitri Glazkov  <dglazkov@chromium.org>
12672
12673        Reviewed by Nikolas Zimmermann.
12674
12675        [V8] IsRefPtrType() in CodeGeneratorV8.pm increases maintenance burden.
12676        https://bugs.webkit.org/show_bug.cgi?id=32994
12677
12678        Refactoring, covered by existings tests.
12679
12680        * bindings/scripts/CodeGeneratorV8.pm: Reversed testing for ref-counted objects,
12681            since there's a much smaller (and more stable) set of non-ref-counted ones.
12682
126832010-01-06  Kelly Norton  <knorton@google.com>
12684
12685        Reviewed by Pavel Feldman.
12686
12687        Fixes the fact that timeline panel results are skewed by the use of DOM mutation events.
12688        https://bugs.webkit.org/show_bug.cgi?id=32846
12689
12690        Instead of using DOM mutation events in InspectorDOMAgent, InspectorController is now called
12691        directly when the DOM is mutated.
12692
12693        * dom/ContainerNode.cpp: Calls InspectorController directly when child nodes are added/removed.
12694        (WebCore::dispatchChildInsertionEvents):
12695        (WebCore::dispatchChildRemovalEvents):
12696        * dom/Element.cpp: Calls InspectorController directly when attributes are added/removed.
12697        (WebCore::Element::dispatchAttrRemovalEvent):
12698        (WebCore::Element::dispatchAttrAdditionEvent):
12699        * inspector/InspectorController.cpp:
12700        (WebCore::InspectorController::didInsertDOMNode):
12701        (WebCore::InspectorController::didRemoveDOMNode):
12702        (WebCore::InspectorController::didModifyDOMAttr):
12703        * inspector/InspectorController.h:
12704        * inspector/InspectorDOMAgent.cpp:
12705        (WebCore::InspectorDOMAgent::startListening):
12706        (WebCore::InspectorDOMAgent::stopListening):
12707        (WebCore::InspectorDOMAgent::handleEvent):
12708        (WebCore::InspectorDOMAgent::didInsertDOMNode):
12709        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
12710        (WebCore::InspectorDOMAgent::didModifyDOMAttr):
12711        * inspector/InspectorDOMAgent.h:
12712
127132010-01-10  Darin Adler  <darin@apple.com>
12714
12715        Reviewed by Alexey Proskuryakov.
12716
12717        REGRESSION: Japanese text search ignores small vs. large and voicing mark differences
12718        https://bugs.webkit.org/show_bug.cgi?id=30437
12719        rdar://problem/7214058
12720
12721        Test: fast/text/find-kana.html
12722
12723        * editing/TextIterator.cpp:
12724        (WebCore::isKanaLetter): Added.
12725        (WebCore::isSmallKanaLetter): Added.
12726        (WebCore::composedVoicedSoundMark): Added.
12727        (WebCore::isCombiningVoicedSoundMark): Added.
12728        (WebCore::containsKanaLetters): Added.
12729        (WebCore::normalizeCharacters): Added.
12730        (WebCore::SearchBuffer::SearchBuffer): Initialize the data members
12731        m_targetRequiresKanaWorkaround and m_normalizedTarget.
12732        (WebCore::SearchBuffer::isBadMatch): Added. Checks for matches that
12733        ICU's default collation considers correct, but we consider incorrect.
12734        (WebCore::SearchBuffer::search): Added code to call isBadMatch and
12735        move to the next match with usearch_next if the result is true.
12736
127372010-01-11  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
12738
12739        Reviewed by Xan Lopez.
12740
12741        https://bugs.webkit.org/show_bug.cgi?id=30883
12742        [Gtk] Implement AtkText for HTML elements which contain text
12743
12744        * accessibility/gtk/AccessibilityObjectWrapperAtk.h
12745        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
12746        (objectAndOffsetUnignored):
12747        (webkit_accessible_text_get_caret_offset):
12748        * editing/gtk/SelectionControllerGtk.cpp:
12749        (SelectionController::notifyAccessibilityForSelectionChange)
12750
12751        Adjust the caret offset and object with focus to reflect the
12752        unignored parent of the static text object which contains the
12753        caret. This is necessary because the static text objects are
12754        no longer being exposed to ATs.
12755
127562010-01-11  Kim Grönholm  <kim.gronholm@nomovok.com>
12757
12758        Reviewed by Antti Koivisto.
12759
12760        Touchevent coordinates are incorrect after page zoom and page scroll
12761        https://bugs.webkit.org/show_bug.cgi?id=32899
12762
12763        Test: fast/events/touch-coords-in-zoom-and-scroll.html
12764
12765        * dom/Touch.cpp:
12766        (WebCore::contentsX):
12767        (WebCore::contentsY):
12768        * page/EventHandler.cpp:
12769        (WebCore::EventHandler::handleTouchEvent):
12770
127712010-01-11  Tony Chang  <tony@chromium.org>
12772
12773        Reviewed by Eric Seidel.
12774
12775        Have "Paste and Match Style" fire the dom paste event.
12776        https://bugs.webkit.org/show_bug.cgi?id=30639
12777
12778        Test: editing/execCommand/paste-and-match-style-event.html
12779
12780        * editing/Editor.cpp:
12781        (WebCore::Editor::pasteAsPlainText):
12782
127832010-01-10  Oliver Hunt  <oliver@apple.com>
12784
12785        Reviewed by NOBODY (Build fix).
12786
12787        Rollout renderpath culling as it once again breaks pixel tests.
12788
12789        * rendering/RenderPath.cpp:
12790        (WebCore::RenderPath::paint):
12791        (WebCore::RenderPath::nodeAtFloatPoint):
12792
127932010-01-10  Simon Fraser  <simon.fraser@apple.com>
12794
12795        Reviewed by Darin Adler.
12796
12797        Allows plugins to participate in accelerated compositing
12798        https://bugs.webkit.org/show_bug.cgi?id=33455
12799
12800        Part 1: rename setContentsToVideo() on GraphicsLayer to setContentsToMedia()
12801        to make it more general. Rename associated enums and methods similarly.
12802
12803        * platform/graphics/GraphicsLayer.h:
12804        (WebCore::GraphicsLayer::setContentsToMedia):
12805        * platform/graphics/mac/GraphicsLayerCA.h:
12806        (WebCore::GraphicsLayerCA::):
12807        * platform/graphics/mac/GraphicsLayerCA.mm:
12808        (WebCore::GraphicsLayerCA::setContentsToMedia):
12809        (WebCore::GraphicsLayerCA::commitLayerChanges):
12810        (WebCore::GraphicsLayerCA::updateContentsMediaLayer):
12811        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
12812        (WebCore::MediaPlayerPrivate::createQTMovieLayer):
12813        (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged):
12814
128152010-01-10  Oliver Hunt  <oliver@apple.com>
12816
12817        Reviewed by Nikolas Zimmerman.
12818
12819        Bad DOM performance in large SVG files
12820        https://bugs.webkit.org/show_bug.cgi?id=30055
12821
12822        Cull RenderPaths before passing on to the underlying graphics system.
12823
12824        * rendering/RenderPath.cpp:
12825        (WebCore::RenderPath::paint):
12826        (WebCore::RenderPath::nodeAtFloatPoint):
12827
128282010-01-10  Adam Barth  <abarth@webkit.org>
12829
12830        Reviewed by Darin Adler.
12831
12832        Add defensive initialization of iframe sandbox flags
12833        https://bugs.webkit.org/show_bug.cgi?id=32368
12834
12835        We now initialize the SecurityOrigin's sandbox state directly duing
12836        construction.  This lets us properly set the isUnique bit.
12837
12838        Tests: http/tests/security/sandboxed-iframe-origin-add.html
12839               http/tests/security/sandboxed-iframe-origin-remove.html
12840
12841        * WebCore.base.exp:
12842        * dom/Document.cpp:
12843        (WebCore::Document::initSecurityContext):
12844        * page/SecurityOrigin.cpp:
12845        (WebCore::SecurityOrigin::SecurityOrigin):
12846        (WebCore::SecurityOrigin::create):
12847        (WebCore::SecurityOrigin::setSandboxFlags):
12848        * page/SecurityOrigin.h:
12849
128502010-01-10  Pavel Feldman  <pfeldman@chromium.org>
12851
12852        Reviewed by Timothy Hatcher.
12853
12854        Web Inspector: Inspect Element selects the wrong element.
12855        Drive-by fix that focuses dom tree upon settting focuesDOMNode.
12856
12857        https://bugs.webkit.org/show_bug.cgi?id=33449
12858
12859        * inspector/front-end/ElementsPanel.js:
12860        (WebInspector.ElementsPanel.prototype.setDocument.selectLastSelectedNode):
12861        (WebInspector.ElementsPanel.prototype.setDocument):
12862        * inspector/front-end/treeoutline.js:
12863        (TreeElement.prototype.select):
12864
128652010-01-10  Pavel Feldman  <pfeldman@chromium.org>
12866
12867        Reviewed by Timothy Hatcher.
12868
12869        Web Inspector: Introduce support for flexible line height in the text editor.
12870
12871        https://bugs.webkit.org/show_bug.cgi?id=33431
12872
12873        * inspector/front-end/TextEditor.js:
12874        (WebInspector.TextEditor):
12875        (WebInspector.TextEditor.prototype._offsetToLineNumber):
12876        (WebInspector.TextEditor.prototype._lineNumberToOffset):
12877        (WebInspector.TextEditor.prototype._lineHeight):
12878        (WebInspector.TextEditor.prototype.reveal):
12879        (WebInspector.TextEditor.prototype._textChanged):
12880        (WebInspector.TextEditor.prototype._selectionChanged):
12881        (WebInspector.TextEditor.prototype._updateSize):
12882        (WebInspector.TextEditor.prototype._paintLines):
12883        (WebInspector.TextEditor.prototype._paintLinesContinuation):
12884        (WebInspector.TextEditor.prototype._paintLineNumbers):
12885        (WebInspector.TextEditor.prototype._paintCurrentLine):
12886        (WebInspector.TextEditor.prototype._scroll):
12887        (WebInspector.TextEditor.prototype._repaintOnScroll):
12888        (WebInspector.TextEditor.prototype._caretForMouseEvent):
12889        (WebInspector.TextEditor.prototype._handleNavigationKey):
12890        (WebInspector.TextEditor.prototype._updateCursor):
12891        (WebInspector.TextEditor.prototype._invalidateHighlight):
12892        (WebInspector.TextEditor.prototype._paintSelection):
12893        (WebInspector.TextEditor.prototype._initFont):
12894        (WebInspector.TextCursor.prototype.setTextLineHeight):
12895
128962010-01-10  Pavel Feldman  <pfeldman@chromium.org>
12897
12898        Reviewed by Timothy Hatcher.
12899
12900        Web Inspector: Do not repaint line numbers while editing within line.
12901
12902        https://bugs.webkit.org/show_bug.cgi?id=33427
12903
12904        * inspector/front-end/TextEditor.js:
12905        (WebInspector.TextEditor.prototype._textChanged):
12906        (WebInspector.TextEditor.prototype._selectionChanged):
12907        (WebInspector.TextEditor.prototype._repaintAll):
12908        (WebInspector.TextEditor.prototype._paintLines):
12909        (WebInspector.TextEditor.prototype._paintLinesContinuation):
12910        (WebInspector.TextEditor.prototype._paintLineNumbers):
12911        (WebInspector.TextEditor.prototype._updateCursor):
12912        (WebInspector.TextEditor.prototype._copy):
12913
129142010-01-10  Adam Barth  <abarth@webkit.org>
12915
12916        Unreviewed whitespace fixes.
12917
12918        * html/HTMLFrameOwnerElement.cpp:
12919        (WebCore::HTMLFrameOwnerElement::setSandboxFlags):
12920        * loader/FrameLoader.cpp:
12921        (WebCore::FrameLoader::updateSandboxFlags):
12922        * loader/FrameLoader.h:
12923
129242010-01-09  Adam Barth  <abarth@webkit.org>
12925
12926        Reviewed by Darin Adler.
12927
12928        Unify origin sandbox flag with m_noAccess in SecurityOrigin
12929        https://bugs.webkit.org/show_bug.cgi?id=32372
12930
12931        It turns out the SandboxOrigin bit is slightly different than the
12932        unique origin concept because the sandbox bit is inherited by iframes.
12933        These concepts are separate in the spec, so I think it's ok to keep
12934        them separate in the implementation as well.
12935
12936        No new tests because there is no behavior change.
12937
12938        * dom/Document.cpp:
12939        (WebCore::Document::cookie):
12940        (WebCore::Document::setCookie):
12941        * loader/CrossOriginAccessControl.cpp:
12942        (WebCore::passesAccessControlCheck):
12943        * page/SecurityOrigin.cpp:
12944        (WebCore::schemesWithUniqueOrigins):
12945        (WebCore::SecurityOrigin::SecurityOrigin):
12946        (WebCore::SecurityOrigin::canAccess):
12947        (WebCore::SecurityOrigin::canRequest):
12948        (WebCore::SecurityOrigin::taintsCanvas):
12949        (WebCore::SecurityOrigin::setSandboxFlags):
12950        (WebCore::SecurityOrigin::toString):
12951        (WebCore::SecurityOrigin::registerURLSchemeAsNoAccess):
12952        (WebCore::SecurityOrigin::shouldTreatURLSchemeAsNoAccess):
12953        * page/SecurityOrigin.h:
12954        (WebCore::SecurityOrigin::canAccessDatabase):
12955        (WebCore::SecurityOrigin::canAccessStorage):
12956        (WebCore::SecurityOrigin::canAccessCookies):
12957        (WebCore::SecurityOrigin::isUnique):
12958
129592010-01-09  Adam Barth  <abarth@webkit.org>
12960
12961        Reviewed by Darin Adler.
12962
12963        ScriptController::isEnabled needs to be renamed
12964        https://bugs.webkit.org/show_bug.cgi?id=32063
12965
12966        Rename ScriptController::isEnabled to
12967        ScriptController::canExecuteScripts to reflect what the method actually
12968        means.  This is a trivial change, but it involved touching a lot of
12969        call sites.
12970
12971        * WebCore.PluginHostProcess.exp:
12972        * bindings/ScriptControllerBase.cpp:
12973        (WebCore::ScriptController::canExecuteScripts):
12974        (WebCore::ScriptController::executeScript):
12975        * bindings/js/JSEventListener.cpp:
12976        (WebCore::JSEventListener::handleEvent):
12977        * bindings/js/JSLazyEventListener.cpp:
12978        (WebCore::JSLazyEventListener::parseCode):
12979        * bindings/js/ScheduledAction.cpp:
12980        (WebCore::ScheduledAction::execute):
12981        * bindings/js/ScriptController.cpp:
12982        (WebCore::ScriptController::bindingRootObject):
12983        (WebCore::ScriptController::windowScriptNPObject):
12984        (WebCore::ScriptController::jsObjectForPluginElement):
12985        (WebCore::ScriptController::executeScriptInWorld):
12986        * bindings/js/ScriptController.h:
12987        * bindings/js/ScriptControllerMac.mm:
12988        (WebCore::ScriptController::windowScriptObject):
12989        * bindings/js/ScriptEventListener.cpp:
12990        (WebCore::createAttributeEventListener):
12991        * bindings/js/ScriptState.cpp:
12992        (WebCore::scriptStateFromNode):
12993        * bindings/v8/ScriptController.cpp:
12994        (WebCore::ScriptController::windowScriptNPObject):
12995        (WebCore::ScriptController::createScriptObjectForPluginElement):
12996        * bindings/v8/ScriptController.h:
12997        * bindings/v8/ScriptEventListener.cpp:
12998        (WebCore::createAttributeEventListener):
12999        * bindings/v8/V8Proxy.cpp:
13000        (WebCore::V8Proxy::retrieve):
13001        * dom/ScriptElement.cpp:
13002        (WebCore::ScriptElementData::evaluateScript):
13003        * dom/XMLTokenizerLibxml2.cpp:
13004        (WebCore::XMLTokenizer::startElementNs):
13005        * html/HTMLMediaElement.cpp:
13006        (WebCore::HTMLMediaElement::controls):
13007        * html/HTMLTokenizer.cpp:
13008        (WebCore::HTMLTokenizer::parseTag):
13009        (WebCore::HTMLTokenizer::processToken):
13010        * inspector/InspectorController.cpp:
13011        (WebCore::canPassNodeToJavaScript):
13012        * inspector/JavaScriptDebugServer.cpp:
13013        (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
13014        * loader/FrameLoader.cpp:
13015        (WebCore::FrameLoader::isProcessingUserGesture):
13016        (WebCore::FrameLoader::open):
13017        (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
13018        (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
13019
130202010-01-09  Evan Martin  <evan@chromium.org>
13021
13022        Reviewed by Eric Seidel.
13023
13024        Inspector font for errors is ugly on non-OSX platforms
13025        https://bugs.webkit.org/show_bug.cgi?id=33340
13026
13027        * css/view-source.css: Add a fallback to sans-serif on a CSS
13028        selector that previously only listed Lucida Grande.
13029
130302010-01-09  Dan Bernstein  <mitz@apple.com>
13031
13032        Reviewed by Nikolas Zimmermann.
13033
13034        <rdar://problem/7525778> Font fallback kills SVG kerning
13035        https://bugs.webkit.org/show_bug.cgi?id=33400
13036
13037        Test: platform/mac/fast/text/sticky-typesetting-features.html
13038
13039        Cache font attributes separately for different typesetting features.
13040
13041        * platform/graphics/SimpleFontData.h: Replaced single-element caches
13042        with maps.
13043        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
13044        (WebCore::disableLigatures): Added an ATSUStyle parameter.
13045        (WebCore::initializeATSUStyle): Look up the ATSUStyle in the map and
13046        initialize if necessary. Return the ATSUStyle.
13047        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI):
13048        Use the ATSUStyle returned from initializeATSUStyle().
13049        * platform/graphics/mac/SimpleFontDataMac.mm:
13050        (WebCore::SimpleFontData::platformInit):
13051        (WebCore::SimpleFontData::platformDestroy): Destroy the ATSUStyles in the
13052        map.
13053        (WebCore::SimpleFontData::getCFStringAttributes): Look up the attributes
13054        dictionary in the map and initialize if necessary.
13055
130562010-01-08  Adam Barth  <abarth@webkit.org>
13057
13058        Unreviewed.  Fix namespace indent for SecurityOrigin.h.
13059
13060        * page/SecurityOrigin.h:
13061        (WebCore::SecurityOrigin::domainWasSetInDOM):
13062        (WebCore::SecurityOrigin::protocol):
13063        (WebCore::SecurityOrigin::host):
13064        (WebCore::SecurityOrigin::domain):
13065        (WebCore::SecurityOrigin::port):
13066        (WebCore::SecurityOrigin::canLoadLocalResources):
13067        (WebCore::SecurityOrigin::setSandboxFlags):
13068        (WebCore::SecurityOrigin::isSandboxed):
13069        (WebCore::SecurityOrigin::canAccessDatabase):
13070        (WebCore::SecurityOrigin::canAccessStorage):
13071        (WebCore::SecurityOrigin::):
13072
130732010-01-08  Adam Barth  <abarth@webkit.org>
13074
13075        Reviewed by Dmitry Titov.
13076
13077        bindings/v8/DOMData is missing a virtual destructor
13078        https://bugs.webkit.org/show_bug.cgi?id=33390
13079
13080        DOMData is the base class for ChildThreadDOMData and MainThreadDOMData classes
13081        but it does not have a virtual destructor. While this isn't currently causing
13082        any leaks, since there are no instances of ChildThreadDOMData or
13083        MainThreadDOMData that are manipulated via a DOMData pointer, the ARM GCC
13084        compiler generates the following compilation error:
13085
13086        "/WebCore/bindings/v8/DOMData.h:45: error: 'class WebCore::DOMData' has virtual
13087        functions and accessible non-virtual destructor"
13088
13089        We therefore need to add a virtual destructor to DOMData.
13090
13091        * bindings/v8/DOMData.cpp:
13092        (WebCore::DOMData::~DOMData):
13093        * bindings/v8/DOMData.h:
13094
130952010-01-08  Daniel Bates  <dbates@webkit.org>
13096
13097        Reviewed by Adam Barth.
13098
13099        https://bugs.webkit.org/show_bug.cgi?id=33417
13100
13101        Cleans up style errors exposed by the patch for bug #33198.
13102
13103        No functionality was changed. So, no new tests.
13104
13105        * platform/graphics/SimpleFontData.h:
13106        * plugins/PluginPackage.cpp:
13107
131082010-01-08  Simon Fraser  <simon.fraser@apple.com>
13109
13110        Reviewed by Dan Bernstein.
13111
13112        WebGL canvas paints background color twice
13113        https://bugs.webkit.org/show_bug.cgi?id=33361
13114
13115        Clean up some logic around "directly composited" content: some images, video, and WebGL.
13116
13117        We previously set the GraphicsLayer background color to the CSS background color
13118        in some cases where the box has no other decorations. However, the content 
13119        layer's bounds do not correspond with the background box in many cases,
13120        and we could end up both painting the background color, and setting it on the layer.
13121        
13122        Simplify this logic to never use layer background colors, and thus skip allocating
13123        backing store only when the element has no visible box decorations.
13124
13125        Tests: compositing/images/direct-image-background-color.html
13126               compositing/reflections/simple-composited-reflections.html
13127               compositing/video/video-background-color.html
13128               compositing/webgl/webgl-background-color.html
13129               compositing/webgl/webgl-blending.html
13130
13131        * rendering/RenderLayerBacking.h:
13132        * rendering/RenderLayerBacking.cpp:
13133        (WebCore::is3DCanvas): Utility to determine if a RenderObject is a canvas with WebGL
13134        (WebCore::RenderLayerBacking::RenderLayerBacking): Remove m_hasDirectlyCompositedContent.
13135        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): canUseDirectCompositing()
13136        is renamed to isDirectlyCompositedImage() and only applies to images now. 
13137        No longer set layer background color.
13138        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Just use hasPaintedContent()
13139        as the argument to setDrawsContent().
13140        (WebCore::hasBoxDecorationsOrBackground): Renamed.
13141        (WebCore::RenderLayerBacking::hasNonCompositingContent):
13142        (WebCore::hasBoxDecorationsOrBackgroundImage): Renamed from hasBoxDecorations().
13143        (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Moved test for
13144        hasOverflowControls() into hasNonCompositingContent() and removed the FIXME comment.
13145        (WebCore::RenderLayerBacking::containsPaintedContent): New method that decides
13146        if the layer (and its non-composited children) has any content that must be painted into backing store.
13147        (WebCore::RenderLayerBacking::isDirectlyCompositedImage): Renamed from canUseDirectCompositing()
13148        and reduced to only apply to images.
13149        (WebCore::RenderLayerBacking::rendererContentChanged): 3D canvas no longer falls under the
13150        canUseDirectCompositing() scope.
13151
131522010-01-08  Steve Block  <steveblock@google.com>
13153
13154        Reviewed by Darin Adler.
13155
13156        Use member initialization syntax instead of assignment for member variables of Document used
13157        for determining minimum layout delay.
13158        https://bugs.webkit.org/show_bug.cgi?id=33316
13159
13160        No new tests, style change only.
13161
13162        * dom/Document.cpp: Modified.
13163        (WebCore::Document::Document): Modified. Use initializer list for m_startTime, m_overMinimumLayoutThreshold and m_extraLayoutDelay.
13164
131652010-01-08  Kenneth Russell  <kbr@google.com>
13166
13167        Reviewed by Dimitri Glazkov.
13168
13169        Passing array that is too large to set method of WebGLArrays does not throw an exception
13170        https://bugs.webkit.org/show_bug.cgi?id=33352
13171
13172        Added needed range checks to JSC and V8 custom bindings. Expanded
13173        preexisting test suite for WebGLArrays and updated its expected
13174        results. Tested in WebKit and Chromium.
13175
13176        Test: fast/canvas/webgl/array-set-out-of-bounds.html
13177
13178        * bindings/js/JSWebGLArrayHelper.h:
13179        (WebCore::setWebGLArrayFromArray):
13180        * bindings/v8/custom/V8WebGLArrayCustom.h:
13181        (WebCore::setWebGLArrayFromArray):
13182
131832010-01-08  Alexey Proskuryakov  <ap@apple.com>
13184
13185        Reviewed by Dan Bernstein.
13186
13187        https://bugs.webkit.org/show_bug.cgi?id=32962
13188        HTML tags are wrongfully parsed when setting innerHTML of a SCRIPT element
13189
13190        Also fixed the same for STYLE elements.
13191
13192        Tests: fast/dom/css-innerHTML.html
13193               fast/dom/script-innerHTML-x.xhtml
13194               fast/dom/script-innerHTML.html
13195
13196        * html/HTMLElement.cpp: (WebCore::HTMLElement::setInnerHTML): Don't parse JS or CSS as HTML,
13197        matching Firefox.
13198
131992010-01-08  Beth Dakin  <bdakin@apple.com>
13200
13201        Reviewed by Oliver Hunt.
13202
13203        Fix for https://bugs.webkit.org/show_bug.cgi?id=32757 Repaint bug 
13204        with -webkit-shadow on svg shapes
13205        -and-
13206        <rdar://problem/7389149>
13207
13208        Inflate the repaintRect for the shadow using its extent.
13209        * rendering/RenderForeignObject.cpp:
13210        (WebCore::RenderForeignObject::computeRectForRepaint):
13211        * rendering/RenderSVGImage.cpp:
13212        (WebCore::RenderSVGImage::computeRectForRepaint):
13213        * rendering/RenderSVGModelObject.cpp:
13214        (WebCore::RenderSVGModelObject::computeRectForRepaint):
13215        * rendering/RenderSVGRoot.cpp:
13216        (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
13217        (WebCore::RenderSVGRoot::computeRectForRepaint):
13218        * rendering/RenderSVGText.cpp:
13219        (WebCore::RenderSVGText::computeRectForRepaint):
13220        * rendering/SVGRenderSupport.cpp:
13221        (WebCore::getSVGShadowExtent):
13222        (WebCore::SVGRenderBase::inflateForShadow):
13223        * rendering/SVGRenderSupport.h:
13224
132252010-01-08  Kenneth Russell  <kbr@google.com>
13226
13227        Reviewed by Dimitri Glazkov.
13228
13229        WebGLArray subclasses do the wrong conversion in indexSetter
13230        https://bugs.webkit.org/show_bug.cgi?id=33350
13231
13232        Test: fast/canvas/webgl/array-setters.html
13233
13234        * bindings/js/JSWebGLFloatArrayCustom.cpp:
13235        (WebCore::JSWebGLFloatArray::indexSetter):
13236        * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp:
13237        (WebCore::JSWebGLUnsignedIntArray::indexSetter):
13238
132392010-01-08  Luiz Agostini  <luiz.agostini@openbossa.org>
13240
13241        Reviewed by Kenneth Rohde Christiansen.
13242
13243        [Qt] Delegation client
13244        https://bugs.webkit.org/show_bug.cgi?id=32826
13245
13246        Factory related code removed from QtAbstractWebPopup. Popups are now created
13247        by ChromeClientQt.
13248        Popup content information struct added to class QtAbstractWebPopup.
13249        PopupMenuClient is now hidden from higher layers.
13250        QtAbstractWebPopup now receives content information and font as parameters
13251        of method populate.
13252        QtFallbackWebPopup moved to WebKit/qt/WebCoreSupport.
13253
13254        * WebCore.pro:
13255        * platform/qt/PopupMenuQt.cpp:
13256        (WebCore::PopupMenu::PopupMenu):
13257        (WebCore::getItems):
13258        (WebCore::PopupMenu::show):
13259        * platform/qt/QtAbstractWebPopup.cpp:
13260        (WebCore::QtAbstractWebPopup::QtAbstractWebPopup):
13261        (WebCore::QtAbstractWebPopup::popupDidHide):
13262        (WebCore::QtAbstractWebPopup::valueChanged):
13263        * platform/qt/QtAbstractWebPopup.h:
13264        (WebCore::QtAbstractWebPopup::Item::):
13265        * platform/qt/QtFallbackWebPopup.cpp: Removed.
13266        * platform/qt/QtFallbackWebPopup.h: Removed.
13267
132682010-01-08  Yuzo Fujishima  <yuzo@google.com>
13269
13270        Reviewed by Darin Adler.
13271
13272        Skip invalid blocks in CSS property declarations.
13273        https://bugs.webkit.org/show_bug.cgi?id=31231
13274        https://bugs.webkit.org/show_bug.cgi?id=26619
13275
13276        This patch makes the CSS parser skip property declarations containing invalid blocks.
13277
13278        Test: fast/css/parsing-error-recovery.html
13279
13280        * css/CSSGrammar.y:
13281
132822010-01-08  Chris Fleizach  <cfleizach@apple.com>
13283
13284        Reviewed by Beth Dakin.
13285
13286        AX: CSS content not returned correctly in AX
13287        https://bugs.webkit.org/show_bug.cgi?id=33308
13288
13289        Test: platform/mac/accessibility/css-content-attribute.html
13290
13291        * accessibility/AccessibilityRenderObject.cpp:
13292        (WebCore::AccessibilityRenderObject::textUnderElement):
13293
132942010-01-08  Chris Marrin  <cmarrin@apple.com>
13295
13296        Reviewed by Adam Roben.
13297
13298        Implement full-screen video for Windows
13299        https://bugs.webkit.org/show_bug.cgi?id=31318
13300        
13301        This is mostly support logic for taking video
13302        into and out of full-screen. It also contains the
13303        QTMovieWin piece which adds support for the actual
13304        full-screen window itself. Events from the window
13305        are sent to the FullscreenVideosController for handling.
13306
13307        * loader/FrameLoader.cpp:
13308        (WebCore::FrameLoader::addData):
13309        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
13310        (WebCore::MediaPlayerPrivate::supportsFullscreen):
13311        (WebCore::MediaPlayerPrivate::platformMedia):
13312        * platform/graphics/win/QTMovieWin.cpp:
13313        (QTMovieWinPrivate::QTMovieWinPrivate):
13314        (QTMovieWin::initializeQuickTime):
13315        (QTMovieWin::_handleMessages):
13316        (QTMovieWin::enterFullscreen):
13317        (QTMovieWin::exitFullscreen):
13318        * platform/graphics/win/QTMovieWin.h:
13319
133202010-01-08  Matt Perry  <mpcomplete@chromium.org>
13321
13322        Reviewed by Adam Barth.
13323
13324        Fix a regression that removed a call to
13325        FrameLoaderClient::didDestroyScriptContextForFrame.
13326        https://bugs.webkit.org/show_bug.cgi?id=33347
13327
13328        * bindings/v8/V8DOMWindowShell.cpp:
13329        (WebCore::V8DOMWindowShell::disposeContextHandles):
13330
133312010-01-08  Brent Fulgham  <bfulgham@webkit.org>
13332
13333        Reviewed by Adam Roben.
13334
13335        WebKit plugins are not rendered during printing.
13336        https://bugs.webkit.org/show_bug.cgi?id=33022.
13337
13338        * plugins/win/PluginViewWin.cpp:
13339        (WebCore::PluginView::paintWindowedPluginIntoContext): Tell
13340          cairo printing surface to flush so that blank regions do
13341          not write over the plugin's paint operations.
13342        * rendering/RenderLayer.cpp: Build fix.
13343        (WebCore::RenderLayer::beginTransparencyLayers): Correct
13344          method signature missing for ColorSpace.
13345
133462010-01-08  Chris Fleizach  <cfleizach@apple.com>
13347
13348        Reviewed by Eric Seidel.
13349
13350        REGRESSION(52819?): AXLoadComplete and AXLayoutComplete causes 4 tests fail on Snow Leopard Debug bot
13351        https://bugs.webkit.org/show_bug.cgi?id=33300
13352
13353        * accessibility/mac/AccessibilityObjectWrapper.mm:
13354        (-[AccessibilityObjectWrapper accessibilitySetPostedNotificationCallback:withContext:]):
13355        (-[AccessibilityObjectWrapper accessibilityPostedNotification:]):
13356
133572010-01-08  Pavel Feldman  <pfeldman@chromium.org>
13358
13359        Reviewed by Timothy Hatcher.
13360
13361        Web Inspector: Regex-based syntax highlighting is slow.
13362
13363        https://bugs.webkit.org/show_bug.cgi?id=33330
13364
13365        * WebCore.gypi:
13366        * WebCore.vcproj/WebCore.vcproj:
13367        * inspector/front-end/JavaScriptHighlighterScheme.js: Removed.
13368        * inspector/front-end/JavaScriptTokenizer.js: Added.
13369        (WebInspector.JavaScriptTokenizer):
13370        (WebInspector.JavaScriptTokenizer.prototype.set line):
13371        (WebInspector.JavaScriptTokenizer.prototype.getCondition):
13372        (WebInspector.JavaScriptTokenizer.prototype.setCondition):
13373        (WebInspector.JavaScriptTokenizer.prototype._charAt):
13374        (WebInspector.JavaScriptTokenizer.prototype.nextToken):
13375        * inspector/front-end/JavaScriptTokenizer.re2js: Added.
13376        * inspector/front-end/TextEditorHighlighter.js:
13377        (WebInspector.TextEditorHighlighter):
13378        (WebInspector.TextEditorHighlighter.prototype.highlight):
13379        (WebInspector.TextEditorHighlighter.prototype._lex):
13380        * inspector/front-end/WebKit.qrc:
13381        * inspector/front-end/inspector.html:
13382
133832010-01-07  Mike Belshe  <mbelshe@chromium.org>
13384
13385        Reviewed by Darin Adler.
13386
13387        Fix Spdy casing to match style guide.
13388
13389        https://bugs.webkit.org/show_bug.cgi?id=33326
13390
13391        * platform/network/chromium/ResourceResponse.h:
13392        (WebCore::ResourceResponse::ResourceResponse):
13393        (WebCore::ResourceResponse::wasFetchedViaSPDY):
13394        (WebCore::ResourceResponse::setWasFetchedViaSPDY):
13395
133962010-01-07  Daniel Bates  <dbates@rim.com>
13397
13398        Reviewed by Eric Seidel.
13399
13400        https://bugs.webkit.org/show_bug.cgi?id=32987
13401
13402        Added ENABLE_XHTMLMP flag. Disabled by default.
13403
13404        * Configurations/FeatureDefines.xcconfig:
13405        * GNUmakefile.am:
13406        * WebCore.pro:
13407        * WebCore.xcodeproj/project.pbxproj:
13408        * config.h:
13409
134102010-01-07  Stephanie Lewis  <slewis@apple.com>
13411
13412        Rolled out http://trac.webkit.org/changeset/52778 due to rolling
13413        out http://trac.webkit.org/changeset/52756
13414
13415        * dom/Document.cpp:
13416        (WebCore::Document::recalcStyle):
13417        * editing/SelectionController.cpp:
13418        (WebCore::SelectionController::layout):
13419        (WebCore::SelectionController::recomputeCaretRect):
13420        (WebCore::SelectionController::invalidateCaretRect):
13421        (WebCore::SelectionController::paintCaret):
13422        * html/HTMLFormControlElement.cpp:
13423        (WebCore::HTMLFormControlElement::attach):
13424        * html/HTMLInputElement.cpp:
13425        (WebCore::HTMLInputElement::attach):
13426        * page/Frame.cpp:
13427        (WebCore::Frame::revealSelection):
13428
134292010-01-07  Stephanie Lewis  <slewis@apple.com>
13430
13431        Rollout http://trac.webkit.org/changeset/52756 due to a large performance regression.
13432
13433        * dom/Document.cpp:
13434        (WebCore::Document::updateLayout):
13435        * editing/SelectionController.cpp:
13436        (WebCore::SelectionController::SelectionController):
13437        (WebCore::SelectionController::setSelection):
13438        * editing/SelectionController.h:
13439        * page/Frame.cpp:
13440        (WebCore::Frame::setCaretVisible):
13441        (WebCore::Frame::selectionLayoutChanged):
13442        (WebCore::Frame::caretBlinkTimerFired):
13443        (WebCore::Frame::selectionBounds):
13444        * page/FrameView.cpp:
13445        (WebCore::FrameView::needsLayout):
13446
134472010-01-07  Geoffrey Garen  <ggaren@apple.com>
13448
13449        Reviewed by Sam Weinig.
13450
13451        Fix a crash seen on the buildbots.
13452
13453        * bindings/js/JSDOMWindowBase.cpp:
13454        (WebCore::JSDOMWindowBase::JSDOMWindowBase): Don't disable specific
13455        function tracking here; it's too late, as some specific functions
13456        may already have been tracked in the base class constructor.
13457
134582010-01-07  Nikolas Zimmermann  <nzimmermann@rim.com>
13459
13460        Reviewed by Dirk Schulze.
13461
13462        SVGTextElement & friends need to implement svgAttributeChanged
13463        https://bugs.webkit.org/show_bug.cgi?id=33284
13464
13465        Implement svgAttributeChanged() for SVGTextElement & SVGTRefElement. As <text> element contain children,
13466        childrenChanged() has to be implemented as well for SVGTextElement.
13467
13468        Simplify SVGTransformable::parseTransformAttribute() code, clearing lists in the beginning
13469        and on error case, after parsing - previously the calling site had to take care of that.
13470
13471        Tests: svg/dynamic-updates/SVGTRefElement-dom-href-attr.html
13472               svg/dynamic-updates/SVGTextElement-dom-transform-attr.html
13473               svg/dynamic-updates/SVGTextElement-svgdom-transform-prop.html
13474
13475        * svg/SVGGradientElement.cpp:
13476        (WebCore::SVGGradientElement::parseMappedAttribute):
13477        * svg/SVGPatternElement.cpp:
13478        (WebCore::SVGPatternElement::parseMappedAttribute):
13479        * svg/SVGStyledTransformableElement.cpp:
13480        (WebCore::SVGStyledTransformableElement::parseMappedAttribute):
13481        * svg/SVGTRefElement.cpp:
13482        (WebCore::SVGTRefElement::svgAttributeChanged):
13483        * svg/SVGTRefElement.h:
13484        * svg/SVGTextElement.cpp:
13485        (WebCore::SVGTextElement::parseMappedAttribute):
13486        (WebCore::SVGTextElement::svgAttributeChanged):
13487        (WebCore::SVGTextElement::childrenChanged):
13488        * svg/SVGTextElement.h:
13489        * svg/SVGTextPositioningElement.cpp:
13490        (WebCore::SVGTextPositioningElement::svgAttributeChanged):
13491        * svg/SVGTextPositioningElement.h:
13492        * svg/SVGTransformable.cpp:
13493        (WebCore::SVGTransformable::parseTransformAttribute):
13494        * svg/SVGTransformable.h:
13495
134962010-01-07  Brian Weinstein  <bweinstein@apple.com>
13497
13498        Reviewed by Adele Peterson.
13499
13500        Padding in popup menu gets lost with styled <select> in Windows.
13501        Fixes <rdar://7285538>, and <http://webkit.org/b/33235>.
13502
13503        [Win] Support padding-right on selects when webkit-appearance is off. Added a test
13504        case for narrow selects with -webkit-appearance: none, and padding left and right to
13505        show that both types of padding are honored.
13506
13507        * manual-tests/select-webkit-appearance-off-narrow-select.html: Added.
13508        * platform/win/PopupMenuWin.cpp:
13509        (WebCore::PopupMenu::calculatePositionAndSize): Use clientPaddingRight instead of a hardcoded constant.
13510        * rendering/RenderMenuList.cpp:
13511        (WebCore::RenderMenuList::clientPaddingRight): If webkit-appearance is off, use padding-right instead of
13512        the hardcoded constant.
13513
135142010-01-07  Alexey Proskuryakov  <ap@apple.com>
13515
13516        Reviewed by Geoffrey Garen.
13517
13518        https://bugs.webkit.org/show_bug.cgi?id=33057
13519        REGRESSION(r49365): typeof(xhr.responseText) != "string" in Windows
13520
13521        <rdar://problem/7296920> REGRESSION: WebKit fails to start PeaceKeeper benchmark
13522
13523        * config.h: Define JS_EXPORTCLASS. I'm not sure why this isn't done in JSC globally for all
13524        possible clients, but keeping the current design for now.
13525
135262010-01-07  Brent Fulgham  <bfulgham@webkit.org>
13527
13528        Reviewed by Jon Honeycutt.
13529
13530        Account for scale and current context position (as well as page
13531        position) in the device context world transform passed to
13532        plugins.  This is especially important for print surface DPI.
13533        http://bugs.webkit.org/show_bug.cgi?id=32909.
13534
13535        * plugins/win/PluginViewWin.cpp:
13536        (WebCore::PluginView::paintWindowedPluginIntoContext): Revise
13537          world context handling to include scaling and translation
13538          already set for the CTM.
13539
135402010-01-07  Nate Chapin  <japhet@chromium.org>
13541
13542        Reviewed by Dimitri Glazkov.
13543
13544        Generate V8 bindings header declarations for named and indexed accessors.
13545
13546        * bindings/scripts/CodeGeneratorV8.pm:
13547        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
13548        * bindings/v8/custom/V8CustomBinding.h:
13549        * bindings/v8/custom/V8DOMWindowCustom.cpp:
13550        * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
13551        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
13552        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
13553        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
13554        * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
13555        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
13556        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
13557        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
13558        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
13559        * bindings/v8/custom/V8NodeListCustom.cpp:
13560        * bindings/v8/custom/V8StorageCustom.cpp:
13561        * bindings/v8/custom/V8StyleSheetListCustom.cpp:
13562        * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
13563        * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
13564        * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
13565        * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
13566        * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
13567        * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
13568        * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
13569
135702010-01-07  Geoffrey Garen  <ggaren@apple.com>
13571
13572        Better build fix: use 'this->structure()', since 'structure' is a
13573        PassRefPtr, and therefore null.
13574
13575        * bindings/js/JSDOMWindowBase.cpp:
13576        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
13577
135782010-01-07  Geoffrey Garen  <ggaren@apple.com>
13579
13580        Build fix: avoid a name conflict by using the local 'structure' instead
13581        of the member 'structure()'.
13582
13583        * bindings/js/JSDOMWindowBase.cpp:
13584        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
13585
135862010-01-07  Simon Fraser  <simon.fraser@apple.com>
13587
13588        Build fix.
13589
13590        Add RenderEmbeddedObject.h/cpp to all the build systems.
13591
13592        * Android.mk:
13593        * GNUmakefile.am:
13594        * WebCore.gypi:
13595        * WebCore.pro:
13596        * WebCore.vcproj/WebCore.vcproj:
13597        * WebCoreSources.bkl:
13598
135992010-01-07  Geoffrey Garen  <ggaren@apple.com>
13600
13601        Reviewed by Sam Weinig.
13602
13603        Safari memory usage skyrockets using new Google AdWords interface
13604        https://bugs.webkit.org/show_bug.cgi?id=33343
13605
13606        * bindings/js/JSDOMWindowBase.cpp:
13607        (WebCore::JSDOMWindowBase::JSDOMWindowBase): Disabled specific function
13608        tracking for the window object, since there's no way to do direct
13609        method calls on the window object; they all go through the window shell.
13610
136112010-01-07  Simon Fraser  <simon.fraser@apple.com>
13612
13613        Reviewed by Kevin Decker, Darin Adler.
13614
13615        https://bugs.webkit.org/show_bug.cgi?id=33338
13616        Create a renderer for <object> and <embed>
13617        
13618        Add RenderEmbeddedObject, which derives from RenderPartObject, and is created for <object> and <embed>.
13619        Instances of RenderPartObject are now only allocated for iframes.
13620        
13621        Move object/embed-related code from RenderPartObject to RenderEmbeddedObject.
13622
13623        * WebCore.xcodeproj/project.pbxproj:
13624        Add RenderEmbeddedObject.h/cpp
13625        
13626        * html/HTMLEmbedElement.cpp:
13627        (WebCore::HTMLEmbedElement::createRenderer): Create a RenderEmbeddedObject.
13628        (WebCore::HTMLEmbedElement::updateWidget): Use toRenderEmbeddedObject()
13629
13630        * html/HTMLMediaElement.cpp:
13631        (WebCore::HTMLMediaElement::createRenderer): Make a RenderEmbeddedObject for the plugin-proxy case.
13632        (WebCore::HTMLMediaElement::finishParsingChildren): Use toRenderEmbeddedObject() in the plugin-proxy code.
13633
13634        * html/HTMLObjectElement.cpp:
13635        (WebCore::HTMLObjectElement::createRenderer): Make a RenderEmbeddedObject
13636        (WebCore::HTMLObjectElement::updateWidget): Use toRenderEmbeddedObject()
13637
13638        * page/FrameView.h:
13639        * page/FrameView.cpp:
13640        (WebCore::FrameView::addWidgetToUpdate):
13641        (WebCore::FrameView::removeWidgetToUpdate):
13642        (WebCore::FrameView::updateWidgets):
13643        Objects in the m_widgetUpdateSet are only ever RenderEmbeddedObjects.
13644        
13645        * rendering/RenderEmbeddedObject.cpp: Added.
13646        * rendering/RenderEmbeddedObject.h: Added.
13647        Most of the code moved from RenderPartObject.
13648        
13649        * rendering/RenderObject.h:
13650        (WebCore::RenderObject::isEmbeddedObject): New method.
13651
13652        * rendering/RenderPart.cpp:
13653        (WebCore::RenderPart::RenderPart): Initialize m_hasFallbackContent here, rather than in the derived classes.
13654        * rendering/RenderPart.h: Comments.
13655        
13656        * rendering/RenderPartObject.h:
13657        * rendering/RenderPartObject.cpp:
13658        (WebCore::RenderPartObject::RenderPartObject): Clean up, code moved to base class, and removed object/embed-specific code.
13659        (WebCore::RenderPartObject::layout): Removed object/embed-specific code.
13660
136612010-01-07  Simon Fraser  <simon.fraser@apple.com>
13662
13663        Reviewed by Darin Adler.
13664
13665        https://bugs.webkit.org/show_bug.cgi?id=33338
13666        Create a renderer for <object> and <embed>
13667
13668        First part of this change: renderPartObject->updateWidget() is a no-op for iframe elements,
13669        so we don't need to call it here, and can thus remove the attach() override entirely.
13670
13671        * html/HTMLIFrameElement.cpp:
13672        * html/HTMLIFrameElement.h:
13673
136742009-01-07  Pavel Feldman  <pfeldman@chromium.org>
13675
13676        Reviewed by Timothy Hatcher.
13677
13678        Web Inspector: Migrate to canvas-based text viewer / editor that scales.
13679
13680        https://bugs.webkit.org/show_bug.cgi?id=33001
13681
13682        * WebCore.gypi:
13683        * WebCore.vcproj/WebCore.vcproj:
13684        * inspector/front-end/JavaScriptHighlighterScheme.js: Added.
13685        (WebInspector.JavaScriptHighlighterScheme):
13686        * inspector/front-end/KeyboardShortcut.js:
13687        * inspector/front-end/TextEditor.js: Added.
13688        (WebInspector.TextEditor):
13689        (WebInspector.TextSelectionModel):
13690        (WebInspector.TextCursor):
13691        * inspector/front-end/TextEditorHighlighter.js: Added.
13692        (WebInspector.TextEditorHighlighter):
13693        (WebInspector.TextEditorHighlighter.prototype.highlight):
13694        (WebInspector.TextEditorHighlighter.prototype._lex):
13695        * inspector/front-end/TextEditorModel.js: Added.
13696        (WebInspector.TextRange):
13697        (WebInspector.TextRange.prototype.clone):
13698        (WebInspector.TextEditorModel):
13699        * inspector/front-end/WebKit.qrc:
13700        * inspector/front-end/inspector.css:
13701        * inspector/front-end/inspector.html:
13702
137032010-01-07  Christian Sejersen  <christian.webkit@gmail.com>
13704
13705        Reviewed by Darin Adler.
13706
13707        document.title does not replace or remove space characters
13708        https://bugs.webkit.org/show_bug.cgi?id=27032
13709
13710        Test: fast/dom/Document/document-title-get.html
13711
13712        * dom/Document.cpp: 
13713        (WebCore::Document::Document): 
13714        Initialization of m_rawTitle
13715        (WebCore::canonicalizedTitle): 
13716        Moved from DocumentLoader.cpp with minor edits
13717        (WebCore::Document::updateTitle): 
13718        Ensures the title is canonicalized
13719        (WebCore::Document::setTitle): 
13720        Uses m_rawTitle instaed of m_title 
13721        (WebCore::Document::removeTitle): 
13722        Uses m_rawTitle instead of m_title
13723        
13724        * dom/Document.h: 
13725        Added m_rawTitle that stores the passed in title, m_title now stores the 
13726        canonicalized title
13727        
13728        * loader/DocumentLoader.cpp:
13729        (WebCore::DocumentLoader::setTitle): 
13730        The title passed in is now canonicalized in Document.cpp
13731
137322010-01-07  Yuzo Fujishima  <yuzo@google.com>
13733
13734        Reviewed by Darin Adler.
13735
13736        Allow leading/trailing space for CSS nth-*() and lang().
13737        https://bugs.webkit.org/show_bug.cgi?id=17248
13738
13739        For pseudo-classes :nth-*() and :lang(), space must be allowed after '(' and before ')'.
13740        See the bug comments for why we don't allow space at other places.
13741
13742        * css/CSSGrammar.y:
13743
137442010-01-07  Chris Fleizach  <cfleizach@apple.com>
13745
13746        Reviewed by Beth Dakin.
13747
13748        AX: contentEditable DIVs are not AX accessible
13749        https://bugs.webkit.org/show_bug.cgi?id=33325
13750
13751        Test: accessibility/contenteditable-hidden-div.html
13752
13753        * accessibility/AccessibilityRenderObject.cpp:
13754        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
13755        (WebCore::AccessibilityRenderObject::canSetValueAttribute):
13756
137572010-01-07  Adam Barth  <abarth@webkit.org>
13758
13759        Unreviewed.  Resolve merge conflict.
13760
13761        * bindings/v8/V8Proxy.cpp:
13762        (WebCore::V8Proxy::setContextDebugId):
13763
137642010-01-07  Adam Barth  <abarth@webkit.org>
13765
13766        No review, rolling out r52847.
13767        http://trac.webkit.org/changeset/52847
13768        https://bugs.webkit.org/show_bug.cgi?id=33232
13769
13770        Might have caused a perf regression.  I'm rolling this out to see if it
13771        heals the perf bot.
13772
13773        * bindings/v8/ScriptController.cpp:
13774        (WebCore::ScriptController::ScriptController):
13775        (WebCore::ScriptController::~ScriptController):
13776        (WebCore::ScriptController::updateSecurityOrigin):
13777        (WebCore::ScriptController::evaluateInIsolatedWorld):
13778        (WebCore::ScriptController::haveInterpreter):
13779        (WebCore::ScriptController::clearWindowShell):
13780        (WebCore::ScriptController::updateDocument):
13781        * bindings/v8/ScriptController.h:
13782        * bindings/v8/V8DOMWindowShell.cpp:
13783        * bindings/v8/V8DOMWindowShell.h:
13784        * bindings/v8/V8DOMWrapper.cpp:
13785        (WebCore::V8DOMWrapper::instantiateV8Object):
13786        (WebCore::V8DOMWrapper::convertDocumentToV8Object):
13787        (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
13788        * bindings/v8/V8IsolatedContext.cpp:
13789        (WebCore::V8IsolatedContext::V8IsolatedContext):
13790        * bindings/v8/V8Proxy.cpp:
13791        (WebCore::V8Proxy::V8Proxy):
13792        (WebCore::V8Proxy::~V8Proxy):
13793        (WebCore::V8Proxy::handleOutOfMemory):
13794        (WebCore::V8Proxy::evaluateInIsolatedWorld):
13795        (WebCore::V8Proxy::setInjectedScriptContextDebugId):
13796        (WebCore::V8Proxy::clearForClose):
13797        (WebCore::V8Proxy::clearForNavigation):
13798        (WebCore::V8Proxy::context):
13799        (WebCore::V8Proxy::mainWorldContext):
13800        (WebCore::V8Proxy::currentContext):
13801        (WebCore::V8Proxy::setContextDebugId):
13802        * bindings/v8/V8Proxy.h:
13803        (WebCore::V8Proxy::windowShell):
13804        * bindings/v8/WorldContextHandle.cpp:
13805        (WebCore::WorldContextHandle::adjustedContext):
13806
138072010-01-07  Dan Bernstein  <mitz@apple.com>
13808
13809        Build fix
13810
13811        * WebCore.xcodeproj/project.pbxproj: Made TypesettingFeatures.h private.
13812
138132010-01-07  Dan Bernstein  <mitz@apple.com>
13814
13815        Reviewed by Sam Weinig.
13816
13817        Added Font::typesettingFeatures() and deployed it
13818
13819        No change in funcitonality
13820
13821        * WebCore.xcodeproj/project.pbxproj: Added TypesettingFeatures.h.
13822        * platform/graphics/Font.h:
13823        (WebCore::Font::typesettingFeatures): Added. Determines the typesetting
13824            features from the text redndering mode.
13825        * platform/graphics/FontFastPath.cpp:
13826        (WebCore::Font::canUseGlyphCache): Use typesettingFeatures().
13827        * platform/graphics/SimpleFontData.h:
13828        * platform/graphics/TypesettingFeatures.h: Added.
13829        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
13830        (WebCore::disableLigatures): Take TypesettingFeatures instead of
13831            TextRenderingMode.
13832        (WebCore::initializeATSUStyle): Ditto.
13833        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI):
13834            Use typesettingFeatures().
13835        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
13836        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
13837            Ditto.
13838        * platform/graphics/mac/SimpleFontDataMac.mm:
13839        (WebCore::SimpleFontData::getCFStringAttributes): Take
13840            TypesettingFeatures instead of TextRenderingMode.
13841        * rendering/RenderBlockLineLayout.cpp:
13842        (WebCore::RenderBlock::findNextLineBreak): Use TypesettingFeatures().
13843
138442010-01-07  Dimitri Glazkov  <dglazkov@chromium.org>
13845
13846        No review, rolling out r52900.
13847        http://trac.webkit.org/changeset/52900
13848        https://bugs.webkit.org/show_bug.cgi?id=30055
13849
13850        Broke over 30 SVG pixel tests.
13851
13852        * rendering/RenderPath.cpp:
13853        (WebCore::RenderPath::paint):
13854
138552010-01-07  Simon Hausmann  <simon.hausmann@nokia.com>
13856
13857        Rubber-stamped by Kenneth Rohde Christiansen.
13858
13859        [Qt] The library version number of the first package release is 4.7.0.
13860
13861        * WebCore.pro:
13862
138632010-01-07  Yael Aharon  <yael.aharon@nokia.com>
13864
13865        Reviewed by Kenneth Rohde Christiansen.
13866
13867        [Qt] Allow the application to override online/offline network status
13868        https://bugs.webkit.org/show_bug.cgi?id=32684
13869
13870        Added API to NetworkStateNotifier for forcing network status.
13871
13872        * platform/network/NetworkStateNotifier.h:
13873        * platform/network/qt/NetworkStateNotifierPrivate.h:
13874        * platform/network/qt/NetworkStateNotifierQt.cpp:
13875        (WebCore::NetworkStateNotifierPrivate::NetworkStateNotifierPrivate):
13876        (WebCore::NetworkStateNotifierPrivate::onlineStateChanged):
13877        (WebCore::NetworkStateNotifierPrivate::networkAccessPermissionChanged):
13878        (WebCore::NetworkStateNotifier::updateState):
13879        (WebCore::NetworkStateNotifier::NetworkStateNotifier):
13880        (WebCore::NetworkStateNotifier::setNetworkAccessAllowed):
13881
138822010-01-07  Simon Hausmann  <simon.hausmann@nokia.com>
13883
13884        Reviewed by Tor Arne Vestbø.
13885
13886        [Qt] Fix linkage against Qt mobility API bearer management module
13887
13888        Use the documented .pro file syntax to link against the correct
13889        library and (more importantly) get the include paths correct.
13890
13891        * WebCore.pro:
13892
138932010-01-07  Eric Carlson  <eric.carlson@apple.com>
13894
13895        Reviewed by Maciej Stachowiak.
13896
13897        https://bugs.webkit.org/show_bug.cgi?id=33272
13898        'abort' event still fired as a progress event
13899
13900        rdar://6710625
13901        Test media/video-error-abort.html doesn't work
13902
13903        Test: http/tests/media/video-error-abort.html
13904
13905        * html/HTMLMediaElement.cpp:
13906        (WebCore::HTMLMediaElement::scheduleEvent): Incorporate code from enqueueEvent.
13907        (WebCore::HTMLMediaElement::loadInternal): Fix 'abort' event firing logic missed
13908        in https://bugs.webkit.org/show_bug.cgi?id=30513. Change order of initialization 
13909        to match spec wording.
13910        * html/HTMLMediaElement.h: Remove enqueueEvent prototype.
13911
139122010-01-07  Kim Grönholm  <kim.gronholm@nomovok.com>
13913
13914        Reviewed by Antti Koivisto.
13915
13916        Wrong state and TouchLists in TouchEvents
13917        https://bugs.webkit.org/show_bug.cgi?id=32878
13918
13919        Touch events changed to match the API and semantics of iPhone and
13920        Android. Each new touch point press dispatches a touchstart event with
13921        the pressed touch point(s) in the changedTouches list, and a release
13922        dispatches a touchend event with the released touch point(s) in
13923        changedTouches. Moved points dispatch a touchmove event, with the moved
13924        points in changedTouches. Old behaviour emitted only one touchstart when
13925        the first point was pressed and one touchend when the last point was
13926        released, and any events in between were touchmoves. New presses or
13927        releases could only be detected by comparing the lists touches and
13928        changedTouches.
13929
13930        * page/EventHandler.cpp:
13931        (WebCore::EventHandler::handleTouchEvent):
13932        * page/EventHandler.h:
13933
139342010-01-07  Kent Tamura  <tkent@chromium.org>
13935
13936        Reviewed by Maciej Stachowiak.
13937
13938        Remove COM code generation stuff.
13939        https://bugs.webkit.org/show_bug.cgi?id=32854
13940
13941        Remove the followings:
13942        - CodeGeenratorCOM.pm, COM code generator,
13943        - "#if !defined(LANGUAGE_COM) || !LANGUAGE_COM" in IDL files, and
13944        - UUID attributes in IDL files.
13945
13946        * bindings/scripts/CodeGeneratorCOM.pm: Removed.
13947        * css/CSSCharsetRule.idl:
13948        * css/CSSFontFaceRule.idl:
13949        * css/CSSImportRule.idl:
13950        * css/CSSMediaRule.idl:
13951        * css/CSSPageRule.idl:
13952        * css/CSSPrimitiveValue.idl:
13953        * css/CSSRule.idl:
13954        * css/CSSRuleList.idl:
13955        * css/CSSStyleDeclaration.idl:
13956        * css/CSSStyleRule.idl:
13957        * css/CSSStyleSheet.idl:
13958        * css/CSSUnknownRule.idl:
13959        * css/CSSValue.idl:
13960        * css/CSSValueList.idl:
13961        * css/Counter.idl:
13962        * css/MediaList.idl:
13963        * css/RGBColor.idl:
13964        * css/Rect.idl:
13965        * css/StyleSheet.idl:
13966        * css/StyleSheetList.idl:
13967        * css/WebKitCSSKeyframeRule.idl:
13968        * css/WebKitCSSKeyframesRule.idl:
13969        * css/WebKitCSSTransformValue.idl:
13970        * dom/Attr.idl:
13971        * dom/CDATASection.idl:
13972        * dom/CharacterData.idl:
13973        * dom/Comment.idl:
13974        * dom/DOMImplementation.idl:
13975        * dom/Document.idl:
13976        * dom/DocumentFragment.idl:
13977        * dom/DocumentType.idl:
13978        * dom/Element.idl:
13979        * dom/Entity.idl:
13980        * dom/EntityReference.idl:
13981        * dom/Event.idl:
13982        * dom/EventListener.idl:
13983        * dom/EventTarget.idl:
13984        * dom/NamedNodeMap.idl:
13985        * dom/Node.idl:
13986        * dom/NodeList.idl:
13987        * dom/Notation.idl:
13988        * dom/ProcessingInstruction.idl:
13989        * dom/Text.idl:
13990        * html/HTMLAnchorElement.idl:
13991        * html/HTMLAppletElement.idl:
13992        * html/HTMLAreaElement.idl:
13993        * html/HTMLBRElement.idl:
13994        * html/HTMLBaseElement.idl:
13995        * html/HTMLBaseFontElement.idl:
13996        * html/HTMLBlockquoteElement.idl:
13997        * html/HTMLBodyElement.idl:
13998        * html/HTMLButtonElement.idl:
13999        * html/HTMLCanvasElement.idl:
14000        * html/HTMLCollection.idl:
14001        * html/HTMLDListElement.idl:
14002        * html/HTMLDirectoryElement.idl:
14003        * html/HTMLDivElement.idl:
14004        * html/HTMLDocument.idl:
14005        * html/HTMLElement.idl:
14006        * html/HTMLEmbedElement.idl:
14007        * html/HTMLFieldSetElement.idl:
14008        * html/HTMLFontElement.idl:
14009        * html/HTMLFormElement.idl:
14010        * html/HTMLFrameElement.idl:
14011        * html/HTMLFrameSetElement.idl:
14012        * html/HTMLHRElement.idl:
14013        * html/HTMLHeadElement.idl:
14014        * html/HTMLHeadingElement.idl:
14015        * html/HTMLHtmlElement.idl:
14016        * html/HTMLIFrameElement.idl:
14017        * html/HTMLImageElement.idl:
14018        * html/HTMLInputElement.idl:
14019        * html/HTMLIsIndexElement.idl:
14020        * html/HTMLLIElement.idl:
14021        * html/HTMLLabelElement.idl:
14022        * html/HTMLLegendElement.idl:
14023        * html/HTMLLinkElement.idl:
14024        * html/HTMLMapElement.idl:
14025        * html/HTMLMarqueeElement.idl:
14026        * html/HTMLMenuElement.idl:
14027        * html/HTMLMetaElement.idl:
14028        * html/HTMLModElement.idl:
14029        * html/HTMLOListElement.idl:
14030        * html/HTMLObjectElement.idl:
14031        * html/HTMLOptGroupElement.idl:
14032        * html/HTMLOptionElement.idl:
14033        * html/HTMLOptionsCollection.idl:
14034        * html/HTMLParagraphElement.idl:
14035        * html/HTMLParamElement.idl:
14036        * html/HTMLPreElement.idl:
14037        * html/HTMLQuoteElement.idl:
14038        * html/HTMLScriptElement.idl:
14039        * html/HTMLSelectElement.idl:
14040        * html/HTMLStyleElement.idl:
14041        * html/HTMLTableCaptionElement.idl:
14042        * html/HTMLTableCellElement.idl:
14043        * html/HTMLTableColElement.idl:
14044        * html/HTMLTableElement.idl:
14045        * html/HTMLTableRowElement.idl:
14046        * html/HTMLTableSectionElement.idl:
14047        * html/HTMLTextAreaElement.idl:
14048        * html/HTMLTitleElement.idl:
14049        * html/HTMLUListElement.idl:
14050
140512010-01-07  Steve Block  <steveblock@google.com>
14052
14053        Reviewed by Darin Adler.
14054
14055        Adds the ability to increase the delay used when scheduling layout.
14056        https://bugs.webkit.org/show_bug.cgi?id=32875
14057
14058        No new tests possible.
14059
14060        * dom/Document.cpp: Modified.
14061        (WebCore::Document::Document): Modified. Initializes extra layout delay to zero.
14062        (WebCore::Document::minimumLayoutDelay): Modified. Adds extra layout delay when calculating minimum layout delay.
14063        * dom/Document.h: Modified.
14064        (WebCore::Document::setExtraLayoutDelay): Added. Sets the extra layout delay.
14065
140662010-01-07  Kent Tamura  <tkent@chromium.org>
14067
14068        Reviewed by Eric Seidel.
14069
14070        Some IDL files lack "," separators for extended attributes.
14071        https://bugs.webkit.org/show_bug.cgi?id=33190
14072
14073        To find such mistakes, IDLParser.pm rejects whitespace characters in
14074        extended attribute names.
14075
14076        * bindings/scripts/IDLParser.pm:
14077          parseExtendedAttributes rejects whitespace in a name.
14078        * css/WebKitCSSTransformValue.idl: Add missing ",".
14079        * dom/EventTarget.idl: ditto.
14080
140812010-01-07  Kent Tamura  <tkent@chromium.org>
14082
14083        Reviewed by Adam Barth.
14084
14085        Fix an issue that CodeGeneratorV8.pm doesnt handle HasIndexGetter of
14086        WebKitCSSTransformValue.idl correctly.
14087        https://bugs.webkit.org/show_bug.cgi?id=33193
14088
14089        CodeGeneratorV8.pm doesn't handle inheritance very well and it
14090        tried to refer v8WebKitCSSTransformValueIndexedPropertyGetter(),
14091        which does not exist. Because WebKitCSSTransformValue inherits
14092        CSSValueList and CSSValueList already has HadIndexGetter, we don't
14093        need to do anything for WebKitCSSTransformValue about HasIndexGetter.
14094
14095        * bindings/scripts/CodeGeneratorV8.pm:
14096          Reset $hasGetter for WebKitCSSTransformValue.
14097
140982010-01-07  Anton Muhin  <antonm@chromium.org>
14099
14100        Reviewed by Adam Barth.
14101
14102        Do not return strings whose handles are in near death state (that means
14103        they might be GCed) or just empty.
14104        https://bugs.webkit.org/show_bug.cgi?id=31180
14105
14106        * bindings/v8/V8Binding.cpp:
14107        (WebCore::v8ExternalString):
14108
141092010-01-06  MORITA Hajime  <morrita@gmail.com>
14110
14111        Reviewed by Nikolas Zimmermann.
14112
14113        SVG background color on selected text goes wrong when text has
14114        gradient stroke.
14115        https://bugs.webkit.org/show_bug.cgi?id=33069
14116
14117        Introduced SVGTextPaintSubphase like as PaintPhase on html painting,
14118        and paint background and foreground in separate subphase.
14119        
14120        Test: svg/text/selection-background-color.xhtml
14121        
14122        * rendering/SVGCharacterLayoutInfo.h:
14123        (WebCore::SVGTextChunkWalker::SVGTextChunkWalker):
14124        Added m_setupBackgroundCallback, m_setupForegroundCallback
14125        (WebCore::SVGTextChunkWalker::setupBackground):
14126        (WebCore::SVGTextChunkWalker::setupForeground):
14127        Added.
14128        * rendering/SVGInlineTextBox.cpp:
14129        (WebCore::SVGInlineTextBox::paintCharacters):
14130        pass SVGTextPaintInfo instead of SVGPaintServer
14131        * rendering/SVGInlineTextBox.h:
14132        (WebCore::SVGTextPaintSubphase):
14133        (WebCore::SVGTextPaintInfo::SVGTextPaintInfo):
14134        Added.
14135        * rendering/SVGRootInlineBox.cpp:
14136        (WebCore::SVGRootInlineBox::walkTextChunks):
14137        Invoke setupBackground() and setupForeground()
14138        (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupBackgroundCallback):
14139        (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupForegroundCallback):
14140        (WebCore::SVGRootInlineBoxPaintWalker::activePaintServer):        
14141        Added.
14142        (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupFillCallback):
14143        (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupStrokeCallback):
14144        (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
14145        (WebCore::SVGRootInlineBox::paint):
14146        
141472010-01-06  Kinuko Yasuda  <kinuko@chromium.org>
14148
14149        Reviewed by Eric Seidel.
14150
14151        Make windowsKeyCodeForKeyEvent() return correct key code for
14152        numeric-pad arrow keys.
14153        https://bugs.webkit.org/show_bug.cgi?id=33250
14154
14155        Test: fast/events/keydown-numpad-keys.html
14156
14157        * platform/qt/PlatformKeyboardEventQt.cpp:
14158        (WebCore::windowsKeyCodeForKeyEvent):
14159
141602009-10-18 Patrick Gansterer <paroga@paroga.com>
14161
14162        Reviewed by Dirk Schulze.
14163
14164        Improve DOM performance in large SVG files.
14165        Check the dirty area before painting a path, which prevents unnecessary
14166        clipping and changes to the GraphicsContext.
14167        https://bugs.webkit.org/show_bug.cgi?id=30055
14168
14169        * rendering/RenderPath.cpp:
14170        (WebCore::RenderPath::paint):
14171
141722010-01-06  Kent Tamura  <tkent@chromium.org>
14173
14174        Reviewed by Darin Adler.
14175
14176        Use a static HashMap for HTMLElement::tagPriority().
14177        https://bugs.webkit.org/show_bug.cgi?id=33269
14178
14179        The prior code compares AtomicStringImpl pointers 18 times at
14180        worst. This change avoids it.
14181
14182        No new tests because this is just a refactoring.
14183
14184        * html/HTMLElement.cpp:
14185        (WebCore::Empty1IntHashTraits): A HashTraits to return 1 as the empty value.
14186        (WebCore::initializeTagPriorityMap): Initialization of a static HashMap.
14187        (WebCore::HTMLElement::tagPriority): Use the static HashMap created by initializeTagPriorityMap().
14188        * html/HTMLElement.h:
14189        (WebCore::HTMLElement::HTMLElement): Add an assertion about non-null localName().
14190
141912010-01-06  Mike Belshe  <mike@belshe.com>
14192
14193        Add a flag to the ResourceResponse for tracking if a request was
14194        fetched via SPDY.  This is plumbed through so that we can inform
14195        a webpage via JavaScript if it was fecthed via the experimental
14196        SPDY protocol.
14197
14198        https://bugs.webkit.org/show_bug.cgi?id=33186
14199
14200        * platform/network/chromium/ResourceResponse.h:
14201        (WebCore::ResourceResponse::wasFetchedViaSpdy):
14202        (WebCore::ResourceResponse::setWasFetchedViaSpdy):
14203
142042010-01-06  Jakub Wieczorek  <faw217@gmail.com>
14205
14206        Reviewed by Adam Treat.
14207
14208        [Qt] RenderTheme: Missing support for native sliders
14209
14210        https://bugs.webkit.org/show_bug.cgi?id=33122
14211
14212        Implement painting of native slider controls in RenderTheme
14213        and unskip a couple of layout tests that are passing after
14214        this change.
14215
14216        * platform/qt/RenderThemeQt.cpp:
14217        (WebCore::RenderThemeQt::paintSliderTrack):
14218        (WebCore::RenderThemeQt::adjustSliderTrackStyle):
14219        (WebCore::RenderThemeQt::paintSliderThumb):
14220        (WebCore::RenderThemeQt::adjustSliderThumbStyle):
14221        (WebCore::RenderThemeQt::supportsFocus):
14222        (WebCore::RenderThemeQt::adjustSliderThumbSize):
14223        * platform/qt/RenderThemeQt.h:
14224
142252010-01-06  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
14226
14227        Reviewed by Darin Adler.
14228
14229        Adjust incorrect comments after r40534.
14230
14231        * bindings/js/JSDOMBinding.cpp:
14232        (WebCore::markActiveObjectsForContext):
14233
142342010-01-06  Fumitoshi Ukai  <ukai@chromium.org>
14235
14236        Unreviewed build fix for chromium.
14237        Add "bool V8WorkerContext::WebSocketEnabled()"
14238
14239        * bindings/v8/custom/V8WorkerContextCustom.cpp:
14240        (WebCore::V8WorkerContext::WebSocketEnabled):
14241
142422010-01-06  Fumitoshi Ukai  <ukai@chromium.org>
14243
14244        Unreviewed build fix.
14245        remove wrong assertion
14246
14247        * websockets/WorkerThreadableWebSocketChannel.cpp:
14248        (WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
14249
142502010-01-06  Fumitoshi Ukai  <ukai@chromium.org>
14251
14252        Reviewed by David Levin.
14253
14254        Add WebSocket feature in Worker
14255        https://bugs.webkit.org/show_bug.cgi?id=32214
14256
14257        Introduce ThreadableWebSocketChannel interface and add
14258        WorkerThreadableWebSocketChannel for Worker.
14259        WorkerThreadableWebSocketChannel uses WebSocketChannel in the
14260        main thread, which is managed by Peer and communicated via Bridge.
14261
14262        Test: websocket/tests/workers/worker-simple.html
14263
14264        * GNUmakefile.am:
14265        * WebCore.gypi:
14266        * WebCore.pro:
14267        * WebCore.vcproj/WebCore.vcproj:
14268        * WebCore.xcodeproj/project.pbxproj:
14269        * bindings/js/JSWebSocketConstructor.h:
14270        * bindings/js/JSWorkerContextCustom.cpp:
14271        (WebCore::JSWorkerContext::webSocket):
14272        * bindings/v8/WorkerContextExecutionProxy.cpp:
14273        (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
14274        * bindings/v8/custom/V8WebSocketCustom.cpp:
14275        (WebCore::V8Custom::v8WebSocketConstructorCallback):
14276        * bindings/v8/custom/V8WorkerContextCustom.cpp:
14277        * platform/CrossThreadCopier.cpp:
14278        (WebCore::::copy):
14279        * platform/CrossThreadCopier.h:
14280        (WebCore::):
14281        * websockets/ThreadableWebSocketChannel.cpp: Added.
14282        * websockets/ThreadableWebSocketChannel.h: Added.
14283        * websockets/ThreadableWebSocketChannelClientWrapper.h: Added.
14284        * websockets/WebSocket.cpp:
14285        (WebCore::WebSocket::connect):
14286        (WebCore::WebSocket::didReceiveMessage):
14287        * websockets/WebSocket.h:
14288        * websockets/WebSocketChannel.h:
14289        (WebCore::WebSocketChannel::refThreadableWebSocketChannel):
14290        (WebCore::WebSocketChannel::derefThreadableWebSocketChannel):
14291        * websockets/WebSocketChannelClient.h:
14292        * websockets/WebSocketHandshake.h:
14293        * websockets/WorkerThreadableWebSocketChannel.cpp: Added.
14294        * websockets/WorkerThreadableWebSocketChannel.h: Added.
14295        * workers/WorkerContext.idl:
14296
142972010-01-06  Adam Bergkvist  <adam.bergkvist@ericsson.com>
14298
14299        Reviewed by Darin Adler.
14300
14301        Modified EventSource event-stream parser to support a single CR as line ending.
14302        https://bugs.webkit.org/show_bug.cgi?id=33207
14303
14304        * page/EventSource.cpp:
14305        (WebCore::EventSource::EventSource):
14306        (WebCore::EventSource::parseEventStream):
14307        * page/EventSource.h:
14308
143092010-01-06  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
14310
14311        Reviewed by Xan Lopez.
14312
14313        https://bugs.webkit.org/show_bug.cgi?id=30883
14314        [Gtk] Implement AtkText for HTML elements which contain text
14315
14316        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
14317        (getInterfaceMaskFromObject):
14318        (getPangoLayoutForAtk):
14319        (webkit_accessible_text_get_text):
14320        * accessibility/gtk/AccessibilityObjectAtk.cpp:
14321        (AccessibilityObject::accessibilityPlatformIncludesObject):
14322
143232010-01-06  Dan Bernstein  <mitz@apple.com>
14324
14325        Reviewed by Sam Weinig.
14326
14327        <rdar://problem/7488126> With text-rendering: optimizelegibility, sometimes lines run too long
14328        https://bugs.webkit.org/show_bug.cgi?id=32794
14329
14330        Test: platform/mac/fast/text/line-breaking-with-kerning.html
14331
14332        * rendering/RenderBlockLineLayout.cpp:
14333        (WebCore::RenderBlock::findNextLineBreak): When kerning is enabled, include
14334        the trailing space when measuring a word, then subtract its width. This
14335        accounts for kerning between the last glyph of the word and the following space.
14336
143372010-01-06  Kevin Decker  <kdecker@apple.com>
14338
14339        Reviewed by Simon Fraser
14340
14341        Second step of:
14342        <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
14343
14344        * Plugins/Hosted/WebHostedNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method.
14345        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
14346        (-[WebHostedNetscapePluginView pluginLayer]): Added.
14347        * Plugins/WebNetscapePluginView.h: Expose the CALayer of the plugin by adding -pluginLayer method.
14348        * Plugins/WebNetscapePluginView.mm:
14349        (-[WebNetscapePluginView pluginLayer]): Added.
14350
143512010-01-06  Adam Barth  <abarth@webkit.org>
14352
14353        No review, rolling out r52877.
14354        http://trac.webkit.org/changeset/52877
14355        https://bugs.webkit.org/show_bug.cgi?id=33243
14356
14357        I screwed up landing this patch and only partially applied the patch I
14358        was trying to land.
14359
14360        * bindings/ScriptControllerBase.cpp:
14361        * bindings/js/ScriptController.cpp:
14362        (WebCore::ScriptController::executeScriptInWorld):
14363        * bindings/v8/ScriptController.cpp:
14364        (WebCore::ScriptController::ScriptController):
14365        (WebCore::ScriptController::~ScriptController):
14366        (WebCore::ScriptController::updateSecurityOrigin):
14367        (WebCore::ScriptController::evaluateInIsolatedWorld):
14368        (WebCore::ScriptController::haveInterpreter):
14369        (WebCore::ScriptController::mainWorldWindowShell):
14370        (WebCore::ScriptController::clearWindowShell):
14371        (WebCore::ScriptController::clearForClose):
14372        (WebCore::ScriptController::destroyWindowShell):
14373        (WebCore::ScriptController::updateDocument):
14374        * bindings/v8/ScriptController.h:
14375        (WebCore::ScriptController::proxy):
14376        (WebCore::ScriptController::windowShell):
14377        (WebCore::ScriptController::existingWindowShell):
14378        (WebCore::ScriptController::evaluateInWorld):
14379        * bindings/v8/V8DOMWindowShell.cpp:
14380        (WebCore::V8DOMWindowShell::create):
14381        (WebCore::V8DOMWindowShell::V8DOMWindowShell):
14382        (WebCore::V8DOMWindowShell::initContextIfNeeded):
14383
143842010-01-06  Eric Seidel  <eric@webkit.org>
14385
14386        Unreviewed.  Rolling back in a change I should not have rolled out.
14387
14388        The original commit http://trac.webkit.org/changeset/52862
14389        was rolled out again in http://trac.webkit.org/changeset/52871
14390        but I now believe that rollout to be in error.
14391        My sincerest apologies for the churn.
14392
14393        Fix the bug in previous commit: we shouldn't finish
14394        decoding if "sizeOnly" is true.
14395        https://bugs.webkit.org/show_bug.cgi?id=33258
14396
14397        * platform/image-decoders/png/PNGImageDecoder.cpp:
14398        (WebCore::PNGImageReader::decode):
14399
144002010-01-06  Adam Barth  <abarth@webkit.org>
14401
14402        Reviewed by Eric Seidel.
14403
14404        [v8] Let ScriptController have more than one windowShell
14405        https://bugs.webkit.org/show_bug.cgi?id=33243
14406
14407        This patch lets ScriptController have more than one windowShell.  We're
14408        currently only using one of them (for the main world), but this patch
14409        lets us use other ones for isolated worlds soon.
14410
14411        * bindings/ScriptControllerBase.cpp:
14412        (WebCore::ScriptController::executeScriptInWorld):
14413        * bindings/js/ScriptController.cpp:
14414        * bindings/v8/ScriptController.cpp:
14415        (WebCore::ScriptController::createWorld):
14416        (WebCore::ScriptController::initScript):
14417        (WebCore::ScriptController::ScriptController):
14418        (WebCore::ScriptController::~ScriptController):
14419        (WebCore::ScriptController::updateSecurityOrigin):
14420        (WebCore::ScriptController::evaluateInIsolatedWorld):
14421        (WebCore::ScriptController::evaluateInWorld):
14422        (WebCore::ScriptController::mainWorldWindowShell):
14423        (WebCore::ScriptController::clearWindowShell):
14424        (WebCore::ScriptController::clearForClose):
14425        (WebCore::ScriptController::destroyWindowShell):
14426        (WebCore::ScriptController::updateDocument):
14427        * bindings/v8/ScriptController.h:
14428        (WebCore::ScriptController::windowShell):
14429        (WebCore::ScriptController::existingWindowShell):
14430        (WebCore::ScriptController::globalObject):
14431        (WebCore::ScriptController::proxy):
14432        * bindings/v8/V8DOMWindowShell.cpp:
14433        (WebCore::V8DOMWindowShell::create):
14434        (WebCore::V8DOMWindowShell::V8DOMWindowShell):
14435        (WebCore::V8DOMWindowShell::initContextIfNeeded):
14436        * bindings/v8/V8DOMWindowShell.h:
14437        * bindings/v8/V8DOMWrapper.cpp:
14438        (WebCore::V8DOMWrapper::instantiateV8Object):
14439        (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
14440
144412010-01-06  Mark Rowe  <mrowe@apple.com>
14442
14443        Fix the Mac build.
14444
14445        * WebCore.base.exp: Export symbols WebKit would like to use.
14446        * plugins/PluginWidget.h:
14447        (WebCore::PluginWidget::PluginWidget): Redeclare a constructor.
14448
144492010-01-06  Kevin Decker  <kdecker@apple.com>
14450
14451        Reviewed by Eric Carlson.
14452        
14453        First step toward:
14454        <rdar://problem/6398111> Integrate hardware layers with out-of-process plug-ins layer hosting mechanism
14455        
14456        Small refactoring moving the PluginWidget class from WebKit to WebCore.          
14457        * WebCore.xcodeproj/project.pbxproj: Added new source files and a "mac" group; exposes PluginWidget.h as a "Private" role
14458        * platform/Widget.h: Added isPluginWidget(). 
14459        (WebCore::Widget::isPluginWidget):
14460        * plugins/PluginWidget.h: Added.
14461        (WebCore::PluginWidget::isPluginWidget): Added as an interim solution until Mac plug-ins inheirt from PluginView.
14462        * plugins/mac/PluginWidgetMac.mm: Added.
14463        (WebCore::PluginWidget::invalidateRect): Added. Extracted from the old WebKit/FrameLoaderClientMac version of PluginWidget
14464        
144652010-01-06  Eric Seidel  <eric@webkit.org>
14466
14467        No review, rolling out r52862.
14468        http://trac.webkit.org/changeset/52862
14469        https://bugs.webkit.org/show_bug.cgi?id=33258
14470
14471        Caused svg/W3C-SVG-1.1/linking-a-01-b.svg to crash on the
14472        Leopard Release builder.
14473
14474        * platform/image-decoders/png/PNGImageDecoder.cpp:
14475        (WebCore::PNGImageReader::decode):
14476
144772010-01-06  Nikolas Zimmermann  <nzimmermann@rim.com>
14478
14479        Not reviewed. Revert the part of my last commit touching Base.xcconfig, was not meant to be commited.
14480
14481        * Configurations/Base.xcconfig:
14482
144832010-01-05  Nate Chapin  <japhet@chromium.org>
14484
14485        Reviewed by Dimitri Glazkov.
14486
14487        Generate header declarations for V8 binding security checks
14488        and delete V8CustomBinding.cpp
14489
14490        * Android.v8bindings.mk: Removed V8CustomBinding.cpp.
14491        * WebCore.gypi: Removed V8CustomBinding.cpp.
14492        * bindings/scripts/CodeGeneratorV8.pm: Generate security check declarations.
14493        * bindings/v8/V8DOMWindowShell.cpp:
14494        (WebCore::getTargetFrame): Moved from V8CustomBinding.cpp.
14495        (WebCore::reportUnsafeJavaScriptAccess):
14496        (WebCore::V8DOMWindowShell::createNewContext):
14497        (WebCore::V8DOMWindowShell::setLocation): Moved from V8CustomBinding.cpp.
14498        * bindings/v8/V8DOMWindowShell.h:
14499        * bindings/v8/V8DOMWrapper.cpp:
14500        (WebCore::downcastSVGPathSeg): Moved from V8CustomBinding.cpp.
14501        (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
14502        (WebCore::V8DOMWrapper::getTemplate):
14503        * bindings/v8/custom/V8CustomBinding.cpp: Removed.
14504        * bindings/v8/custom/V8CustomBinding.h:
14505        * bindings/v8/custom/V8DOMWindowCustom.cpp:
14506        (WebCore::V8DOMWindow::locationAccessorSetter):
14507        (WebCore::V8DOMWindow::namedSecurityCheck):
14508        (WebCore::V8DOMWindow::indexedSecurityCheck):
14509        * bindings/v8/custom/V8DocumentLocationCustom.cpp:
14510        (WebCore::V8Document::locationAccessorSetter):
14511        * bindings/v8/custom/V8HistoryCustom.cpp:
14512        (WebCore::V8History::indexedSecurityCheck):
14513        (WebCore::V8History::namedSecurityCheck):
14514        * bindings/v8/custom/V8LocationCustom.cpp:
14515        (WebCore::V8Location::indexedSecurityCheck):
14516        (WebCore::V8Location::namedSecurityCheck):
14517
145182010-01-06  Nikolas Zimmermann  <nzimmermann@rim.com>
14519
14520        Reviewed by Dirk Schulze.
14521
14522        Marker code is buggy: referencePoint translation is off
14523        https://bugs.webkit.org/show_bug.cgi?id=33012
14524
14525        Rewrite marker code, as it had many issues:
14526        - Correct refX/refY handling (covered by new marker-referencePoint.svg test)
14527        - Calculate marker bounds on layout time, instead of paint time, to deliver correct repaint rects
14528        - Cleanup RenderPath code, which was cluttered by marker stuff (outlay in SVGMarkerLayoutInfo)
14529        - Fix SVGResource assuming that there is only one resource per resource type per element. Markers
14530          can have three different resources of the same type (three markers, start/mid/end markers)
14531
14532        Filed bug 33115 (PathElementAddQuadCurveToPoint not handled for <marker>), which was just a TODO in the code before.
14533
14534        Fixes all svg/custom/marker*.svg tests, that use dynamic updates (propagation failed before).
14535        Test: svg/custom/marker-referencePoint.svg
14536              svg/custom/marker-opacity.svg
14537              svg/custom/marker-strokeWidth-changes.svg
14538
14539        * Android.mk: Add SVGMarkerData.h / SVGMarkerLayoutInfo.(cpp,h) to build.
14540        * GNUmakefile.am: Ditto.
14541        * WebCore.gypi: Ditto.
14542        * WebCore.pro: Ditto.
14543        * WebCore.vcproj/WebCore.vcproj: Ditto.
14544        * WebCore.xcodeproj/project.pbxproj: Ditto.
14545        * page/FrameView.cpp: Notify RenderSVGRoot children about viewport size changes, just like it's handled for <body> in HTML.
14546        (WebCore::FrameView::layout): This is important, as marker bounding boxes may depend on the current viewport size through relative coordinates used in <svg>.
14547        * rendering/RenderPath.cpp:
14548        (WebCore::RenderPath::markerBoundingBox): Calculates and caches marker boundaries in the layout() phase.
14549        (WebCore::RenderPath::repaintRectInLocalCoordinates): Use the cached marker bounding box during paint() time.
14550        (WebCore::RenderPath::setPath): Clear marker boundaries upon path changes.
14551        (WebCore::RenderPath::paint): Use SVGMarkerLayoutInfo::drawMarkers() instead of the local drawMarkersIfNeeded() function, which is gone now.
14552        (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Utilized by markerBoundingBox() to request SVGResourceMarker objects and calculate their boundaries.
14553        * rendering/RenderPath.h: Store SVGMarkerLayoutInfo objects, and rename m_markerBounds to m_cachedLocalMarkerBBox for consistency.
14554        (WebCore::RenderPath::path): Inline this accessor.
14555        * rendering/RenderSVGContainer.h: Make paint() public (to be used from SVGResourceMarker), all other methods protected (to be used from RenderSVGViewportContainer).
14556        * rendering/RenderSVGViewportContainer.cpp: Remove useless paint() override, as the comment in the code indicated.
14557        (WebCore::RenderSVGViewportContainer::markerBoundaries): Maps the marker contents repaintRectInLocalCoordinates() into the final coordinate system (see code).
14558        (WebCore::RenderSVGViewportContainer::markerContentTransformation): Add marker-specific helper method, allowing to make viewportTransform() private again.
14559        * rendering/RenderSVGViewportContainer.h: Marking viewportTransform() private, it's never meant to be used outside this renderer.
14560        * rendering/SVGMarkerData.h: Added. Refactored from existing RenderPath code, preserving original copyrights.
14561        (WebCore::SVGMarkerData::): Helper struct for SVGMarkerLayoutInfo.
14562        (WebCore::SVGMarkerData::origin): Holds the final computed destination of a marker.
14563        (WebCore::SVGMarkerData::marker): Holds a pointer to the associated SVGResourceMarker object, which we're aiming to layout.
14564        (WebCore::SVGMarkerData::currentAngle): Calculates the current angle for a certain marker type (start/mid/end) based upon the computed inslope/outslope values.
14565        (WebCore::SVGMarkerData::updateTypeAndMarker): Helper method.
14566        (WebCore::SVGMarkerData::updateOutslope): Ditto.
14567        (WebCore::SVGMarkerData::updateMarkerDataForPathElement): Does the actual inslope/outslope calculation.
14568        (WebCore::SVGMarkerData::updateInslope): Helper method.
14569        * rendering/SVGMarkerLayoutInfo.cpp: Added. New approach to build marker layout info, this time correct during layout() time instead of paint() time.
14570        (WebCore::SVGMarkerLayoutInfo::SVGMarkerLayoutInfo):
14571        (WebCore::SVGMarkerLayoutInfo::~SVGMarkerLayoutInfo):
14572        (WebCore::processStartAndMidMarkers): Static helper method used to visit each path element in order to calculate inslopes/outslopes (-> orientation angles)
14573        (WebCore::SVGMarkerLayoutInfo::calculateBoundaries): Build list of MarkerLayout objects, used to query boundaries, and to paint markers during drawMarkers().
14574        (WebCore::SVGMarkerLayoutInfo::drawMarkers): Cheap method walking existing MarkerLayout vector, drawing the individual RenderSVGViewportContainer of the markers.
14575        (WebCore::SVGMarkerLayoutInfo::addLayoutedMarker): Helper method.
14576        * rendering/SVGMarkerLayoutInfo.h: Added.
14577        (WebCore::MarkerLayout::MarkerLayout): Helper struct storing a pair of SVGResourceMarker* and a TranformationMatrix.
14578        (WebCore::SVGMarkerLayoutInfo::markerData): Public helper methods returning references to private member variables, used from processStartAndMidMarkers.
14579        (WebCore::SVGMarkerLayoutInfo::midMarker): Ditto.
14580        (WebCore::SVGMarkerLayoutInfo::elementIndex): Ditto.
14581        * svg/SVGMarkerElement.cpp: Adopt to name change: setRef() -> setReferencePoint(). setMarker() -> setRenderer()
14582        (WebCore::SVGMarkerElement::~SVGMarkerElement): Remove obsolete detach() hack, fixed by SVGUseElement changes.
14583        (WebCore::SVGMarkerElement::canvasResource): Add ASSERT(renderer()) to clarify that canvasResource() is only meant to used after renderer creation.
14584        * svg/SVGSVGElement.cpp:
14585        (WebCore::SVGSVGElement::~SVGSVGElement): Remove obsolete detach() hack, fixed by SVGUseElement changes.
14586        * svg/SVGUseElement.cpp: Rework buildPendingResource() to remove SVGSVGElement/SVGMarkerElement detach() hacks (called manually from destructors), see below.
14587        (WebCore::SVGUseElement::buildPendingResource): Always detach() the shadow tree root element, before destructing it - this caused the regression with this patch before.
14588        * svg/graphics/SVGResource.cpp: Instead of maintaining a global hashmap between SVGStyledElements and an array of possible SVGResources, use a HashSet of SVGResources
14589                                        and directly scan the already existing list of clients for a certain SVGResource. This wrong approach has been introduced over two years
14590                                        ago, making the assumption that there's only one resource type per element. Though markers can provide three resources of the same type
14591                                        per element (all SVGResourceMarker objects, but in different rules: start/mid/end marker). That information is only available while painting.
14592        (WebCore::resourceSet): Add global static HashSet<SVGResource*>.
14593        (WebCore::SVGResource::SVGResource): Add us to the resourceSet.
14594        (WebCore::SVGResource::~SVGResource): Remove us from resourceSet.
14595        (WebCore::SVGResource::removeClient): Traverse all SVGResource clients and remove the passed SVGStyledElement from the client list (invoked by SVGStyledElement destructor).
14596        (WebCore::SVGResource::addClient): Remove the offending part of the old approach, making the wrong assumption regarding resource types.
14597        * svg/graphics/SVGResourceMarker.cpp:
14598        (WebCore::SVGResourceMarker::SVGResourceMarker):
14599        (WebCore::SVGResourceMarker::markerTransformation): Create TransformationMatrix in the local marker content (RenderSVGViewportContainer) coordinate system, to position a marker.
14600        (WebCore::SVGResourceMarker::draw): Simplify marker drawing a lot: used the passing TransformationMatrix (cached in SVGMarkerLayoutInfo) to draw the marker content renderer.
14601        (WebCore::SVGResourceMarker::externalRepresentation): Adopt to refX/refY -> referencePoint changes.
14602        * svg/graphics/SVGResourceMarker.h: Store a FloatPoint m_referecePoint instead of two refX/refY float values.
14603        (WebCore::SVGResourceMarker::setRenderer): Renamed from setMarker().
14604        (WebCore::SVGResourceMarker::setReferencePoint): Renamed from setRef().
14605        (WebCore::SVGResourceMarker::referencePoint): New accessor replacing refX() / refY().
14606
146072010-01-06  Dirk Schulze  <krit@webkit.org>
14608
14609        Reviewed by Nikolas Zimmermann.
14610
14611        SVG feImage support
14612        https://bugs.webkit.org/show_bug.cgi?id=31905
14613
14614        This implements the SVG Filter effect feImage with support of fragment urls.
14615        It also includes a bug fix for feComposite. feComposite didn't cover values
14616        bigger than 255 correctly on composite oeprator arithmetic.
14617
14618        Tests: There are already many feImage tests in trunk. They just needed updated
14619               pixel test results.
14620               The feComposite bug is covered by svg/W3C-SVG-1.1/filters-composite-02-b.svg
14621               and depends on feImage.
14622
14623        * platform/graphics/filters/FEComposite.cpp:
14624        (WebCore::arithmetic):
14625        * rendering/RenderSVGImage.cpp:
14626        (WebCore::RenderSVGImage::paint):
14627        * rendering/RenderSVGImage.h:
14628        * svg/SVGFEImageElement.cpp:
14629        (WebCore::SVGFEImageElement::requestImageResource):
14630        (WebCore::SVGFEImageElement::parseMappedAttribute):
14631        (WebCore::SVGFEImageElement::notifyFinished):
14632        (WebCore::SVGFEImageElement::build):
14633        * svg/SVGFEImageElement.h:
14634        * svg/SVGFEImageElement.idl:
14635        * svg/SVGPreserveAspectRatio.cpp:
14636        (WebCore::SVGPreserveAspectRatio::transformRect):
14637        * svg/SVGPreserveAspectRatio.h:
14638        * svg/graphics/filters/SVGFEImage.cpp:
14639        (WebCore::FEImage::FEImage):
14640        (WebCore::FEImage::create):
14641        (WebCore::FEImage::apply):
14642        * svg/graphics/filters/SVGFEImage.h:
14643
146442010-01-06  Yong Li  <yoli@rim.com>
14645
14646        Reviewed by Darin Adler.
14647
14648        Fix the bug in previous commit: we shouldn't finish
14649        decoding if "sizeOnly" is true.
14650        https://bugs.webkit.org/show_bug.cgi?id=33258
14651
14652        * platform/image-decoders/png/PNGImageDecoder.cpp:
14653        (WebCore::PNGImageReader::decode):
14654
146552010-01-06  Eric Seidel  <eric@webkit.org>
14656
14657        No review, rolling out r52855.
14658        http://trac.webkit.org/changeset/52855
14659        https://bugs.webkit.org/show_bug.cgi?id=33222
14660
14661        Caused 6 layout tests to fail on Mac
14662
14663        * loader/DocumentLoader.cpp:
14664        (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
14665        * loader/MainResourceLoader.cpp:
14666        (WebCore::MainResourceLoader::continueAfterContentPolicy):
14667        * loader/ResourceLoader.cpp:
14668        * loader/ResourceLoader.h:
14669
146702010-01-06  Yong Li  <yoli@rim.com>
14671
14672        Reviewed by Darin Adler.
14673
14674        Let ReourceLoader deliver segmented data
14675        when loading resource from a SharedBuffer object.
14676        https://bugs.webkit.org/show_bug.cgi?id=33222
14677
14678        * loader/DocumentLoader.cpp:
14679        (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
14680        * loader/MainResourceLoader.cpp:
14681        (WebCore::MainResourceLoader::continueAfterContentPolicy):
14682        * loader/ResourceLoader.cpp:
14683        (WebCore::ResourceLoader::didReceiveData):
14684        * loader/ResourceLoader.h:
14685
146862010-01-06  Simon Hausmann  <simon.hausmann@nokia.com>
14687
14688        Unreviewed trivial Qt build fix.
14689
14690        Prefix the phonon includes with phonon/ to avoid conflicts with the S60
14691        audio routing API ( http://wiki.forum.nokia.com/index.php/Audio_Routing_API ).
14692
14693        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
14694
146952010-01-05  Darin Fisher  <darin@chromium.org>
14696
14697        Reviewed by Adam Barth.
14698
14699        Moving v8::HandleScope up above declaration of v8::Local to fix a
14700        Chromium startup crash.
14701
14702        * bindings/v8/V8Proxy.cpp:
14703        (WebCore::V8Proxy::setContextDebugId):
14704
147052010-01-05  Adam Barth  <abarth@webkit.org>
14706
14707        Reviewed by Dimitri Glazkov.
14708
14709        [v8] Move V8DOMWindowShell to ScriptController
14710        https://bugs.webkit.org/show_bug.cgi?id=33232
14711
14712        This patch moves V8DOMWindow shell to ScriptController, where the
14713        window shells live in JSC land.  The next step will be to allow for
14714        more than one window shell per script controller.
14715
14716        * bindings/v8/ScriptController.cpp:
14717        (WebCore::ScriptController::ScriptController):
14718        (WebCore::ScriptController::~ScriptController):
14719        (WebCore::ScriptController::updateSecurityOrigin):
14720        (WebCore::ScriptController::evaluateInIsolatedWorld):
14721        (WebCore::ScriptController::haveInterpreter):
14722        (WebCore::ScriptController::mainWorldWindowShell):
14723        (WebCore::ScriptController::clearWindowShell):
14724        (WebCore::ScriptController::clearForClose):
14725        (WebCore::ScriptController::destroyWindowShell):
14726        (WebCore::ScriptController::updateDocument):
14727        * bindings/v8/ScriptController.h:
14728        * bindings/v8/V8DOMWindowShell.cpp:
14729        (WebCore::V8DOMWindowShell::~V8DOMWindowShell):
14730        * bindings/v8/V8DOMWindowShell.h:
14731        (WebCore::V8DOMWindowShell::localHandleForContext):
14732        * bindings/v8/V8DOMWrapper.cpp:
14733        (WebCore::V8DOMWrapper::instantiateV8Object):
14734        (WebCore::V8DOMWrapper::convertDocumentToV8Object):
14735        (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
14736        * bindings/v8/V8IsolatedContext.cpp:
14737        (WebCore::V8IsolatedContext::V8IsolatedContext):
14738        * bindings/v8/V8Proxy.cpp:
14739        (WebCore::V8Proxy::V8Proxy):
14740        (WebCore::V8Proxy::~V8Proxy):
14741        (WebCore::V8Proxy::handleOutOfMemory):
14742        (WebCore::V8Proxy::evaluateInIsolatedWorld):
14743        (WebCore::V8Proxy::setInjectedScriptContextDebugId):
14744        (WebCore::V8Proxy::context):
14745        (WebCore::V8Proxy::mainWorldContext):
14746        (WebCore::V8Proxy::currentContext):
14747        (WebCore::V8Proxy::setContextDebugId):
14748        * bindings/v8/V8Proxy.h:
14749        * bindings/v8/WorldContextHandle.cpp:
14750        (WebCore::WorldContextHandle::adjustedContext):
14751
147522010-01-05  Kent Tamura  <tkent@chromium.org>
14753
14754        Reviewed by Maciej Stachowiak.
14755
14756        Implement HTML5 <header> and <footer> elements.
14757        https://bugs.webkit.org/show_bug.cgi?id=32943
14758
14759        <header> and <footer> should behave the same as <nav>, <section>,
14760        <article>, and <aside>. The HTML parser doesn't need to restrict
14761        the nesting of header/footer elements.
14762
14763        Tests: fast/html/footer-element.html
14764               fast/html/header-element.html
14765
14766        * css/html.css: Add header/footer as block elements.
14767        * editing/htmlediting.cpp:
14768        (WebCore::validBlockTag): Add headerTag and footerTag.
14769        * html/HTMLElement.cpp:
14770        (WebCore::HTMLElement::tagPriority): Returns 5 for headerTag and footerTag.
14771        (WebCore::blockTagList): Add headerTag and footerTag.
14772        * html/HTMLParser.cpp:
14773        (WebCore::HTMLParser::handleError): Rename isHeaderTag() to isHeadingTag()
14774        (WebCore::HTMLParser::getNode): Add headerTag and footerTag.
14775        (WebCore::HTMLParser::isHeadingTag): Renamed from isHeaderTag().
14776        * html/HTMLParser.h:
14777          - Rename isHeaderTag() to isHeadingTag()
14778          - Remove non-existing popNestedHeaderTag().
14779        * html/HTMLTagNames.in: Add header and footer.
14780
147812010-01-05  Darin Adler  <darin@apple.com>
14782
14783        Reviewed by Dan Bernstein.
14784
14785        CDATA sections are merged into Text nodes when normalize() is used
14786        https://bugs.webkit.org/show_bug.cgi?id=33191
14787
14788        Test: fast/dom/Node/normalize-with-cdata.html
14789
14790        * dom/Node.cpp:
14791        (WebCore::Node::normalize): Use nodeType instead of isTextNode.
14792
147932010-01-05  James Robinson  <jamesr@google.com>
14794
14795        Reviewed by Eric Seidel.
14796
14797        Typing in Google Wave repaints the whole screen
14798        https://bugs.webkit.org/show_bug.cgi?id=32295
14799
14800        Marks a RenderBlock without block children for layout and painting when it has no line boxes only if it has inline immediate children.
14801        The existing logic uses the existence of line boxes as a dirty flag to indicate that line boxes need to be regenerated.  This heuristic
14802        fails when the RenderBlock does not have any in-flow children at all, causing the RenderBlock to get unnecessarily marked for layout and
14803        painting.  This is particularly bad for common scrollbar manipulation tricks like putting one positioned div inside another - this
14804        structure caused the entire outer div's bounds to get scheduled for a paint whenever there was any mutation of any descendant.
14805
14806        Test: LayoutTests/fast/repaint/block-no-inline-children.html (only shows up in pixel tests)
14807
14808        * rendering/RenderBlockLineLayout.cpp:
14809        (WebCore::RenderBlock::layoutInlineChildren):
14810
148112010-01-05  James Robinson  <jamesr@chromium.org>
14812
14813        Reviewed by David Hyatt.
14814
14815        Cleans up line box clearing when a RenderBlock loses its last child.
14816        https://bugs.webkit.org/show_bug.cgi?id=33228
14817
14818        The 'fullLayout' flag in RenderBlock::layoutInlineChildren() is pretty vague, hopefully this will be easier for the next person to figure out.
14819
14820
14821        No new tests.
14822
14823        * rendering/RenderBlock.cpp:
14824        (WebCore::RenderBlock::removeChild):
14825        * rendering/RenderBlockLineLayout.cpp:
14826        (WebCore::RenderBlock::layoutInlineChildren):
14827
148282010-01-05  Alexander Pavlov  <apavlov@chromium.org>
14829
14830        Reviewed by Pavel Feldman.
14831
14832        Provide the "documentURL" property for documents and frame owner elements
14833
14834        This is necessary to determine owner document URLs for nodes (all nodes have
14835        the top-level document set as ownerDocument).
14836        https://bugs.webkit.org/show_bug.cgi?id=33025
14837
14838        * inspector/InspectorDOMAgent.cpp:
14839        (WebCore::InspectorDOMAgent::buildObjectForNode):
14840        * inspector/front-end/DOMAgent.js:
14841        (WebInspector.DOMNode):
14842
148432010-01-05  Peter Kasting  <pkasting@google.com>
14844
14845        Reviewed by Adam Barth.
14846
14847        Public GIF decoder should stop decoding when allocation fails
14848        https://bugs.webkit.org/show_bug.cgi?id=33231
14849
14850        * platform/image-decoders/gif/GIFImageDecoder.cpp:
14851        (WebCore::GIFImageDecoder::haveDecodedRow):
14852        * platform/image-decoders/gif/GIFImageDecoder.h:
14853        * platform/image-decoders/gif/GIFImageReader.cpp:
14854        (GIFImageReader::output_row):
14855        (GIFImageReader::do_lzw):
14856        (GIFImageReader::read):
14857        * platform/image-decoders/gif/GIFImageReader.h:
14858
148592010-01-05  Yong Li  <yoli@rim.com>
14860
14861        Reviewed by Darin Adler.
14862
14863        Make PNG image decoder work with segmented SharedBuffer
14864        https://bugs.webkit.org/show_bug.cgi?id=33213
14865
14866        * platform/image-decoders/ImageDecoder.cpp:
14867        (WebCore::ImageDecoder::create):
14868        * platform/image-decoders/ImageDecoder.h:
14869        (WebCore::ImageDecoder::ImageDecoder):
14870        (WebCore::ImageDecoder::isAllDataReceived):
14871        (WebCore::ImageDecoder::setData):
14872        * platform/image-decoders/png/PNGImageDecoder.cpp:
14873        (WebCore::PNGImageReader::PNGImageReader):
14874        (WebCore::PNGImageReader::close):
14875        (WebCore::PNGImageReader::currentBufferSize):
14876        (WebCore::PNGImageReader::setComplete):
14877        (WebCore::PNGImageReader::decode):
14878        (WebCore::PNGImageDecoder::decode):
14879        (WebCore::PNGImageDecoder::headerAvailable):
14880        (WebCore::PNGImageDecoder::pngComplete):
14881
148822010-01-05  Adam Barth  <abarth@webkit.org>
14883
14884        Rubber stamped by Dimitri Glazkov.
14885
14886        Fix namespace indent for ScriptController.
14887
14888        * bindings/v8/ScriptController.h:
14889        (WebCore::ScriptController::proxy):
14890        (WebCore::ScriptController::windowShell):
14891        (WebCore::ScriptController::existingWindowShell):
14892        (WebCore::ScriptController::xssAuditor):
14893        (WebCore::ScriptController::setProcessingTimerCallback):
14894        (WebCore::ScriptController::setPaused):
14895        (WebCore::ScriptController::isPaused):
14896        (WebCore::ScriptController::sourceURL):
14897        (WebCore::ScriptController::evaluateInWorld):
14898
148992010-01-05  Rachel Petterson  <rlp@google.com>
14900
14901        Reviewed by Simon Fraser.
14902
14903        Implement most cases of texImage2D and texSubImage2D
14904        https://bugs.webkit.org/show_bug.cgi?id=31562
14905        
14906        This fix is with Chris Marrin  <cmarrin@apple.com>.
14907        Also bug: https://bugs.webkit.org/show_bug.cgi?id=31493
14908
14909        From Chris:
14910        This implements all cases except HTMLVideoElement. It changes
14911        the bindings to accept all parameter forms of the call. Then
14912        it plumbs the calls through WebGLRenderingContext down to
14913        GraphicsContext3D for the actual implementation.
14914
14915        From Rachel:
14916        This implements texImage2D for chromium. It also implements the V8
14917        bindings for texSubImage2D and updates the V8 bindings for texImage2D.
14918
14919        Tests: fast/canvas/webgl/texImage2DImageDataTest.html
14920                  fast/canvas/webgl/texImageTest.html
14921
14922        * bindings/js/JSWebGLRenderingContextCustom.cpp:
14923        (WebCore::JSWebGLRenderingContext::texImage2D):
14924        (WebCore::JSWebGLRenderingContext::texSubImage2D):
14925        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
14926        (WebCore::CALLBACK_FUNC_DECL):
14927        * html/canvas/WebGLRenderingContext.cpp:
14928        (WebCore::WebGLRenderingContext::texImage2D):
14929        (WebCore::WebGLRenderingContext::texSubImage2D):
14930        * html/canvas/WebGLRenderingContext.h:
14931        * html/canvas/WebGLRenderingContext.idl:
14932        * platform/graphics/GraphicsContext3D.h:
14933        * platform/graphics/mac/GraphicsContext3DMac.cpp:
14934        (WebCore::imageToTexture):
14935        (WebCore::GraphicsContext3D::texImage2D):
14936        (WebCore::GraphicsContext3D::texSubImage2D):
14937
149382010-01-04  Brian Weinstein  <bweinstein@apple.com>
14939
14940        Reviewed by Tim Hatcher.
14941
14942        Part of <https://bugs.webkit.org/show_bug.cgi?id=32568>.
14943        Web Inspector: Context Menus should be used in more places.
14944        
14945        Add context menus to handle the interaction with breakpoints in the Source Frame. Currently
14946        we use left click to add/disable/remove breakpoints, and left click to edit (for conditional
14947        breakpoints), but this is hard to discover and behaves differently than Xcode.
14948        
14949        Change the behavior to be more like Xcode, left click adds a breakpoint if there isn't one, and
14950        removes it if there is one.
14951        
14952        On the context menu, if there is no breakpoint there, we have Add Breakpoint, and Add Conditional
14953        Breakpoint. If there is a breakpoint there, we add entries for Edit Breakpoint (edit
14954        the condition), Remove Breakpoint, and Enable/Disable Breakpoint (based on the current state).
14955
14956        * English.lproj/localizedStrings.js: Added localized context menu entries.
14957        * inspector/front-end/SourceFrame.js:
14958        (WebInspector.SourceFrame.prototype._documentContextMenu.addAndEditBreakpoint):
14959        (WebInspector.SourceFrame.prototype._documentContextMenu): Added context menu entries and handlers.
14960        (WebInspector.SourceFrame.prototype._documentMouseDown): Changed left click behavior (Add -> Remove).
14961
149622010-01-05  Chris Fleizach  <cfleizach@apple.com>
14963
14964        Reviewed by Eric Seidel.
14965
14966        AX: need a way to get the progress of a webpage load
14967        https://bugs.webkit.org/show_bug.cgi?id=33221
14968
14969        Test: platform/mac/accessibility/estimated-progress.html
14970
14971        * accessibility/AccessibilityObject.h:
14972        (WebCore::AccessibilityObject::estimatedLoadingProgress):
14973        * accessibility/AccessibilityRenderObject.cpp:
14974        (WebCore::AccessibilityRenderObject::estimatedLoadingProgress):
14975        * accessibility/AccessibilityRenderObject.h:
14976        * accessibility/mac/AccessibilityObjectWrapper.mm:
14977        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
14978        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
14979
149802010-01-05  Yael Aharon  <yael.aharon@nokia.com>
14981
14982        Reviewed by Kenneth Rohde Christiansen.
14983
14984        [Qt] Drag & drop layout tests fail even when run manually
14985        https://bugs.webkit.org/show_bug.cgi?id=33055
14986
14987        No new tests. Fix 3 layout tests when run manually.
14988        fast/events/drag-and-drop.html
14989        fast/events/drag-and-drop-dataTransfer-types-nocrash.html
14990        fast/events/drag-and-drop-fire-drag-dragover.html
14991        Running these tests in DRT will be fixed in 31332.
14992
14993        * page/qt/DragControllerQt.cpp:
14994        (WebCore::DragController::cleanupAfterSystemDrag):
14995        Cleanup the drag operation if it failed to complete,
14996        Otherwise, new drag operations will not be possible.
14997
149982010-01-05  Gustavo Noronha Silva <gns@gnome.org>
14999
15000        Reviewed by Xan Lopez.
15001
15002        Based on idea and original patch by Evan Martin.
15003
15004        Remove libWebCore intermediate library, to improve link time.
15005
15006        [GTK] Build time must be reduced
15007        https://bugs.webkit.org/show_bug.cgi?id=32921
15008
15009        * GNUmakefile.am:
15010
150112010-01-05  Nate Chapin  <japhet@chromium.org>
15012
15013        Reviewed by Adam Barth.
15014
15015        Move allowSetting{Frame}SrcToJavascriptUrl from V8Custom to BindingSecurity and
15016        remove the v8-specific pieces.
15017
15018        https://bugs.webkit.org/show_bug.cgi?id=33182
15019
15020        * bindings/BindingSecurity.h:
15021        (WebCore::::allowSettingFrameSrcToJavascriptUrl): Moved from V8CustomBinding.cpp.
15022        (WebCore::::allowSettingSrcToJavascriptURL): Moved from V8CustomBinding.cpp.
15023        * bindings/v8/custom/V8AttrCustom.cpp:
15024        (WebCore::V8Attr::valueAccessorSetter):
15025        * bindings/v8/custom/V8CustomBinding.cpp:
15026        * bindings/v8/custom/V8CustomBinding.h:
15027        * bindings/v8/custom/V8ElementCustom.cpp:
15028        (WebCore::V8Element::setAttributeCallback):
15029        (WebCore::V8Element::setAttributeNodeCallback):
15030        (WebCore::V8Element::setAttributeNSCallback):
15031        (WebCore::V8Element::setAttributeNodeNSCallback):
15032        * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
15033        (WebCore::V8HTMLFrameElement::srcAccessorSetter):
15034        (WebCore::V8HTMLFrameElement::locationAccessorSetter):
15035        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
15036        (WebCore::V8HTMLIFrameElement::srcAccessorSetter):
15037
150382010-01-05  Adam Barth  <abarth@webkit.org>
15039
15040        Reviewed by Dimitri Glazkov.
15041
15042        [V8] Separate DOMWrapperWorld from V8IsolatedWorld
15043        https://bugs.webkit.org/show_bug.cgi?id=33087
15044
15045        This change separate DOMWrapperWorld and IsolatedWorld from
15046        V8IsolatedWorld.  I've also renamed V8IsolatedWorld to
15047        V8IsolatedContext in preparation for having more than one context in a
15048        single isolated world.
15049
15050        This patch moves us closer to two goals:
15051        1) Matching the structure of the JSC implementation of isolated worlds.
15052        2) Letting scripts running in isolated contexts see into other iframes
15053           (which requires having more than one context in an isolated world.)
15054
15055        * WebCore.gypi:
15056        * bindings/v8/DOMWrapperWorld.cpp: Added.
15057        (WebCore::DOMWrapperWorld::DOMWrapperWorld):
15058        (WebCore::mainThreadNormalWorld):
15059        * bindings/v8/DOMWrapperWorld.h: Added.
15060        (WebCore::DOMWrapperWorld::create):
15061        * bindings/v8/IsolatedWorld.cpp: Added.
15062        (WebCore::IsolatedWorld::IsolatedWorld):
15063        (WebCore::IsolatedWorld::~IsolatedWorld):
15064        * bindings/v8/IsolatedWorld.h: Added.
15065        (WebCore::IsolatedWorld::create):
15066        (WebCore::IsolatedWorld::count):
15067        (WebCore::IsolatedWorld::domDataStore):
15068        * bindings/v8/MainThreadDOMData.cpp:
15069        (WebCore::MainThreadDOMData::getMainThreadStore):
15070        * bindings/v8/ScriptController.cpp:
15071        (WebCore::ScriptController::currentScriptState):
15072        * bindings/v8/ScriptState.cpp:
15073        * bindings/v8/ScriptState.h:
15074        * bindings/v8/V8DOMWindowShell.cpp:
15075        * bindings/v8/V8DOMWrapper.cpp:
15076        (WebCore::V8DOMWrapper::instantiateV8Object):
15077        * bindings/v8/V8IsolatedContext.cpp: Copied from WebCore/bindings/v8/V8IsolatedWorld.cpp.
15078        (WebCore::V8IsolatedContext::contextWeakReferenceCallback):
15079        (WebCore::V8IsolatedContext::V8IsolatedContext):
15080        (WebCore::V8IsolatedContext::destroy):
15081        (WebCore::V8IsolatedContext::~V8IsolatedContext):
15082        (WebCore::V8IsolatedContext::scriptState):
15083        * bindings/v8/V8IsolatedContext.h: Copied from WebCore/bindings/v8/V8IsolatedWorld.h.
15084        (WebCore::V8IsolatedContext::getEntered):
15085        (WebCore::V8IsolatedContext::world):
15086        * bindings/v8/V8IsolatedWorld.cpp: Removed.
15087        * bindings/v8/V8IsolatedWorld.h: Removed.
15088        * bindings/v8/V8Proxy.cpp:
15089        (WebCore::V8Proxy::evaluateInIsolatedWorld):
15090        (WebCore::V8Proxy::context):
15091        * bindings/v8/V8Proxy.h:
15092        * bindings/v8/WorldContextHandle.cpp:
15093        (WebCore::WorldContextHandle::WorldContextHandle):
15094
150952010-01-05  Adam Barth  <abarth@webkit.org>
15096
15097        Reviewed by Dimitri Glazkov.
15098
15099        [V8] Move createWindow into generic bindings so it can be shared with JSC
15100        https://bugs.webkit.org/show_bug.cgi?id=33201
15101
15102        This patch moves createWindow from V8-specific code into the generic
15103        bindings so that is can be re-used by the JavaScriptCore bindings.  I
15104        haven't actually moved the JSC bindings over to using this yet.
15105
15106        Also, I organized the generic bindings a bit more as it's becoming
15107        clearer how things are going to shape up.  There are still some
15108        question marks, but hopefully the answers will become clear as we
15109        progress.
15110
15111        * WebCore.gyp/WebCore.gyp:
15112        * WebCore.gypi:
15113        * bindings/generic/BindingDOMWindow.h: Added.
15114        (WebCore::::createWindow):
15115        * bindings/generic/BindingSecurity.h: Renamed from WebCore/bindings/BindingSecurity.h.
15116        (WebCore::BindingSecurity::BindingSecurity):
15117        (WebCore::::canAccessWindow):
15118        (WebCore::::canAccessFrame):
15119        (WebCore::::checkNodeSecurity):
15120        * bindings/generic/BindingSecurityBase.cpp: Renamed from WebCore/bindings/BindingSecurityBase.cpp.
15121        (WebCore::BindingSecurityBase::getDOMWindow):
15122        (WebCore::BindingSecurityBase::getFrame):
15123        (WebCore::BindingSecurityBase::canAccess):
15124        * bindings/generic/BindingSecurityBase.h: Renamed from WebCore/bindings/BindingSecurityBase.h.
15125        * bindings/generic/GenericBinding.h: Renamed from WebCore/bindings/GenericBinding.h.
15126        (WebCore::):
15127        * bindings/v8/V8Binding.h:
15128        * bindings/v8/custom/V8DOMWindowCustom.cpp:
15129        (WebCore::V8DOMWindow::showModalDialogCallback):
15130        (WebCore::V8DOMWindow::openCallback):
15131        * bindings/v8/specialization/V8BindingDOMWindow.h: Added.
15132        (WebCore::V8BindingDOMWindow::storeDialogArgs):
15133        * bindings/v8/specialization/V8BindingState.cpp: Renamed from WebCore/bindings/v8/V8BindingState.cpp.
15134        (WebCore::::Only):
15135        (WebCore::::getActiveWindow):
15136        (WebCore::::immediatelyReportUnsafeAccessTo):
15137        * bindings/v8/specialization/V8BindingState.h: Renamed from WebCore/bindings/v8/V8BindingState.h.
15138        (WebCore::):
15139
151402010-01-05  Dominic Mazzoni  <dmazzoni@google.com>
15141
15142        Reviewed by Darin Adler.
15143
15144        https://bugs.webkit.org/show_bug.cgi?id=32571
15145
15146        For an object with an aria role of "checkbox" or "radiobutton",
15147        Use the "aria-checked" attribute to determine if it's checked.
15148
15149        Test: accessibility/aria-checkbox-checked.html
15150
15151        * accessibility/AccessibilityRenderObject.cpp:
15152        (WebCore::AccessibilityRenderObject::isChecked):
15153
151542010-01-05  Yong Li  <yoli@rim.com>
15155
15156        Reviewed by Adam Roben.
15157
15158        Fix build warnings blindly
15159        https://bugs.webkit.org/show_bug.cgi?id=33178
15160
15161        * platform/SharedBuffer.cpp:
15162        * platform/SharedBuffer.h:
15163        (WebCore::SharedBuffer::append):
15164
151652010-01-05  Dan Bernstein  <mitz@apple.com>
15166
15167        Build fix
15168
15169        * platform/SharedBuffer.cpp:
15170
151712010-01-05  Yong Li  <yong.li@torchmobile.com>
15172
15173        Reviewed by Darin Adler.
15174
15175        Fix an obvious bug and build errors in previous commit (r52795)
15176        https://bugs.webkit.org/show_bug.cgi?id=33178
15177
15178        * platform/SharedBuffer.h:
15179        (WebCore::SharedBuffer::isEmpty):
15180        * platform/cf/SharedBufferCF.cpp:
15181        (WebCore::SharedBuffer::maybeTransferPlatformData):
15182
151832010-01-04  Yong Li  <yoli@rim.com>
15184
15185        Reviewed by Darin Adler.
15186
15187        Let SharedBuffer use a group of memory segments internally.
15188        It will merge the segments into a flat consecutive buffer only when
15189        necessary.
15190        https://bugs.webkit.org/show_bug.cgi?id=33178
15191
15192        * platform/SharedBuffer.cpp:
15193        (WebCore::allocateSegment):
15194        (WebCore::freeSegment):
15195        (WebCore::SharedBuffer::SharedBuffer):
15196        (WebCore::SharedBuffer::~SharedBuffer):
15197        (WebCore::SharedBuffer::adoptVector):
15198        (WebCore::SharedBuffer::size):
15199        (WebCore::SharedBuffer::data):
15200        (WebCore::SharedBuffer::append):
15201        (WebCore::SharedBuffer::clear):
15202        (WebCore::SharedBuffer::copy):
15203        (WebCore::SharedBuffer::buffer):
15204        (WebCore::SharedBuffer::getSomeData):
15205        * platform/SharedBuffer.h:
15206        * platform/cf/SharedBufferCF.cpp:
15207        (WebCore::SharedBuffer::maybeTransferPlatformData):
15208        * platform/haiku/SharedBufferHaiku.cpp:
15209        (WebCore::SharedBuffer::createWithContentsOfFile):
15210        * platform/qt/SharedBufferQt.cpp:
15211        (WebCore::SharedBuffer::createWithContentsOfFile):
15212        * platform/win/SharedBufferWin.cpp:
15213        (WebCore::SharedBuffer::createWithContentsOfFile):
15214
152152010-01-05  Simon Hausmann  <simon.hausmann@nokia.com>
15216
15217        Unreviewed trivial Symbian build fix
15218
15219        * plugins/symbian/PluginViewSymbian.cpp: Add missing HostWindow.h inclusion
15220
152212010-01-05  Simon Hausmann  <simon.hausmann@nokia.com>
15222
15223        Reviewed by Tor Arne Vestbø.
15224
15225        [Qt] Fix broken export macros in package builds.
15226
15227        https://bugs.webkit.org/show_bug.cgi?id=33202
15228
15229        Always define QT_MAKEDLL unless we're doing a static
15230        build or we're building inside of Qt. When building
15231        inside of Qt the correct define is pulled from qbase.pri.
15232
15233        * WebCore.pro:
15234
152352010-01-04  Maciej Stachowiak  <mjs@apple.com>
15236
15237        Reviewed by Darin Fisher.
15238
15239        Reorganize, document and rename OS() platform macros.
15240        https://bugs.webkit.org/show_bug.cgi?id=33198
15241
15242        Adapt to name changes. Also fixed a few incorrect OS checks.
15243
15244        * accessibility/AccessibilityObject.h:
15245        * config.h:
15246        * dom/SelectElement.cpp:
15247        (WebCore::SelectElement::listBoxDefaultEventHandler):
15248        * inspector/InspectorFrontendHost.cpp:
15249        (WebCore::InspectorFrontendHost::platform):
15250        * loader/CachedFont.cpp:
15251        * loader/FTPDirectoryDocument.cpp:
15252        * loader/FTPDirectoryParser.cpp:
15253        * page/EventHandler.cpp:
15254        * page/Frame.cpp:
15255        (WebCore::Frame::setUseSecureKeyboardEntry):
15256        * page/NavigatorBase.cpp:
15257        (WebCore::NavigatorBase::platform):
15258        * page/Page.h:
15259        * page/Settings.cpp:
15260        (WebCore::Settings::Settings):
15261        * page/Settings.h:
15262        * page/chromium/DragControllerChromium.cpp:
15263        (WebCore::DragController::isCopyKeyDown):
15264        * page/chromium/EventHandlerChromium.cpp:
15265        (WebCore::EventHandler::accessKeyModifiers):
15266        * page/win/EventHandlerWin.cpp:
15267        (WebCore::EventHandler::createDraggingClipboard):
15268        * platform/FileSystem.h:
15269        * platform/KeyboardCodes.h:
15270        * platform/PurgeableBuffer.h:
15271        * platform/chromium/ChromiumBridge.h:
15272        * platform/chromium/ClipboardChromium.cpp:
15273        (WebCore::ClipboardChromium::writeRange):
15274        * platform/chromium/ClipboardUtilitiesChromium.cpp:
15275        * platform/chromium/ClipboardUtilitiesChromium.h:
15276        * platform/chromium/PasteboardChromium.cpp:
15277        (WebCore::Pasteboard::writeSelection):
15278        (WebCore::Pasteboard::writePlainText):
15279        (WebCore::Pasteboard::documentFragment):
15280        * platform/chromium/PlatformKeyboardEventChromium.cpp:
15281        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
15282        (WebCore::PlatformKeyboardEvent::currentCapsLockState):
15283        * platform/chromium/PopupMenuChromium.cpp:
15284        (WebCore::PopupListBox::layout):
15285        (WebCore::PopupMenu::show):
15286        * platform/graphics/BitmapImage.h:
15287        (WebCore::BitmapImage::mayFillWithSolidColor):
15288        * platform/graphics/FloatPoint.h:
15289        * platform/graphics/FloatRect.h:
15290        * platform/graphics/FloatSize.h:
15291        * platform/graphics/FontCache.cpp:
15292        (WebCore::alternateFamilyName):
15293        * platform/graphics/FontCache.h:
15294        * platform/graphics/FontFastPath.cpp:
15295        (WebCore::Font::glyphDataForCharacter):
15296        * platform/graphics/GlyphBuffer.h:
15297        (WebCore::GlyphBuffer::advanceAt):
15298        (WebCore::GlyphBuffer::add):
15299        * platform/graphics/Gradient.h:
15300        * platform/graphics/GraphicsContext.cpp:
15301        * platform/graphics/GraphicsContext.h:
15302        * platform/graphics/GraphicsContext3D.h:
15303        * platform/graphics/ImageSource.h:
15304        * platform/graphics/IntRect.h:
15305        * platform/graphics/MediaPlayer.cpp:
15306        * platform/graphics/Path.h:
15307        * platform/graphics/Pattern.h:
15308        * platform/graphics/SimpleFontData.h:
15309        * platform/graphics/cg/ColorCG.cpp:
15310        * platform/graphics/cg/GraphicsContextCG.cpp:
15311        * platform/graphics/chromium/FontCustomPlatformData.cpp:
15312        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
15313        (WebCore::FontCustomPlatformData::fontPlatformData):
15314        (WebCore::createFontCustomPlatformData):
15315        * platform/graphics/chromium/FontCustomPlatformData.h:
15316        * platform/graphics/chromium/FontPlatformData.h:
15317        * platform/graphics/opentype/OpenTypeUtilities.cpp:
15318        * platform/graphics/opentype/OpenTypeUtilities.h:
15319        * platform/graphics/qt/GraphicsContextQt.cpp:
15320        (WebCore::GraphicsContext::getWindowsContext):
15321        * platform/graphics/qt/ImageQt.cpp:
15322        * platform/graphics/skia/GraphicsContextSkia.cpp:
15323        (WebCore::GraphicsContext::clipToImageBuffer):
15324        * platform/graphics/skia/ImageBufferSkia.cpp:
15325        (WebCore::ImageBuffer::ImageBuffer):
15326        * platform/graphics/skia/PlatformContextSkia.cpp:
15327        (PlatformContextSkia::State::State):
15328        (PlatformContextSkia::PlatformContextSkia):
15329        (PlatformContextSkia::save):
15330        (PlatformContextSkia::restore):
15331        * platform/graphics/skia/PlatformContextSkia.h:
15332        * platform/graphics/win/IconWin.cpp:
15333        (WebCore::Icon::createIconForFiles):
15334        (WebCore::Icon::paint):
15335        * platform/graphics/wx/GraphicsContextWx.cpp:
15336        * platform/gtk/FileSystemGtk.cpp:
15337        (WebCore::filenameToString):
15338        (WebCore::filenameFromString):
15339        (WebCore::filenameForDisplay):
15340        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
15341        * platform/network/curl/ResourceHandleManager.cpp:
15342        * platform/network/soup/ResourceHandleSoup.cpp:
15343        (WebCore::):
15344        * platform/text/String.cpp:
15345        (WebCore::String::format):
15346        (WebCore::String::number):
15347        * platform/text/TextEncoding.cpp:
15348        (WebCore::TextEncoding::encode):
15349        * platform/text/TextEncodingRegistry.cpp:
15350        (WebCore::buildBaseTextCodecMaps):
15351        (WebCore::extendTextCodecMaps):
15352        * platform/text/TextStream.cpp:
15353        * platform/text/TextStream.h:
15354        * platform/text/qt/TextCodecQt.cpp:
15355        (WebCore::TextCodecQt::decode):
15356        * platform/win/PlatformMouseEventWin.cpp:
15357        (WebCore::messageToEventType):
15358        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
15359        * platform/win/PlatformScreenWin.cpp:
15360        (WebCore::deviceInfoForWidget):
15361        (WebCore::screenIsMonochrome):
15362        * platform/win/PopupMenuWin.cpp:
15363        (WebCore::PopupMenu::show):
15364        (WebCore::PopupMenu::paint):
15365        (WebCore::PopupMenu::registerClass):
15366        (WebCore::PopupMenu::PopupMenuWndProc):
15367        (WebCore::PopupMenu::wndProc):
15368        * platform/win/SystemTimeWin.cpp:
15369        (WebCore::userIdleTime):
15370        * platform/wx/FileSystemWx.cpp:
15371        (WebCore::unloadModule):
15372        * plugins/PluginDatabase.cpp:
15373        * plugins/PluginPackage.cpp:
15374        (WebCore::PluginPackage::compareFileVersion):
15375        * plugins/PluginPackage.h:
15376        * plugins/PluginView.cpp:
15377        (WebCore::PluginView::setFrameRect):
15378        (WebCore::PluginView::stop):
15379        (WebCore::PluginView::PluginView):
15380        * plugins/PluginView.h:
15381        * plugins/win/PluginDatabaseWin.cpp:
15382        (WebCore::addWindowsMediaPlayerPluginDirectory):
15383        (WebCore::addMacromediaPluginDirectories):
15384        * plugins/win/PluginPackageWin.cpp:
15385        (WebCore::PluginPackage::load):
15386        * plugins/win/PluginViewWin.cpp:
15387        (WebCore::registerPluginView):
15388        (WebCore::PluginView::wndProc):
15389        (WebCore::PluginView::updatePluginWidget):
15390        (WebCore::PluginView::paintIntoTransformedContext):
15391        (WebCore::PluginView::paintWindowedPluginIntoContext):
15392        (WebCore::PluginView::paint):
15393        (WebCore::PluginView::handleMouseEvent):
15394        (WebCore::PluginView::setParent):
15395        (WebCore::PluginView::setNPWindowRect):
15396        (WebCore::PluginView::platformStart):
15397
153982010-01-04  Chris Fleizach  <cfleizach@apple.com>
15399
15400        Reviewed by Darin Adler.
15401
15402        Add ARIA "Live Region" support
15403        https://bugs.webkit.org/show_bug.cgi?id=33117
15404
15405        Tests: platform/mac/accessibility/aria-liveregions-attributes.html
15406               platform/mac/accessibility/aria-liveregions-notifications.html
15407
15408        * accessibility/AXObjectCache.cpp:
15409        (WebCore::AXObjectCache::contentChanged):
15410        * accessibility/AXObjectCache.h:
15411        (WebCore::AXObjectCache::):
15412        * accessibility/AccessibilityObject.cpp:
15413        (WebCore::AccessibilityObject::isChildOfARIALiveRegion):
15414        (WebCore::AccessibilityObject::supportsARIALiveRegion):
15415        * accessibility/AccessibilityObject.h:
15416        (WebCore::AccessibilityObject::contentChanged):
15417        (WebCore::AccessibilityObject::ariaLiveRegionStatus):
15418        (WebCore::AccessibilityObject::ariaLiveRegionRelevant):
15419        (WebCore::AccessibilityObject::ariaLiveRegionAtomic):
15420        (WebCore::AccessibilityObject::ariaLiveRegionBusy):
15421        * accessibility/AccessibilityRenderObject.cpp:
15422        (WebCore::AccessibilityRenderObject::elementAttributeValue):
15423        (WebCore::AccessibilityRenderObject::contentChanged):
15424        (WebCore::AccessibilityRenderObject::childrenChanged):
15425        (WebCore::AccessibilityRenderObject::ariaLiveRegionStatus):
15426        (WebCore::AccessibilityRenderObject::ariaLiveRegionRelevant):
15427        (WebCore::AccessibilityRenderObject::ariaLiveRegionAtomic):
15428        (WebCore::AccessibilityRenderObject::ariaLiveRegionBusy):
15429        * accessibility/AccessibilityRenderObject.h:
15430        (WebCore::AccessibilityRenderObject::areChildrenDirty):
15431        * accessibility/mac/AXObjectCacheMac.mm:
15432        (WebCore::AXObjectCache::postPlatformNotification):
15433        * accessibility/mac/AccessibilityObjectWrapper.h:
15434        * accessibility/mac/AccessibilityObjectWrapper.mm:
15435        (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
15436        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
15437        (-[AccessibilityObjectWrapper accessibilitySetPostedNotificationCallback:]):
15438        (-[AccessibilityObjectWrapper accessibilityPostedNotification:]):
15439        * dom/Element.cpp:
15440        (WebCore::Element::updateAfterAttributeChanged):
15441        * html/HTMLAttributeNames.in:
15442        * rendering/RenderText.cpp:
15443        (WebCore::RenderText::setText):
15444
154452010-01-04  Chris Evans  <cevans@chromium.org>
15446
15447        Reviewed by Adam Barth.
15448
15449        Adopt a more conservative approach for loading CSS cross-origin. When
15450        loading CSS cross-origin, it must be start with valid CSS if the MIME
15451        type is broken.
15452
15453        https://bugs.webkit.org/show_bug.cgi?id=29820
15454
15455        Test: http/tests/security/cross-origin-css.html
15456        Test: http/tests/security/cross-origin-css-in-xml.xml
15457
15458        * html/HTMLLinkElement.cpp:
15459        (WebCore::HTMLLinkElement::setCSSStyleSheet): Enforce stricter load
15460        requirements for cross-origin loads.
15461        * css/CSSImportRule.cpp:
15462        (WebCore::CSSImportRule::setCSSStyleSheet): Enforce stricter load
15463        requirements for cross-origin loads.
15464        * css/CSSStyleSheet.h:
15465        * css/CSSStyleSheet.cpp:
15466        * css/CSSParser.cpp:
15467        * css/CSSGrammar.y:
15468        * css/CSSParser.h:
15469        Add ability to tell whether the CSS parse started with a syntactically
15470        valid CSS rule.
15471        * loader/CachedCSSStyleSheet.h:
15472        * loader/CachedCSSStyleSheet.cpp:
15473        (WebCore::CachedCSSStyleSheet::sheetText): Add ability to return
15474        whether the MIME type was acceptable for CSS.
15475        (WebCore::CachedCSSStyleSheet::canUseSheet): If requested, return
15476        whether the MIME type was valid or not.
15477        * dom/ProcessingInstruction.cpp
15478        (WebCore::ProcessingInstruction::setCSSStyleSheet): Make use of strict
15479        mode explicit and add comment.
15480
154812010-01-04  Dan Bernstein  <mitz@apple.com>
15482
15483        Reviewed by Simon Fraser.
15484
15485        <rdar://problem/6655695> REGRESSION: VoiceOver is not highlighting some web elements correctly
15486        <rdar://problem/7397558> REGRESSION: AXImages inside of AXLink cause AXLink to have wrong bounds
15487
15488        Test: accessibility/dimensions-include-descendants.html
15489
15490        * accessibility/AccessibilityRenderObject.cpp:
15491        (WebCore::AccessibilityRenderObject::boundingBoxRect): Use absoluteFocusRingQuads()
15492        for non-text renderers. The focus ring encompasses descendants, which is
15493        what we want for the accessibility indicator.
15494        * rendering/RenderObject.cpp:
15495        (WebCore::RenderObject::absoluteFocusRingQuads): Added.
15496        * rendering/RenderObject.h:
15497
154982010-01-04  Ojan Vafai  <ojan@ojanmacpro.sfo.corp.google.com>
15499
15500        Reviewed by Dan Bernstein.
15501
15502        Remove unnecessary division by a constant in SimpleFontDataMac.mm.
15503        https://bugs.webkit.org/show_bug.cgi?id=33189
15504
15505        This was added in http://trac.webkit.org/changeset/8104 and seems like
15506        it was just there to match the previously private function which we no
15507        longer use.
15508
15509        No new tests. No change in behavior.
15510
15511        * platform/graphics/mac/SimpleFontDataMac.mm:
15512
155132010-01-04  Darin Adler  <darin@apple.com>
15514
15515        Reviewed by Maciej Stachowiak.
15516
15517        Selection-related code needs stricter rules about how it relates to layout
15518        https://bugs.webkit.org/show_bug.cgi?id=32882
15519
15520        Covered by existing tests along with the new assertions.
15521
15522        * dom/Document.cpp:
15523        (WebCore::Document::recalcStyle): Make sure that m_inStyleRecalc is
15524        already false by the time post-attach callbacks are done so that
15525        layout triggered inside those callbacks can work properly.
15526
15527        * editing/SelectionController.cpp:
15528        (WebCore::SelectionController::layout): Added code to trigger a
15529        layout when it's needed.
15530        (WebCore::SelectionController::recomputeCaretRect): Removed unneeded
15531        code to do nothing when FrameView is 0. Added an assertion that layout
15532        is not needed at the time the function is called.
15533        (WebCore::SelectionController::invalidateCaretRect): Added code to
15534        trigger a layout when it's needed.
15535        (WebCore::SelectionController::paintCaret): Added an assertion that
15536        layout is not needed at the time the function is called.
15537
15538        * html/HTMLFormControlElement.cpp:
15539        (WebCore::shouldAutofocus): Added. Helper function that expresses
15540        the rule for which form control elements should auto-focus.
15541        (WebCore::focusPostAttach): Added. Called post-attach to focus an
15542        element if we discover it should be focused during attach.
15543        (WebCore::HTMLFormControlElement::attach): Refactored code for
15544        which elements need auto-focus into a separate function. Instead
15545        of focusing right away, use the focusPostAttach function to focus
15546        after attach is done. Also added calls to suspendPostAttachCallbacks
15547        and resumePostAttachCallbacks so post-attach callbacks happen late
15548        enough. Before, they could run inside the base attach function.
15549
15550        * html/HTMLInputElement.cpp:
15551        (WebCore::HTMLInputElement::attach): Added calls to
15552        suspendPostAttachCallbacks and resumePostAttachCallbacks so
15553        post-attach callbacks happen late enough
15554
15555        * page/Frame.cpp:
15556        (WebCore::Frame::revealSelection): Added code to trigger a layout
15557        when it's needed.
15558
155592010-01-04  Gavin Barraclough <barraclough@apple.com>
15560
15561        Reviewed by Sam Weinig.
15562
15563        https://bugs.webkit.org/show_bug.cgi?id=33163
15564        Use WTF's string hashing functions from StringImpl.
15565
15566        * ForwardingHeaders/wtf/StringHashFunctions.h: Added.
15567        * platform/text/StringHash.h:
15568        * platform/text/StringImpl.h:
15569        (WebCore::StringImpl::computeHash):
15570
155712010-01-04  Jon Honeycutt  <jhoneycutt@apple.com>
15572
15573        Qt build fix. Unreviewed.
15574
15575        * accessibility/AXObjectCache.h:
15576        (WebCore::AXObjectCache::postNotification):
15577
155782010-01-04  Jon Honeycutt  <jhoneycutt@apple.com>
15579
15580        MSAA: <select> elements should broadcast value change events
15581
15582        https://bugs.webkit.org/show_bug.cgi?id=33088
15583
15584        <rdar://problem/7332364>
15585
15586        Reviewed by Darin Adler.
15587
15588        * accessibility/AXObjectCache.cpp:
15589        (WebCore::AXObjectCache::postNotification):
15590        If the post type is async, follow the old code path; otherwise, call
15591        postPlatformNotification().
15592
15593        * accessibility/AXObjectCache.h:
15594        (WebCore::AXObjectCache::):
15595        Added a new accessibility notification, AXMenuListValueChanged. Added
15596        a new parameter to postNotification() to specify whether the post should
15597        be synchronous or asynchronous.
15598
15599        * accessibility/win/AXObjectCacheWin.cpp:
15600        (WebCore::AXObjectCache::postPlatformNotification):
15601        If the WebCore notification is AXMenuListValueChanged, broadcast an
15602        EVENT_OBJECT_VALUECHANGE event.
15603
15604        * dom/SelectElement.cpp:
15605        (WebCore::SelectElement::setSelectedIndex):
15606        When the selected index of a RenderMenuList is changed, call
15607        RenderMenuList::didSetSelectedIndex().
15608
15609        * rendering/RenderMenuList.cpp:
15610        (WebCore::RenderMenuList::RenderMenuList):
15611        Initialize new member
15612        (WebCore::RenderMenuList::didSetSelectedIndex):
15613        If the selected index has changed, post AXMenuListValueChanged to the
15614        object synchronously.
15615
15616        * rendering/RenderMenuList.h:
15617        Declare didSetSelectedIndex(), and add a member to hold the last
15618        selected index.
15619
156202010-01-04  Darin Adler  <darin@apple.com>
15621
15622        Reviewed by Sam Weinig.
15623
15624        Added missing null check in BarInfo code.
15625
15626        Test: fast/dom/Window/BarInfo-after-frame-removed.html
15627
15628        * page/BarInfo.cpp:
15629        (WebCore::BarInfo::visible): Added null check. A few other
15630        cleanups.
15631
156322010-01-04  Mark Rowe  <mrowe@apple.com>
15633
15634        Rubber-stamped by Jon Honeycutt.
15635
15636        Delete an empty and unused JavaScript file.
15637
15638        * WebCore.vcproj/WebCore.vcproj:
15639        * inspector/front-end/InspectorControllerStub.js: Removed.
15640
156412010-01-04  Kevin Ollivier  <kevino@theolliviers.com>
15642
15643        [wx] Build fix, add a couple include dirs to the build.
15644
15645        * wscript:
15646
156472010-01-04  Dan Bernstein  <mitz@apple.com>
15648
15649        Windows build fix
15650
15651        * page/FrameView.cpp:
15652        (WebCore::FrameView::layout):
15653
156542010-01-04  Simon Fraser  <simon.fraser@apple.com>
15655
15656        Reviewed by Dan Bernstein.
15657
15658        Repaint issues in text input under a scale transform
15659        https://bugs.webkit.org/show_bug.cgi?id=32086
15660        
15661        When doing a subtree layout we have to look up the container chain to see if there
15662        are any properties, such as transforms or reflections, that mean that we are unable
15663        to use layoutState.
15664
15665        Test: fast/repaint/subtree-layoutstate-transform.html
15666
15667        * page/FrameView.cpp:
15668        (WebCore::FrameView::layout): Call canUseLayoutStateForSubtree() to determine
15669        whether it's OK to use layoutState.
15670        
15671        * rendering/RenderView.h:
15672        * rendering/RenderView.cpp:
15673        (WebCore::RenderView::canUseLayoutStateForSubtree): New method that reports whether it's
15674        OK to use layoutState when doing a subtree layout from the given root.
15675
156762010-01-04  Darin Adler  <darin@apple.com>
15677
15678        Reviewed by Dan Bernstein.
15679
15680        Reentrancy problem with selection in some edge cases.
15681        https://bugs.webkit.org/show_bug.cgi?id=32842
15682        rdar://problem/7449974
15683
15684        Test: fast/forms/selection-layout-reentry-strange-case.html
15685
15686        Move the selection display update process done in the
15687        selectionLayoutChanged function into the layout timer
15688        instead of doing it immediately when selection changes occur.
15689
15690        * dom/Document.cpp:
15691        (WebCore::Document::updateLayout): Changed this to use the
15692        definition of needsLayout from FrameView rather than rolling
15693        its own.
15694
15695        * editing/SelectionController.cpp:
15696        (WebCore::SelectionController::SelectionController):
15697        Initialize m_needsDisplayUpdate to false.
15698        (WebCore::SelectionController::setSelection): Call
15699        the new setNeedsDisplayUpdate function instead of the old
15700        badly named Frame::selectionLayoutChanged function.
15701        (WebCore::SelectionController::setNeedsDisplayUpdate):
15702        Set m_needsDisplayUpdate. If it is just becoming true, then
15703        call FrameView::scheduleRelayout.
15704
15705        * editing/SelectionController.h: Added setNeedsDisplayUpdate,
15706        needsDisplayUpdate, and m_needsDisplayUpdate.
15707
15708        * page/Frame.cpp:
15709        (WebCore::Frame::setCaretVisible): Call setNeedsDisplayUpdate.
15710        (WebCore::Frame::selectionLayoutChanged): Call
15711        setNeedsDisplayUpdate to set it to false, since this is the
15712        function that performs "selection display update". Later I want
15713        to rename this function. Also added a global reentrancy check
15714        since that's the easiest way I could think of to prevent infinite
15715        recursion in the case where recomputeCaretRect ends up triggering
15716        a layout. As a side effect, fixed theoretical problems in
15717        TEXT_CARET builds by improving the ifdef.
15718        (WebCore::Frame::caretBlinkTimerFired): Loosen assertions a
15719        bit. Later we might want to decouple caret rect from caret state
15720        a bit more and add these assertions back.
15721        (WebCore::Frame::selectionBounds): Call Document::updateLayout.
15722        This function is for external clients and they do not currently
15723        do anything to make sure layout is up to date.
15724
15725        * page/FrameView.cpp:
15726        (WebCore::FrameView::needsLayout): Add a new clause, since
15727        we need a call to layout if needsDisplayUpdate is true.
15728
157292010-01-04  Brent Fulgham  <bfulgham@webkit.org>
15730
15731        Reviewed by Adam Roben.
15732
15733        Correct debug assertion (and possible runtime errors) by
15734        checking validity of bitmap settings used to create
15735        the Windows Cairo contexts.
15736        https://bugs.webkit.org/show_bug.cgi?id=33164.
15737
15738        * platform/graphics/win/GraphicsContextCairoWin.cpp:
15739        (WebCore::createCairoContextWithHDC): Check validity of selected
15740          OBJ_BITMAP retrieved, and only create 32-bit context when
15741          a valid bitmap is provided.
15742
157432010-01-04  Dmitry Titov  <dimich@chromium.org>
15744
15745        Not reviewed, revert r52745 and r52746 on behalf of Nikolas Zimmermann, as discussed on IRC.
15746        Patch produced by 'git revert' and then reverting back ChangeLog files.
15747
15748        * Android.mk:
15749        * GNUmakefile.am:
15750        * WebCore.gypi:
15751        * WebCore.pro:
15752        * WebCore.vcproj/WebCore.vcproj:
15753        * WebCore.xcodeproj/project.pbxproj:
15754        * page/FrameView.cpp:
15755        (WebCore::FrameView::layout):
15756        * rendering/RenderPath.cpp:
15757        (WebCore::RenderPath::repaintRectInLocalCoordinates):
15758        (WebCore::RenderPath::setPath):
15759        (WebCore::RenderPath::path):
15760        (WebCore::RenderPath::paint):
15761        (WebCore::):
15762        (WebCore::DrawMarkersData::DrawMarkersData):
15763        (WebCore::drawMarkerWithData):
15764        (WebCore::updateMarkerDataForElement):
15765        (WebCore::drawStartAndMidMarkers):
15766        (WebCore::RenderPath::drawMarkersIfNeeded):
15767        * rendering/RenderPath.h:
15768        (WebCore::RenderPath::markerBoundingBox):
15769        * rendering/RenderSVGContainer.h:
15770        * rendering/RenderSVGViewportContainer.cpp:
15771        (WebCore::RenderSVGViewportContainer::paint):
15772        * rendering/RenderSVGViewportContainer.h:
15773        * rendering/SVGMarkerData.h: Removed.
15774        * rendering/SVGMarkerLayoutInfo.cpp: Removed.
15775        * rendering/SVGMarkerLayoutInfo.h: Removed.
15776        * svg/SVGMarkerElement.cpp:
15777        (WebCore::SVGMarkerElement::canvasResource):
15778        * svg/graphics/SVGResource.cpp:
15779        (WebCore::SVGResource::SVGResource):
15780        (WebCore::ResourceSet::ResourceSet):
15781        (WebCore::clientMap):
15782        (WebCore::SVGResource::~SVGResource):
15783        (WebCore::SVGResource::removeClient):
15784        (WebCore::SVGResource::addClient):
15785        * svg/graphics/SVGResourceMarker.cpp:
15786        (WebCore::SVGResourceMarker::SVGResourceMarker):
15787        (WebCore::SVGResourceMarker::setMarker):
15788        (WebCore::SVGResourceMarker::setRef):
15789        (WebCore::SVGResourceMarker::draw):
15790        (WebCore::SVGResourceMarker::cachedBounds):
15791        (WebCore::SVGResourceMarker::externalRepresentation):
15792        * svg/graphics/SVGResourceMarker.h:
15793        (WebCore::SVGResourceMarker::refX):
15794        (WebCore::SVGResourceMarker::refY):
15795
157962010-01-04  Dan Bernstein  <mitz@apple.com>
15797
15798        Reviewed by Ada Chan and Mark Rowe.
15799
15800        Updated copyright string
15801
15802        * Info.plist:
15803        * WebCore.vcproj/QTMovieWin.rc:
15804
158052010-01-04  Chris Fleizach  <cfleizach@apple.com>
15806
15807        Reviewed by Darin Adler.
15808
15809        AX: any DIV with an aria role should not be ignored
15810        https://bugs.webkit.org/show_bug.cgi?id=33090
15811
15812        Test: platform/mac/accessibility/aria-divs-not-ignored.html
15813
15814        * accessibility/AccessibilityRenderObject.cpp:
15815        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
15816
158172010-01-04  Nate Chapin  <japhet@chromium.org>
15818
15819        Reviewed by Dimitri Glazkov.
15820
15821        Generate declarations for V8 runtime enablers.
15822
15823        https://bugs.webkit.org/show_bug.cgi?id=33156
15824
15825        * bindings/scripts/CodeGeneratorV8.pm: Generate runtime enabler declarations.
15826        * bindings/v8/custom/V8CustomBinding.h: Remove manual declarations of runtime enablers.
15827        * bindings/v8/custom/V8DOMWindowCustom.cpp:
15828        * bindings/v8/custom/V8WebSocketCustom.cpp: Remove closeCallback(), which isn't actually being used.
15829        * bindings/v8/custom/V8WorkerContextCustom.cpp:
15830
158312010-01-04  Nikolas Zimmermann  <nzimmermann@rim.com>
15832
15833        Not reviewed. Forgot to add SVGMarkerData.h / SVGMarkerLayoutInfo.(cpp,h) to Chromium build.
15834
15835        * WebCore.gypi:
15836
158372010-01-04  Nikolas Zimmermann  <nzimmermann@rim.com>
15838
15839        Reviewed by Dirk Schulze.
15840
15841        Marker code is buggy: referencePoint translation is off
15842        https://bugs.webkit.org/show_bug.cgi?id=33012
15843
15844        Rewrite marker code, as it had many issues:
15845        - Correct refX/refY handling (covered by new marker-referencePoint.svg test)
15846        - Calculate marker bounds on layout time, instead of paint time, to deliver correct repaint rects
15847        - Cleanup RenderPath code, which was cluttered by marker stuff (outlay in SVGMarkerLayoutInfo)
15848        - Fix SVGResource assuming that there is only one resource per resource type per element. Markers
15849          can have three different resources of the same type (three markers, start/mid/end markers)
15850
15851        Filed bug 33115 (PathElementAddQuadCurveToPoint not handled for <marker>), which was just a TODO in the code before.
15852
15853        Fixes all svg/custom/marker*.svg tests, that use dynamic updates (propagation failed before).
15854        Test: svg/custom/marker-referencePoint.svg
15855              svg/custom/marker-opacity.svg
15856
15857        * Android.mk: Add SVGMarkerData.h / SVGMarkerLayoutInfo.(cpp,h) to build.
15858        * GNUmakefile.am: Ditto.
15859        * WebCore.pro: Ditto.
15860        * WebCore.vcproj/WebCore.vcproj: Ditto.
15861        * WebCore.xcodeproj/project.pbxproj: Ditto.
15862        * page/FrameView.cpp: Notify RenderSVGRoot children about viewport size changes, just like it's handled for <body> in HTML.
15863        (WebCore::FrameView::layout): This is important, as marker bounding boxes may depend on the current viewport size through relative coordinates used in <svg>.
15864        * rendering/RenderPath.cpp:
15865        (WebCore::RenderPath::markerBoundingBox): Calculates and caches marker boundaries in the layout() phase.
15866        (WebCore::RenderPath::repaintRectInLocalCoordinates): Use the cached marker bounding box during paint() time.
15867        (WebCore::RenderPath::setPath): Clear marker boundaries upon path changes.
15868        (WebCore::RenderPath::paint): Use SVGMarkerLayoutInfo::drawMarkers() instead of the local drawMarkersIfNeeded() function, which is gone now.
15869        (WebCore::RenderPath::calculateMarkerBoundsIfNeeded): Utilized by markerBoundingBox() to request SVGResourceMarker objects and calculate their boundaries.
15870        * rendering/RenderPath.h: Store SVGMarkerLayoutInfo objects, and rename m_markerBounds to m_cachedLocalMarkerBBox for consistency.
15871        (WebCore::RenderPath::path): Inline this accessor.
15872        * rendering/RenderSVGContainer.h: Make paint() public (to be used from SVGResourceMarker), all other methods protected (to be used from RenderSVGViewportContainer).
15873        * rendering/RenderSVGViewportContainer.cpp: Remove useless paint() override, as the comment in the code indicated.
15874        (WebCore::RenderSVGViewportContainer::markerBoundaries): Maps the marker contents repaintRectInLocalCoordinates() into the final coordinate system (see code).
15875        (WebCore::RenderSVGViewportContainer::markerContentTransformation): Add marker-specific helper method, allowing to make viewportTransform() private again.
15876        * rendering/RenderSVGViewportContainer.h: Marking viewportTransform() private, it's never meant to be used outside this renderer.
15877        * rendering/SVGMarkerData.h: Added. Refactored from existing RenderPath code, preserving original copyrights.
15878        (WebCore::SVGMarkerData::): Helper struct for SVGMarkerLayoutInfo.
15879        (WebCore::SVGMarkerData::origin): Holds the final computed destination of a marker.
15880        (WebCore::SVGMarkerData::marker): Holds a pointer to the associated SVGResourceMarker object, which we're aiming to layout.
15881        (WebCore::SVGMarkerData::currentAngle): Calculates the current angle for a certain marker type (start/mid/end) based upon the computed inslope/outslope values.
15882        (WebCore::SVGMarkerData::updateTypeAndMarker): Helper method.
15883        (WebCore::SVGMarkerData::updateOutslope): Ditto.
15884        (WebCore::SVGMarkerData::updateMarkerDataForPathElement): Does the actual inslope/outslope calculation.
15885        (WebCore::SVGMarkerData::updateInslope): Helper method.
15886        * rendering/SVGMarkerLayoutInfo.cpp: Added. New approach to build marker layout info, this time correct during layout() time instead of paint() time.
15887        (WebCore::SVGMarkerLayoutInfo::SVGMarkerLayoutInfo):
15888        (WebCore::SVGMarkerLayoutInfo::~SVGMarkerLayoutInfo):
15889        (WebCore::processStartAndMidMarkers): Static helper method used to visit each path element in order to calculate inslopes/outslopes (-> orientation angles)
15890        (WebCore::SVGMarkerLayoutInfo::calculateBoundaries): Build list of MarkerLayout objects, used to query boundaries, and to paint markers during drawMarkers().
15891        (WebCore::SVGMarkerLayoutInfo::drawMarkers): Cheap method walking existing MarkerLayout vector, drawing the individual RenderSVGViewportContainer of the markers.
15892        (WebCore::SVGMarkerLayoutInfo::addLayoutedMarker): Helper method.
15893        * rendering/SVGMarkerLayoutInfo.h: Added.
15894        (WebCore::MarkerLayout::MarkerLayout): Helper struct storing a pair of SVGResourceMarker* and a TranformationMatrix.
15895        (WebCore::SVGMarkerLayoutInfo::markerData): Public helper methods returning references to private member variables, used from processStartAndMidMarkers.
15896        (WebCore::SVGMarkerLayoutInfo::midMarker): Ditto.
15897        (WebCore::SVGMarkerLayoutInfo::elementIndex): Ditto.
15898        * svg/SVGMarkerElement.cpp: Adopt to name change: setRef() -> setReferencePoint(). setMarker() -> setRenderer()
15899        (WebCore::SVGMarkerElement::canvasResource): Add ASSERT(renderer()) to clarify that canvasResource() is only meant to used after renderer creation.
15900        * svg/graphics/SVGResource.cpp: Instead of maintaining a global hashmap between SVGStyledElements and an array of possible SVGResources, use a HashSet of SVGResources
15901                                        and directly scan the already existing list of clients for a certain SVGResource. This wrong approach has been introduced over two years
15902                                        ago, making the assumption that there's only one resource type per element. Though markers can provide three resources of the same type
15903                                        per element (all SVGResourceMarker objects, but in different rules: start/mid/end marker). That information is only available while painting.
15904        (WebCore::resourceSet): Add global static HashSet<SVGResource*>.
15905        (WebCore::SVGResource::SVGResource): Add us to the resourceSet.
15906        (WebCore::SVGResource::~SVGResource): Remove us from resourceSet.
15907        (WebCore::SVGResource::removeClient): Traverse all SVGResource clients and remove the passed SVGStyledElement from the client list (invoked by SVGStyledElement destructor).
15908        (WebCore::SVGResource::addClient): Remove the offending part of the old approach, making the wrong assumption regarding resource types.
15909        * svg/graphics/SVGResourceMarker.cpp:
15910        (WebCore::SVGResourceMarker::SVGResourceMarker):
15911        (WebCore::SVGResourceMarker::markerTransformation): Create TransformationMatrix in the local marker content (RenderSVGViewportContainer) coordinate system, to position a marker.
15912        (WebCore::SVGResourceMarker::draw): Simplify marker drawing a lot: used the passing TransformationMatrix (cached in SVGMarkerLayoutInfo) to draw the marker content renderer.
15913        (WebCore::SVGResourceMarker::externalRepresentation): Adopt to refX/refY -> referencePoint changes.
15914        * svg/graphics/SVGResourceMarker.h: Store a FloatPoint m_referecePoint instead of two refX/refY float values.
15915        (WebCore::SVGResourceMarker::setRenderer): Renamed from setMarker().
15916        (WebCore::SVGResourceMarker::setReferencePoint): Renamed from setRef().
15917        (WebCore::SVGResourceMarker::referencePoint): New accessor replacing refX() / refY().
15918
159192010-01-04  Simon Hausmann  <simon.hausmann@nokia.com>
15920
15921        Reviewed by Tor Arne Vestbø.
15922
15923        [Qt] Fix standalone package builds.
15924
15925        * WebCore.pro: Moved logic for detecting standalone builds to WebKit.pri. Set DESTDIR for package builds.
15926
159272010-01-04  Yongjun Zhang  <yongjun.zhang@nokia.com>
15928
15929        Reviewed by Laszlo Gombos.
15930
15931        https://bugs.webkit.org/show_bug.cgi?id=29048
15932        [Qt] make RenderStyle.h compile in winscw compiler.
15933
15934        Change compareEqual to a macro in Winscw compiler to get around "illegal operand" 
15935        error when compareEqual is defined as template.
15936
15937        The compiler bug is reported at:
15938        https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=10447
15939
15940        * rendering/style/RenderStyle.h:
15941
159422010-01-04  Maciej Stachowiak  <mjs@apple.com>
15943
15944        Reviewed by Simon Hausmann.
15945
15946        Fix some PLATFORM(*_ENDIAN) uses to CPU()
15947        https://bugs.webkit.org/show_bug.cgi?id=33148
15948
15949        * platform/image-decoders/bmp/BMPImageReader.h:
15950        (WebCore::BMPImageReader::readUint16):
15951        (WebCore::BMPImageReader::readUint32):
15952        (WebCore::BMPImageReader::readCurrentPixel):
15953
159542010-01-04  Maciej Stachowiak  <mjs@apple.com>
15955
15956        Reviewed by Adam Barth.
15957
15958        Reorganize, document and rename CPU() platform macros.
15959        https://bugs.webkit.org/show_bug.cgi?id=33145
15960
15961        * page/NavigatorBase.cpp:
15962        * platform/text/AtomicString.cpp:
15963        (WebCore::equal):
15964        * platform/text/StringHash.h:
15965        (WebCore::StringHash::equal):
15966
159672009-12-22  Philippe Normand  <pnormand@igalia.com>
15968
15969        Reviewed by Eric Seidel.
15970
15971        [GTK] G_OBJECT() cast is not necessary for signals connection and properties access
15972        https://bugs.webkit.org/show_bug.cgi?id=32661
15973
15974        Reverted the SENTINEL / NULL crap :) Hopefully the style-bot won't
15975        complain about NULL usage in g_object_{get,set} anymore.
15976
15977        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
15978        (WebCore::MediaPlayerPrivate::hasVideo):
15979        (WebCore::MediaPlayerPrivate::hasAudio):
15980        (WebCore::MediaPlayerPrivate::setVolume):
15981        (WebCore::MediaPlayerPrivate::setRate):
15982        (WebCore::MediaPlayerPrivate::updateStates):
15983        (WebCore::MediaPlayerPrivate::createGSTPlayBin):
15984
159852010-01-04  Alex Milowski  <alex@milowski.com>
15986
15987        Reviewed by Eric Seidel.
15988
15989        Updated license to match recommended header license.
15990
15991        * mathml/MathMLElement.cpp:
15992        * mathml/MathMLElement.h:
15993        * mathml/MathMLInlineContainerElement.cpp:
15994        * mathml/MathMLInlineContainerElement.h:
15995        * mathml/MathMLMathElement.cpp:
15996        * mathml/MathMLMathElement.h:
15997
159982010-01-04  Dirk Schulze  <krit@webkit.org>
15999
16000        Reviewed by Nikolas Zimmermann.
16001
16002        SVGResources don't invalidate if target object changes attributes
16003        https://bugs.webkit.org/show_bug.cgi?id=33091
16004
16005        It's neccessary to invalidate all resources of an object, if the attributes of this
16006        target change. Otherwise the saved resource data (like ImageBuffers) don't match
16007        to the new object properties. 
16008
16009        Test: svg/custom/resource-invalidate-on-target-update.svg
16010
16011        * svg/SVGStyledElement.cpp:
16012        (WebCore::SVGStyledElement::svgAttributeChanged):
16013        (WebCore::SVGStyledElement::invalidateResources):
16014        * svg/SVGStyledElement.h:
16015
160162010-01-03  Kenneth Russell  <kbr@google.com>
16017
16018        Reviewed by Maciej Stachowiak.
16019
16020        Index validation code must always copy client data
16021        https://bugs.webkit.org/show_bug.cgi?id=32748
16022
16023        Client data must always be copied during bufferData and
16024        bufferSubData calls, because otherwise the data the GL uses to
16025        draw may differ from that checked by the index validation code.
16026
16027        Test: fast/canvas/webgl/index-validation-copies-indices.html
16028
16029        * html/canvas/WebGLBuffer.cpp:
16030        (WebCore::WebGLBuffer::WebGLBuffer):
16031        (WebCore::WebGLBuffer::associateBufferData):
16032        (WebCore::WebGLBuffer::associateBufferSubData):
16033        * html/canvas/WebGLBuffer.h:
16034
160352010-01-03  Adam Barth  <abarth@webkit.org>
16036
16037        Reviewed by Eric Seidel.
16038
16039        [Chromium] Implement CookieJarChromium::cookiesEnabled
16040        https://bugs.webkit.org/show_bug.cgi?id=33123
16041
16042        Call out to ChromiumBridge to find out if cookies are enabled.
16043
16044        * platform/chromium/ChromiumBridge.h:
16045        * platform/network/chromium/CookieJarChromium.cpp:
16046        (WebCore::cookiesEnabled):
16047
160482010-01-03  Adam Barth  <abarth@webkit.org>
16049
16050        Reviewed by Eric Seidel.
16051
16052        [Chromium] Remove evaluateInNewContext (it's useless)
16053        https://bugs.webkit.org/show_bug.cgi?id=33068
16054
16055        This function has no clients and makes life complicated.  Isolated
16056        worlds won out over NewContext and there's not really any going back
16057        now.
16058
16059        No new tests because this is all minus lines.
16060
16061        * bindings/v8/ScriptController.cpp:
16062        * bindings/v8/ScriptController.h:
16063        * bindings/v8/V8DOMWrapper.cpp:
16064        (WebCore::V8DOMWrapper::convertWindowToV8Object):
16065        * bindings/v8/V8Proxy.cpp:
16066        * bindings/v8/V8Proxy.h:
16067
160682010-01-03  Sam Weinig  <sam@webkit.org>
16069
16070        Rubber-stamped by Dan Bernstein.
16071
16072        Remove out of date commented out attributes in IDLs. We have implemented onpopstate.
16073
16074        * html/HTMLBodyElement.idl:
16075        * html/HTMLFrameSetElement.idl:
16076        * page/DOMWindow.idl:
16077
160782010-01-03  Dirk Schulze  <krit@webkit.org>
16079
16080        Reviewed by Nikolas Zimmermann.
16081
16082        Mark more filter effect as alphaImage if possible
16083        https://bugs.webkit.org/show_bug.cgi?id=33111
16084
16085        Mark more effects as alphaImage if the previous effect is a
16086        alphaImage. This can reduce the calculation on the next effect
16087        like feGaussianBlur.
16088        
16089        Test: This changes don't affect any LayoutTests and can't be tested
16090              somehow, since the changes are 'invisible'.
16091
16092        * platform/graphics/filters/FEColorMatrix.cpp:
16093        (WebCore::FEColorMatrix::apply):
16094        * svg/graphics/filters/SVGFEMorphology.cpp:
16095        (WebCore::FEMorphology::apply):
16096        * svg/graphics/filters/SVGFEOffset.cpp:
16097        (WebCore::FEOffset::apply):
16098        * svg/graphics/filters/SVGFETile.cpp:
16099        (WebCore::FETile::apply):
16100
161012010-01-01  Simon Fraser  <simon.fraser@apple.com>
16102
16103        Reviewed by Dan Bernstein.
16104
16105        Scrollbar of overflow:scroll div in compositing layer fails to render
16106        https://bugs.webkit.org/show_bug.cgi?id=32439
16107        
16108        When deciding whether a RenderLayer needs backing store, check whether it has
16109        overflow controls that need painting.
16110
16111        Test: compositing/overflow/scrollbar-painting.html
16112
16113        * rendering/RenderLayer.cpp:
16114        (WebCore::RenderLayer::hasOverflowControls):
16115        * rendering/RenderLayer.h:
16116        * rendering/RenderLayerBacking.cpp:
16117        (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
16118
161192009-12-31  Christian Dywan  <christian@twotoasts.de>
16120
16121        Reviewed by Gustavo Noronha Silva.
16122
16123        [GTK] context menu overriding API is very limited
16124        https://bugs.webkit.org/show_bug.cgi?id=27546
16125
16126        Only show font menu items in rich text areas in the GTK+ port.
16127
16128        * platform/ContextMenu.cpp:
16129        (WebCore::ContextMenu::populate):
16130
161312009-12-31  Christian Dywan  <christian@twotoasts.de>
16132
16133        Reviewed by Gustavo Noronha Silva.
16134
16135        [GTK] context menu overriding API is very limited
16136        https://bugs.webkit.org/show_bug.cgi?id=27546
16137
16138        Don't show spell checking menu items in text areas in the GTK+ port.
16139
16140        * platform/ContextMenu.cpp:
16141        (WebCore::ContextMenu::populate):
16142
161432009-12-31  Dan Bernstein  <mitz@apple.com>
16144
16145        Reviewed by Simon Fraser.
16146
16147        <rdar://problem/7503279> REGRESSION (r47440): Incomplete repaint at macworldexpo.com
16148        https://bugs.webkit.org/show_bug.cgi?id=33067
16149
16150        Test: fast/repaint/table-cell-overflow.html
16151
16152        * rendering/RenderTableCell.h:
16153        (WebCore::RenderTableCell::hasVisibleOverflow): Added.
16154        * rendering/RenderTableSection.cpp:
16155        (WebCore::RenderTableSection::layoutRows): Set m_hasOverflowingCell if
16156        any cell has visible overflow, like it was before r47440.
16157
161582009-12-31  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
16159
16160        Reviewed by Kenneth Rohde Christiansen.
16161
16162        Do not include Frame.h under WebCore/html/canvas
16163        https://bugs.webkit.org/show_bug.cgi?id=33082
16164
16165        No new tests, as there is no new functionality.
16166
16167        * html/canvas/CanvasRenderingContext2D.cpp:
16168
161692009-12-30  Darin Fisher  <darin@chromium.org>
16170
16171        Reviewed by David Levin.
16172
16173        [Chromium] Delete ResourceRequest::securityInfo
16174        https://bugs.webkit.org/show_bug.cgi?id=26847
16175
16176        * platform/network/chromium/ResourceRequest.h:
16177
161782009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>
16179
16180        Reviewed by Adam Barth.
16181
16182        Remove unused code from V8DOMWrapper.
16183
16184        * bindings/v8/V8DOMWrapper.cpp: Removed code that I added but it's no longer used.
16185        * bindings/v8/V8DOMWrapper.h: Ditto.
16186
161872009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>
16188
16189        Reviewed by Adam Barth.
16190
16191        [V8] Generate configuring undetectable collection.
16192        https://bugs.webkit.org/show_bug.cgi?id=33063
16193
16194        Refactoring, covered by existing tests.
16195
16196        * bindings/scripts/CodeGeneratorV8.pm: Added GenerateImplementationMasqueradeAsUndefined.
16197        * bindings/v8/DerivedSourcesAllInOne.cpp: Touched to keep IB-based builds happy.
16198        * bindings/v8/V8DOMWrapper.cpp:
16199        (WebCore::V8DOMWrapper::getTemplate): Removed hand-configuring.
16200
162012009-12-30  Zelidrag Hornung  <zelidrag@chromium.org>
16202
16203        Reviewed by Dimitri Glazkov.
16204
16205        Added ability for PopupMenuClient to signal when
16206        a) selection changed, and
16207        b) weather suggested value should be accepted when popup menu closes
16208
16209        No new tests since this new functionality (autocomplete suggestions)
16210        is intentionally hidden from everything else than renderer.
16211
16212        * platform/PopupMenuClient.h:
16213        * platform/chromium/PopupMenuChromium.cpp:
16214        (WebCore::PopupContainer::hidePopup):
16215        (WebCore::PopupListBox::handleKeyEvent):
16216        (WebCore::PopupListBox::abandon):
16217        (WebCore::PopupListBox::acceptIndex):
16218        (WebCore::PopupListBox::selectIndex):
16219        (WebCore::PopupListBox::clearSelection):
16220        (WebCore::PopupListBox::hidePopup):
16221        * platform/gtk/PopupMenuGtk.cpp:
16222        (WebCore::PopupMenu::menuUnmapped):
16223        * platform/mac/PopupMenuMac.mm:
16224        (WebCore::PopupMenu::show):
16225        * platform/qt/QtFallbackWebPopup.cpp:
16226        (WebCore::QtFallbackWebPopup::hidePopup):
16227        * platform/win/PopupMenuWin.cpp:
16228        (WebCore::PopupMenu::hide):
16229        * platform/wx/PopupMenuWx.cpp:
16230        (WebCore::PopupMenu::OnMenuItemSelected):
16231        * rendering/RenderMenuList.cpp:
16232        (WebCore::RenderMenuList::popupDidHide):
16233        * rendering/RenderMenuList.h:
16234        (WebCore::RenderMenuList::selectionChanged):
16235        * rendering/RenderTextControlSingleLine.cpp:
16236        (WebCore::RenderTextControlSingleLine::popupDidHide):
16237        * rendering/RenderTextControlSingleLine.h:
16238        (WebCore::RenderTextControlSingleLine::selectionChanged):
16239
162402009-12-30  Nate Chapin  <japhet@chromium.org>
16241
16242        Reviewed by Dimitri Glazkov.
16243
16244        Auto-generate V8 bindings header declarations for
16245        property accessor getter/setters, and remove a couple of
16246        unnecessarily custom bindings that weren't properly declared
16247        custom anyway.
16248
16249        * Android.v8bindings.mk: Remove V8NavigatorCustom.cpp.
16250        * WebCore.gypi: Remove V8NavigatorCustom.cpp.
16251        * bindings/scripts/CodeGeneratorV8.pm:
16252        * bindings/v8/V8DOMWrapper.cpp:
16253        * bindings/v8/custom/V8AttrCustom.cpp:
16254        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
16255        * bindings/v8/custom/V8ClipboardCustom.cpp:
16256        * bindings/v8/custom/V8CoordinatesCustom.cpp:
16257        * bindings/v8/custom/V8CustomBinding.cpp:
16258        * bindings/v8/custom/V8CustomBinding.h:
16259        * bindings/v8/custom/V8DOMWindowCustom.cpp:
16260        * bindings/v8/custom/V8DocumentCustom.cpp:
16261        * bindings/v8/custom/V8DocumentLocationCustom.cpp:
16262        * bindings/v8/custom/V8EventCustom.cpp:
16263        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
16264        * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
16265        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
16266        * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
16267        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
16268        * bindings/v8/custom/V8LocationCustom.cpp:
16269        * bindings/v8/custom/V8MessageEventCustom.cpp:
16270        * bindings/v8/custom/V8NavigatorCustom.cpp: Removed.
16271        * bindings/v8/custom/V8SVGLengthCustom.cpp:
16272        * bindings/v8/custom/V8WorkerContextCustom.cpp:
16273        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
16274
162752009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>
16276
16277        Unreviewed, build fix.
16278
16279        [Chromium] Touch DerivedSourcesAllInOne to avoid clobbering IB-based builds.
16280
16281        * bindings/v8/DerivedSourcesAllInOne.cpp: Added a line-break.
16282
162832009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>
16284
16285        Reviewed by Adam Barth.
16286
16287        [V8] Generate configuring of call-as-function callbacks.
16288        https://bugs.webkit.org/show_bug.cgi?id=33061
16289
16290        Refactoring, covered by existing tests.
16291
16292        * bindings/scripts/CodeGeneratorV8.pm: Added GenerateHeaderCustomCall and
16293            GenerateImplementationCustomCall.
16294        * bindings/v8/V8DOMWrapper.cpp:
16295        (WebCore::V8DOMWrapper::getTemplate): Removed all hand-configuring of call-as-function
16296            callbacks.
16297        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
16298        (WebCore::V8HTMLAppletElement::callAsFunctionCallback): Added.
16299        (WebCore::V8HTMLEmbedElement::callAsFunctionCallback): Added.
16300        (WebCore::V8HTMLObjectElement::callAsFunctionCallback): Added.
16301        * bindings/v8/custom/V8HTMLPlugInElementCustom.h: Removed.
16302
163032009-12-30  Adam Barth  <abarth@webkit.org>
16304
16305        Reviewed by Eric Seidel.
16306
16307        [v8] Move world-specific state out of V8Proxy
16308        https://bugs.webkit.org/show_bug.cgi?id=33034
16309
16310        This is the first step towards unifying the V8 implementation of
16311        isolated worlds with the JSC implementation.  We need an object to
16312        encapulate all the world-specific bindings state.  Previoulsy, we used
16313        V8Proxy for this purpose (along with a million other things), but
16314        there's a one-to-one mapping between V8Proxy objects and Frame objects.
16315
16316        This patch takes the world-specific state and moves it to a new object,
16317        affectionately called V8DOMWindowShell.  This object is the moral
16318        equivalent of JSDOMWindowShell but with more data members because life
16319        is more complicated in V8-land.
16320
16321        This patch is almost entirely code motion.  Future patches will clean
16322        up this class as we use it to represent window shells in isolated
16323        worlds as well as the main world.
16324
16325        * WebCore.gypi:
16326        * bindings/v8/ScriptController.cpp:
16327        (WebCore::ScriptController::updateSecurityOrigin):
16328        (WebCore::ScriptController::haveInterpreter):
16329        (WebCore::ScriptController::updateDocument):
16330        * bindings/v8/V8DOMWindowShell.cpp: Added.
16331        (WebCore::handleFatalErrorInV8):
16332        (WebCore::reportFatalErrorInV8):
16333        (WebCore::reportUnsafeJavaScriptAccess):
16334        (WebCore::V8DOMWindowShell::create):
16335        (WebCore::V8DOMWindowShell::V8DOMWindowShell):
16336        (WebCore::V8DOMWindowShell::isContextInitialized):
16337        (WebCore::V8DOMWindowShell::disposeContextHandles):
16338        (WebCore::V8DOMWindowShell::destroyGlobal):
16339        (WebCore::V8DOMWindowShell::clearForClose):
16340        (WebCore::V8DOMWindowShell::clearForNavigation):
16341        (WebCore::V8DOMWindowShell::initContextIfNeeded):
16342        (WebCore::V8DOMWindowShell::createNewContext):
16343        (WebCore::V8DOMWindowShell::installDOMWindow):
16344        (WebCore::V8DOMWindowShell::updateDocumentWrapper):
16345        (WebCore::V8DOMWindowShell::clearDocumentWrapper):
16346        (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
16347        (WebCore::V8DOMWindowShell::clearDocumentWrapperCache):
16348        (WebCore::V8DOMWindowShell::setSecurityToken):
16349        (WebCore::V8DOMWindowShell::updateDocument):
16350        (WebCore::V8DOMWindowShell::updateSecurityOrigin):
16351        (WebCore::V8DOMWindowShell::getHiddenObjectPrototype):
16352        (WebCore::V8DOMWindowShell::installHiddenObjectPrototype):
16353        (WebCore::V8DOMWindowShell::createWrapperFromCacheSlowCase):
16354        * bindings/v8/V8DOMWindowShell.h: Added.
16355        (WebCore::V8DOMWindowShell::context):
16356        (WebCore::V8DOMWindowShell::createWrapperFromCache):
16357        * bindings/v8/V8DOMWrapper.cpp:
16358        (WebCore::V8DOMWrapper::getConstructorForContext):
16359        (WebCore::V8DOMWrapper::instantiateV8Object):
16360        (WebCore::V8DOMWrapper::convertDocumentToV8Object):
16361        (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
16362        * bindings/v8/V8IsolatedWorld.cpp:
16363        (WebCore::V8IsolatedWorld::V8IsolatedWorld):
16364        * bindings/v8/V8Proxy.cpp:
16365        (WebCore::V8Proxy::V8Proxy):
16366        (WebCore::V8Proxy::~V8Proxy):
16367        (WebCore::V8Proxy::handleOutOfMemory):
16368        (WebCore::V8Proxy::evaluateInIsolatedWorld):
16369        (WebCore::V8Proxy::evaluateInNewContext):
16370        (WebCore::V8Proxy::setInjectedScriptContextDebugId):
16371        (WebCore::V8Proxy::clearForClose):
16372        (WebCore::V8Proxy::clearForNavigation):
16373        (WebCore::V8Proxy::mainWorldContext):
16374        (WebCore::V8Proxy::setContextDebugId):
16375        * bindings/v8/V8Proxy.h:
16376        (WebCore::V8Proxy::windowShell):
16377        (WebCore::V8Proxy::extensions):
16378
163792009-12-30  Dirk Schulze  <krit@webkit.org>
16380
16381        Reviewed by Eric Seidel.
16382
16383        SVGResourceClipper needs to invalidate content
16384        https://bugs.webkit.org/show_bug.cgi?id=33054
16385
16386        Added invalidate() to SVGResourceClipper to reset clipData
16387        and drawing area after attribute changes.
16388
16389        This fixes two LayoutTests.
16390
16391        * svg/graphics/SVGResourceClipper.cpp:
16392        (WebCore::SVGResourceClipper::resetClipData):
16393        (WebCore::SVGResourceClipper::invalidate):
16394        * svg/graphics/SVGResourceClipper.h:
16395
163962009-12-30  Carol Szabo  <carol.szabo@nokia.com>
16397
16398        Reviewed by Laszlo Gombos.
16399
16400         [Qt] RenderThemeQt::applyTheme is a misnomer and is suboptimally coded.
16401        https://bugs.webkit.org/show_bug.cgi?id=33035
16402
16403        This patch:
16404        - renames RenderThemeQt::applyTheme to initializeCommonQStyleOptions,
16405        - extracts the palette initialization code to a separate function in order to
16406        provide for readable pointer checking and moves this code up in the function to
16407        allow for future changes to the palette brushes needed for bug 30173,
16408        - optimizes some of the code in the function for readability, speed and size.
16409        - fixes some minor style issues
16410
16411        No new tests because code behavior is not changed.
16412
16413        * platform/qt/RenderThemeQt.cpp:
16414        (WebCore::RenderThemeQt::paintButton):
16415        (WebCore::RenderThemeQt::paintTextField):
16416        (WebCore::RenderThemeQt::paintMenuList):
16417        (WebCore::RenderThemeQt::paintMenuListButton):
16418        (WebCore::initPaletteFromPageClientIfExists):
16419        (WebCore::RenderThemeQt::initializeCommonQStyleOptions):
16420        * platform/qt/RenderThemeQt.h:
16421
164222009-12-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
16423
16424        Reviewed by Simon Hausmann.
16425
16426        [Qt] It should be possible to disable inspector
16427        https://bugs.webkit.org/show_bug.cgi?id=32724
16428
16429        This makes the r48430 available for other ports as well.
16430        No new tests, as there is no new functionality.
16431
16432        * inspector/InjectedScriptHost.idl: Guard the interface with
16433        INSPECTOR guard.
16434
16435        * inspector/InspectorBackend.idl: Ditto.
16436
16437        * inspector/InspectorFrontendHost.idl: Ditto.
16438
164392009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>
16440
16441        Reviewed by Adam Barth.
16442
16443        [V8] Generate configuring of all indexers.
16444        https://bugs.webkit.org/show_bug.cgi?id=33031
16445
16446        Refactorig, covered by existing tests.
16447
16448        * bindings/scripts/CodeGeneratorV8.pm: Added generation of indexers for
16449            special cases.
16450        * bindings/v8/V8DOMWrapper.cpp:
16451        (WebCore::V8DOMWrapper::getTemplate): Removed custom tempalte configuration of
16452            indexers.
16453        * bindings/v8/custom/V8CustomBinding.h: Added decls for Applet, Embed, and Object
16454            elements (these will be generated, too -- later.)
16455        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
16456        (WebCore::npObjectIndexedGetter): Moved common code to a separate method.
16457        (WebCore::npObjectIndexedSetter): Ditto.
16458        (WebCore::INDEXED_PROPERTY_GETTER): Added custom handlers for Applet, Embed, and Object
16459          all calling the common method.
16460        (WebCore::INDEXED_PROPERTY_SETTER): Ditto.
16461
164622009-12-30  Dimitri Glazkov  <dglazkov@chromium.org>
16463
16464        Reviewed by Adam Barth.
16465
16466        [V8] Generate configuring of all named property getters/setters/enumerators.
16467        https://bugs.webkit.org/show_bug.cgi?id=32996
16468
16469        Refactoring, covered by existing tests.
16470
16471        * bindings/scripts/CodeGeneratorV8.pm: Added generation of named property handlers
16472            for special cases (See bug for more info).
16473        * bindings/v8/V8DOMWrapper.cpp:
16474        (WebCore::V8DOMWrapper::getTemplate): Removed custom template configuration of named
16475            property handlers.
16476        * bindings/v8/custom/V8CustomBinding.h: Added decls for Applet, Embed, and Object
16477            elements (these will be generated, too -- later.)
16478        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
16479        (WebCore::npObjectNamedGetter): Moved common code to a separate method.
16480        (WebCore::npObjectNamedSetter): Ditto.
16481        (WebCore::NAMED_PROPERTY_GETTER): Added custom handlers for Applet, Embed, and Object
16482          all calling the common method.
16483        (WebCore::NAMED_PROPERTY_SETTER): Ditto.
16484
164852009-12-30  Jakub Wieczorek  <faw217@gmail.com>
16486
16487        Reviewed by Simon Hausmann.
16488
16489        [Qt] Fix PluginView::handlePostReadFile().
16490        https://bugs.webkit.org/show_bug.cgi?id=33052
16491
16492        The function should actually rewrite the given file to the buffer.
16493
16494        This change fixes http/tests/plugins/post-url-file.html, which can be unskipped
16495        now along with other passing http/plugins tests.
16496
16497        * plugins/qt/PluginViewQt.cpp:
16498        (WebCore::PluginView::handlePostReadFile):
16499
165002009-12-30  Holger Hans Peter Freyther  <zecke@selfish.org>
16501
16502        Rubber stamped by Simon Hausmann.
16503
16504        https://bugs.webkit.org/show_bug.cgi?id=32121
16505        [Qt] Revert "Implement ImageDecoderQt::clearFrameBufferCache()" from r52516.
16506
16507        The implementation appears to either run into an ASSERT
16508        or leak memory at runtime as the m_buffer, m_reader may
16509        already exist. The bug was reopened and we do have a plan now.
16510
16511        * platform/graphics/qt/ImageDecoderQt.cpp:
16512        (WebCore::ImageDecoderQt::setData):
16513        (WebCore::ImageDecoderQt::clearFrameBufferCache):
16514        * platform/graphics/qt/ImageDecoderQt.h:
16515
165162009-12-30  Janne Koskinen  <janne.p.koskinen@digia.com>
16517
16518        Reviewed by Simon Hausmann.
16519
16520        [Qt] Add support for Symbian def files
16521
16522        * WebCore.pro:
16523
165242009-12-30  Simon Hausmann  <simon.hausmann@nokia.com>
16525
16526        Unreviewed Qt/Symbian build fix.
16527
16528        Don't build network state notifier support when building inside of Qt.
16529        Otherwise the Qt build depends on an external module that itself depends
16530        on Qt again.
16531
16532        * WebCore.pro:
16533
165342009-12-30  Yury Semikhatsky  <yurys@chromium.org>
16535
16536        Reviewed by Dimitri Glazkov.
16537
16538        [v8] Use current isolated world's context for ScriptCallStack.
16539
16540        https://bugs.webkit.org/show_bug.cgi?id=33016
16541
16542        * bindings/v8/ScriptCallStack.cpp:
16543        (WebCore::ScriptCallStack::ScriptCallStack):
16544        * bindings/v8/ScriptCallStack.h:
16545        (WebCore::ScriptCallStack::state):
16546        * bindings/v8/ScriptController.cpp:
16547        (WebCore::ScriptController::mainWorldScriptState):
16548        (WebCore::ScriptController::currentScriptState):
16549        (WebCore::ScriptController::clearWindowShell):
16550        * bindings/v8/ScriptController.h:
16551        * bindings/v8/V8IsolatedWorld.cpp:
16552        (WebCore::V8IsolatedWorld::scriptState):
16553        * bindings/v8/V8IsolatedWorld.h:
16554
165552009-12-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
16556
16557        Reviewed by Simon Hausmann.
16558
16559        Turn off DataGrid support by default.
16560
16561        No new tests, as there is no new functionality.
16562
16563        * WebCore.pro:
16564
165652009-12-29  Dirk Schulze  <krit@webkit.org>
16566
16567        Reviewed by Nikolas Zimmermann.
16568
16569        Detailed boundingBoxes in SVG Renderer
16570        https://bugs.webkit.org/show_bug.cgi?id=32815
16571
16572        Add new bounding boxes for strokes, filters, masker and clipper in SVG.
16573        These new bounding boxes help to fix repaintRectInLocalCoordinates.
16574        We calculate the smallest repaint rect considering the new bounding boxes
16575        now, filters get the correct paint area, masker clip the mask image size
16576        to the visible area of the target.
16577
16578        Tests: Many tests need an update. The changes in repaintRectInLocalCoordinates
16579               affect the LayoutTests.     
16580
16581        * rendering/RenderForeignObject.h:
16582        (WebCore::RenderForeignObject::strokeBoundingBox):
16583        * rendering/RenderObject.cpp:
16584        (WebCore::RenderObject::toSVGRenderBase):
16585        * rendering/RenderObject.h:
16586        * rendering/RenderPath.cpp:
16587        (WebCore::RenderPath::strokeBoundingBox):
16588        (WebCore::RenderPath::repaintRectInLocalCoordinates):
16589        (WebCore::RenderPath::setPath):
16590        * rendering/RenderPath.h:
16591        (WebCore::RenderPath::markerBoundingBox):
16592        * rendering/RenderSVGBlock.h:
16593        (WebCore::RenderSVGBlock::toSVGRenderBase):
16594        * rendering/RenderSVGContainer.cpp:
16595        (WebCore::RenderSVGContainer::strokeBoundingBox):
16596        (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
16597        * rendering/RenderSVGContainer.h:
16598        * rendering/RenderSVGImage.cpp:
16599        (WebCore::RenderSVGImage::layout):
16600        (WebCore::RenderSVGImage::repaintRectInLocalCoordinates):
16601        * rendering/RenderSVGImage.h:
16602        (WebCore::RenderSVGImage::toSVGRenderBase):
16603        (WebCore::RenderSVGImage::strokeBoundingBox):
16604        * rendering/RenderSVGInline.h:
16605        (WebCore::RenderSVGInline::objectBoundingBox):
16606        (WebCore::RenderSVGInline::repaintRectInLocalCoordinates):
16607        * rendering/RenderSVGModelObject.h:
16608        (WebCore::RenderSVGModelObject::toSVGRenderBase):
16609        * rendering/RenderSVGRoot.h:
16610        (WebCore::RenderSVGRoot::strokeBoundingBox):
16611        * rendering/RenderSVGText.cpp:
16612        (WebCore::RenderSVGText::strokeBoundingBox):
16613        (WebCore::RenderSVGText::repaintRectInLocalCoordinates):
16614        * rendering/RenderSVGText.h:
16615        (WebCore::RenderSVGText::toSVGRenderBase):
16616        * rendering/SVGRenderSupport.cpp:
16617        (WebCore::SVGRenderBase::~SVGRenderBase):
16618        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
16619        (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
16620        (WebCore::SVGRenderBase::clipperBoundingBoxForRenderer):
16621        (WebCore::SVGRenderBase::maskerBoundingBoxForRenderer):
16622        * rendering/SVGRenderSupport.h:
16623        (WebCore::SVGRenderBase::toSVGRenderBase):
16624        (WebCore::SVGRenderBase::strokeBoundingBox):
16625        (WebCore::SVGRenderBase::markerBoundingBox):
16626        * rendering/SVGRootInlineBox.h:
16627        (WebCore::SVGRootInlineBox::toSVGRenderBase):
16628        (WebCore::SVGRootInlineBox::objectBoundingBox):
16629        (WebCore::SVGRootInlineBox::repaintRectInLocalCoordinates):
16630        * svg/SVGFilterElement.cpp:
16631        (WebCore::SVGFilterElement::filterBoundingBox):
16632        * svg/SVGFilterElement.h:
16633        * svg/SVGMaskElement.cpp:
16634        (WebCore::SVGMaskElement::maskBoundingBox):
16635        (WebCore::SVGMaskElement::drawMaskerContent):
16636        * svg/SVGMaskElement.h:
16637        * svg/graphics/SVGResourceClipper.cpp:
16638        (WebCore::SVGResourceClipper::clipperBoundingBox):
16639        * svg/graphics/SVGResourceClipper.h:
16640        * svg/graphics/SVGResourceFilter.cpp:
16641        (WebCore::SVGResourceFilter::filterBoundingBox):
16642        (WebCore::shouldProcessFilter):
16643        (WebCore::SVGResourceFilter::prepareFilter):
16644        * svg/graphics/SVGResourceFilter.h:
16645        * svg/graphics/SVGResourceMasker.cpp:
16646        (WebCore::SVGResourceMasker::maskerBoundingBox):
16647        (WebCore::SVGResourceMasker::applyMask):
16648        * svg/graphics/SVGResourceMasker.h:
16649
166502009-12-29  Andrei Popescu  <andreip@google.com>
16651
16652        Reviewed by Adam Barth.
16653
16654        Add Android hook to NetworkStateNotifier class
16655        so that the Java side can notify WebCore when the
16656        network state changes.
16657        https://bugs.webkit.org/show_bug.cgi?id=32871
16658
16659        No new tests required, this is platform code.
16660
16661        * platform/network/NetworkStateNotifier.h:
16662        * platform/network/android/NetworkStateNotifierAndroid.cpp: Added.
16663        (WebCore::NetworkStateNotifier::networkStateChange):
16664
166652009-12-29  Eric Seidel  <eric@webkit.org>
16666
16667        No review, rolling out r52630.
16668        http://trac.webkit.org/changeset/52630
16669
16670        Change caused layout tests failures and crashes.
16671
16672        * Android.mk:
16673        * GNUmakefile.am:
16674        * WebCore.pro:
16675        * WebCore.vcproj/WebCore.vcproj:
16676        * WebCore.xcodeproj/project.pbxproj:
16677        * rendering/RenderPath.cpp:
16678        (WebCore::RenderPath::repaintRectInLocalCoordinates):
16679        (WebCore::RenderPath::setPath):
16680        (WebCore::RenderPath::path):
16681        (WebCore::RenderPath::paint):
16682        (WebCore::):
16683        (WebCore::DrawMarkersData::DrawMarkersData):
16684        (WebCore::drawMarkerWithData):
16685        (WebCore::updateMarkerDataForElement):
16686        (WebCore::drawStartAndMidMarkers):
16687        (WebCore::RenderPath::drawMarkersIfNeeded):
16688        * rendering/RenderPath.h:
16689        * rendering/RenderSVGContainer.h:
16690        * rendering/RenderSVGViewportContainer.cpp:
16691        (WebCore::RenderSVGViewportContainer::paint):
16692        * rendering/RenderSVGViewportContainer.h:
16693        * rendering/SVGMarkerLayoutInfo.cpp: Removed.
16694        * rendering/SVGMarkerLayoutInfo.h: Removed.
16695        * svg/SVGMarkerElement.cpp:
16696        (WebCore::SVGMarkerElement::canvasResource):
16697        * svg/graphics/SVGResource.cpp:
16698        (WebCore::SVGResource::SVGResource):
16699        (WebCore::ResourceSet::ResourceSet):
16700        (WebCore::clientMap):
16701        (WebCore::SVGResource::~SVGResource):
16702        (WebCore::SVGResource::removeClient):
16703        (WebCore::SVGResource::addClient):
16704        * svg/graphics/SVGResourceMarker.cpp:
16705        (WebCore::SVGResourceMarker::SVGResourceMarker):
16706        (WebCore::SVGResourceMarker::setMarker):
16707        (WebCore::SVGResourceMarker::setRef):
16708        (WebCore::SVGResourceMarker::draw):
16709        (WebCore::SVGResourceMarker::cachedBounds):
16710        (WebCore::SVGResourceMarker::externalRepresentation):
16711        * svg/graphics/SVGResourceMarker.h:
16712        (WebCore::SVGResourceMarker::refX):
16713        (WebCore::SVGResourceMarker::refY):
16714
167152009-12-29  Dan Bernstein  <mitz@apple.com>
16716
16717        Reviewed by Sam Weinig.
16718
16719        Move the focus ring rect array, width and offset out of GraphicsContext
16720        https://bugs.webkit.org/show_bug.cgi?id=33028
16721
16722        * platform/graphics/GraphicsContext.cpp: Removed initFocusRing(),
16723        clearFocusRing(), focusRingBoundingRect(), addFocusRingRect(),
16724        focusRingWidth(), focusRingOffset(), and focusRingRects().
16725        * platform/graphics/GraphicsContext.h: Ditto. Added the focus ring rect
16726        vector, width and offset as parameters to drawFocusRing().
16727        * platform/graphics/GraphicsContextPrivate.h:
16728        (WebCore::GraphicsContextState::GraphicsContextState): Cleaned up style.
16729        (WebCore::GraphicsContextPrivate::GraphicsContextPrivate): Removed
16730        m_focusRingRects, m_focusRingWidth and m_focusRingOffset.
16731        * platform/graphics/IntRect.cpp:
16732        (WebCore::unionRect): Added this helper function.
16733        * platform/graphics/IntRect.h:
16734        * platform/graphics/cairo/GraphicsContextCairo.cpp:
16735        (WebCore::GraphicsContext::drawFocusRing): 
16736        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
16737        (WebCore::GraphicsContext::drawFocusRing): Ditto.
16738        * platform/graphics/mac/GraphicsContextMac.mm:
16739        (WebCore::GraphicsContext::drawFocusRing): Ditto.
16740        * platform/graphics/qt/GraphicsContextQt.cpp:
16741        (WebCore::GraphicsContext::drawFocusRing): Ditto.
16742        * platform/graphics/skia/GraphicsContextSkia.cpp:
16743        (WebCore::GraphicsContext::drawFocusRing): Ditto.
16744        * platform/graphics/win/GraphicsContextCGWin.cpp:
16745        (WebCore::GraphicsContext::drawFocusRing): Ditto.
16746        * platform/graphics/wince/GraphicsContextWince.cpp:
16747        (WebCore::GraphicsContext::drawFocusRing): Ditto.
16748        * platform/graphics/wx/GraphicsContextWx.cpp:
16749        (WebCore::GraphicsContext::drawFocusRing): Ditto.
16750        * rendering/RenderBlock.cpp:
16751        (WebCore::RenderBlock::addFocusRingRects): Updated for new prototype.
16752        Added empty rect checks that were previously done in
16753        GraphicsContext::addFocusRingRect().
16754        * rendering/RenderBlock.h:
16755        * rendering/RenderBox.cpp:
16756        (WebCore::RenderBox::addFocusRingRects): Ditto.
16757        * rendering/RenderBox.h:
16758        * rendering/RenderInline.cpp:
16759        (WebCore::RenderInline::addFocusRingRects): Ditto.
16760        (WebCore::RenderInline::paintOutline): Collect focus ring rects into a
16761        vector and pass it to drawFocusRing(). Use unionRect() instead of
16762        focusRingBoundingRect().
16763        * rendering/RenderInline.h:
16764        * rendering/RenderObject.cpp:
16765        (WebCore::RenderObject::paintOutline): Ditto.
16766        * rendering/RenderObject.h:
16767        (WebCore::RenderObject::addFocusRingRects): Changed to take a
16768        Vector<IntRect> to which the rects are added.
16769        * rendering/RenderPath.cpp:
16770        (WebCore::RenderPath::addFocusRingRects): Updated for new prototype.
16771        Added empty rect check that was previously done in
16772        GraphicsContext::addFocusRingRect().
16773        * rendering/RenderPath.h:
16774        * rendering/RenderSVGContainer.cpp:
16775        (WebCore::RenderSVGContainer::addFocusRingRects): Updated for new prototype.
16776        Added empty rect check that was previously done in
16777        GraphicsContext::addFocusRingRect().
16778        * rendering/RenderSVGContainer.h:
16779        * rendering/RenderSVGImage.cpp:
16780        (WebCore::RenderSVGImage::addFocusRingRects): Updated for new prototype.
16781        Added empty rect check that was previously done in
16782        GraphicsContext::addFocusRingRect().
16783        * rendering/RenderSVGImage.h:
16784        * rendering/RenderTextControl.cpp:
16785        (WebCore::RenderTextControl::addFocusRingRects): Updated for new prototype.
16786        Added empty rect check that was previously done in
16787        GraphicsContext::addFocusRingRect().
16788        * rendering/RenderTextControl.h:
16789
167902009-12-28  Dumitru Daniliuc  <dumi@chromium.org>
16791
16792        Reviewed by Maciej Stachowiak.
16793
16794        1. Changes the order in which some functions are called to match
16795        the pre-r52536 order. Namely, when a new Database object is
16796        created, DatabaseTracker::addOpenDatabase() is called in the
16797        constructor, before doing anything else related to that database
16798        (like trying to get a file handle to the database
16799        file). Chromium's implementation depends on this ordering.
16800        2. Changes Database::performOpenAndVerify() to close the open
16801        handle to the database file immediately if the database version
16802        does not match the expected one. The current behavior is to add
16803        the Database object to a DatabaseThread collection and let the
16804        database thread close the handle when it's destroyed.
16805
16806        https://bugs.webkit.org/show_bug.cgi?id=33005
16807
16808        All LayoutTests/storage tests pass in clean WebKit and Chromium
16809        clients.
16810
16811        * storage/Database.cpp:
16812        (WebCore::Database::openDatabase): Notify DatabaseTracker and
16813        Document that a Database object is about to be destroyed (when a
16814        database file cannot be opened, or its version doesn't match the
16815        expected one).
16816        (WebCore::Database::Database): Notify DatabaseTracker and Document
16817        that a new Database object was created.
16818        (WebCore::Database::performOpenAndVerify): If a database version
16819        does not match the expected one, immediately close the open file
16820        handle to the database file.
16821
168222009-12-29  Nikolas Zimmermann  <nzimmermann@rim.com>
16823
16824        Reviewed by Dirk Schulze.
16825
16826        Marker code is buggy: referencePoint translation is off
16827        https://bugs.webkit.org/show_bug.cgi?id=33012
16828
16829        Rewrite marker code, as it was buggy:
16830        - Correct refX/refY handling (covered by new marker-referencePoint.svg test)
16831        - Calculate marker bounds on layout time, instead of paint time, to deliver correct repaint rects
16832        - Cleanup RenderPath code, which was cluttered by marker stuff (outlay in SVGMarkerLayoutInfo)
16833        - Fix SVGResource assuming that there is only one resource per resource type per element. Markers
16834          can have three different resources of the same type (three markers, start/mid/end markers)
16835
16836        Fixes all svg/custom/marker*.svg tests, that use dynamic updates (propagation failed before).
16837        Test: svg/custom/marker-referencePoint.svg
16838
16839        * Android.mk:
16840        * GNUmakefile.am:
16841        * WebCore.pro:
16842        * WebCore.vcproj/WebCore.vcproj:
16843        * WebCore.xcodeproj/project.pbxproj:
16844        * rendering/RenderPath.cpp:
16845        (WebCore::RenderPath::repaintRectInLocalCoordinates):
16846        (WebCore::RenderPath::setPath):
16847        (WebCore::RenderPath::paint):
16848        (WebCore::RenderPath::calculateMarkerBoundsIfNeeded):
16849        * rendering/RenderPath.h:
16850        (WebCore::RenderPath::path):
16851        * rendering/RenderSVGContainer.h:
16852        * rendering/RenderSVGViewportContainer.cpp:
16853        (WebCore::RenderSVGViewportContainer::markerContentTransformation):
16854        * rendering/RenderSVGViewportContainer.h:
16855        * rendering/SVGMarkerLayoutInfo.cpp: Added.
16856        (WebCore::SVGMarkerLayoutInfo::SVGMarkerLayoutInfo):
16857        (WebCore::SVGMarkerLayoutInfo::~SVGMarkerLayoutInfo):
16858        (WebCore::SVGMarkerLayoutInfo::initialize):
16859        (WebCore::updateMarkerDataForElement):
16860        (WebCore::recordMarkerData):
16861        (WebCore::processStartAndMidMarkers):
16862        (WebCore::SVGMarkerLayoutInfo::calculateBoundaries):
16863        (WebCore::SVGMarkerLayoutInfo::drawMarkers):
16864        * rendering/SVGMarkerLayoutInfo.h: Added.
16865        (WebCore::MarkerData::):
16866        (WebCore::MarkerData::MarkerData):
16867        (WebCore::MarkerLayout::MarkerLayout):
16868        * svg/SVGMarkerElement.cpp:
16869        (WebCore::SVGMarkerElement::canvasResource):
16870        * svg/graphics/SVGResource.cpp:
16871        (WebCore::resourceSet):
16872        (WebCore::SVGResource::SVGResource):
16873        (WebCore::SVGResource::~SVGResource):
16874        (WebCore::SVGResource::removeClient):
16875        (WebCore::SVGResource::addClient):
16876        * svg/graphics/SVGResourceMarker.cpp:
16877        (WebCore::SVGResourceMarker::SVGResourceMarker):
16878        (WebCore::SVGResourceMarker::markerBoundaries):
16879        (WebCore::SVGResourceMarker::markerTransformation):
16880        (WebCore::SVGResourceMarker::draw):
16881        (WebCore::SVGResourceMarker::externalRepresentation):
16882        * svg/graphics/SVGResourceMarker.h:
16883        (WebCore::SVGResourceMarker::setRenderer):
16884        (WebCore::SVGResourceMarker::setReferencePoint):
16885        (WebCore::SVGResourceMarker::referencePoint):
16886
168872009-12-29  Alexander Pavlov  <apavlov@chromium.org>
16888
16889        Reviewed by Pavel Feldman.
16890
16891        Fix UI nits in the Audits panel.
16892        https://bugs.webkit.org/show_bug.cgi?id=32932
16893
16894        * inspector/front-end/AuditLauncherView.js:
16895        (WebInspector.AuditLauncherView.prototype._selectAllClicked):
16896        (WebInspector.AuditLauncherView.prototype._createCategoryElement):
16897        (WebInspector.AuditLauncherView.prototype._createLauncherUI.handleSelectAllClick):
16898        (WebInspector.AuditLauncherView.prototype._createLauncherUI):
16899        * inspector/front-end/AuditResultView.js:
16900        (WebInspector.AuditResultView):
16901        (WebInspector.AuditRuleResultPane):
16902        * inspector/front-end/audits.css:
16903
169042009-12-29  Johnny Ding  <jnd@chromium.org>
16905
16906        Reviewed by Dimitri Glazkov.
16907
16908        https://bugs.webkit.org/show_bug.cgi?id=32863
16909        Make NodeList support call-as-function
16910
16911        Test: fast/dom/NodeList/nodelist-item-call-as-function.html
16912
16913        * bindings/scripts/CodeGeneratorV8.pm:
16914        * bindings/v8/V8DOMWrapper.cpp:
16915        (WebCore::V8DOMWrapper::getTemplate):
16916        * bindings/v8/custom/V8NodeListCustom.cpp:
16917        (WebCore::V8NodeList::callAsFunctionCallback):
16918
169192009-12-29  Simon Fraser  <simon.fraser@apple.com>
16920
16921        Reviewed by Dan Bernstein.
16922
16923        Typed text in table not correctly redrawn on page with compositing layers
16924        https://bugs.webkit.org/show_bug.cgi?id=32874
16925        
16926        Use the same test in RenderTableCell::computeRectForRepaint() that we use elsewhere
16927        to decide when to use layoutState, which is to test for layoutStateEnabled()
16928        and no repaint container.
16929
16930        Not possible to make a repaint test that exercises the problem, so no test.
16931
16932        * rendering/RenderTableCell.cpp:
16933        (WebCore::RenderTableCell::computeRectForRepaint):
16934
169352009-12-29  Alexander Pavlov  <apavlov@chromium.org>
16936
16937        Reviewed by Timothy Hatcher.
16938
16939        Discard port from cookie domain when matching cookies.
16940
16941        WebKit cookies do not hold the port information, so we should match only hostnames.
16942        https://bugs.webkit.org/show_bug.cgi?id=31787
16943
16944        * inspector/front-end/inspector.js:
16945        (WebInspector.updateResource):
16946
169472009-12-29  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
16948
16949        Reviewed by Kenneth Rohde Christiansen.
16950
16951        [Qt] Fix warnings in MediaPlayerPrivatePhonon.cpp
16952        https://bugs.webkit.org/show_bug.cgi?id=33019
16953
16954        No new tests as there is no new functionality.
16955
16956        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
16957        (WebCore::MediaPlayerPrivate::totalTimeChanged):
16958
169592009-12-29  Kent Tamura  <tkent@chromium.org>
16960
16961        Reviewed by Maciej Stachowiak.
16962
16963        Implement HTML5 <aside> element.
16964        https://bugs.webkit.org/show_bug.cgi?id=32943
16965
16966        <aside> should behave the same as <nav>, <section>, and <article>.
16967
16968        Test: fast/html/aside-element.html
16969
16970        * css/html.css: Add aside as a block element.
16971        * editing/htmlediting.cpp:
16972        (WebCore::validBlockTag): Add asideTag.
16973        * html/HTMLElement.cpp:
16974        (WebCore::HTMLElement::tagPriority): Returns 5 for asideTag.
16975        (WebCore::blockTagList): Add asideTag.
16976        * html/HTMLParser.cpp:
16977        (WebCore::HTMLParser::getNode): Add asideTag.
16978        * html/HTMLTagNames.in: Add aside.
16979
169802009-12-29  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
16981
16982        Reviewed by Eric Seidel.
16983
16984        Use explicit parentheses to silence gcc 4.4 -Wparentheses warnings
16985        https://bugs.webkit.org/show_bug.cgi?id=33003
16986
16987        No new tests as there is no new functionality.
16988
16989        * editing/CompositeEditCommand.cpp:
16990        (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
16991        * page/animation/ImplicitAnimation.cpp:
16992        (WebCore::ImplicitAnimation::sendTransitionEvent):
16993        * page/animation/KeyframeAnimation.cpp:
16994        (WebCore::KeyframeAnimation::sendAnimationEvent):
16995        * rendering/RenderSVGContainer.h:
16996        (WebCore::toRenderSVGContainer):
16997        * rendering/style/RenderStyle.cpp:
16998        (WebCore::RenderStyle::setTextShadow):
16999        * svg/graphics/SVGPaintServerGradient.cpp:
17000        (WebCore::SVGPaintServerGradient::setup):
17001        * svg/graphics/SVGPaintServerPattern.cpp:
17002        (WebCore::SVGPaintServerPattern::setup):
17003
170042009-12-28  Andrei Popescu  <andreip@google.com>
17005
17006        Reviewed by Dmitry Titov.
17007
17008        On Android, ResourceHandle instances make use of a pointer to a
17009        ResourceLoaderAndroid pointer. This needs to be stored in order to later cancel
17010        the load, if necessary. Since this pointer is an internal implementation
17011        details of ResourceHandle on Android, it needs to be stored in the
17012        ResourceHandleInternal class. This patch adds this pointer.
17013        https://bugs.webkit.org/show_bug.cgi?id=32873
17014
17015        No new tests needed, this is platform-specific code.
17016
17017        * platform/network/ResourceHandle.h:
17018        * platform/network/ResourceHandleInternal.h:
17019        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
17020
170212009-12-28  Charles Wei  <charles.wei@torchmobile.com.cn>
17022
17023        Reviewed by Maciej Stachowiak.
17024
17025        Remove the macro ENABLE(XHTMLMP) for noscriptAreateErrorCheck in HTMLParser,
17026        since with XHTMLMP enabled, it's not checking create Errors,  and then contents inside 
17027        <noscript> are always parsed and rendered.
17028        https://bugs.webkit.org/show_bug.cgi?id=32706
17029
17030        Tests: fast/parser/noscript-with-javascript-disabled.html
17031               fast/parser/noscript-with-javascript-enabled.html
17032
17033        * html/HTMLParser.cpp:
17034        (WebCore::HTMLParser::getNode):
17035
170362009-12-28  Kinuko Yasuda  <kinuko@chromium.org>
17037
17038        Reviewed by Maciej Stachowiak.
17039
17040        Fixed isKeypadEvent behavior for Mac to correctly report keyLocation
17041        as DOM_KEY_LOCATION_NUMPAD for numeric pad key events.
17042        https://bugs.webkit.org/show_bug.cgi?id=28247
17043
17044        Test: fast/events/keydown-numpad-keys.html
17045
17046        * platform/mac/KeyEventMac.mm:
17047        (WebCore::isKeypadEvent):
17048
170492009-12-28  Mike Moretti  <webkit9@mordent.com>
17050
17051        Reviewed by Darin Adler.
17052
17053        Fix bug 28245 - problem with inserting a span into a long text block causing a crash because of a null string
17054
17055        Test: fast/dom/insert-span-into-long-text-bug-28245.html
17056
17057        * rendering/RenderBlockLineLayout.cpp:
17058        (WebCore::RenderBlock::findNextLineBreak):
17059
170602009-12-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
17061
17062        Rubber-stamped by Xan Lopez.
17063
17064        Follow Apple's decision to disable HTML DataGrid by default.
17065
17066        * GNUmakefile.am:
17067
170682009-12-28  Gustavo Noronha Silva  <gns@gnome.org>
17069
17070        Reviewed by Ariya Hidayat.
17071
17072        Fix warnings when generating files using gperf. The warnings are
17073        currently harmless, but some changes in the build system may make
17074        them fatal.
17075
17076        [GTK] Build time must be reduced
17077        https://bugs.webkit.org/show_bug.cgi?id=32921
17078
17079        * GNUmakefile.am:
17080
170812009-12-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
17082
17083        Reviewed by Adam Barth.
17084
17085        [Qt] Fix build break for Qt 4.4
17086        https://bugs.webkit.org/show_bug.cgi?id=30327
17087
17088        No new tests, as there is no new functionality.
17089
17090        * platform/graphics/qt/GraphicsContextQt.cpp:
17091        (WebCore::GraphicsContext::clipOut): Use intersected() instead of
17092        operator &, which was only introduced in Qt version 4.5.
17093
17094        * platform/qt/ScrollbarThemeQt.cpp:
17095        (WebCore::ScrollbarThemeQt::paintScrollCorner): Pass ColorSpace
17096        argument to fillColor() introduced in r50760
17097
170982009-12-28  Kent Tamura  <tkent@chromium.org>
17099
17100        Reviewed by Maciej Stachowiak.
17101
17102        Implement HTML5 <article> element.
17103        https://bugs.webkit.org/show_bug.cgi?id=32936
17104
17105        <article> should behave the same as <nav> and <section>.
17106
17107        Test: fast/html/article-element.html
17108
17109        * css/html.css: Add article as a block element.
17110        * editing/htmlediting.cpp:
17111        (WebCore::validBlockTag): Add articleTag.
17112        * html/HTMLElement.cpp:
17113        (WebCore::HTMLElement::tagPriority): Returns 5 for articleTag.
17114        (WebCore::blockTagList): Add articleTag.
17115        * html/HTMLParser.cpp:
17116        (WebCore::HTMLParser::getNode): Add articleTag.
17117        * html/HTMLTagNames.in: Add article.
17118
171192009-12-27  Jakub Wieczorek  <faw217@gmail.com>
17120
17121        Reviewed by Eric Seidel.
17122
17123        [Qt] Support upload progress events in XMLHttpRequest
17124        https://bugs.webkit.org/show_bug.cgi?id=32969
17125
17126        Make QNetworkReplyHandler report the upload progress to the client.
17127
17128        Already covered by tests:
17129        http/tests/xmlhttprequest/upload-onload-event.html
17130        http/tests/xmlhttprequest/upload-onloadstart-event.html
17131        http/tests/xmlhttprequest/upload-progress-events.html
17132        http/tests/xmlhttprequest/upload-onprogress-event.html
17133
17134        which have been unskipped.
17135
17136        * platform/network/qt/QNetworkReplyHandler.cpp:
17137        (WebCore::QNetworkReplyHandler::uploadProgress):
17138        (WebCore::QNetworkReplyHandler::start):
17139        * platform/network/qt/QNetworkReplyHandler.h:
17140
171412009-12-27  Dirk Schulze  <krit@webkit.org>
17142
17143        Reviewed by Nikolas Zimmermann.
17144
17145        SVG: Stop rendering of objects with empty mask and filter content
17146        https://bugs.webkit.org/show_bug.cgi?id=32968
17147
17148        It's not neccessary to continue rendering of an object and its' childs
17149        if the mask clips the complete content away.
17150        The same for filters, if the filter rendering is discontinued or either
17151        width or height are zero.
17152        We might also stop rendering if repaintRectInLocalCoordinates is empty.
17153        But it needs to be fixed first.
17154
17155        Test: svg/custom/empty-mask.svg
17156
17157        * rendering/RenderPath.cpp:
17158        (WebCore::RenderPath::paint):
17159        * rendering/RenderSVGContainer.cpp:
17160        (WebCore::RenderSVGContainer::paint):
17161        * rendering/RenderSVGImage.cpp:
17162        (WebCore::RenderSVGImage::paint):
17163        * rendering/RenderSVGRoot.cpp:
17164        (WebCore::RenderSVGRoot::paint):
17165        * rendering/SVGRenderSupport.cpp:
17166        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
17167        * rendering/SVGRenderSupport.h:
17168        * rendering/SVGRootInlineBox.cpp:
17169        (WebCore::SVGRootInlineBox::paint):
17170        * svg/SVGMaskElement.cpp:
17171        (WebCore::SVGMaskElement::drawMaskerContent):
17172        * svg/SVGMaskElement.h:
17173        * svg/graphics/SVGResourceFilter.cpp:
17174        (WebCore::SVGResourceFilter::prepareFilter):
17175        (WebCore::SVGResourceFilter::applyFilter):
17176        * svg/graphics/SVGResourceFilter.h:
17177        * svg/graphics/SVGResourceMasker.cpp:
17178        (WebCore::SVGResourceMasker::SVGResourceMasker):
17179        (WebCore::SVGResourceMasker::applyMask):
17180        * svg/graphics/SVGResourceMasker.h:
17181
171822009-12-27  Christian Dywan  <christian@twotoasts.de>
17183
17184        Reviewed by Eric Seidel.
17185
17186        [GTK] Spell Check Suggestions (Do not work)
17187        https://bugs.webkit.org/show_bug.cgi?id=30908
17188
17189        * platform/gtk/ContextMenuItemGtk.cpp:
17190        (WebCore::ContextMenuItem::ContextMenuItem):
17191        (WebCore::ContextMenuItem::title):
17192        (WebCore::ContextMenuItem::setTitle): Implement the 'title' member
17193        and set the title from the native menu item.
17194
171952009-12-27  Dirk Schulze  <krit@webkit.org>
17196
17197        Reviewed by Nikolas Zimmermann.
17198
17199        SVG Mask result wrong, if two different objects call the same mask id
17200        https://bugs.webkit.org/show_bug.cgi?id=32787
17201
17202        At the moment we create one resource per maskId. Some resources (like mask)
17203        create ImageBuffers and depends on the properties of the RenderObject,
17204        thus we can't use it for a second object.
17205        This patch stores multiple mask resources for one maskId and different
17206        RenderObject can use the same maskId.
17207        Clipper, Filter and Patterns also need to store multiple resources later.
17208
17209        Test: svg/custom/mask-on-multiple-objects.svg
17210
17211        * rendering/RenderPath.cpp:
17212        (WebCore::RenderPath::drawMarkersIfNeeded):
17213        * rendering/RenderSVGContainer.cpp:
17214        (WebCore::RenderSVGContainer::selfWillPaint):
17215        * rendering/RenderSVGGradientStop.cpp:
17216        (WebCore::RenderSVGGradientStop::styleDidChange):
17217        * rendering/RenderSVGRoot.cpp:
17218        (WebCore::RenderSVGRoot::selfWillPaint):
17219        * rendering/SVGRenderSupport.cpp:
17220        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
17221        (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
17222        * rendering/SVGRenderTreeAsText.cpp:
17223        (WebCore::writeRenderResources):
17224        * svg/SVGClipPathElement.cpp:
17225        (WebCore::SVGClipPathElement::canvasResource):
17226        * svg/SVGClipPathElement.h:
17227        * svg/SVGFilterElement.cpp:
17228        (WebCore::SVGFilterElement::canvasResource):
17229        * svg/SVGFilterElement.h:
17230        * svg/SVGGradientElement.cpp:
17231        (WebCore::SVGGradientElement::canvasResource):
17232        * svg/SVGGradientElement.h:
17233        * svg/SVGMarkerElement.cpp:
17234        (WebCore::SVGMarkerElement::canvasResource):
17235        * svg/SVGMarkerElement.h:
17236        * svg/SVGMaskElement.cpp:
17237        (WebCore::SVGMaskElement::svgAttributeChanged):
17238        (WebCore::SVGMaskElement::childrenChanged):
17239        (WebCore::SVGMaskElement::canvasResource):
17240        * svg/SVGMaskElement.h:
17241        * svg/SVGPatternElement.cpp:
17242        (WebCore::SVGPatternElement::canvasResource):
17243        * svg/SVGPatternElement.h:
17244        * svg/SVGStyledElement.cpp:
17245        (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain):
17246        * svg/SVGStyledElement.h:
17247        (WebCore::SVGStyledElement::canvasResource):
17248        * svg/graphics/SVGPaintServer.cpp:
17249        (WebCore::getPaintServerById):
17250        (WebCore::SVGPaintServer::fillPaintServer):
17251        (WebCore::SVGPaintServer::strokePaintServer):
17252        * svg/graphics/SVGPaintServer.h:
17253        * svg/graphics/SVGResource.cpp:
17254        (WebCore::getResourceById):
17255        * svg/graphics/SVGResource.h:
17256        * svg/graphics/SVGResourceClipper.cpp:
17257        (WebCore::getClipperById):
17258        * svg/graphics/SVGResourceClipper.h:
17259        * svg/graphics/SVGResourceFilter.cpp:
17260        (WebCore::getFilterById):
17261        * svg/graphics/SVGResourceFilter.h:
17262        * svg/graphics/SVGResourceMarker.cpp:
17263        (WebCore::getMarkerById):
17264        * svg/graphics/SVGResourceMarker.h:
17265        * svg/graphics/SVGResourceMasker.cpp:
17266        (WebCore::getMaskerById):
17267        * svg/graphics/SVGResourceMasker.h:
17268
172692009-12-27  Nikolas Zimmermann  <nzimmermann@rim.com>
17270
17271        Reviewed by Dirk Schulze.
17272
17273        Cleanup RenderPath code, related to markers. Pass around
17274        PaintInfo objects instead of GraphicsContext directly, to
17275        avoid having to recreate a new PaintInfo object in
17276        SVGResourceMarker::draw().
17277
17278        No layout test changes.
17279
17280        * rendering/RenderPath.cpp:
17281        (WebCore::RenderPath::paint):
17282        (WebCore::DrawMarkersData::DrawMarkersData):
17283        (WebCore::drawMarkerWithData):
17284        (WebCore::drawStartAndMidMarkers):
17285        (WebCore::RenderPath::drawMarkersIfNeeded):
17286        * rendering/RenderPath.h:
17287        * svg/graphics/SVGResourceMarker.cpp:
17288        (WebCore::SVGResourceMarker::draw):
17289        * svg/graphics/SVGResourceMarker.h:
17290
172912009-12-27  Patrick Gansterer  <paroga@paroga.com>
17292
17293        Reviewed by Eric Seidel.
17294
17295        WinCE buildfix (added missing header)
17296
17297        * platform/text/wince/TextBreakIteratorWince.cpp:
17298
172992009-12-27  Patrick Gansterer  <paroga@paroga.com>
17300
17301        Reviewed by Eric Seidel.
17302
17303        Buildfix after r50760 and some style fixes.
17304
17305        * rendering/RenderThemeWince.cpp:
17306        (WebCore::RenderThemeWince::paintSearchFieldCancelButton):
17307        (WebCore::RenderThemeWince::paintSliderTrack):
17308        (WebCore::RenderThemeWince::paintSliderThumb):
17309        (WebCore::RenderThemeWince::paintMediaMuteButton):
17310        (WebCore::RenderThemeWince::paintMediaPlayButton):
17311
173122009-12-27  Patrick Gansterer  <paroga@paroga.com>
17313
17314        Reviewed by Adam Barth.
17315
17316        WinCE buildfixes (missing headers and unsupported HWND_MESSAGE)
17317
17318        * platform/wince/MIMETypeRegistryWince.cpp:
17319        * platform/wince/SearchPopupMenuWince.cpp:
17320        * platform/wince/SharedTimerWince.cpp:
17321        (WebCore::initializeOffScreenTimerWindow):
17322
173232009-12-26  Eric Seidel  <eric@webkit.org>
17324
17325        No review, rolling out r52554.
17326        http://trac.webkit.org/changeset/52554
17327
17328        https://bugs.webkit.org/show_bug.cgi?id=32955
17329        The original change was covered under
17330        https://bugs.webkit.org/show_bug.cgi?id=32913
17331
17332        r52554 was itself a rollout of r52536.
17333        However it caused two layout tests to fail on Leopard:
17334        storage/open-database-while-transaction-in-progress.html
17335        svg/W3C-SVG-1.1/filters-conv-01-f.svg (no clue why?)
17336
17337        So I'm rolling out the rollout in an attempt to get the bots green.
17338        r52554 did not explain why it was rolled out, so I do not know
17339        what might fail for Chromium after this change.  I warned the folks
17340        in #chromium that it was coming.
17341
17342        * storage/Database.cpp:
17343        (WebCore::Database::openDatabase):
17344        (WebCore::Database::Database):
17345        (WebCore::Database::performOpenAndVerify):
17346
173472009-12-26  Dan Bernstein  <mitz@apple.com>
17348
17349        Reviewed by Sam Weinig.
17350
17351        <rdar://problem/7483622> REGRESSION (r47255): Extra Large Amount of Empty Space
17352        https://bugs.webkit.org/show_bug.cgi?id=32690
17353
17354        Test: fast/block/float/clear-to-fit.html
17355
17356        * rendering/RenderBlock.cpp:
17357        (WebCore::RenderBlock::getClearDelta): Only clear floats as needed to
17358        fit the child on the line.
17359
173602009-12-25  Kent Tamura  <tkent@chromium.org>
17361
17362        Reviewed by Darin Adler.
17363
17364        Implement HTML5 section element.
17365        https://bugs.webkit.org/show_bug.cgi?id=32936
17366
17367        <section> should behave the same as <nav>.
17368
17369        Test: fast/html/section-element.html
17370
17371        * css/html.css: Add section as a block element.
17372        * editing/htmlediting.cpp:
17373        (WebCore::validBlockTag): Add sectionTag.
17374        * html/HTMLElement.cpp:
17375        (WebCore::HTMLElement::tagPriority): Returns 5 for sectionTag.
17376        (WebCore::blockTagList): Add sectionTag.
17377        * html/HTMLParser.cpp:
17378        (WebCore::HTMLParser::getNode): Add sectionTag.
17379        * html/HTMLTagNames.in: Add section.
17380
173812009-12-25  Daniel Bates  <dbates@webkit.org>
17382
17383        Reviewed by Adam Barth.
17384
17385        https://bugs.webkit.org/show_bug.cgi?id=32938
17386
17387        Cleans up XSSAuditor.
17388
17389        Currently, we pass various parameters through to XSSAuditor::findInRequest
17390        that are used to determine how to decode the HTTP input parameters so that
17391        we can perform a match against the script source. Instead, we have defined
17392        a structure XSSAuditor::FindTask that can hold all of these parameters.
17393
17394        No functionality was changed. So, no new tests.
17395
17396        * page/XSSAuditor.cpp:
17397        (WebCore::XSSAuditor::canEvaluate): Modified to use struct
17398        XSSAuditor::FindTask.
17399        (WebCore::XSSAuditor::canEvaluateJavaScriptURL): Ditto.
17400        (WebCore::XSSAuditor::canCreateInlineEventListener): Ditto.
17401        (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): Ditto.
17402        (WebCore::XSSAuditor::canLoadObject): Ditto.
17403        (WebCore::XSSAuditor::canSetBaseElementURL): Ditto.
17404        (WebCore::XSSAuditor::findInRequest): Ditto.
17405        * page/XSSAuditor.h:
17406        (WebCore::XSSAuditor::FindTask::FindTask): Added.
17407
174082009-12-25  Nikolas Zimmermann  <nzimmermann@rim.com>
17409
17410        Reviewed by Dirk Schulze.
17411
17412        DOMWindow is missing lots of SVG* constructor objects
17413        https://bugs.webkit.org/show_bug.cgi?id=20430
17414
17415        Expose all implemented SVG 1.1 constructors.
17416
17417        Test: svg/custom/global-constructors.js
17418
17419        * bindings/v8/V8Index.cpp: Add missing includes for SVGFontFaceElement & SVGMissingGlyphElement
17420        * bindings/v8/V8Index.h: Add misisng SVGFontFaceElement & SVGMissingGlyphElement declarations.
17421        * page/DOMWindow.idl: Add a bunch of new SVG object ctors.
17422        * svg/SVGAnimatedPathData.idl: Add OmitConstructor flag, as this is a SVG MI class, which is not exposable at the moment.
17423        * svg/SVGAnimatedPoints.idl: Ditto.
17424
174252009-12-25  Alexander Pavlov  <apavlov@chromium.org>
17426
17427        Reviewed by Pavel Feldman.
17428
17429        AuditsPanel for Web Inspector (hidden, no preset audits).
17430
17431        https://bugs.webkit.org/show_bug.cgi?id=31665
17432
17433        * English.lproj/localizedStrings.js:
17434        * WebCore.gypi:
17435        * WebCore.vcproj/WebCore.vcproj:
17436        * inspector/front-end/AuditLauncherView.js: Added.
17437        (WebInspector.AuditLauncherView.categorySortFunction):
17438        (WebInspector.AuditLauncherView):
17439        (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState):
17440        (WebInspector.AuditLauncherView.prototype._setAuditRunning):
17441        (WebInspector.AuditLauncherView.prototype._launchButtonClicked.profilingFinishedCallback):
17442        (WebInspector.AuditLauncherView.prototype._launchButtonClicked):
17443        (WebInspector.AuditLauncherView.prototype._selectAllClicked):
17444        (WebInspector.AuditLauncherView.prototype._categoryClicked):
17445        (WebInspector.AuditLauncherView.prototype._createCategoryElement):
17446        (WebInspector.AuditLauncherView.prototype._createLauncherUI):
17447        (WebInspector.AuditLauncherView.prototype._updateButton):
17448        (WebInspector.AuditLauncherView.prototype.resize):
17449        * inspector/front-end/AuditResultView.js: Added.
17450        (WebInspector.AuditResultView.entrySortFunction):
17451        (WebInspector.AuditResultView):
17452        (WebInspector.AuditCategoryResultPane):
17453        (WebInspector.AuditRuleResultPane):
17454        (WebInspector.AuditRuleResultPane.prototype._decorateRuleResult):
17455        (WebInspector.AuditRuleResultChildSection):
17456        (WebInspector.AuditRuleResultChildSection.prototype.set title):
17457        (WebInspector.AuditRuleResultChildSection.prototype.expand):
17458        * inspector/front-end/AuditsPanel.js: Added.
17459        (WebInspector.AuditsPanel):
17460        (WebInspector.AuditsPanel.prototype.toolbarItemClass.get toolbarItemLabel):
17461        (WebInspector.AuditsPanel.prototype.get statusBarItems):
17462        (WebInspector.AuditsPanel.prototype.get mainResourceLoadTime):
17463        (WebInspector.AuditsPanel.prototype.set mainResourceLoadTime):
17464        (WebInspector.AuditsPanel.prototype.get mainResourceDOMContentTime):
17465        (WebInspector.AuditsPanel.prototype.set mainResourceDOMContentTime):
17466        (WebInspector.AuditsPanel.prototype.get categoriesById):
17467        (WebInspector.AuditsPanel.prototype.get visibleView):
17468        (WebInspector.AuditsPanel.prototype._constructCategories):
17469        (WebInspector.AuditsPanel.prototype._executeAudit.ruleResultReadyCallback):
17470        (WebInspector.AuditsPanel.prototype._executeAudit):
17471        (WebInspector.AuditsPanel.prototype._auditFinishedCallback):
17472        (WebInspector.AuditsPanel.prototype.initiateAudit.initiateAuditCallback):
17473        (WebInspector.AuditsPanel.prototype.initiateAudit):
17474        (WebInspector.AuditsPanel.prototype._reloadResources):
17475        (WebInspector.AuditsPanel.prototype._didMainResourceLoad):
17476        (WebInspector.AuditsPanel.prototype.showResults):
17477        (WebInspector.AuditsPanel.prototype.showLauncherView):
17478        (WebInspector.AuditsPanel.prototype.showView):
17479        (WebInspector.AuditsPanel.prototype.show):
17480        (WebInspector.AuditsPanel.prototype.attach):
17481        (WebInspector.AuditsPanel.prototype.resize):
17482        (WebInspector.AuditsPanel.prototype.updateMainViewWidth):
17483        (WebInspector.AuditsPanel.prototype._updateLauncherViewControls):
17484        (WebInspector.AuditsPanel.prototype._clearButtonClicked):
17485        (WebInspector.AuditsPanel.prototype._closeVisibleView):
17486        (WebInspector.AuditCategory):
17487        (WebInspector.AuditCategory.prototype.get id):
17488        (WebInspector.AuditCategory.prototype.get displayName):
17489        (WebInspector.AuditCategory.prototype.get ruleCount):
17490        (WebInspector.AuditCategory.prototype.addRule):
17491        (WebInspector.AuditCategory.prototype.runRules):
17492        (WebInspector.AuditRule):
17493        (WebInspector.AuditRule.prototype.get id):
17494        (WebInspector.AuditRule.prototype.get displayName):
17495        (WebInspector.AuditRule.prototype.run):
17496        (WebInspector.AuditRule.prototype.doRun):
17497        (WebInspector.AuditRule.prototype.getValue):
17498        (WebInspector.AuditCategoryResult):
17499        (WebInspector.AuditCategoryResult.prototype.addEntry):
17500        (WebInspector.AuditRuleResult):
17501        (WebInspector.AuditRuleResult.prototype.appendChild):
17502        (WebInspector.AuditRuleResult.prototype.set type):
17503        (WebInspector.AuditRuleResult.prototype.get type):
17504        (WebInspector.AuditsSidebarTreeElement):
17505        (WebInspector.AuditsSidebarTreeElement.prototype.onattach):
17506        (WebInspector.AuditsSidebarTreeElement.prototype.onselect):
17507        (WebInspector.AuditsSidebarTreeElement.prototype.get selectable):
17508        (WebInspector.AuditsSidebarTreeElement.prototype.refresh):
17509        (WebInspector.AuditResultSidebarTreeElement):
17510        (WebInspector.AuditResultSidebarTreeElement.prototype.onselect):
17511        (WebInspector.AuditResultSidebarTreeElement.prototype.get selectable):
17512        * inspector/front-end/WebKit.qrc:
17513        * inspector/front-end/audits.css: Added.
17514        * inspector/front-end/inspector.html:
17515        * inspector/front-end/inspector.js:
17516        (WebInspector._createPanels):
17517        (WebInspector.updateResource):
17518
175192009-12-25  Pavel Feldman  <pfeldman@chromium.org>
17520
17521        Reviewed by Timothy Hatcher.
17522
17523        Web Inspector: Implement Edit Inner HTML action.
17524
17525        https://bugs.webkit.org/show_bug.cgi?id=32924
17526
17527        * English.lproj/localizedStrings.js:
17528        * bindings/js/JSInjectedScriptHostCustom.cpp:
17529        (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
17530        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
17531        (WebCore::V8InjectedScriptHost::pushNodePathToFrontendCallback):
17532        * inspector/InjectedScriptHost.cpp:
17533        (WebCore::InjectedScriptHost::pushNodePathToFrontend):
17534        * inspector/InjectedScriptHost.h:
17535        * inspector/InjectedScriptHost.idl:
17536        * inspector/InspectorDOMAgent.h:
17537        * inspector/front-end/ElementsPanel.js:
17538        (WebInspector.ElementsPanel.prototype.show):
17539        (WebInspector.ElementsPanel.prototype._updateModifiedNodesSoon):
17540        (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
17541        * inspector/front-end/ElementsTreeOutline.js:
17542        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
17543        (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.commit):
17544        (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.dispose):
17545        (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
17546        ():
17547        * inspector/front-end/InjectedScript.js:
17548        (InjectedScript.getNodePropertyValue):
17549        (InjectedScript.setOuterHTML):
17550        (InjectedScript.performSearch.addNodesToResults):
17551        (InjectedScript._inspectObject):
17552        (InjectedScript._copy):
17553        (InjectedScript.pushNodeToFrontend):
17554        * inspector/front-end/InjectedScriptAccess.js:
17555        * inspector/front-end/InspectorFrontendHostStub.js:
17556        (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels):
17557        (.WebInspector.InspectorFrontendHostStub.prototype.windowUnloading):
17558        * inspector/front-end/inspector.css:
17559        * inspector/front-end/inspector.js:
17560        (WebInspector.startEditing.keyDownEventListener):
17561        (WebInspector.startEditing):
17562
175632009-12-24  Dan Bernstein  <mitz@apple.com>
17564
17565        Reviewed by Timothy Hatcher.
17566
17567        Web Inspector: Console should force long URLs to wrap
17568        https://bugs.webkit.org/show_bug.cgi?id=32927
17569
17570        * inspector/front-end/inspector.css: Added "word-wrap: break-word;" to
17571        the #console-messages rule.
17572
175732009-12-24  Shinichiro Hamaji  <hamaji@chromium.org>
17574
17575        Unreviewed Chromium test fix by reverting r52536.
17576
17577        Do not a new Database pointer to any structure until its version has been verified
17578        https://bugs.webkit.org/show_bug.cgi?id=32913
17579
17580        * storage/Database.cpp:
17581        (WebCore::Database::openDatabase):
17582        (WebCore::Database::Database):
17583        (WebCore::Database::performOpenAndVerify):
17584
175852009-12-24  Jessie Berlin  <jberlin@webkit.org>
17586
17587        Reviewed by Dan Bernstein.
17588
17589        Fix for WebKit bug 29968 - Selecting text with text-overflow ellipsis
17590        should not show cut off text
17591        https://bugs.webkit.org/show_bug.cgi?id=29968
17592
17593        Also fixes the issue on both Mac OS X and Windows where the highlight
17594        would extend only partway into the ellipsis based on the size of the
17595        characters being truncated.
17596
17597        Test: editing/selection/select-text-overflow-ellipsis.html
17598
17599        * rendering/EllipsisBox.cpp:
17600        (WebCore::EllipsisBox::paint):
17601        When the ellipsis have been selected, paints them with the color for
17602        selected text.
17603        (WebCore::EllipsisBox::selectionRect):
17604        Returns the selection rect for the ellipsis text.
17605        (WebCore::EllipsisBox::paintSelection):
17606        Paints the selection highlight around the ellipsis text.
17607
17608        * rendering/EllipsisBox.h:
17609        (WebCore::EllipsisBox::EllipsisBox):
17610        Default the selection state of the EllipsisBox to SelectionNone.
17611        (WebCore::EllipsisBox::setSelectionState):
17612        Allow the selection state to be explicitly set by the InlineTextBox
17613        that it is associated with, since the selection state depends on the
17614        position of the selection within the truncated text.
17615        (WebCore::EllipsisBox::selectionState):
17616        Return the cached selection state.
17617        
17618        * rendering/InlineTextBox.cpp:
17619        (WebCore::InlineTextBox::selectionState):
17620        If the text is truncated and the selection extends into the truncation
17621        where there are ellipsis, set the selection state on the EllipsisBox.
17622        (WebCore::paintTextWithShadows):
17623        Allow for an upper bound to be specified on the maximum length of the
17624        text to be painted.
17625        (WebCore::InlineTextBox::paint):
17626        Make sure the text that is drawn gets appropriately truncated. This was
17627        not an issue before on Mac OS X because it wasn't necessary to draw the
17628        selected text separately (the selected text had the same color as the
17629        non-selected text).
17630        (WebCore::InlineTextBox::paintSelection):
17631        If the text is being truncated, let whatever is being painted in the
17632        space after the truncated text paint its own highlight. 
17633        
17634        * rendering/InlineTextBox.h:
17635        (WebCore::InlineTextBox::truncation):
17636        Allow RenderText to access the truncation status.
17637        
17638        * rendering/RenderText.cpp:
17639        (WebCore::RenderText::selectionRectForRepaint):
17640        Make sure that any ellipsis box that falls within the selection also
17641        gets repainted.
17642
176432009-12-24  Pavel Feldman  <pfeldman@chromium.org>
17644
17645        Reviewed by Timothy Hatcher.
17646
17647        Web Inspector: add Settings.js class that would manage
17648        frontend settings.
17649
17650        This change:
17651        - Splits preferences and settings
17652        - Pushes settings to the frontend on load
17653        - Stores settings on each change
17654        - Stores showInheritedStyles as setting.
17655
17656        https://bugs.webkit.org/show_bug.cgi?id=32832
17657
17658        * WebCore.gypi:
17659        * WebCore.vcproj/WebCore.vcproj:
17660        * inspector/InspectorBackend.cpp:
17661        (WebCore::InspectorBackend::saveFrontendSettings):
17662        * inspector/InspectorBackend.h:
17663        * inspector/InspectorBackend.idl:
17664        * inspector/InspectorController.cpp:
17665        (WebCore::InspectorController::populateScriptObjects):
17666        * inspector/InspectorController.h:
17667        * inspector/InspectorFrontend.cpp:
17668        (WebCore::InspectorFrontend::populateFrontendSettings):
17669        * inspector/InspectorFrontend.h:
17670        * inspector/InspectorFrontendHost.cpp:
17671        * inspector/InspectorFrontendHost.h:
17672        * inspector/InspectorFrontendHost.idl:
17673        * inspector/front-end/EventListenersSidebarPane.js:
17674        (WebInspector.EventListenersSidebarPane.prototype._settingsLoaded):
17675        (WebInspector.EventListenersSidebarPane.prototype):
17676        ():
17677        * inspector/front-end/InspectorBackendStub.js:
17678        (.WebInspector.InspectorBackendStub):
17679        (.WebInspector.InspectorBackendStub.prototype.saveFrontendSettings):
17680        (.WebInspector.InspectorBackendStub.prototype.releaseWrapperObjectGroup):
17681        * inspector/front-end/InspectorFrontendHostStub.js:
17682        (.WebInspector.InspectorFrontendHostStub):
17683        (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels):
17684        * inspector/front-end/ResourcesPanel.js:
17685        (WebInspector.ResourcesPanel.prototype._createStatusbarButtons):
17686        (WebInspector.ResourcesPanel.prototype._settingsLoaded):
17687        (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
17688        (WebInspector.ResourcesPanel.prototype._setLargerResources):
17689        * inspector/front-end/ScriptsPanel.js:
17690        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
17691        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
17692        * inspector/front-end/Settings.js: Added.
17693        (WebInspector.populateFrontendSettings):
17694        (WebInspector.Settings):
17695        (WebInspector.Settings.prototype._load):
17696        (WebInspector.Settings.prototype._installSetting):
17697        (WebInspector.Settings.prototype._get):
17698        (WebInspector.Settings.prototype._set):
17699        * inspector/front-end/StylesSidebarPane.js:
17700        (WebInspector.StylesSidebarPane.prototype._settingsLoaded):
17701        (WebInspector.StylesSidebarPane.prototype.update):
17702        (WebInspector.StylesSidebarPane.prototype._changeSetting):
17703        (WebInspector.StylesSidebarPane.prototype._changeColorFormat):
17704        (WebInspector.StylePropertiesSection.showInheritedToggleFunction):
17705        (WebInspector.StylePropertiesSection):
17706        * inspector/front-end/WatchExpressionsSidebarPane.js:
17707        (WebInspector.WatchExpressionsSidebarPane):
17708        (WebInspector.WatchExpressionsSidebarPane.prototype._settingsLoaded):
17709        (WebInspector.WatchExpressionsSidebarPane.prototype.refreshExpressions):
17710        (WebInspector.WatchExpressionsSection):
17711        (WebInspector.WatchExpressionsSection.prototype.saveExpressions):
17712        * inspector/front-end/WebKit.qrc:
17713        * inspector/front-end/inspector.html:
17714        * inspector/front-end/inspector.js:
17715        (WebInspector.loaded):
17716
177172009-12-23  Pavel Feldman  <pfeldman@chromium.org>
17718
17719        Reviewed by Timothy Hatcher.
17720
17721        Web Inspector: [REGRESSION] console's clear command does not work.
17722
17723        https://bugs.webkit.org/show_bug.cgi?id=32897
17724
17725        Test: inspector/console-clear.html
17726
17727        * inspector/InjectedScriptHost.cpp:
17728        (WebCore::InjectedScriptHost::clearConsoleMessages):
17729        * inspector/InjectedScriptHost.h:
17730        * inspector/InjectedScriptHost.idl:
17731        * inspector/InspectorBackend.cpp:
17732        * inspector/InspectorBackend.h:
17733        * inspector/InspectorBackend.idl:
17734        * inspector/InspectorController.cpp:
17735        (WebCore::InspectorController::clearConsoleMessages):
17736        (WebCore::InspectorController::didCommitLoad):
17737        * inspector/InspectorController.h:
17738        * inspector/front-end/ConsoleView.js:
17739        (WebInspector.ConsoleView):
17740        (WebInspector.ConsoleView.prototype.requestClearConsoleMessages):
17741        (WebInspector.ConsoleView.prototype.clearConsoleMessages):
17742        (WebInspector.ConsoleView.prototype._clearButtonClicked):
17743        * inspector/front-end/InjectedScript.js:
17744        (InjectedScript.clearConsoleMessages):
17745        (InjectedScript._ensureCommandLineAPIInstalled):
17746        * inspector/front-end/InjectedScriptAccess.js:
17747        * inspector/front-end/inspector.js:
17748        (WebInspector.clearConsoleMessages):
17749        (WebInspector.reset):
17750
177512009-12-23  Pavel Feldman  <pfeldman@chromium.org>
17752
17753        Reviewed by Timothy Hatcher.
17754
17755        Web Inspector: Console dumps strings in escaped form.
17756
17757        https://bugs.webkit.org/show_bug.cgi?id=32488
17758
17759        * inspector/front-end/ConsoleView.js:
17760        (WebInspector.ConsoleMessage.prototype._formatIndividualValue):
17761
177622009-12-23  Alexey Proskuryakov  <ap@apple.com>
17763
17764        Reviewed by Darin Adler.
17765
17766        https://bugs.webkit.org/show_bug.cgi?id=32905
17767        With Pinyin Simplified IM, a wrong character is deleted from google.com suggestion
17768
17769        Test: platform/mac/editing/input/selection-change-closes-typing.html
17770
17771        * editing/Editor.cpp: (WebCore::Editor::confirmComposition): If this function wasn't allowed
17772        to change selection, it needs to close the current typing command - otherwise, its idea of
17773        selection would be used for future typing.
17774
177752009-12-23  Yuta Kitamura  <yutak@chromium.org>
17776
17777        Reviewed by Eric Seidel.
17778
17779        PlatformContextSkia::beginLayerClippedToImage() needs to clip outside of the image.
17780        
17781        This method should limit the current painting window to the bounds of the given
17782        image, but it did not. Due to this bug, unnecessary contents were rendered in
17783        some (limited) situations.
17784
17785        [Skia] PlatformContextSkia::beginLayerClippedToImage does not clip outside of the image
17786        https://bugs.webkit.org/show_bug.cgi?id=32817
17787        
17788        No new tests, because this is a fix of an existing test which is currently failing in
17789        Chromium.
17790
17791        * platform/graphics/skia/PlatformContextSkia.cpp:
17792        (PlatformContextSkia::beginLayerClippedToImage): Add clipRect() call.
17793
177942009-12-23  Nikolas Zimmermann  <nzimmermann@rim.com>
17795
17796        Rubber-stamped by Eric Seidel.
17797
17798        Remove all references to "GenerateConstructor", as this is the default behaviour now.
17799
17800        * css/CSSCharsetRule.idl:
17801        * css/CSSFontFaceRule.idl:
17802        * css/CSSImportRule.idl:
17803        * css/CSSMediaRule.idl:
17804        * css/CSSPageRule.idl:
17805        * css/CSSPrimitiveValue.idl:
17806        * css/CSSRule.idl:
17807        * css/CSSRuleList.idl:
17808        * css/CSSStyleDeclaration.idl:
17809        * css/CSSStyleRule.idl:
17810        * css/CSSStyleSheet.idl:
17811        * css/CSSValue.idl:
17812        * css/CSSValueList.idl:
17813        * css/CSSVariablesDeclaration.idl:
17814        * css/CSSVariablesRule.idl:
17815        * css/Counter.idl:
17816        * css/Media.idl:
17817        * css/MediaList.idl:
17818        * css/RGBColor.idl:
17819        * css/Rect.idl:
17820        * css/StyleSheet.idl:
17821        * css/StyleSheetList.idl:
17822        * css/WebKitCSSKeyframeRule.idl:
17823        * css/WebKitCSSKeyframesRule.idl:
17824        * css/WebKitCSSTransformValue.idl:
17825        * dom/Attr.idl:
17826        * dom/BeforeLoadEvent.idl:
17827        * dom/CDATASection.idl:
17828        * dom/CharacterData.idl:
17829        * dom/ClientRect.idl:
17830        * dom/ClientRectList.idl:
17831        * dom/Clipboard.idl:
17832        * dom/Comment.idl:
17833        * dom/CompositionEvent.idl:
17834        * dom/DOMCoreException.idl:
17835        * dom/DOMImplementation.idl:
17836        * dom/Document.idl:
17837        * dom/DocumentFragment.idl:
17838        * dom/DocumentType.idl:
17839        * dom/Element.idl:
17840        * dom/Entity.idl:
17841        * dom/EntityReference.idl:
17842        * dom/ErrorEvent.idl:
17843        * dom/Event.idl:
17844        * dom/EventException.idl:
17845        * dom/KeyboardEvent.idl:
17846        * dom/MessageEvent.idl:
17847        * dom/MessagePort.idl:
17848        * dom/MouseEvent.idl:
17849        * dom/MutationEvent.idl:
17850        * dom/NamedNodeMap.idl:
17851        * dom/Node.idl:
17852        * dom/NodeFilter.idl:
17853        * dom/NodeIterator.idl:
17854        * dom/NodeList.idl:
17855        * dom/Notation.idl:
17856        * dom/OverflowEvent.idl:
17857        * dom/PageTransitionEvent.idl:
17858        * dom/PopStateEvent.idl:
17859        * dom/ProcessingInstruction.idl:
17860        * dom/ProgressEvent.idl:
17861        * dom/Range.idl:
17862        * dom/RangeException.idl:
17863        * dom/Text.idl:
17864        * dom/TextEvent.idl:
17865        * dom/Touch.idl:
17866        * dom/TouchEvent.idl:
17867        * dom/TouchList.idl:
17868        * dom/TreeWalker.idl:
17869        * dom/UIEvent.idl:
17870        * dom/WebKitAnimationEvent.idl:
17871        * dom/WebKitTransitionEvent.idl:
17872        * dom/WheelEvent.idl:
17873        * html/DataGridColumn.idl:
17874        * html/DataGridColumnList.idl:
17875        * html/File.idl:
17876        * html/FileList.idl:
17877        * html/HTMLAllCollection.idl:
17878        * html/HTMLAnchorElement.idl:
17879        * html/HTMLAppletElement.idl:
17880        * html/HTMLAreaElement.idl:
17881        * html/HTMLAudioElement.idl:
17882        * html/HTMLBRElement.idl:
17883        * html/HTMLBaseElement.idl:
17884        * html/HTMLBaseFontElement.idl:
17885        * html/HTMLBlockquoteElement.idl:
17886        * html/HTMLBodyElement.idl:
17887        * html/HTMLButtonElement.idl:
17888        * html/HTMLCanvasElement.idl:
17889        * html/HTMLCollection.idl:
17890        * html/HTMLDListElement.idl:
17891        * html/HTMLDataGridCellElement.idl:
17892        * html/HTMLDataGridColElement.idl:
17893        * html/HTMLDataGridElement.idl:
17894        * html/HTMLDataGridRowElement.idl:
17895        * html/HTMLDataListElement.idl:
17896        * html/HTMLDirectoryElement.idl:
17897        * html/HTMLDivElement.idl:
17898        * html/HTMLDocument.idl:
17899        * html/HTMLElement.idl:
17900        * html/HTMLEmbedElement.idl:
17901        * html/HTMLFieldSetElement.idl:
17902        * html/HTMLFontElement.idl:
17903        * html/HTMLFormElement.idl:
17904        * html/HTMLFrameElement.idl:
17905        * html/HTMLFrameSetElement.idl:
17906        * html/HTMLHRElement.idl:
17907        * html/HTMLHeadElement.idl:
17908        * html/HTMLHeadingElement.idl:
17909        * html/HTMLHtmlElement.idl:
17910        * html/HTMLIFrameElement.idl:
17911        * html/HTMLImageElement.idl:
17912        * html/HTMLInputElement.idl:
17913        * html/HTMLIsIndexElement.idl:
17914        * html/HTMLLIElement.idl:
17915        * html/HTMLLabelElement.idl:
17916        * html/HTMLLegendElement.idl:
17917        * html/HTMLLinkElement.idl:
17918        * html/HTMLMapElement.idl:
17919        * html/HTMLMarqueeElement.idl:
17920        * html/HTMLMediaElement.idl:
17921        * html/HTMLMenuElement.idl:
17922        * html/HTMLMetaElement.idl:
17923        * html/HTMLModElement.idl:
17924        * html/HTMLOListElement.idl:
17925        * html/HTMLObjectElement.idl:
17926        * html/HTMLOptGroupElement.idl:
17927        * html/HTMLOptionElement.idl:
17928        * html/HTMLParagraphElement.idl:
17929        * html/HTMLParamElement.idl:
17930        * html/HTMLPreElement.idl:
17931        * html/HTMLQuoteElement.idl:
17932        * html/HTMLScriptElement.idl:
17933        * html/HTMLSelectElement.idl:
17934        * html/HTMLSourceElement.idl:
17935        * html/HTMLStyleElement.idl:
17936        * html/HTMLTableCaptionElement.idl:
17937        * html/HTMLTableCellElement.idl:
17938        * html/HTMLTableColElement.idl:
17939        * html/HTMLTableElement.idl:
17940        * html/HTMLTableRowElement.idl:
17941        * html/HTMLTableSectionElement.idl:
17942        * html/HTMLTextAreaElement.idl:
17943        * html/HTMLTitleElement.idl:
17944        * html/HTMLUListElement.idl:
17945        * html/HTMLVideoElement.idl:
17946        * html/ImageData.idl:
17947        * html/MediaError.idl:
17948        * html/TextMetrics.idl:
17949        * html/canvas/CanvasNumberArray.idl:
17950        * html/canvas/CanvasRenderingContext.idl:
17951        * html/canvas/CanvasRenderingContext2D.idl:
17952        * html/canvas/WebGLRenderingContext.idl:
17953        * inspector/InjectedScriptHost.idl:
17954        * inspector/InspectorBackend.idl:
17955        * inspector/InspectorFrontendHost.idl:
17956        * page/PositionError.idl:
17957        * plugins/MimeType.idl:
17958        * plugins/MimeTypeArray.idl:
17959        * plugins/Plugin.idl:
17960        * plugins/PluginArray.idl:
17961        * storage/Storage.idl:
17962        * storage/StorageEvent.idl:
17963        * svg/SVGAngle.idl:
17964        * svg/SVGColor.idl:
17965        * svg/SVGComponentTransferFunctionElement.idl:
17966        * svg/SVGException.idl:
17967        * svg/SVGFEBlendElement.idl:
17968        * svg/SVGFEColorMatrixElement.idl:
17969        * svg/SVGFECompositeElement.idl:
17970        * svg/SVGFEDisplacementMapElement.idl:
17971        * svg/SVGFEFloodElement.idl:
17972        * svg/SVGFEMorphologyElement.idl:
17973        * svg/SVGFETurbulenceElement.idl:
17974        * svg/SVGGradientElement.idl:
17975        * svg/SVGLength.idl:
17976        * svg/SVGMarkerElement.idl:
17977        * svg/SVGPaint.idl:
17978        * svg/SVGPathSeg.idl:
17979        * svg/SVGPreserveAspectRatio.idl:
17980        * svg/SVGRenderingIntent.idl:
17981        * svg/SVGTextContentElement.idl:
17982        * svg/SVGTextPathElement.idl:
17983        * svg/SVGTransform.idl:
17984        * svg/SVGUnitTypes.idl:
17985        * svg/SVGZoomAndPan.idl:
17986        * workers/AbstractWorker.idl:
17987        * workers/WorkerLocation.idl:
17988        * xml/DOMParser.idl:
17989        * xml/XMLHttpRequestException.idl:
17990        * xml/XMLHttpRequestProgressEvent.idl:
17991        * xml/XMLHttpRequestUpload.idl:
17992        * xml/XMLSerializer.idl:
17993        * xml/XPathEvaluator.idl:
17994        * xml/XPathException.idl:
17995        * xml/XPathExpression.idl:
17996        * xml/XPathResult.idl:
17997
179982009-12-23  Dumitru Daniliuc  <dumi@chromium.org>
17999
18000        Reviewed by Eric Seidel.
18001
18002        A new database should be registered with the Document,
18003        DatabaseTracker and DatabaseThread only after it was successfully
18004        opened and its version was successfully verified.
18005
18006        Fixes a regression introduced by
18007        http://trac.webkit.org/changeset/52530.
18008
18009        LayoutTests/storage/open-database-while-transaction-in-progress.html
18010        should pass again (or rather, it should pass again when run after
18011        open-database-set-empty-version.html).
18012
18013        https://bugs.webkit.org/show_bug.cgi?id=32913
18014
18015        * storage/Database.cpp:
18016        (WebCore::Database::openDatabase):
18017        (WebCore::Database::Database):
18018        (WebCore::Database::performOpenAndVerify):
18019
180202009-12-23  David Levin  <levin@chromium.org>
18021
18022        REGRESSION (r52494): Assertion failure in Frame::caretBlinkTimerFired() (selection()->isCaret())
18023        https://bugs.webkit.org/show_bug.cgi?id=32903
18024
18025        No review but ok'ed by Darin Adler. Rolling out r52494 due to above regression.
18026
18027        * editing/SelectionController.cpp:
18028        (WebCore::SelectionController::SelectionController):
18029        (WebCore::SelectionController::setSelection):
18030        * editing/SelectionController.h:
18031        * page/Frame.cpp:
18032        (WebCore::Frame::setCaretVisible):
18033        (WebCore::Frame::selectionLayoutChanged):
18034        * page/FrameView.cpp:
18035        (WebCore::FrameView::needsLayout):
18036
180372009-12-23  Nikolas Zimmermann  <nzimmermann@rim.com>
18038
18039        Reviewed by Eric Seidel.
18040
18041        Reverse JS GenerateConstructor logic
18042        https://bugs.webkit.org/show_bug.cgi?id=32910
18043
18044        Make 'GenerateConstructor' the default setting for all classes, defined in IDL files. The flag is now obsolete and
18045        can be removed from all IDL files in a follow-up patch. Add new 'OmitConstructor' flag, that allows to restore the
18046        old default behaviour: do not generate JSFoobarConstructor class.
18047
18048        No change in functionality, despite the fact that we're generating a lot more constructors now, as they have to
18049        be exposed through DOMWindow.idl -- this can be done per affected class in follow-up patches. Especially the SVG
18050        classes have to be exposed, most of them are missing JS constructors so far.
18051
18052        As side effect HTMLOptionsCollection is now correctly exposing its constructor, thus fixing a test in fast/dom/wrapper-classes.html
18053
18054        * bindings/scripts/CodeGeneratorJS.pm:
18055        * css/CSSUnknownRule.idl:
18056        * css/WebKitCSSMatrix.idl:
18057        * dom/EventListener.idl:
18058        * dom/EventTarget.idl:
18059        * dom/MessageChannel.idl:
18060        * html/TimeRanges.idl:
18061        * html/ValidityState.idl:
18062        * html/VoidCallback.idl:
18063        * html/canvas/CanvasGradient.idl:
18064        * html/canvas/CanvasPattern.idl:
18065        * html/canvas/CanvasPixelArray.idl:
18066        * html/canvas/WebGLActiveInfo.idl:
18067        * html/canvas/WebGLArray.idl:
18068        * html/canvas/WebGLArrayBuffer.idl:
18069        * html/canvas/WebGLBuffer.idl:
18070        * html/canvas/WebGLByteArray.idl:
18071        * html/canvas/WebGLFloatArray.idl:
18072        * html/canvas/WebGLFramebuffer.idl:
18073        * html/canvas/WebGLIntArray.idl:
18074        * html/canvas/WebGLProgram.idl:
18075        * html/canvas/WebGLRenderbuffer.idl:
18076        * html/canvas/WebGLShader.idl:
18077        * html/canvas/WebGLShortArray.idl:
18078        * html/canvas/WebGLTexture.idl:
18079        * html/canvas/WebGLUniformLocation.idl:
18080        * html/canvas/WebGLUnsignedByteArray.idl:
18081        * html/canvas/WebGLUnsignedIntArray.idl:
18082        * html/canvas/WebGLUnsignedShortArray.idl:
18083        * inspector/JavaScriptCallFrame.idl:
18084        * loader/appcache/DOMApplicationCache.idl:
18085        * notifications/Notification.idl:
18086        * notifications/NotificationCenter.idl:
18087        * page/AbstractView.idl:
18088        * page/BarInfo.idl:
18089        * page/Console.idl:
18090        * page/Coordinates.idl:
18091        * page/DOMSelection.idl:
18092        * page/DOMWindow.idl:
18093        * page/EventSource.idl:
18094        * page/Geolocation.idl:
18095        * page/Geoposition.idl:
18096        * page/History.idl:
18097        * page/Location.idl:
18098        * page/Navigator.idl:
18099        * page/Screen.idl:
18100        * page/WebKitPoint.idl:
18101        * page/WorkerNavigator.idl:
18102        * storage/Database.idl:
18103        * storage/SQLError.idl:
18104        * storage/SQLResultSet.idl:
18105        * storage/SQLResultSetRowList.idl:
18106        * storage/SQLTransaction.idl:
18107        * websockets/WebSocket.idl:
18108        * workers/DedicatedWorkerContext.idl:
18109        * workers/SharedWorker.idl:
18110        * workers/SharedWorkerContext.idl:
18111        * workers/Worker.idl:
18112        * workers/WorkerContext.idl:
18113        * xml/XMLHttpRequest.idl:
18114        * xml/XPathNSResolver.idl:
18115        * xml/XSLTProcessor.idl:
18116
181172009-12-23  Adam Barth  <abarth@webkit.org>
18118
18119        Reviewed by Eric Seidel.
18120
18121        "Refused to execute a JavaScript script" error when embedding SWF with
18122        a URL that is also a query parameter
18123        https://bugs.webkit.org/show_bug.cgi?id=32908
18124
18125        Don't block direct injections into the object src attribute unless
18126        there's an illegal character (like < or ") in the URL.  This change
18127        lets some very unusual vulnerabilities through the filter but removes a
18128        false positive that we've seen several times.
18129
18130        * page/XSSAuditor.cpp:
18131        (WebCore::XSSAuditor::canLoadObject):
18132
181332009-12-23  Dumitru Daniliuc  <dumi@chromium.org>
18134
18135        Reviewed by Dmitry Titov.
18136
18137        Remove pointers to a database that failed to open from the
18138        DatabaseTracker and Document.
18139
18140        https://bugs.webkit.org/show_bug.cgi?id=32885
18141
18142        * storage/Database.cpp:
18143        (WebCore::Database::openDatabase):
18144
181452009-12-23  Dan Bernstein  <mitz@apple.com>
18146
18147        Reviewed by Darin Adler.
18148
18149        <rdar://problem/7487164> First line of text cannot be selected
18150        https://bugs.webkit.org/show_bug.cgi?id=32749
18151
18152        Test: fast/text/remove-zero-length-run.html
18153
18154        * rendering/RenderText.cpp:
18155        (WebCore::RenderText::positionLineBox): Changed code that assumed that if a box was being
18156            removed, it was the only box in the RenderText. Instead, correctly preserve the list of
18157            text boxes.
18158        (WebCore::RenderText::checkConsistency): Updated for earlier rename.
18159
181602009-12-18  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
18161
18162        Reviewed by Darin Adler.
18163
18164        Fix for newlines turning into missing-gyphs when using SVG fonts
18165
18166        https://bugs.webkit.org/show_bug.cgi?id=32710
18167
18168        Font::drawText() has three code paths:
18169
18170          - drawTextUsingSVGFont()
18171          - drawSimpleText()
18172          - drawComplexText()
18173
18174        The latter two both have logic to replace newlines and tabs, as well
18175        as a few other control characters that are considered spaces, with
18176        spaces, before actually drawing the text. Previously the SVG font
18177        path did not have this kind of logic.
18178
18179        This change introduces two helper functions in Font to do this space
18180        replacement, which are then used for the simple path, the SVG path,
18181        and the Qt implementation of the complex path.
18182
18183        Test: svg/custom/svg-fonts-in-html-linebreaks.html
18184
18185        * platform/graphics/Font.cpp:
18186        (WebCore::Font::normalizeSpaces): Helper function
18187        * platform/graphics/Font.h:
18188        * platform/graphics/FontFastPath.cpp:
18189        (WebCore::Font::glyphDataForCharacter): Use helper
18190        * platform/graphics/qt/FontQt.cpp:
18191        (WebCore::fromRawDataWithoutRef): Rename from "qstring"
18192        (WebCore::Font::drawComplexText): Use helper
18193        (WebCore::Font::floatWidthForComplexText): Use helper
18194        (WebCore::Font::offsetForPositionForComplexText): Use helper
18195        (WebCore::Font::selectionRectForComplexText): Use helper
18196        * platform/text/CharacterNames.h: Add enum for 0x0020
18197        * svg/SVGFont.cpp: Use helper to fix bug
18198        (WebCore::SVGTextRunWalker::walk):
18199
182002009-12-23  Kent Tamura  <tkent@chromium.org>
18201
18202        Reviewed by Darin Adler.
18203
18204        HTMLInputElement::valueAsDate getter support.
18205        https://bugs.webkit.org/show_bug.cgi?id=32876
18206
18207        To implement the valueAsDate getter,
18208        - Add a method to calculate milliseconds from 1970-01-01 to ISODateTime.
18209        - Introduce m_type field to ISODateTime.
18210
18211        Tests: fast/forms/input-valueasdate-date.html
18212               fast/forms/input-valueasdate-datetime.html
18213               fast/forms/input-valueasdate-datetimelocal.html
18214               fast/forms/input-valueasdate-month.html
18215               fast/forms/input-valueasdate-time.html
18216               fast/forms/input-valueasdate-week.html
18217
18218        * html/HTMLInputElement.cpp:
18219        (WebCore::HTMLInputElement::valueAsDate):
18220          Implement it with ISODateTime::millisecondsSinceEpoch().
18221        (WebCore::HTMLInputElement::formStringToISODateTime):
18222          Early exit for a null String. This avoids assertion failures in ISODateTime::parse*().
18223        * html/ISODateTime.cpp:
18224        (WebCore::ISODateTime::parseMonth): Sets m_type.
18225        (WebCore::ISODateTime::parseDate): ditto.
18226        (WebCore::ISODateTime::parseWeek): ditto.
18227        (WebCore::ISODateTime::parseTime): ditto.
18228        (WebCore::ISODateTime::parseDateTimeLocal): ditto.
18229        (WebCore::ISODateTime::parseDateTime): ditto.
18230        (WebCore::ISODateTime::millisecondsSinceEpochForTime): Added.
18231        (WebCore::ISODateTime::millisecondsSinceEpoch): Added.
18232        * html/ISODateTime.h:
18233        (WebCore::ISODateTime::ISODateTime):
18234        (WebCore::ISODateTime::invalidMilliseconds):
18235
182362009-12-22  Daniel Bates  <dbates@webkit.org>
18237
18238        Reviewed by Eric Seidel.
18239
18240        https://bugs.webkit.org/show_bug.cgi?id=32799
18241
18242        Renames enums in RenderStyleConstants::EListStyleType to conform to
18243        the WebKit Code Style Guidelines.
18244
18245        No functionality was changed. So, no new tests.
18246
18247        * css/CSSPrimitiveValueMappings.h:
18248        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
18249        (WebCore::CSSPrimitiveValue::operator EListStyleType):
18250        * rendering/RenderListItem.cpp:
18251        (WebCore::RenderListItem::styleDidChange):
18252        * rendering/RenderListMarker.cpp:
18253        (WebCore::listMarkerText):
18254        (WebCore::RenderListMarker::paint):
18255        (WebCore::RenderListMarker::calcPrefWidths):
18256        (WebCore::RenderListMarker::updateMargins):
18257        (WebCore::RenderListMarker::getRelativeMarkerRect):
18258        * rendering/style/RenderStyle.h:
18259        (WebCore::InheritedFlags::initialListStyleType):
18260        * rendering/style/RenderStyleConstants.h:
18261        (WebCore::):
18262
182632009-12-22  James Su  <suzhe@chromium.org>
18264
18265        Reviewed by Darin Fisher.
18266
18267        [Chromium] Keyboard shortcut in dropdown not working.
18268        https://bugs.webkit.org/show_bug.cgi?id=32008
18269
18270        Consider PlatformKeyboardEvent::Char type event as character type
18271        event on all platforms. It fixes the "type ahead find" feature
18272        of the popup listbox on Linux and Mac platforms.
18273
18274        Merge the case-sensitive type ahead find fix from
18275        WebCore/dom/SelectElement.cpp. See
18276        https://bugs.webkit.org/show_bug.cgi?id=29103
18277
18278        * platform/chromium/PopupMenuChromium.cpp:
18279        (WebCore::isCharacterTypeEvent):
18280
182812009-12-22  Carol Szabo  <carol.szabo@nokia.com>
18282
18283        Reviewed by Eric Seidel.
18284
18285        [Qt] The "Search" input type is not rendered correctly when styled.
18286        https://bugs.webkit.org/show_bug.cgi?id=32417
18287
18288        There are no new tests because only pixel tests may be affected by
18289        this change and those changes can only be done on the build bot.
18290
18291        * platform/qt/RenderThemeQt.cpp:
18292        (WebCore::RenderThemeQt::paintSearchField):
18293        Since currently we paint the Search control as a QLineEdit, I have
18294        deferred painting to WebCore, as in the case of the text input so 
18295        that the painting is consistent.
18296
182972009-12-22  Yongjun Zhang  <yongjun.zhang@nokia.com>
18298
18299        Reviewed by Kenneth Rohde Christiansen.
18300
18301        https://bugs.webkit.org/show_bug.cgi?id=32121
18302        [Qt] implement ImageDecoderQt::clearFrameBufferCache().
18303       
18304        * platform/graphics/qt/ImageDecoderQt.cpp:
18305        (WebCore::ImageDecoderQt::initializeDecoder):
18306        (WebCore::ImageDecoderQt::setData):
18307        (WebCore::ImageDecoderQt::clearFrameBufferCache):
18308        * platform/graphics/qt/ImageDecoderQt.h:
18309
183102009-12-22  Nayan Kumar K  <nayankk@gmail.com>
18311
18312        Reviewed by Eric Seidel.
18313
18314        Fix assert failure with WML pages having 'Refresh' task in
18315        'onenterforward' event.
18316
18317        https://bugs.webkit.org/show_bug.cgi?id=30989
18318
18319        Writing Layout test is not possible. Please refer to the discussion
18320        in bug id #30989. A sample test case is attached in BugZilla.
18321
18322        * wml/WMLCardElement.cpp:
18323        (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
18324
183252009-12-22  Darin Adler  <darin@apple.com>
18326
18327        Reviewed by Sam Weinig.
18328
18329        ASSERTION FAILED: m_numNodeListCaches
18330        https://bugs.webkit.org/show_bug.cgi?id=19526
18331        <rdar://problem/7431572>
18332
18333        Test: fast/dom/NodeList/adoptNode-node-list-cache.html
18334
18335        * dom/Node.cpp:
18336        (WebCore::Node::setDocument): Call removeNodeListCache on the old
18337        document and addNodeListCache on the new one if moving a node that
18338        has node lists.
18339
183402009-12-22  Darin Adler  <darin@apple.com>
18341
18342        First cut at fixing Windows build.
18343
18344        * WebCorePrefix.cpp: Touch it.
18345
183462009-12-22  Darin Adler  <darin@apple.com>
18347
18348        Reviewed by Mark Rowe.
18349
18350        Turn off datagrid by default, at least for all platforms Apple ships.
18351        The datagrid implementation isn't ready for general web use yet.
18352
18353        * Configurations/FeatureDefines.xcconfig: Turn off datagrid by default.
18354        * WebCore.vcproj/WebCoreCommon.vsprops: Ditto.
18355        * WebCore.vcproj/build-generated-files.sh: Ditto.
18356        * page/DOMWindow.idl: Sorted things here to touch the file to give
18357        the Windows build a slightly better chance of success.
18358
183592009-12-22  Darin Adler  <darin@apple.com>
18360
18361        Rubber stamped by Dan Bernstein.
18362
18363        * page/FrameView.h: Removed incorrect comment.
18364
183652009-12-22  Pavel Feldman  <pfeldman@chromium.org>
18366
18367        Reviewed by Timothy Hatcher.
18368
18369        Web Inspector: simplify highlighter definition.
18370
18371        https://bugs.webkit.org/show_bug.cgi?id=32869
18372
18373        * inspector/front-end/CSSSourceSyntaxHighlighter.js:
18374        (WebInspector.CSSSourceSyntaxHighlighter):
18375        * inspector/front-end/JavaScriptSourceSyntaxHighlighter.js:
18376        (WebInspector.JavaScriptSourceSyntaxHighlighter.):
18377        (WebInspector.JavaScriptSourceSyntaxHighlighter):
18378        * inspector/front-end/SourceSyntaxHighlighter.js:
18379        (WebInspector.SourceSyntaxHighlighter.prototype.lex):
18380        * inspector/front-end/utilities.js:
18381        ():
18382
183832009-12-21  Darin Adler  <darin@apple.com>
18384
18385        Reviewed by Sam Weinig.
18386
18387        Reentrancy problem with selection in some edge cases.
18388        https://bugs.webkit.org/show_bug.cgi?id=32842
18389        rdar://problem/7449974
18390
18391        Test: fast/forms/selection-layout-reentry-strange-case.html
18392
18393        Move the selection display update process done in the
18394        selectionLayoutChanged function into the layout timer
18395        instead of doing it immediately when selection changes occur.
18396
18397        * editing/SelectionController.cpp:
18398        (WebCore::SelectionController::SelectionController):
18399        Initialize m_needsDisplayUpdate to false.
18400        (WebCore::SelectionController::setSelection): Call
18401        the new setNeedsDisplayUpdate function instead of the old
18402        badly named Frame::selectionLayoutChanged function.
18403        (WebCore::SelectionController::setNeedsDisplayUpdate):
18404        Set m_needsDisplayUpdate. If it is just becoming true, then
18405        call FrameView::scheduleRelayout.
18406
18407        * editing/SelectionController.h: Added setNeedsDisplayUpdate,
18408        needsDisplayUpdate, and m_needsDisplayUpdate.
18409
18410        * page/Frame.cpp:
18411        (WebCore::Frame::setCaretVisible): Call setNeedsDisplayUpdate.
18412        (WebCore::Frame::selectionLayoutChanged): Call
18413        setNeedsDisplayUpdate to set it to false, since this is the
18414        function that performs "selection display update". Later I want
18415        to rename this function.
18416
18417        * page/FrameView.cpp:
18418        (WebCore::FrameView::needsLayout): Add a new clause, since
18419        we need a call to layout if needsDisplayUpdate is true.
18420
184212009-12-22  Kwang Yul Seo  <skyul@company100.net>
18422
18423        Reviewed by Darin Adler.
18424
18425        Allocate RemoteFontStream on the heap
18426        https://bugs.webkit.org/show_bug.cgi?id=32850
18427
18428        RemoteFontStream is allocated on the stack, so its memory is freed
18429        immediately when FontCustomPlatformData::createFontCustomPlatformData
18430        returns. 
18431
18432        SkTypeface::CreateFromStream increments the reference count, but it keeps
18433        the pointer to the memory allocated on the stack which is not valid
18434        anymore.
18435
18436        RemoteFontStream is a descendant of SkRefCount and SkRefCount::unref
18437        invokes SkDELETE(this) internally once the reference count reaches zero.
18438        This means that SkRefCount-ed instances must be allocated on the heap.
18439
18440        * platform/graphics/chromium/FontCustomPlatformData.cpp:
18441        (WebCore::createFontCustomPlatformData):
18442
184432009-12-22  Kwang Yul Seo  <skyul@company100.net>
18444
18445        Reviewed by Darin Adler.
18446
18447        when condition COMPILER(RVCT) is fulfilled, we are trying to free a pointer to array allocated on the stack
18448        https://bugs.webkit.org/show_bug.cgi?id=32861
18449
18450        Don't free the pointer for COMPILER(RVCT).
18451
18452        * dom/XMLTokenizerLibxml2.cpp:
18453        (WebCore::XMLTokenizer::error):
18454
184552009-12-22  Sam Weinig  <sam@webkit.org>
18456
18457        Rubber-stamped by Dan Bernstein.
18458
18459        Remove no longer necessary experimental single view #ifdefs from Widget and
18460        ScrollView.
18461
18462        * page/Chrome.h:
18463        * page/mac/ChromeMac.mm:
18464        * platform/ScrollView.cpp:
18465        (WebCore::ScrollView::wheelEvent):
18466        * platform/Widget.cpp:
18467        * platform/Widget.h:
18468        * platform/mac/ScrollViewMac.mm:
18469        * platform/mac/WidgetMac.mm:
18470
184712009-12-21  Pavel Feldman  <pfeldman@chromium.org>
18472
18473        Reviewed by Timothy Hatcher.
18474
18475        Web Inspector: Do not lose original request for non-main resource redirects.
18476
18477        https://bugs.webkit.org/show_bug.cgi?id=32678
18478
18479        * inspector/InspectorResource.cpp:
18480        (WebCore::InspectorResource::appendRedirect):
18481        * inspector/front-end/Resource.js:
18482        (WebInspector.Resource):
18483        * inspector/front-end/inspector.js:
18484        (WebInspector.updateResource):
18485
184862009-12-21  Kwang Yul Seo  <skyul@company100.net>
18487
18488        Reviewed by Eric Seidel.
18489
18490        Use ASSERT instead of assert in image-decoders
18491        https://bugs.webkit.org/show_bug.cgi?id=32852
18492
18493        Other decoders use WTF's ASSERT macro.
18494        Follow this convention.
18495
18496        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
18497        (WebCore::JPEGImageReader::decode):
18498        * platform/image-decoders/png/PNGImageDecoder.cpp:
18499        (WebCore::PNGImageDecoder::headerAvailable):
18500
185012009-12-21  Kwang Yul Seo  <skyul@company100.net>
18502
18503        Reviewed by Eric Seidel.
18504
18505        Use vsnprintf instead of vasprintf for RVCT.
18506        https://bugs.webkit.org/show_bug.cgi?id=32851
18507
18508        RVCT does not support vasprint, so use vsnprintf instead.
18509
18510        * dom/XMLTokenizerLibxml2.cpp:
18511        (WebCore::XMLTokenizer::error):
18512
185132009-12-21  Fumitoshi Ukai  <ukai@chromium.org>
18514
18515        Reviewed by Alexey Proskuryakov.
18516
18517        Invalid url should raise SYNTAX_ERR exception.
18518        https://bugs.webkit.org/show_bug.cgi?id=32700
18519
18520        Check url is valid in WebSocket::connect.
18521        Also log the detailed reason of websocket failures to console.
18522
18523        * websockets/WebSocket.cpp:
18524        (WebCore::encodeProtocolString):
18525        (WebCore::WebSocket::connect):
18526
185272009-12-21  Anders Carlsson  <andersca@apple.com>
18528
18529        Reviewed by Sam Weinig.
18530
18531        Make sure that we check for the right thread.
18532
18533        * platform/mac/WebCoreObjCExtras.mm:
18534        (WebCoreObjCScheduleDeallocateOnMainThread):
18535
185362009-12-21  Enrica Casucci  <enrica@apple.com>
18537
18538        Reviewed by Maciej Stachowiak.
18539
18540        REGRESSION(4.0.4-ToT): Indent deletes non highlighted text in gmail.
18541        <rdar://problem/7489326>
18542        https://bugs.webkit.org/show_bug.cgi?id=32843
18543        
18544        The fix for 7442387 did not handle the case where the end of paragraph
18545        is not a descendant of the computed outer block.
18546        Updated editing/execCommand/indent-with-style2.html to cover this case too.
18547
18548        * editing/CompositeEditCommand.cpp:
18549        (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement): 
18550
185512009-12-21  Gavin Barraclough  <barraclough@apple.com>
18552
18553        Reviewed by Darin Adler.
18554
18555        https://bugs.webkit.org/show_bug.cgi?id=32831
18556        Replace UString::Rep implementation, following introduction of ropes to JSC.
18557
18558        * ForwardingHeaders/runtime/UStringImpl.h: Added.
18559            - add forwarding header.
18560
18561        * platform/text/StringImpl.cpp:
18562        (WebCore::StringImpl::ustring):
18563            - order of arguments to UString::Rep constructor for shared strings changed.
18564
185652009-12-18  Nate Chapin  <japhet@chromium.org>
18566
18567        Reviewed by Adam barth.
18568
18569        Generate V8 bindings non-constructor callback declarations 
18570        in CodeGeneratorV8.pm instead of manually declaring them in
18571        V8CustomBinding.h.
18572
18573        https://bugs.webkit.org/show_bug.cgi?id=32638
18574
18575        * bindings/scripts/CodeGeneratorV8.pm:
18576        * bindings/v8/V8DOMWrapper.cpp:
18577        * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
18578        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
18579        * bindings/v8/custom/V8ClipboardCustom.cpp:
18580        * bindings/v8/custom/V8ConsoleCustom.cpp:
18581        * bindings/v8/custom/V8CustomBinding.h:
18582        * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
18583        * bindings/v8/custom/V8DOMParserConstructor.cpp:
18584        * bindings/v8/custom/V8DOMWindowCustom.cpp:
18585        * bindings/v8/custom/V8DatabaseCustom.cpp:
18586        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
18587        * bindings/v8/custom/V8DocumentCustom.cpp:
18588        * bindings/v8/custom/V8GeolocationCustom.cpp:
18589        * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
18590        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
18591        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
18592        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
18593        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
18594        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
18595        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
18596        * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
18597        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
18598        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
18599        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
18600        * bindings/v8/custom/V8HTMLPlugInElementCustom.h: Added.
18601        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
18602        * bindings/v8/custom/V8HistoryCustom.cpp:
18603        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
18604        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
18605        * bindings/v8/custom/V8LocationCustom.cpp:
18606        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
18607        * bindings/v8/custom/V8MessageEventCustom.cpp:
18608        * bindings/v8/custom/V8MessagePortCustom.cpp:
18609        * bindings/v8/custom/V8NodeCustom.cpp:
18610        * bindings/v8/custom/V8NodeFilterCustom.cpp:
18611        * bindings/v8/custom/V8NodeIteratorCustom.cpp:
18612        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
18613        * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
18614        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
18615        * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
18616        * bindings/v8/custom/V8SVGLengthCustom.cpp:
18617        * bindings/v8/custom/V8SVGMatrixCustom.cpp:
18618        * bindings/v8/custom/V8SharedWorkerCustom.cpp:
18619        * bindings/v8/custom/V8TreeWalkerCustom.cpp:
18620        * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
18621        * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
18622        * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
18623        * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
18624        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
18625        * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
18626        * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
18627        * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
18628        * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
18629        * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
18630        * bindings/v8/custom/V8WebKitPointConstructor.cpp:
18631        * bindings/v8/custom/V8WebSocketCustom.cpp:
18632        * bindings/v8/custom/V8WorkerContextCustom.cpp:
18633        * bindings/v8/custom/V8WorkerCustom.cpp:
18634        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
18635        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
18636        * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
18637        * bindings/v8/custom/V8XMLSerializerConstructor.cpp:
18638        * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp:
18639        * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
18640
186412009-12-21  Nate Chapin  <japhet@chromium.org>
18642
18643        Rubber-stamped by Darin Adler.
18644
18645        Revert r52446 due to crashiness.
18646
18647        https://bugs.webkit.org/show_bug.cgi?id=32839
18648
18649        * loader/DocumentThreadableLoader.cpp:
18650        (WebCore::DocumentThreadableLoader::loadRequest):
18651        * loader/FrameLoader.cpp:
18652        (WebCore::FrameLoader::FrameLoader):
18653        (WebCore::FrameLoader::stopLoading):
18654        (WebCore::FrameLoader::loadURL):
18655        (WebCore::FrameLoader::loadWithDocumentLoader):
18656        (WebCore::FrameLoader::stopAllLoaders):
18657        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
18658        (WebCore::FrameLoader::pageHidden):
18659        * loader/FrameLoader.h:
18660        (WebCore::FrameLoader::suppressOpenerInNewFrame):
18661        * loader/Request.cpp:
18662        (WebCore::Request::Request):
18663        (WebCore::Request::~Request):
18664        * loader/Request.h:
18665        * loader/SubresourceLoader.cpp:
18666        (WebCore::SubresourceLoader::create):
18667        * loader/SubresourceLoader.h:
18668        * loader/loader.cpp:
18669        (WebCore::Loader::load):
18670        (WebCore::Loader::cancelRequests):
18671        (WebCore::Loader::Host::servePendingRequests):
18672        (WebCore::Loader::Host::cancelPendingRequests):
18673        (WebCore::Loader::Host::cancelRequests):
18674
186752009-12-19  Kent Tamura  <tkent@chromium.org>
18676
18677        Reviewed by Adam Barth.
18678
18679        Add support for V8 Date binding.
18680        https://bugs.webkit.org/show_bug.cgi?id=32699
18681
18682        This implements the same behavior as the recent change of
18683        CodeGeneratorJS.pm and JSDOMBinding.cpp.
18684
18685        * bindings/scripts/CodeGeneratorV8.pm:
18686          Produce toWebCoreDate() or v8DateOrNull() for Date type.
18687        * bindings/v8/V8Binding.cpp:
18688        (WebCore::toWebCoreDate):
18689          Converts a JavaScript object to a double representing Date.
18690        (WebCore::v8DateOrNull):
18691          Converts a double representing Date to a JavaScript Date object or null.
18692        * bindings/v8/V8Binding.h: Declare toWebCoreDate() and v8DateOrNull().
18693        * html/HTMLInputElement.idl: Delete V8_BINGIN exclusion for valueAsDate.
18694
186952009-12-21  Darin Adler  <darin@apple.com>
18696
18697        Reviewed by Mark Rowe.
18698
18699        Renamed m_sel to m_selection. Used do-webcore-rename.
18700
18701        * editing/SelectionController.cpp:
18702        (WebCore::SelectionController::setSelection):
18703        (WebCore::SelectionController::nodeWillBeRemoved):
18704        (WebCore::SelectionController::willBeModified):
18705        (WebCore::SelectionController::directionOfEnclosingBlock):
18706        (WebCore::SelectionController::modifyExtendingRight):
18707        (WebCore::SelectionController::modifyExtendingForward):
18708        (WebCore::SelectionController::modifyMovingRight):
18709        (WebCore::SelectionController::modifyMovingForward):
18710        (WebCore::SelectionController::modifyExtendingLeft):
18711        (WebCore::SelectionController::modifyExtendingBackward):
18712        (WebCore::SelectionController::modifyMovingLeft):
18713        (WebCore::SelectionController::modifyMovingBackward):
18714        (WebCore::SelectionController::modify):
18715        (WebCore::SelectionController::expandUsingGranularity):
18716        (WebCore::SelectionController::xPosForVerticalArrowNavigation):
18717        (WebCore::SelectionController::setBase):
18718        (WebCore::SelectionController::setExtent):
18719        (WebCore::SelectionController::layout):
18720        (WebCore::SelectionController::caretRenderer):
18721        (WebCore::SelectionController::invalidateCaretRect):
18722        (WebCore::SelectionController::paintCaret):
18723        (WebCore::SelectionController::debugRenderer):
18724        (WebCore::SelectionController::contains):
18725        (WebCore::SelectionController::selectAll):
18726        (WebCore::SelectionController::formatForDebugger):
18727        (WebCore::SelectionController::showTreeForThis):
18728        * editing/SelectionController.h:
18729        * editing/gtk/SelectionControllerGtk.cpp:
18730        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
18731        * editing/mac/SelectionControllerMac.mm:
18732        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
18733        Let the script do its thing. Made sure no tests broke.
18734
187352009-12-21  Carol Szabo  <carol.szabo@nokia.com>
18736
18737        Reviewed by Darin Adler.
18738
18739        Inconsistent use of counterName and identifier in CSS counter code and loss of information about the counter type.
18740        https://bugs.webkit.org/show_bug.cgi?id=31814
18741
18742        No new tests because there are no functional changes in this patch.
18743
18744        * rendering/CounterNode.cpp:
18745        (WebCore::CounterNode::CounterNode):
18746        (WebCore::CounterNode::computeCountInParent):
18747        (WebCore::showTreeAndMark):
18748        * rendering/RenderCounter.cpp:
18749        (WebCore::planCounter):
18750        (WebCore::findPlaceForCounter):
18751        (WebCore::makeCounterNode):
18752        (WebCore::RenderCounter::originalText):
18753        Changed to use identifier instead of counterName and actsAsReset or hasResetType, as appropriate instead of isReset.
18754        * rendering/CounterNode.h:
18755        (WebCore::CounterNode::actsAsReset):
18756        (WebCore::CounterNode::hasResetType):
18757
187582009-12-21  Dirk Schulze  <krit@webkit.org>
18759
18760        Reviewed by Darin Adler and Nikolas Zimmermann.
18761
18762        Speed-up SVG Masking
18763        https://bugs.webkit.org/show_bug.cgi?id=32738
18764
18765        This patch makes SVG Masking faster. The luminance calculaton of the ImageBuffer,
18766        that is created by pixel manipulation, got optimized. The ImageBuffer and it's
18767        luminance is created once now, not on every call of applyMask.
18768        The size of the intermediate ImageBuffer depends on the visible area now and is
18769        clipped by the mask rect.
18770        
18771        The patch doesn't change functionality so no new tests needed.
18772        The new ImageBuffer handling in Mask causes two updates of test results. The pixel
18773        tests and LayoutTests pass, but the checksum doesn't match.
18774
18775        * svg/SVGMaskElement.cpp:
18776        (WebCore::SVGMaskElement::drawMaskerContent):
18777        * svg/graphics/SVGResourceMasker.cpp:
18778        (WebCore::SVGResourceMasker::applyMask):
18779
187802009-12-21  Andreas Kling  <andreas.kling@nokia.com>
18781
18782        Reviewed by Darin Adler.
18783
18784        Fix assertion failure when dragging an SVG image.
18785        https://bugs.webkit.org/show_bug.cgi?id=32511
18786
18787        Test: fast/images/drag-svg-as-image.html
18788
18789        * svg/graphics/SVGImage.cpp:
18790        (WebCore::SVGImage::filenameExtension): Return "svg"
18791        * svg/graphics/SVGImage.h:
18792
187932009-12-17  Philippe Normand  <pnormand@igalia.com>
18794
18795        Reviewed by Xan Lopez.
18796
18797        [GTK] G_OBJECT() cast is not necessary for signals connection and properties access
18798        https://bugs.webkit.org/show_bug.cgi?id=32661
18799
18800        Removed useless calls to the G_OBJECT() macro and replaced NULL
18801        occurences with a SENTINEL macro.
18802
18803        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
18804        (WebCore::MediaPlayerPrivate::hasVideo):
18805        (WebCore::MediaPlayerPrivate::hasAudio):
18806        (WebCore::MediaPlayerPrivate::setVolume):
18807        (WebCore::MediaPlayerPrivate::createGSTPlayBin):
18808
188092009-12-21  Nate Chapin  <japhet@chromium.org>
18810
18811        Reviewed by Darin Adler.
18812
18813        If an image load is started during an unload or beforeunload event, run it
18814        asynchronously (and allow it to outlive its page) so navigation can continue 
18815        while the load completes.
18816
18817        https://bugs.webkit.org/show_bug.cgi?id=30457
18818
18819        Tests: http/tests/navigation/image-load-in-beforeunload-handler.html
18820               http/tests/navigation/image-load-in-unload-handler.html
18821
18822        * loader/DocumentThreadableLoader.cpp:
18823        (WebCore::DocumentThreadableLoader::loadRequest): 
18824        * loader/FrameLoader.cpp: Rename m_unloadEventBeingDispatched to m_isDispatchingUnloadEvent.
18825        (WebCore::FrameLoader::FrameLoader):
18826        (WebCore::FrameLoader::stopLoading):
18827        (WebCore::FrameLoader::loadURL):
18828        (WebCore::FrameLoader::loadWithDocumentLoader):
18829        (WebCore::FrameLoader::stopAllLoaders):
18830        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Set m_isDispatchingBeforeUnloadEvent.
18831        (WebCore::FrameLoader::pageHidden):
18832        * loader/FrameLoader.h:
18833        (WebCore::FrameLoader::isDispatchingUnloadFamilyEvent): Added.
18834        * loader/Request.cpp:
18835        (WebCore::Request::Request): Add OutlivePagePolicy to constructor parameters
18836        * loader/Request.h:
18837        (WebCore::): Add OutlivePagePolicy enum.
18838        (WebCore::Request::shouldOutlivePage): Added.
18839        (WebCore::Request::frame): Added.
18840        * loader/SubresourceLoader.cpp:
18841        (WebCore::SubresourceLoader::create): Change one of the security checks to an outlive page check.
18842        * loader/SubresourceLoader.h:
18843        * loader/loader.cpp:
18844        (WebCore::Loader::load): Add OutlivePagePolicy to Request constructor call,
18845             ensure requests that should outlive page are done asynchronously.
18846        (WebCore::Loader::cancelRequests): Remove ending ASSERT since it will now be hard to predict how
18847             many requests might possibly outlive a cancel in every case.
18848        (WebCore::Loader::Host::servePendingRequests): Use the correct frame in the case of a request outliving its page.
18849        (WebCore::Loader::Host::cancelPendingRequests): Ensure we don't cancel request that should outlive their page.
18850        (WebCore::Loader::Host::cancelRequests): Ensure we don't cancel request that should outlive their page.
18851
188522009-12-18  Adam Roben  <aroben@apple.com>
18853
18854        Fix Windows build warnings
18855
18856        * WebCore.vcproj/WebCore.vcproj: Exclude SVG files from the build that
18857        are compiled via SVGAllInOne.cpp.
18858
188592009-12-20  Pavel Feldman  <pfeldman@chromium.org>
18860
18861        Reviewed by Timothy Hatcher.
18862
18863        Web Inspector: Can’t copy outer html of selected node.
18864        Also adds "Copy as HTML" context menu item.
18865
18866        https://bugs.webkit.org/show_bug.cgi?id=32802
18867
18868        * English.lproj/localizedStrings.js:
18869        * inspector/front-end/ElementsTreeOutline.js:
18870        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
18871        * inspector/front-end/inspector.js:
18872        (WebInspector.documentCanCopy):
18873
188742009-12-20  Pavel Feldman  <pfeldman@chromium.org>
18875
18876        Reviewed by Eric Seidel.
18877
18878        Web Inspector: extract syntax highlighters into separate files.
18879
18880        https://bugs.webkit.org/show_bug.cgi?id=32803
18881
18882        * WebCore.gypi:
18883        * WebCore.vcproj/WebCore.vcproj:
18884        * inspector/front-end/CSSSourceSyntaxHighlighter.js: Added.
18885        (WebInspector.CSSSourceSyntaxHighlighter):
18886        * inspector/front-end/JavaScriptSourceSyntaxHighlighter.js: Added.
18887        (WebInspector.JavaScriptSourceSyntaxHighlighter):
18888        (WebInspector.JavaScriptSourceSyntaxHighlighter.):
18889        * inspector/front-end/SourceFrame.js:
18890        * inspector/front-end/SourceSyntaxHighlighter.js: Added.
18891        (WebInspector.SourceSyntaxHighlighter):
18892        (WebInspector.SourceSyntaxHighlighter.prototype.createSpan):
18893        (WebInspector.SourceSyntaxHighlighter.prototype.process.processChunk):
18894        (WebInspector.SourceSyntaxHighlighter.prototype.process.moveToNextLine):
18895        (WebInspector.SourceSyntaxHighlighter.prototype.process):
18896        (WebInspector.SourceSyntaxHighlighter.prototype.lex):
18897        (WebInspector.SourceSyntaxHighlighter.prototype.appendNonToken):
18898        (WebInspector.SourceSyntaxHighlighter.prototype.syntaxHighlightNode):
18899        * inspector/front-end/WebKit.qrc:
18900        * inspector/front-end/inspector.html:
18901
189022009-12-18  Julien Chaffraix  <jchaffraix@pleyo.com>
18903
18904        Reviewed by Darin Adler.
18905
18906        defersLoading is disabled in current libcURL.
18907        https://bugs.webkit.org/show_bug.cgi?id=32707
18908
18909        Basically this change reverts r49577 that was totally wrong.
18910        According to curlver.h, LIBCURL_VERSION_NUM is a
18911        "6-digit (24 bits) hexadecimal number".
18912
18913        The check should be against 0x071200 (7.18) as it was originally the case.
18914
18915       * platform/network/curl/ResourceHandleManager.cpp:
18916        (WebCore::ResourceHandleManager::initializeHandle): Use the right check.
18917        * platform/network/curl/ResourceHandleCurl.cpp:
18918        (WebCore::ResourceHandle::setDefersLoading): Ditto. Also removed a print
18919        to use a LOG_ERROR instead.
18920 
189212009-12-20  Kent Tamura  <tkent@chromium.org>
18922
18923        Reviewed by Darin Adler.
18924
18925        Add support for JavaScriptCore Date binding.
18926        https://bugs.webkit.org/show_bug.cgi?id=32698
18927
18928        This is needed for HTMLInputElement::valueAsDate and
18929        HTMLTimeElement::valueAsDate.
18930
18931        A Date instance is mapped to a double value in C++.
18932        - If null or undefined is set to a JavaScript property, C++ setter
18933          function receives NaN.
18934        - If a getter C++ function returns NaN or infinity, a JavaScript
18935          property returns null.
18936
18937        Test: fast/forms/input-valueasdate.html
18938
18939        * bindings/js/JSDOMBinding.cpp:
18940        (WebCore::jsDateOrNull): Implement the above.
18941        (WebCore::valueToDate): ditto.
18942        * bindings/js/JSDOMBinding.h: Declare them.
18943        * bindings/scripts/CodeGeneratorJS.pm: Produce jsDateOrNull() or
18944          valueToDate() for Date type.
18945        * html/HTMLInputElement.cpp:
18946        (WebCore::HTMLInputElement::valueAsDate): Temporal implementation.
18947        (WebCore::HTMLInputElement::setValueAsDate): ditto.
18948        * html/HTMLInputElement.h:
18949        * html/HTMLInputElement.idl: Declare valueAsDate.
18950
189512009-12-20  Kent Tamura  <tkent@chromium.org>
18952
18953        Reviewed by Darin Adler.
18954
18955        Introduce the followings:
18956          - ::-webkit-inner-spin-button pseudo CSS selector
18957          - ::-webkit-outer-spin-button pseudo CSS selector
18958          - new appearance type: inner-spin-button
18959          - new appearance type: outer-spin-button
18960        They're going to be used for <input type=number> UI.
18961        https://bugs.webkit.org/show_bug.cgi?id=31821
18962
18963        Inner-spin-button will be used for Windows, and outer-spin-button
18964        will be used for Mac. A spin-button will represent a pair of an
18965        increasing button part and a decreasing button part. SpinUpState,
18966        which is defined in ThemeTypes.h, will be used to distinguish
18967        these two parts.
18968
18969        The outer-spin-button implementation will use NSStepperCell.
18970        NSStepperCell represents the pair of the parts and we can't draw them
18971        independently. So a spin-button also represents the pair of the parts.
18972
18973        This change has no tests.  The following changes with tests will cover.
18974
18975        * css/CSSPrimitiveValueMappings.h:
18976        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
18977        * css/CSSSelector.cpp:
18978        (WebCore::CSSSelector::extractPseudoType):
18979        * css/CSSSelector.h:
18980        (WebCore::CSSSelector::):
18981        * css/CSSStyleSelector.cpp:
18982        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
18983        * css/CSSValueKeywords.in:
18984        * css/html.css:
18985        * platform/ThemeTypes.h:
18986        (WebCore::ControlState): Add SpinUpState.
18987        (WebCore::ControlPart): Add InnerSpinButtonPart and OuterSpinButtonPart.
18988        * rendering/RenderTheme.cpp:
18989        (WebCore::RenderTheme::adjustStyle):
18990        (WebCore::RenderTheme::paint):
18991        (WebCore::RenderTheme::adjustInnerSpinButtonStyle): Add an empty implementation.
18992        (WebCore::RenderTheme::adjustOuterSpinButtonStyle): Add an empty implementation.
18993        * rendering/RenderTheme.h:
18994        (WebCore::RenderTheme::paintInnerSpinButton): Add an empty implementation.
18995        (WebCore::RenderTheme::paintOuterSpinButton): Add an empty implementation.
18996        * rendering/style/RenderStyleConstants.h:
18997        (WebCore::PseudoId): Add INNER_SPIN_BUTTON and OUTER_SPIN_BUTTON.
18998
189992009-12-20  Nayan Kumar K  <nayankk@gmail.com>
19000
19001        Reviewed by Darin Adler.
19002
19003        Fix for compilation errors in WML module, due to the changeset #52314.
19004        https://bugs.webkit.org/show_bug.cgi?id=32786
19005
19006        No new tests, this is compilation error fix.
19007
19008        * wml/WMLDocument.cpp:
19009        * wml/WMLPageState.cpp:
19010        * wml/WMLPageState.h:
19011
190122009-12-20  Dan Bernstein  <mitz@apple.com>
19013
19014        Reviewed by Mark Rowe.
19015
19016        <rdar://problem/7487689> REGRESSION (r52203): Inspector console uses
19017        Monaco on Snow Leopard
19018        https://bugs.webkit.org/show_bug.cgi?id=32775
19019
19020        * inspector/front-end/inspector.css: Use the default monospace family
19021        and size.
19022
190232009-12-20  Martin Robinson  <martin.james.robinson@gmail.com>
19024
19025        Reviewed by Xan Lopez.
19026
19027        [GTK] Remove more GTK+ and GLib headers from WebCore
19028        https://bugs.webkit.org/show_bug.cgi?id=32795
19029
19030        Remove most GTK+ and GLib includes from WebCore headers.
19031
19032        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
19033        * platform/gtk/PasteboardHelper.h:
19034        * platform/gtk/RenderThemeGtk.cpp:
19035        * platform/gtk/RenderThemeGtk.h:
19036        * platform/gtk/ScrollbarGtk.cpp:
19037        * platform/gtk/ScrollbarThemeGtk.h:
19038        * platform/gtk/gtk2drawing.c:
19039        * platform/gtk/gtkdrawing.h:
19040
190412009-12-20  Kevin Ollivier  <kevino@theolliviers.com>
19042
19043        [wx] build fixes after recent changes.
19044
19045        * bindings/BindingSecurityBase.cpp: Removed V8 header in common code.
19046        * platform/wx/ContextMenuWx.cpp: Added missing header.
19047        * plugins/mac/PluginViewMac.cpp: Added missing header.
19048
190492009-12-20  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
19050
19051        Reviewed by Xan Lopez.
19052
19053        Hopefully fix the assertion we are hitting by not forcing updating
19054        the state of scrollbars when setting the adjustments. This was
19055        leading to a premature layout.
19056
19057        fast/dom/open-and-close-by-DOM.html
19058        fast/dom/Window/closure-access-after-navigation-window.html
19059        fast/harness/use-page-cache.html
19060
19061        * platform/gtk/ScrollViewGtk.cpp:
19062        (WebCore::ScrollView::setGtkAdjustments):
19063
190642009-12-20  Pavel Feldman  <pfeldman@chromium.org>
19065
19066        Reviewed by Darin Adler.
19067
19068        Web Inspector: Constrain the number of messages the inspector shows.
19069
19070        https://bugs.webkit.org/show_bug.cgi?id=20919
19071
19072        * English.lproj/localizedStrings.js:
19073        * inspector/InspectorController.cpp:
19074        (WebCore::InspectorController::InspectorController):
19075        (WebCore::InspectorController::addConsoleMessage):
19076        (WebCore::InspectorController::clearConsoleMessages):
19077        (WebCore::InspectorController::populateScriptObjects):
19078        * inspector/InspectorController.h:
19079        * inspector/InspectorFrontend.cpp:
19080        (WebCore::InspectorFrontend::updateConsoleMessageExpiredCount):
19081        * inspector/InspectorFrontend.h:
19082        * inspector/front-end/inspector.js:
19083        (WebInspector.updateConsoleMessageExpiredCount):
19084
190852009-12-20  Andrei Popescu  <andreip@google.com>
19086
19087        Reviewed by Adam Barth.
19088
19089        [Android] Android needs implementation of setCookies, cookies and cookiesEnabled functions.
19090        https://bugs.webkit.org/show_bug.cgi?id=32559
19091
19092        Add implementation of the cookie functions.
19093        Fix a crash caused by dereferencing a 0 MainResourceLoader pointer
19094        in ResourceHandle::start().
19095
19096        No new tests, this is platform code.
19097
19098        * platform/android/PlatformBridge.h:
19099        * platform/network/android/AuthenticationChallenge.h: Added.
19100        * platform/network/android/CookieJarAndroid.cpp: Added.
19101        (WebCore::setCookies):
19102        (WebCore::cookies):
19103        (WebCore::cookiesEnabled):
19104        * platform/network/android/ResourceHandleAndroid.cpp:
19105        (WebCore::ResourceHandle::start):
19106
191072009-12-19  Eric Seidel  <eric@webkit.org>
19108
19109        No review, rolling out r52395.
19110        http://trac.webkit.org/changeset/52395
19111
19112        * svg/SVGMaskElement.cpp:
19113        (WebCore::SVGMaskElement::drawMaskerContent):
19114        * svg/SVGMaskElement.h:
19115        * svg/graphics/SVGResourceMasker.cpp:
19116        (WebCore::SVGResourceMasker::applyMask):
19117        * svg/graphics/SVGResourceMasker.h:
19118
191192009-12-19  Adam Barth  <abarth@webkit.org>
19120
19121        No review, rolling out r52399.
19122        http://trac.webkit.org/changeset/52399
19123
19124        * websockets/WebSocket.cpp:
19125        (WebCore::WebSocket::connect):
19126
191272009-12-19  Adam Barth  <abarth@webkit.org>
19128
19129        Reviewed by Eric Seidel.
19130
19131        Added a missing "not".
19132
19133        Test: http/tests/security/xss-DENIED-window-open-javascript-url.html
19134
19135        * bindings/v8/custom/V8DOMWindowCustom.cpp:
19136        (WebCore::createWindow):
19137
191382009-12-19  Fumitoshi Ukai  <ukai@chromium.org>
19139
19140        Reviewed by Alexey Proskuryakov.
19141
19142        Invalid url should raise SYNTAX_ERR exception.
19143        https://bugs.webkit.org/show_bug.cgi?id=32700
19144
19145        Check url is valid in WebSocket::connect.
19146        Also log the detailed reason of websocket failures to console.
19147
19148        * websockets/WebSocket.cpp:
19149        (WebCore::WebSocket::connect):
19150
191512009-12-19  Dan Bernstein  <mitz@apple.com>
19152
19153        Reviewed by Darin Adler.
19154
19155        REGRESSION: Up/down arrow keys do not step numeric CSS property values
19156        https://bugs.webkit.org/show_bug.cgi?id=32776
19157
19158        * inspector/front-end/inspector.js:
19159        (WebInspector.documentKeyDown): Call the focused element’s
19160        handleKeyEvent method.
19161
191622009-12-19  Dirk Schulze  <krit@webkit.org>
19163
19164        Reviewed by Nikolas Zimmermann.
19165
19166        Speed-up SVG Masking
19167        https://bugs.webkit.org/show_bug.cgi?id=32738
19168
19169        This patch makes SVG Masking faster. At the moment we create a new ImageBuffer
19170        and copy the complete pixel array. That is rather inefficient. This patch
19171        uses the mask image directly.
19172        It also bounds the direct pixel manipultation to the viewable area to minimize
19173        the calculation of the mask.
19174
19175        No change in functionality. So no new test.
19176
19177        * svg/SVGMaskElement.cpp:
19178        (WebCore::SVGMaskElement::drawMaskerContent):
19179        * svg/SVGMaskElement.h:
19180        * svg/graphics/SVGResourceMasker.cpp:
19181        (WebCore::SVGResourceMasker::applyMask):
19182        * svg/graphics/SVGResourceMasker.h:
19183
191842009-12-19  Dirk Schulze  <krit@webkit.org>
19185
19186        Reviewed by Nikolas Zimmermann.
19187
19188        Add tests to check filter, mask, clip, opacity and marker ordering
19189        https://bugs.webkit.org/show_bug.cgi?id=14010
19190
19191        The right ordering for applying effects on objects in SVG is filters,
19192        clipper/masker and opacity. This patch fixes the order of filter and
19193        clipper/masker. Opacity and marker need another test.
19194        This change is according to the SVG Specification:
19195        http://www.w3.org/TR/SVG11/render.html#Elements
19196
19197        Test: svg/filters/filter-clip.svg
19198
19199        * rendering/SVGRenderSupport.cpp:
19200        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
19201
192022009-12-19  Evan Martin  <evan@chromium.org>
19203
19204        Reviewed by Gustavo Noronha Silva.
19205
19206        Revert my attempt at making --disable-geolocation work; it is
19207        more complicated than I anticipated.  (It passed on the build bots
19208        because they build with --enable-geolocation.)
19209
19210        * GNUmakefile.am:
19211
192122009-12-19  MORITA Hajime  <morrita@gmail.com>
19213
19214        Reviewed by Darin Adler.
19215
19216        WebCore::Range::surroundContents NULL pointer crash.
19217
19218        https://bugs.webkit.org/show_bug.cgi?id=31684
19219
19220        Test: fast/dom/Range/31684.html
19221
19222        * dom/Range.cpp:
19223        (WebCore::Range::surroundContents):
19224        throw exception when parentOfNewParent->parentNode() is NULL.
19225
192262009-12-19  Christian Dywan  <christian@twotoasts.de>
19227
19228        Reviewed by Gustavo Noronha Silva.
19229
19230        Don't use an icon for all spelling guess menu items.
19231
19232        * platform/gtk/ContextMenuItemGtk.cpp:
19233        (WebCore::gtkStockIDFromContextMenuAction):
19234
192352009-12-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
19236
19237        Unreviewed build fix. Missing \.
19238
19239        * GNUmakefile.am:
19240
192412009-12-19  Evan Martin  <evan@chromium.org>
19242
19243        Reviewed by Gustavo Noronha Silva.
19244
19245        Make --disable-geolocation and --disable-svg work, by conditionally
19246        building the relevant files.
19247
19248        * GNUmakefile.am:
19249
192502009-12-18  Peter Kasting  <pkasting@google.com>
19251
19252        Reviewed by Simon Fraser.
19253
19254        Add a comment about some confusing code that otherwise would look like
19255        it might be a bug.
19256        https://bugs.webkit.org/show_bug.cgi?id=32534
19257
19258        * rendering/RenderLayer.cpp:
19259        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
19260
192612009-12-18  Nikolas Zimmermann  <nzimmermann@rim.com>
19262
19263        Not reviewed. Messed up the XCode file, trying to fix.
19264
19265        * WebCore.xcodeproj/project.pbxproj:
19266
192672009-12-18  Nikolas Zimmermann  <nzimmermann@rim.com>
19268
19269        Not reviewed, fix typos in WebCore.xcodeproj.
19270
19271        * WebCore.xcodeproj/project.pbxproj:
19272
192732009-12-18  Nikolas Zimmermann  <nzimmermann@rim.com>
19274
19275        Reviewed by Eric Seidel.
19276
19277        SVGAngle / SVGPreserveAspectRatio should be POD types
19278        https://bugs.webkit.org/show_bug.cgi?id=32758
19279
19280        Convert SVGAngle / SVGPreserveAspectRatio to be non-refcounted types, just
19281        like it has been done for SVGMatrix / SVGLength before.
19282
19283        This patch prepares removing the special DOMObjectWithSVGContext hack.
19284        No change in functionality, thus no new tests.
19285
19286        * WebCore.xcodeproj/project.pbxproj: Add SVGNames.h to the 'Copy Generated Headers' phase, and set SVGAngle/SVGPreserveAspectRatio role to 'Private', so WebKit can access it.
19287        * bindings/scripts/CodeGenerator.pm: Recognize SVGAngle / SVGPreserveAspectRatio as new POD-types (similar to SVGLength)
19288        * bindings/scripts/CodeGeneratorJS.pm: Ditto. 
19289        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
19290        * bindings/v8/V8Index.h: Ditto.
19291        * rendering/RenderSVGImage.cpp: All following changes, modify SVGAngle/SVGPreserveAspectRatio access, as they are non-refcounted now.
19292        (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
19293        (WebCore::RenderSVGImage::paint):
19294        * rendering/RenderSVGImage.h:
19295        * svg/SVGAngle.h:
19296        * svg/SVGAngle.idl:
19297        * svg/SVGAnimatedTemplate.h:
19298        (WebCore::):
19299        * svg/SVGFEImageElement.cpp:
19300        (WebCore::SVGFEImageElement::SVGFEImageElement):
19301        (WebCore::SVGFEImageElement::parseMappedAttribute):
19302        * svg/SVGFitToViewBox.cpp:
19303        (WebCore::SVGFitToViewBox::viewBoxToViewTransform):
19304        (WebCore::SVGFitToViewBox::parseMappedAttribute):
19305        * svg/SVGFitToViewBox.h:
19306        * svg/SVGImageElement.cpp:
19307        (WebCore::SVGImageElement::SVGImageElement):
19308        (WebCore::SVGImageElement::parseMappedAttribute):
19309        * svg/SVGMarkerElement.cpp:
19310        (WebCore::SVGMarkerElement::SVGMarkerElement):
19311        (WebCore::SVGMarkerElement::parseMappedAttribute):
19312        (WebCore::SVGMarkerElement::setOrientToAuto):
19313        (WebCore::SVGMarkerElement::setOrientToAngle):
19314        (WebCore::SVGMarkerElement::canvasResource):
19315        * svg/SVGMarkerElement.h:
19316        * svg/SVGPatternElement.cpp:
19317        (WebCore::SVGPatternElement::SVGPatternElement):
19318        * svg/SVGPreserveAspectRatio.cpp:
19319        (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
19320        (WebCore::SVGPreserveAspectRatio::getCTM):
19321        * svg/SVGPreserveAspectRatio.h:
19322        (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
19323        * svg/SVGPreserveAspectRatio.idl:
19324        * svg/SVGSVGElement.cpp:
19325        (WebCore::SVGSVGElement::SVGSVGElement):
19326        (WebCore::SVGSVGElement::createSVGAngle):
19327        (WebCore::SVGSVGElement::inheritViewAttributes):
19328        * svg/SVGSVGElement.h:
19329        * svg/SVGSymbolElement.cpp:
19330        (WebCore::SVGSymbolElement::SVGSymbolElement):
19331        * svg/SVGViewElement.cpp:
19332        (WebCore::SVGViewElement::SVGViewElement):
19333        * svg/SVGViewSpec.cpp:
19334        (WebCore::SVGViewSpec::SVGViewSpec):
19335        (WebCore::SVGViewSpec::setPreserveAspectRatioString):
19336        (WebCore::SVGViewSpec::parseViewSpec):
19337
193382009-12-18  Dumitru Daniliuc  <dumi@chromium.org>
19339
19340        Chromium build fix, no review.
19341
19342        * storage/chromium/DatabaseTrackerChromium.cpp:
19343
193442009-12-18  Brent Fulgham  <bfulgham@webkit.org>
19345
19346        Build fix, no review.
19347
19348        * platform/graphics/win/FontCacheWin.cpp:
19349        (WebCore::FontCache::createFontPlatformData): Correct my typo
19350          on the CG build.
19351
193522009-12-18  Dumitru Daniliuc  <dumi@chromium.org>
19353
19354        Reviewed by Eric Seidel.
19355
19356        Make DatabaseTrackerChromium::removeOpenDatabase() send and IPC on
19357        the main thread when a database is being closed.
19358
19359        https://bugs.webkit.org/show_bug.cgi?id=32627
19360
19361        * storage/chromium/DatabaseTrackerChromium.cpp:
19362        (WebCore::removeOpenDatabaseOnMainThread):
19363        (WebCore::DatabaseTracker::removeOpenDatabase):
19364
193652009-12-18  Brent Fulgham  <bfulgham@webkit.org>
19366
19367        Build fix, no review.
19368
19369        * page/win/FrameCairoWin.cpp: Add missing include.
19370        * platform/graphics/win/FontCacheWin.cpp:
19371        (WebCore::FontCache::createFontPlatformData): Conditionalize
19372          Safari-only call.
19373
193742009-12-18  Dumitru Daniliuc  <dumi@chromium.org>
19375
19376        Reviewed by Dmitry Titov.
19377
19378        Move some code related to database closing from the destructor to
19379        the close() method. This would allow us to do things such as post
19380        tasks to other threads when a database closes, which cannot be
19381        done now, because we cannot increment the ref count to a database
19382        object when we're in its destructor.
19383
19384        https://bugs.webkit.org/show_bug.cgi?id=32626
19385
19386        * storage/Database.cpp:
19387        (WebCore::Database::~Database):
19388        (WebCore::Database::close):
19389
193902009-12-18  Jon Honeycutt  <jhoneycutt@apple.com>
19391
19392        REGRESSION(r52233): MSAA: Accessibility role of lists is wrong
19393
19394        https://bugs.webkit.org/show_bug.cgi?id=32736
19395
19396        Reviewed by Adam Roben.
19397
19398        Test: platform/win/accessibility/list-role.html
19399
19400        * accessibility/AccessibilityObject.h:
19401        (WebCore::AccessibilityObject::roleValueForMSAA):
19402        Return roleValue(), rather than m_role, as subclasses may override it.
19403
19404        * accessibility/AccessibilityRenderObject.cpp:
19405        (WebCore::AccessibilityRenderObject::roleValueForMSAA):
19406        Fallback to roleValue(), rather than m_role, as it may be overriden.
19407
194082009-12-17  Jon Honeycutt  <jhoneycutt@apple.com>
19409
19410        MSAA: Accessibility role of list items is wrong
19411
19412        https://bugs.webkit.org/show_bug.cgi?id=32688
19413
19414        Reviewed by Adam Roben.
19415
19416        Test: platform/win/accessibility/list-item-role.html
19417
19418        * accessibility/AccessibilityObject.h:
19419        (WebCore::):
19420        Add a ListItemRole to the enum.
19421
19422        * accessibility/AccessibilityRenderObject.cpp:
19423        (WebCore::msaaRoleForRenderer):
19424        Return the role for the RenderObject, or UnknownRole if unknown.
19425        (WebCore::AccessibilityRenderObject::roleValueForMSAA):
19426        Call msaaRoleForRenderer() to get the role. If it is UnknownRole, fall
19427        back to m_role.
19428
194292009-12-18  Simon Fraser  <simon.fraser@apple.com>
19430
19431        Reviewed by Darin Adler.
19432
19433        Crash when accessing webkitTransition property after setting webkitTransitionProperty with invalid value.
19434        https://bugs.webkit.org/show_bug.cgi?id=31559
19435        
19436        Fix an array bounds error when accessing the CSS value for a shorthand property that takes
19437        a comma-separated list, after the list for one of the component properties has been set to a different length.
19438
19439        Test: fast/css/shorthand-mismatched-list-crash.html
19440
19441        * css/CSSMutableStyleDeclaration.cpp:
19442        (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):
19443
194442009-12-18  Simon Fraser  <simon.fraser@apple.com>
19445
19446        Reviewed by Mark Rowe.
19447
19448        Remove WebCore.ClientBasedGeolocation.exp from Sources, and remove two IDL files from Resources.
19449
19450        * WebCore.xcodeproj/project.pbxproj:
19451
194522009-12-18  Sam Weinig  <sam@webkit.org>
19453
19454        Fix mac Geolocation build.
19455
19456        * DerivedSources.make:
19457        * WebCore.ClientBasedGeolocation.exp: Added.
19458        * WebCore.xcodeproj/project.pbxproj:
19459        * page/Geolocation.h:
19460        * page/GeolocationError.h:
19461        (WebCore::GeolocationError::GeolocationError):
19462        * page/GeolocationPosition.h:
19463
194642009-12-18  Brian Weinstein  <bweinstein@apple.com>
19465
19466        Reviewed by Adam Roben.
19467
19468        Fixes <http://webkit.org/b/32613>.
19469        REGRESSION (r52008): Middle-clicking on a linked image starts a pan scroll,
19470        but should follow the link instead.
19471
19472        The node itself isn't the only possible node that can be a link (that was the
19473        original check), any of its ancestors could be links as well, we need to climb
19474        up the tree to see. Created a new function (enclosingAnchorNode), that finds a
19475        node's enclosing anchor element (if it exists), that we can share between RenderLayer
19476        and Node, and also added tests that test pan scrolling behavior in image maps.
19477
19478        Tests: platform/win/fast/events/panScroll-image-no-scroll.html
19479               platform/win/fast/events/panScroll-imageMap-href-no-scroll.html
19480               platform/win/fast/events/panScroll-imageMap-noHref-scroll.html
19481
19482        * dom/Node.cpp:
19483        (WebCore::Node::enclosingAnchorNode):
19484        (WebCore::Node::defaultEventHandler):
19485        * dom/Node.h:
19486        * rendering/RenderLayer.cpp:
19487        (WebCore::RenderLayer::hitTest):
19488
194892009-12-18  Benjamin Otte  <otte@gnome.org>
19490
19491        Reviewed by Xan Lopez.
19492
19493        [GTK] RemoveDashboard support. It's useless.
19494
19495        * GNUmakefile.am:
19496
194972009-12-18  Christian Dywan  <christian@twotoasts.de>
19498
19499        Reviewed by Xan Lopez.
19500
19501        [GTK] context menu overriding API is very limited
19502        https://bugs.webkit.org/show_bug.cgi?id=27546
19503
19504        Omit SearchWeb from the context menu in the GTK+ port.
19505
19506        * platform/ContextMenu.cpp:
19507        (WebCore::ContextMenu::populate):
19508
195092009-12-18  Sam Weinig  <sam@webkit.org>
19510
19511        Reviewed by Anders Carlsson.
19512
19513        Add export the new symbol in WebCoreSystemInterface.
19514
19515        * WebCore.base.exp:
19516        * platform/mac/WebCoreSystemInterface.h:
19517        * platform/mac/WebCoreSystemInterface.mm:
19518
195192009-12-18  Sam Weinig  <sam@webkit.org>
19520
19521        Reviewed by Anders Carlsson.
19522
19523        Forward declare NSMutableArray when not compiling for Objective-C.
19524
19525        * platform/mac/WebCoreSystemInterface.h:
19526
195272009-12-18  Gavin Barraclough  <barraclough@apple.com>
19528
19529        Reviewed by Sam Weinig.
19530
19531        https://bugs.webkit.org/show_bug.cgi?id=32720
19532        Replace UString addition/append with use of JSC::StringBuilder.
19533
19534        * ForwardingHeaders/runtime/StringBuilder.h: Added.
19535        * bindings/js/ScriptString.h:
19536        (WebCore::ScriptString::operator+=):
19537        * bridge/jni/jni_runtime.cpp:
19538        (appendClassName):
19539        (JavaMethod::signature):
19540        * inspector/InspectorController.cpp:
19541        (WebCore::InspectorController::addProfileFinishedMessageToConsole):
19542        (WebCore::InspectorController::addStartProfilingMessageToConsole):
19543        (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
19544
195452009-12-18  Kenneth Russell  <kbr@google.com>
19546
19547        Reviewed by Darin Fisher.
19548
19549        Index validation for drawElements examines too many indices
19550        https://bugs.webkit.org/show_bug.cgi?id=32692
19551
19552        Test: fast/canvas/webgl/bug-32692.html
19553
19554        * html/canvas/WebGLRenderingContext.cpp:
19555        (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
19556
195572009-12-18  Sam Weinig  <sam@webkit.org>
19558
19559        Reviewed by Anders Carlsson.
19560
19561        Update WebKitSystemInterface for <rdar://problem/7237059>.        
19562
19563        * platform/mac/WebCoreSystemInterface.h:
19564        * platform/mac/WebCoreSystemInterface.mm:
19565
195662009-12-18  Adam Roben  <aroben@apple.com>
19567
19568        GTK build fix
19569
19570        * plugins/gtk/PluginViewGtk.cpp: Added #include.
19571
195722009-12-18  Adam Roben  <aroben@apple.com>
19573
19574        Chromium build fix
19575
19576        * platform/chromium/PopupMenuChromium.cpp: Added #include.
19577
195782009-12-18  Adam Roben  <aroben@apple.com>
19579
19580        Chromium build fix
19581
19582        * html/HTMLLinkElement.cpp: Added #include.
19583
195842009-12-18  Adam Roben  <aroben@apple.com>
19585
19586        Qt build fix
19587
19588        * platform/qt/RenderThemeQt.cpp:
19589        * plugins/qt/PluginDataQt.cpp:
19590        * plugins/qt/PluginViewQt.cpp:
19591        Added #includes.
19592
195932009-12-18  Adam Roben  <aroben@apple.com>
19594
19595        V8 build fix
19596
19597        * bindings/v8/custom/V8DOMWindowCustom.cpp: Added #include.
19598
195992009-12-18  Adam Roben  <aroben@apple.com>
19600
19601        GTK (and others?) build fix
19602
19603        * platform/text/StringImpl.h: Added #include.
19604
196052009-12-18  Adam Roben  <aroben@apple.com>
19606
19607        Reduce #includes in a few high-use headers
19608
19609        Removed unnecessary #includes in these headers:
19610          - Frame.h
19611          - FrameWin.h
19612          - Node.h
19613          - Page.h
19614          - StringImpl.h
19615
19616        The rest of the patch is all adding #includes to source files that now
19617        require them.
19618
19619        Fixes <http://webkit.org/b/32718>.
19620
19621        Rubber-stamped by Anders Carlsson.
19622
19623        * dom/Node.h:
19624        * page/Frame.h:
19625        * page/Page.h:
19626        * page/win/FrameWin.h:
19627        * platform/text/StringImpl.h:
19628        Removed unnecessary #includes.
19629
19630        * accessibility/win/AXObjectCacheWin.cpp:
19631        * bindings/js/JSDOMWindowBase.cpp:
19632        * bindings/js/JSDOMWindowCustom.cpp:
19633        * dom/Document.cpp:
19634        * dom/InputElement.cpp:
19635        * dom/Node.cpp:
19636        * dom/SelectElement.cpp:
19637        * editing/EditorCommand.cpp:
19638        * html/HTMLFormControlElement.cpp:
19639        * html/HTMLFormElement.cpp:
19640        * html/HTMLMediaElement.cpp:
19641        * html/HTMLParser.cpp:
19642        * html/HTMLTextAreaElement.cpp:
19643        * html/HTMLVideoElement.cpp:
19644        * inspector/InspectorController.cpp:
19645        * loader/FrameLoader.cpp:
19646        * loader/HistoryController.cpp:
19647        * loader/appcache/ApplicationCacheGroup.cpp:
19648        * page/Console.cpp:
19649        * page/EventHandler.cpp:
19650        * page/Frame.cpp:
19651        * page/FrameView.cpp:
19652        * page/Navigator.cpp:
19653        * page/PageGroup.cpp:
19654        * page/Settings.cpp:
19655        * page/mac/EventHandlerMac.mm:
19656        * platform/KURL.h:
19657        * platform/ScrollbarThemeComposite.cpp:
19658        * platform/cf/BinaryPropertyList.cpp:
19659        * platform/graphics/mac/GraphicsLayerCA.h:
19660        * platform/graphics/win/WKCACFLayerRenderer.cpp:
19661        * platform/mac/PopupMenuMac.mm:
19662        * platform/mac/WidgetMac.mm:
19663        * platform/network/cf/DNSCFNet.cpp:
19664        * platform/text/StringImpl.cpp:
19665        * platform/win/FileSystemWin.cpp:
19666        * platform/win/PlatformScreenWin.cpp:
19667        * platform/win/PopupMenuWin.cpp:
19668        * platform/win/WidgetWin.cpp:
19669        * plugins/PluginView.cpp:
19670        * plugins/win/PluginViewWin.cpp:
19671        * rendering/InlineTextBox.cpp:
19672        * rendering/RenderBox.cpp:
19673        * rendering/RenderFileUploadControl.cpp:
19674        * rendering/RenderInline.cpp:
19675        * rendering/RenderLayerCompositor.cpp:
19676        * rendering/RenderObject.cpp:
19677        * rendering/RootInlineBox.cpp:
19678        * storage/DatabaseTracker.cpp:
19679        * storage/DatabaseTracker.h:
19680        * storage/SQLTransactionClient.cpp:
19681        * svg/graphics/SVGImage.cpp:
19682        Added now-needed #includes.
19683
196842009-12-18  Shu Chang  <Chang.Shu@nokia.com>
19685
19686        Reviewed by Darin Adler.
19687
19688        Implemented isId as specified by DOM Level 3. See detailed description below.
19689        https://bugs.webkit.org/show_bug.cgi?id=5578
19690
19691        Added isId property and implementation:
19692        Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
19693               fast/dom/Element/attrisid-extra01.html
19694        * dom/Attr.cpp:
19695        (WebCore::Attr::isId):
19696        * dom/Attr.h:
19697        * dom/Attr.idl:
19698
19699        Replaced instances of HTMLNames::idAttr with Element::idAttributeName()
19700        for the reason that id attribute name could be customized to a different
19701        string other than "id". A test case is associated to each code change.
19702        * dom/Document.cpp:
19703        (WebCore::Document::getElementById): Test: fast/dom/Element/id-in-getelement01.html
19704        * dom/Element.cpp: Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
19705        (WebCore::Element::setAttribute):
19706        (WebCore::Element::setAttributeMap):
19707        (WebCore::Element::insertedIntoDocument):
19708        (WebCore::Element::removedFromDocument):
19709        (WebCore::Element::formatForDebugger):
19710        (WebCore::Element::rareIDAttributeName):
19711        * dom/Element.h: Added function idAttributeName().
19712        (WebCore::Element::idAttributeName):
19713        * dom/ElementRareData.h: Added member variable to store customized id name in ElementRareData.
19714        (WebCore::ElementRareData::ElementRareData):
19715        * dom/NamedAttrMap.cpp: Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
19716        (WebCore::NamedNodeMap::setNamedItem):
19717        (WebCore::NamedNodeMap::removeNamedItem):
19718        (WebCore::NamedNodeMap::setAttributes):
19719        * dom/Node.cpp: Removed ASSERT as it may not hold any more.
19720        (WebCore::Node::querySelector):
19721        * dom/SelectorNodeList.cpp: Removed ASSERT as it may not hold any more.
19722        (WebCore::createSelectorNodeList):
19723        * dom/StyledElement.cpp: Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
19724        (WebCore::StyledElement::parseMappedAttribute):
19725        * editing/DeleteButtonController.cpp: Test: fast/dom/Element/id-in-deletebutton.html
19726        (WebCore::DeleteButtonController::createDeletionUI):
19727        * editing/EditorCommand.cpp: Test: fast/dom/Element/id-in-insert-hr.html
19728        (WebCore::executeInsertHorizontalRule):
19729        * html/HTMLAppletElement.cpp: Test: fast/dom/Element/id-in-applet.html
19730        (WebCore::HTMLAppletElement::parseMappedAttribute):
19731        (WebCore::HTMLAppletElement::createRenderer):
19732        * html/HTMLCollection.cpp:
19733        (WebCore::HTMLCollection::checkForNameMatch): Test: fast/forms/select-namedItem.html
19734        (WebCore::HTMLCollection::updateNameCache): Test: fast/dom/collection-namedItem-via-item.html
19735        * html/HTMLDataGridColElement.cpp:
19736        (WebCore::HTMLDataGridColElement::ensureColumn): Test: fast/dom/HTMLDataGridElement/DataGridColumns-dom.html
19737        (WebCore::HTMLDataGridColElement::parseMappedAttribute): Test: fast/dom/HTMLDataGridElement/DataGridColumns-dom-attributes.html
19738        * html/HTMLElement.cpp:
19739        (WebCore::HTMLElement::parseMappedAttribute):
19740        * html/HTMLFormCollection.cpp: Test: fast/dom/Element/id-in-formcollection.html
19741        (WebCore::HTMLFormCollection::getNamedFormItem):
19742        (WebCore::HTMLFormCollection::nextNamedItem):
19743        (WebCore::HTMLFormCollection::updateNameCache):
19744        * html/HTMLFrameElementBase.cpp: Test: fast/dom/Element/id-in-frame.html
19745        (WebCore::HTMLFrameElementBase::parseMappedAttribute):
19746        (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
19747        * html/HTMLImageElement.cpp: Test: fast/dom/Element/id-in-deletebutton.html
19748        (WebCore::HTMLImageElement::parseMappedAttribute):
19749        * html/HTMLMapElement.cpp: Test: fast/dom/Element/id-in-map.html
19750        (WebCore::HTMLMapElement::parseMappedAttribute):
19751        * html/HTMLNameCollection.cpp: Test: fast/dom/Element/id-in-frameset.html
19752        (WebCore::HTMLNameCollection::itemAfter):
19753        * html/HTMLObjectElement.cpp: Test: fast/dom/HTMLDocument/object-by-name-or-id.html
19754        (WebCore::HTMLObjectElement::parseMappedAttribute):
19755        * html/HTMLParamElement.cpp: Test: fast/dom/Element/id-in-param.html
19756        (WebCore::HTMLParamElement::parseMappedAttribute):
19757        * loader/CachedFont.cpp: Test: svg/custom/acid3-test-77.html
19758        (WebCore::CachedFont::getSVGFontById):
19759        * rendering/RenderLayerBacking.cpp:
19760        (WebCore::RenderLayerBacking::createGraphicsLayer): Debug-only code
19761        * rendering/SVGRenderTreeAsText.cpp: Test: svg/text/text-gradient-positioning.svg
19762        (WebCore::writeRenderResources):
19763        * svg/SVGElement.cpp: Test: svg/custom/acid3-test-77.html
19764        (WebCore::SVGElement::insertedIntoDocument):
19765        * svg/SVGStyledElement.cpp: Test: svg/custom/js-update-image-and-display.svg
19766        (WebCore::SVGStyledElement::isKnownAttribute):
19767        * wml/WMLElement.cpp:
19768        (WebCore::WMLElement::parseMappedAttribute):
19769
197702009-12-18  Simon Hausmann  <simon.hausmann@nokia.com>
19771
19772        Reviewed by Tor Arne Vestbø.
19773
19774        [Qt] Clean up the qmake build system to distinguish between trunk builds and package builds
19775
19776        https://bugs.webkit.org/show_bug.cgi?id=32716
19777
19778        Introduce standalone_package as config that is set when QTDIR_build is set or when
19779        the directory for the generated files is present.
19780
19781        Renamed uses of QTDIR_build that apply to generic package builds to use standalone_package.
19782        Others remain as they are specific to building inside Qt.
19783
19784        * WebCore.pro:
19785
197862009-12-18  Simon Hausmann  <simon.hausmann@nokia.com>
19787
19788        Reviewed by Tor Arne Vestbø.
19789
19790        [Qt] Fix the build on Symbian.
19791
19792        Use QFont::lastRestortFamily() instead of QFont::lastRestortFont(),
19793        which is a missing symbol in Qt 4.6.0 on Symbian.
19794
19795        Functionally they should be equivalent, according to the source.
19796
19797        * platform/graphics/qt/FontCacheQt.cpp:
19798        (WebCore::FontCache::getLastResortFallbackFont):
19799
198002009-12-18  Philippe Normand  <pnormand@igalia.com>
19801
19802        Reviewed by Xan Lopez.
19803
19804        [GTK] segfault during controls initialization if not GTK theme is present.
19805        https://bugs.webkit.org/show_bug.cgi?id=32705
19806
19807        Create empty images for the controls if no GTK theme is set.
19808
19809        * platform/graphics/gtk/ImageGtk.cpp:
19810        (WebCore::getThemeIconFileName):
19811        (WebCore::loadImageFromFile):
19812
198132009-12-18  Alejandro G. Castro  <alex@igalia.com>
19814
19815        Reviewed by Darin Adler.
19816
19817        REGRESSION (r38898): Using the up arrow in a textarea gets "stuck"
19818        at the beginning.
19819        https://bugs.webkit.org/show_bug.cgi?id=31920
19820
19821        Moving up from a position after the end of the previous lines
19822        should use UPSTREAM affinity to render the caret in the previous
19823        line.
19824
19825        Test: editing/selection/wrapped-line-caret-3.html
19826
19827        * rendering/RenderText.cpp:
19828        (WebCore::RenderText::positionForPoint):
19829
198302009-12-17  Eric Seidel  <eric@webkit.org>
19831
19832        Reviewed by Darin Adler.
19833
19834        HTMLInputElement::stepMismatch() uses ambiguous overload of pow()
19835        https://bugs.webkit.org/show_bug.cgi?id=32675
19836
19837        Use the double constant 2.0 instead of static_cast<double>(2).
19838
19839        * html/HTMLInputElement.cpp:
19840        (WebCore::HTMLInputElement::stepMismatch):
19841
198422009-12-17  Justin Schuh  <jschuh@chromium.org>
19843
19844        Reviewed by Dan Bernstein.
19845
19846        Bug 32357: SVG test case crashes WebKit (invalid font URL)
19847        https://bugs.webkit.org/show_bug.cgi?id=32357
19848
19849        Added check for NULL return value from DocLoader::requestFont()
19850
19851        * svg/SVGFontFaceUriElement.cpp:
19852        (WebCore::SVGFontFaceUriElement::loadFont):
19853
198542009-12-17  Shinichiro Hamaji  <hamaji@chromium.org>
19855
19856        Reviewed by Dan Bernstein.
19857
19858        marquee with display:inline causes crash
19859        https://bugs.webkit.org/show_bug.cgi?id=32374
19860
19861        Test: fast/inline/inline-marquee-crash.html
19862
19863        * html/HTMLMarqueeElement.cpp:
19864        (WebCore::HTMLMarqueeElement::start):
19865        (WebCore::HTMLMarqueeElement::stop):
19866        (WebCore::HTMLMarqueeElement::suspend):
19867        (WebCore::HTMLMarqueeElement::resume):
19868        (WebCore::HTMLMarqueeElement::renderMarquee):
19869        * html/HTMLMarqueeElement.h:
19870        * rendering/RenderLayer.cpp:
19871        (WebCore::RenderLayer::styleChanged):
19872
198732009-12-17  Zoltan Horvath  <zoltan@webkit.org>
19874
19875        Reviewed by Darin Adler.
19876
19877        Allow custom memory allocation control for inspector's classes
19878        https://bugs.webkit.org/show_bug.cgi?id=32660                               
19879
19880        Inherits the following classes from Noncopyable because these are
19881        instantiated by 'new' and no need to be copyable:                                           
19882
19883        class name                  - instantiated at:  WebCore/'location'
19884
19885        class JavaScriptDebugServer - inspector/JavaScriptDebugServer.cpp:72
19886        class ConsoleMessage        - inspector/InspectorController.cpp:329 
19887        class InspectorController   - page/Page.cpp:119
19888
19889        * inspector/ConsoleMessage.h:
19890        * inspector/InspectorController.h:
19891        * inspector/JavaScriptDebugServer.h:
19892
198932009-12-17  Steve Block  <steveblock@google.com>
19894
19895        Reviewed by Eric Seidel.
19896
19897        Fixes HTMLInputElement::stepMismatch() to avoid ambiguous overload of pow().
19898        https://bugs.webkit.org/show_bug.cgi?id=32675
19899
19900        Build fix only, no new tests.
19901
19902        * html/HTMLInputElement.cpp: Modified.
19903        (WebCore::HTMLInputElement::stepMismatch): Cast first argument of pow to double to force 'double pow(double, int)'
19904
199052009-12-17  Marc-Antoine Ruel  <maruel@chromium.org>
19906
19907        Reviewed by Eric Seidel.
19908
19909        Fix link failure on LTCG builds on Windows for chromium port.
19910
19911        Reenable SVGAllInOne.cpp. This required some fixups.
19912
19913        Namely, there was conflicts in constants between HTMLNames and
19914        SVGNames, and conflicts between static functions names.
19915
19916        No new tests as functionality has not changed.
19917
19918        * WebCore.gyp/WebCore.gyp:
19919        * svg/SVGAllInOne.cpp:
19920        * svg/SVGFontFaceElement.cpp:
19921        (WebCore::SVGFontFaceElement::rebuildFontFace):
19922        * svg/SVGGlyphElement.cpp:
19923        (WebCore::SVGGlyphElement::invalidateGlyphCache):
19924        (WebCore::SVGGlyphElement::buildGlyphIdentifier):
19925        * svg/SVGHKernElement.cpp:
19926        (WebCore::SVGHKernElement::insertedIntoDocument):
19927        (WebCore::SVGHKernElement::removedFromDocument):
19928        * svg/SVGStyleElement.cpp:
19929        (WebCore::SVGStyleElement::type):
19930        (WebCore::SVGStyleElement::setType):
19931        (WebCore::SVGStyleElement::media):
19932        (WebCore::SVGStyleElement::setMedia):
19933        (WebCore::SVGStyleElement::title):
19934        (WebCore::SVGStyleElement::setTitle):
19935        (WebCore::SVGStyleElement::parseMappedAttribute):
19936        * svg/SVGStyledElement.cpp:
19937        (WebCore::mapAttributeToCSSProperty):
19938        (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
19939        * svg/SVGStyledElement.h:
19940
199412009-12-17  Adam Roben  <aroben@apple.com>
19942
19943        Chromium build fix VI
19944
19945        * svg/animation/SMILTimeContainer.h: Added now-needed #include.
19946
199472009-12-17  Adam Roben  <aroben@apple.com>
19948
19949        Chromium build fix V
19950
19951        * platform/KURLGoogle.cpp: Added now-needed #include.
19952
199532009-12-17  Adam Roben  <aroben@apple.com>
19954
19955        Chromium build fix IV
19956
19957        * loader/CrossOriginPreflightResultCache.h: Added now-needed
19958        #includes.
19959
199602009-12-17  Adam Roben  <aroben@apple.com>
19961
19962        Chromium build fix III
19963
19964        * platform/graphics/Font.h: Added now-needed #include.
19965
199662009-12-17  Adam Roben  <aroben@apple.com>
19967
19968        Chromium build fix II
19969
19970        * dom/EventTarget.h: Added now-needed #include.
19971
199722009-12-17  Zoltan Horvath  <zoltan@webkit.org>
19973
19974        Reviewed by Eric Seidel.
19975
19976        Allow custom memory allocation control for js bindings
19977        https://bugs.webkit.org/show_bug.cgi?id=32655
19978
19979        Inherits the following classes from Noncopyable because these are instantiated 
19980        by 'new' and no need to be copyable:
19981
19982        class name                  - instantiated at:  WebCore/'location'
19983
19984        class ScriptCachedFrameData - history/CachedFrame.cpp:117
19985        class WebCoreJSClientData   - bindings/js/JSDOMWindowBase.cpp:162
19986        class ScheduledAction       - bindings/js/ScheduledAction.cpp:58
19987
19988        * bindings/js/JSDOMBinding.h:
19989        * bindings/js/ScheduledAction.h:
19990        * bindings/js/ScriptCachedFrameData.h:
19991
199922009-12-17  Adam Roben  <aroben@apple.com>
19993
19994        Chromium build fix
19995
19996        * dom/QualifiedName.h: Added now-needed #include of HashTraits.h
19997        (which itself #includes HashFunctions.h).
19998
199992009-12-17  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
20000
20001        Reviewed by Timothy Hatcher.
20002
20003        Web Inspector: Incorrect Doctype.
20004
20005        REGRESSION(4.0.4-TOT):Web Inspector: Incorrect Doctype
20006        https://bugs.webkit.org/show_bug.cgi?id=32671
20007
20008        * inspector/InspectorDOMAgent.cpp:
20009        (WebCore::InspectorDOMAgent::buildObjectForNode):
20010        * inspector/front-end/DOMAgent.js:
20011        (WebInspector.DOMNode):
20012
200132009-12-17  Benjamin Otte  <otte@gnome.org>
20014
20015        Reviewed by Adam Roben.
20016
20017        Don't include all JSC headers everywhere
20018        https://bugs.webkit.org/show_bug.cgi?id=32663
20019
20020        Remove HashMap HashSet and OwnPtr includes from PlatformString.h.
20021        Reduces code size of Gtk build by another 5%.
20022
20023        * platform/text/PlatformString.h:
20024
200252009-12-17  Adam Roben  <aroben@apple.com>
20026
20027        Mac/Qt build fixes
20028
20029        * platform/graphics/mac/Canvas3DLayer.mm:
20030        * platform/graphics/mac/GraphicsContext3DMac.cpp:
20031        * platform/qt/Localizations.cpp:
20032        Added missing #includes.
20033
200342009-12-17  Benjamin Otte  <otte@gnome.org>
20035
20036        Reviewed by Adam Roben.
20037
20038        Don't include all JSC headers everywhere
20039        https://bugs.webkit.org/show_bug.cgi?id=32663
20040
20041        PlatformString.h included almost all of JSC via runtime/Identifier.h.
20042        This patch gets rid of this include by forward-declaring the required
20043        classes instead.
20044        This reduces the build size of the object files on a Gtk debug build
20045        by 10%. The resulting libwebkit.so gets 5% smaller.
20046
20047        No new tests as it's just a build improvement.
20048
20049        * platform/gtk/LocalizedStringsGtk.cpp:
20050        include math.h here (it used to be pulled by JSC)
20051        * platform/text/PlatformString.h:
20052        * platform/text/String.cpp:
20053
200542009-12-17  Evan Martin  <evan@chromium.org>
20055
20056        Reviewed by Xan Lopez.
20057
20058        Always use all WebCore include paths in GtkWebKit.
20059
20060        With this patch, I can disable all optional features and still build.
20061
20062        * GNUmakefile.am:
20063
200642009-12-17  Yaar Schnitman  <yaar@chromium.org>
20065
20066        Reviewed by Darin Fisher.
20067
20068        Added WebPageSerializer to WebKit API.
20069
20070        https://bugs.webkit.org/show_bug.cgi?id=31737
20071
20072        * platform/text/StringBuilder.cpp: Added methods to make StringBuilder even more useful for large scale string concatenation.
20073        (WebCore::StringBuilder::clear):
20074        (WebCore::StringBuilder::length):
20075        * platform/text/StringBuilder.h:
20076
200772009-12-10  Philippe Normand  <pnormand@igalia.com>
20078
20079        Reviewed by Xan Lopez.
20080
20081        [GTK] Add controls for playing html5 video.
20082        https://bugs.webkit.org/show_bug.cgi?id=26304
20083
20084        Media controls UI, first step. This patch was written by Zan
20085        Dobersek. In addition I fixed the compilation errors and
20086        re-enabled some of the media tests involving the controls UI.
20087
20088        * GNUmakefile.am:
20089        * css/mediaControlsGtk.css: Added.
20090        * platform/graphics/Image.h:
20091        * platform/graphics/gtk/ImageGtk.cpp:
20092        (WebCore::getThemeIconFileName):
20093        (WebCore::loadResourceSharedBuffer):
20094        (WebCore::loadImageFromFile):
20095        (WebCore::Image::loadPlatformResource):
20096        (WebCore::Image::loadPlatformThemeIcon):
20097        * platform/gtk/RenderThemeGtk.cpp:
20098        (WebCore::getMediaElementFromRenderObject):
20099        (WebCore::getIconNameForTextDirection):
20100        (WebCore::RenderThemeGtk::initMediaStyling):
20101        (WebCore::RenderThemeGtk::RenderThemeGtk):
20102        (WebCore::RenderThemeGtk::~RenderThemeGtk):
20103        (WebCore::supportsFocus):
20104        (WebCore::RenderThemeGtk::baselinePosition):
20105        (WebCore::paintMozWidget):
20106        (WebCore::setToggleSize):
20107        (WebCore::RenderThemeGtk::adjustSliderThumbSize):
20108        (WebCore::RenderThemeGtk::gtkContainer):
20109        (WebCore::RenderThemeGtk::platformColorsDidChange):
20110        (WebCore::RenderThemeGtk::extraMediaControlsStyleSheet):
20111        (WebCore::paintMediaButton):
20112        (WebCore::RenderThemeGtk::paintMediaFullscreenButton):
20113        (WebCore::RenderThemeGtk::paintMediaMuteButton):
20114        (WebCore::RenderThemeGtk::paintMediaPlayButton):
20115        (WebCore::RenderThemeGtk::paintMediaSeekBackButton):
20116        (WebCore::RenderThemeGtk::paintMediaSeekForwardButton):
20117        (WebCore::RenderThemeGtk::paintMediaSliderTrack):
20118        (WebCore::RenderThemeGtk::paintMediaSliderThumb):
20119        * platform/gtk/RenderThemeGtk.h:
20120
201212009-12-17  Yael Aharon  <yael.aharon@nokia.com>
20122
20123        Reviewed by Kenneth Rohde Christiansen.
20124
20125        [Qt] support navigator.onLine and ononline/onoffline events.
20126        https://bugs.webkit.org/show_bug.cgi?id=32555
20127
20128        Hooked up Bearer Management to NetworkStateNotifier. This solution is available 
20129        only if QtMobility's Bearer Management is installed.
20130
20131        * WebCore.pro:
20132        * platform/network/NetworkStateNotifier.h:
20133        * platform/network/qt/NetworkStateNotifierPrivate.h: Added.
20134        * platform/network/qt/NetworkStateNotifierQt.cpp: Added.
20135        (WebCore::NetworkStateNotifierPrivate::NetworkStateNotifierPrivate):
20136        (WebCore::NetworkStateNotifierPrivate::onlineStateChanged):
20137        (WebCore::NetworkStateNotifierPrivate::~NetworkStateNotifierPrivate):
20138        (WebCore::NetworkStateNotifier::updateState):
20139        (WebCore::NetworkStateNotifier::NetworkStateNotifier):
20140
201412009-12-17  Pavel Feldman  <pfeldman@chromium.org>
20142
20143        Reviewed by Timothy Hatcher.
20144
20145        Web Inspector: Switch to 11px as default for source-code in WebKit.
20146
20147        https://bugs.webkit.org/show_bug.cgi?id=32646
20148
20149        * inspector/front-end/inspector.css:
20150
201512009-12-17  Simon Hausmann  <simon.hausmann@nokia.com>
20152
20153        Reviewed by Tor Arne Vestbø.
20154
20155        [Qt] Symbian build fix: Don't include QtXml/qxmlstream.h but omit the prefix, to
20156        make sure we pick up the header file from QtCore. That is where the implementation
20157        is compiled.
20158
20159        * dom/XMLTokenizer.h:
20160
201612009-12-17  Martin Robinson  <martin.james.robinson@gmail.com>
20162
20163        Reviewed by Gustavo Noronha Silva.
20164
20165        [GTK] WebKit GTK needs a wrapper for ref counted glib/gobject structs
20166        https://bugs.webkit.org/show_bug.cgi?id=21599
20167
20168        Add GRefPtr support for GTK types to WebCore, as JSC does not link against
20169        GTK+. Also convert PopupMenu::m_poup from a raw pointer to a GRefPtr.
20170
20171        No new tests as functionality has not changed.
20172
20173        * GNUmakefile.am:
20174        * platform/PopupMenu.h:
20175        * platform/gtk/GRefPtrGtk.cpp: Added.
20176        (WTF::refGPtr):
20177        (WTF::derefGPtr):
20178        * platform/gtk/GRefPtrGtk.h: Added.
20179        * platform/gtk/PopupMenuGtk.cpp:
20180        (WebCore::PopupMenu::PopupMenu):
20181        (WebCore::PopupMenu::~PopupMenu):
20182        (WebCore::PopupMenu::show):
20183        (WebCore::PopupMenu::hide):
20184        (WebCore::PopupMenu::menuRemoveItem):
20185
201862009-12-17  Mikhail Naganov  <mnaganov@chromium.org>
20187
20188        Reviewed by Pavel Feldman.
20189
20190        Advice links to source code in CPU profiler to open in debugger,
20191        not in resources tab.
20192
20193        Also work around the case when resources are disabled, but scripts are present.
20194
20195        https://bugs.webkit.org/show_bug.cgi?id=32610
20196
20197        * inspector/front-end/Panel.js:
20198        (WebInspector.Panel.prototype.updateMainViewWidth):
20199        (WebInspector.Panel.prototype.canShowSourceLineForURL):
20200        (WebInspector.Panel.prototype.showSourceLineForURL):
20201        * inspector/front-end/ProfileDataGridTree.js:
20202        (WebInspector.ProfileDataGridNode.prototype.createCell):
20203        * inspector/front-end/ResourcesPanel.js:
20204        (WebInspector.ResourcesPanel.prototype.canShowSourceLineForURL):
20205        (WebInspector.ResourcesPanel.prototype.showSourceLineForURL):
20206        * inspector/front-end/ScriptsPanel.js:
20207        (WebInspector.ScriptsPanel.prototype.scriptForURL):
20208        (WebInspector.ScriptsPanel.prototype.canShowSourceLineForURL):
20209        (WebInspector.ScriptsPanel.prototype.showSourceLineForURL):
20210        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
20211        * inspector/front-end/inspector.js:
20212        (WebInspector.documentClick.followLink):
20213        (WebInspector.documentClick):
20214        (WebInspector._choosePanelToShowSourceLineForURL):
20215        (WebInspector.canShowSourceLineForURL):
20216        (WebInspector.showSourceLineForURL):
20217
202182009-12-15  Philippe Normand  <pnormand@igalia.com>
20219
20220        Reviewed by Xan Lopez.
20221
20222        [GTK] display FPS stats for video element
20223        https://bugs.webkit.org/show_bug.cgi?id=32560
20224
20225        Display FPS statistics if WEBKIT_DEBUG environment variable
20226        contains the Media log category. This feature requires a very
20227        recent (>= 0.10.18) version of gst-plugins-bad.
20228
20229        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
20230        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
20231        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
20232        (WebCore::MediaPlayerPrivate::createGSTPlayBin):
20233        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
20234
202352009-11-11  Philippe Normand  <pnormand@igalia.com>
20236
20237        Reviewed by Gustavo Noronha Silva.
20238
20239        [GStreamer] Should emit {networkState,readyState,volume,time,size,rate,duration}Changed signals
20240        https://bugs.webkit.org/show_bug.cgi?id=30377
20241
20242        Emit volumeChanged and durationChanged upon notification from
20243        GStreamer.
20244
20245        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
20246        (WebCore::mediaPlayerPrivateMessageCallback):
20247        (WebCore::mediaPlayerPrivateVolumeCallback):
20248        (WebCore::notify_volume_idle_cb):
20249        (WebCore::MediaPlayerPrivate::didEnd):
20250        (WebCore::MediaPlayerPrivate::durationChanged):
20251        (WebCore::MediaPlayerPrivate::createGSTPlayBin):
20252        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
20253
202542009-12-16  Philippe Normand  <pnormand@igalia.com>
20255
20256        Reviewed by Gustavo Noronha Silva.
20257
20258        [GTK] segfault during volume notification
20259        https://bugs.webkit.org/show_bug.cgi?id=32603
20260
20261        Emit volumeChanged and durationChanged upon notification from
20262        GStreamer. Also don't reset the volume property on playbin, it is
20263        not needed as it is 1.0 by default both on playbin and in the
20264        MediaPlayer.
20265
20266        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
20267        (WebCore::mediaPlayerPrivateMessageCallback):
20268        (WebCore::mediaPlayerPrivateVolumeChangedCallback):
20269        (WebCore::notifyVolumeIdleCallback):
20270        (WebCore::doGstInit):
20271        (WebCore::MediaPlayerPrivate::isAvailable):
20272        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
20273        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
20274        (WebCore::MediaPlayerPrivate::volumeChanged):
20275        (WebCore::MediaPlayerPrivate::didEnd):
20276        (WebCore::MediaPlayerPrivate::durationChanged):
20277        (WebCore::mimeTypeCache):
20278        (WebCore::MediaPlayerPrivate::createGSTPlayBin):
20279        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
20280
202812009-12-17  Evan Martin  <evan@chromium.org>
20282
20283        Reviewed by Xan Lopez.
20284
20285        gtk: always use standard include paths, regardless of settings.
20286        WebKit style is to wrap the body of a header in #if ENABLE(FOO),
20287        so they're always safe to include whether the features are enabled or
20288        not.
20289
20290        This fixes building with --disable-database and other flags.
20291
20292        * GNUmakefile.am:
20293
202942009-12-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
20295
20296        Unreviewed. Build fixes for make distcheck.
20297
20298        * GNUmakefile.am:
20299
203002009-12-17  Philippe Normand  <pnormand@igalia.com>
20301
20302        Rubber-stamped by Gustavo Noronha Silva.
20303
20304        Trivial WebKit coding style fix.
20305
20306        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
20307        (WebCore::MediaPlayerPrivate::paint):
20308
203092009-12-15 MORITA Hajime <morrita@gmail.com>
20310
20311        Reviewed by Eric Seidel.
20312
20313        Bug 28306: double-clicking a word inside <b> beside newline select two words
20314        https://bugs.webkit.org/show_bug.cgi?id=28306
20315        
20316        SimplifiedBackwardsTextIterator missed trailing whitespaces just
20317        before folding line-break, which is used to detect word
20318        boundaries. This fix checks strings on RenderText and expand text
20319        range on SimplifiedBackwardsTextIterator to include trailing
20320        whitespaces if availble.
20321
20322        Test: editing/selection/doubleclick-beside-cr-span.html
20323
20324        * editing/TextIterator.cpp:
20325        (WebCore::collapsedSpaceLength):
20326        (WebCore::maxOffsetIncludingCollapsedSpaces):
20327        (WebCore::SimplifiedBackwardsTextIterator::advance):
20328
203292009-12-16  Fumitoshi Ukai  <ukai@chromium.org>
20330
20331        Reviewed by Alexey Proskuryakov.
20332
20333        Fix flakiness in WebSocket handshake console message.
20334        https://bugs.webkit.org/show_bug.cgi?id=32598
20335
20336        In chromium, LayoutTests/websocket/tests/handshake-error.html is
20337        flaky, because it outputs the following console message several times:
20338          CONSOLE MESSAGE: line 0: Unexpected response code:101
20339        Update m_mode in WebSocketHandshake correctly: Once it finds
20340        error in handshake message, set m_mode to Failed and don't try
20341        reading handshake message again.  If handshake message is not yet
20342        fully received, set m_mode to Incomplete, so next didReceiveData()
20343        will try to check handshake message again.
20344
20345        * websockets/WebSocketChannel.cpp:
20346        (WebCore::WebSocketChannel::didReceiveData):
20347        * websockets/WebSocketHandshake.cpp:
20348        (WebCore::WebSocketHandshake::readServerHandshake):
20349
203502009-12-16  Jon Honeycutt  <jhoneycutt@apple.com>
20351
20352        MSAA: Accessibility role of text nodes is wrong
20353
20354        https://bugs.webkit.org/show_bug.cgi?id=32631
20355        <rdar://problem/7369084>
20356
20357        Reviewed by Alice Liu.
20358
20359        Test: platform/win/accessibility/text-role.html
20360
20361        * accessibility/AccessibilityObject.h:
20362        (WebCore::):
20363        Add a new role to the enum.
20364        (WebCore::AccessibilityObject::roleValueForMSAA):
20365        Declare a function to return the accessibility role for MSAA; the base
20366        implementation returns the old role value.
20367
20368        * accessibility/AccessibilityRenderObject.cpp:
20369        (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
20370        Initialize m_roleForMSAA.
20371        (WebCore::AccessibilityRenderObject::roleValueForMSAA):
20372        If m_roleForMSAA has been set, return it. If the renderer is a
20373        RenderText, set the role to EditableTextRole to match IE and Firefox.
20374        Otherwise, set the role for MSAA to the old role value.
20375
20376        * accessibility/AccessibilityRenderObject.h:
20377        Add a member to hold the role for MSAA, and declare an override of
20378        roleValueForMSAA().
20379
203802009-12-16  Eric Seidel  <eric@webkit.org>
20381
20382        No review, rolling out r52206.
20383        http://trac.webkit.org/changeset/52206
20384        https://bugs.webkit.org/show_bug.cgi?id=31187
20385
20386        This broke pixel tests on Mac.  Presumably the code in
20387        ImageCG is wrong here.
20388
20389        * platform/graphics/BitmapImage.h:
20390        * platform/graphics/GeneratedImage.cpp:
20391        (WebCore::GeneratedImage::drawPattern):
20392        * platform/graphics/GeneratedImage.h:
20393        * platform/graphics/Image.cpp:
20394        (WebCore::Image::drawTiled):
20395        * platform/graphics/Image.h:
20396        * platform/graphics/cairo/ImageCairo.cpp:
20397        (WebCore::Image::drawPattern):
20398        * platform/graphics/cg/ImageCG.cpp:
20399        (WebCore::Image::drawPattern):
20400        * platform/graphics/haiku/ImageHaiku.cpp:
20401        (WebCore::Image::drawPattern):
20402        * platform/graphics/qt/ImageQt.cpp:
20403        (WebCore::Image::drawPattern):
20404        * platform/graphics/skia/ImageSkia.cpp:
20405        (WebCore::Image::drawPattern):
20406        * platform/graphics/wince/GraphicsContextWince.cpp:
20407        (WebCore::GraphicsContext::drawBitmapPattern):
20408        * platform/graphics/wince/ImageBufferWince.cpp:
20409        (WebCore::):
20410        (WebCore::BufferedImage::drawPattern):
20411        * platform/graphics/wx/ImageWx.cpp:
20412        (WebCore::BitmapImage::drawPattern):
20413        (WebCore::Image::drawPattern):
20414
204152009-12-16  Dimitri Glazkov  <dglazkov@chromium.org>
20416
20417        Reviewed by David Levin.
20418
20419        https://bugs.webkit.org/show_bug.cgi?id=32637
20420        [V8] Generate most named property getters.
20421
20422        Covered by existing tests.
20423
20424        * bindings/scripts/CodeGeneratorV8.pm: Added generation of SetNamedPropertyHandler call.
20425        * bindings/v8/V8DOMWrapper.cpp:
20426        (WebCore::V8DOMWrapper::getTemplate): Removed now-generated SetNamedPropertyHandler callsites.
20427
204282009-12-16  Luiz Agostini  <luiz.agostini@openbossa.org>
20429
20430        Reviewed by Kenneth Rohde Christiansen.
20431
20432        [Qt] Implement combobox delegate for Qt
20433        https://bugs.webkit.org/show_bug.cgi?id=32550
20434
20435        Abstract popup menu factory.
20436
20437        A static method from QtAbstractPopupMenu is used to create its instances. If a factory
20438        has been suplied to class QtAbstractPopupMenu the factory will be used to create the
20439        objects. If not an instance of QtFallbackPopupMenu will be created.
20440
20441        The objective is to make it easy to replace the combobox popup at WebCore layer providing
20442        support to the combobox popup delegation API. Future patches will make it possible to
20443        replace the combobox popup at WebKit layer.
20444
20445        No behavior changes.
20446
20447        * platform/qt/PopupMenuQt.cpp:
20448        (WebCore::PopupMenu::PopupMenu):
20449        * platform/qt/QtAbstractWebPopup.cpp:
20450        (WebCore::QtAbstractWebPopup::setFactory):
20451        (WebCore::QtAbstractWebPopup::create):
20452        * platform/qt/QtAbstractWebPopup.h:
20453        * platform/qt/QtFallbackWebPopup.cpp:
20454
204552009-12-16  Mark Rowe  <mrowe@apple.com>
20456
20457        Build fix.  Disable debug variants of WebKit frameworks.
20458
20459        * WebCore.xcodeproj/project.pbxproj:
20460
204612009-12-16  Enrica Casucci  <enrica@apple.com>
20462
20463        Reviewed by Eric Seidel.
20464
20465        Right clicking in a table cell creates a selection that extends into the next cell.
20466        <rdar://problem/5565465>
20467        https://bugs.webkit.org/show_bug.cgi?id=32622
20468        
20469        Avoid extending the selection to the next cell if we start from an empty cell.
20470
20471        Test: editing/selection/empty-cell-right-click.html
20472
20473        * editing/TypingCommand.cpp:
20474        (WebCore::TypingCommand::deleteKeyPressed): Replaced the code that check for empty table cell
20475        with a call to the new function.
20476        * editing/VisibleSelection.cpp:
20477        (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity): Extends the
20478        selection only if we are not starting from an empty table cell.
20479        * editing/htmlediting.cpp:
20480        (WebCore::isEmptyTableCell): Added a function since this check is performed now in two places.
20481        * editing/htmlediting.h: Added isEmptyTableCell declaration.
20482
204832009-12-16  Dirk Schulze  <krit@webkit.org>
20484
20485        Reviewed by Nikolas Zimmermann.
20486
20487        feMerge crahses if feMergeNodes attribute in is empty
20488        https://bugs.webkit.org/show_bug.cgi?id=32489
20489
20490        SVGFEMergeElement only stored pointers to all effects of it's nodes
20491        in a list. But it should store the RefPtr otherwise the effects get
20492        dereferenced and WebKit crashes.
20493        I also made a short clean-up in SVGFilterBuilder. No change in
20494        functionality.
20495
20496        Test: I updated svg/custom/empty-merge.svg to cover this problem.
20497
20498        * svg/SVGFEMergeElement.cpp:
20499        (WebCore::SVGFEMergeElement::build):
20500        * svg/graphics/filters/SVGFEMerge.cpp:
20501        (WebCore::FEMerge::FEMerge):
20502        (WebCore::FEMerge::create):
20503        (WebCore::FEMerge::mergeInputs):
20504        (WebCore::FEMerge::setMergeInputs):
20505        * svg/graphics/filters/SVGFEMerge.h:
20506        * svg/graphics/filters/SVGFilterBuilder.cpp:
20507        (WebCore::SVGFilterBuilder::add):
20508
205092009-12-16  Brian Weinstein  <bweinstein@apple.com>
20510
20511        Reviewed by Timothy Hatcher.
20512
20513        Part of <http://webkit.org/b/32568>.
20514        Web Inspector: Context Menus should be used in more places.
20515        
20516        Add a context menu entry in the console to clear the console. This
20517        is only shown when there is no user selection of text, because if
20518        there is selection of the text, then we want to give the user the Copy +
20519        Spell Check context menu that they are used to.
20520
20521        * English.lproj/localizedStrings.js: Added "Clear Console".
20522        * inspector/front-end/ConsoleView.js:
20523        (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
20524
205252009-12-16  Brian Weinstein  <bweinstein@apple.com>
20526
20527        Reviewed by Pavel Feldman.
20528
20529        Fixes <https://bugs.webkit.org/show_bug.cgi?id=32621>.
20530        Web Inspector: [REGRESSION (52095-52100)] Resources filter disappears when switching 
20531        from / to resources panel.
20532
20533        Changed style in sidebar-resizer-vertical, because if the min-height was 100%, we start
20534        to cover the scope bar.
20535
20536        * inspector/front-end/inspector.css:
20537
205382009-12-16  Dimitri Glazkov  <dglazkov@chromium.org>
20539
20540        Reviewed by Adam Barth.
20541
20542        [V8] Switch all indexers to be generated.
20543        https://bugs.webkit.org/show_bug.cgi?id=32569
20544
20545        Covered by existing tests.
20546
20547        * WebCore.gypi: Remove V8FileListCustom.cpp and V8ClientRecListCustom.cpp,
20548            as they are now generated.
20549        * bindings/v8/V8DOMWrapper.cpp:
20550        (WebCore::V8DOMWrapper::getTemplate): Remove customization of ClientRectList,
20551            FileList, and DataGridColumnList templates.
20552        * bindings/v8/custom/V8ClientRectListCustom.cpp: Removed.
20553        * bindings/v8/custom/V8CustomBinding.h: Remove custom indexer getter decls.
20554        * bindings/v8/custom/V8DataGridColumnListCustom.cpp: Remove indexer getter definition.
20555        * bindings/v8/custom/V8FileListCustom.cpp: Removed.
20556
205572009-12-16  anton muhin  <antonm@chromium.org>
20558
20559        Reviewed by Darin Adler.
20560
20561        [dom] make dom/Node.cpp compile if DUMP_NODE_STATISTICS is on
20562        https://bugs.webkit.org/show_bug.cgi?id=32617
20563
20564        * dom/Node.cpp:
20565        (WebCore::Node::dumpStatistics):
20566
205672009-12-16  Dimitri Glazkov  <dglazkov@chromium.org>
20568
20569        Reviewed by Darin Fisher.
20570
20571        [V8] There is no such thing as HTMLSelectElementCollection.
20572        https://bugs.webkit.org/show_bug.cgi?id=32616
20573
20574        Refactoring, covered by existing tests.
20575
20576        * WebCore.gypi: Removed V8HTMLSelectElementCollectionCustom.cpp
20577        * bindings/v8/V8Collection.h: Removed one-off template.
20578        * bindings/v8/V8DOMWrapper.cpp:
20579        (WebCore::V8DOMWrapper::getTemplate): Renamed all references to HTMLSelectElementCollection
20580            to HTMLSelectElement.
20581        * bindings/v8/custom/V8CustomBinding.h: Renamed custom indexer decls.
20582        * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp: Removed.
20583        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: Moved code as-is from
20584            V8HTMLSelectElementCollectionCustom.cpp
20585
205862009-12-16  Dan Winship  <danw@gnome.org>
20587
20588        Reviewed by Gustavo Noronha Silva.
20589
20590        [Gtk] Content-Encoding support
20591
20592        https://bugs.webkit.org/show_bug.cgi?id=25855
20593
20594        * platform/network/soup/ResourceHandleSoup.cpp:
20595        (WebCore::startHttp): Don't force "Accept-Encoding: identity" any
20596        more
20597
205982009-12-16  Benjamin Otte  <otte@gnome.org>
20599
20600        Reviewed by Darin Adler.
20601
20602        Get rid of the phase argument to Image::drawPattern.
20603        https://bugs.webkit.org/show_bug.cgi?id=31187
20604
20605        The argument can be expressed equally well as part of the
20606        patternTransform. All backends but the Qt one did exactly that
20607        manually anyway.
20608
20609        * platform/graphics/BitmapImage.h:
20610        * platform/graphics/GeneratedImage.cpp:
20611        (WebCore::GeneratedImage::drawPattern):
20612        * platform/graphics/GeneratedImage.h:
20613        * platform/graphics/Image.cpp:
20614        (WebCore::Image::drawTiled):
20615        * platform/graphics/Image.h:
20616        * platform/graphics/cairo/ImageCairo.cpp:
20617        (WebCore::Image::drawPattern):
20618        * platform/graphics/cg/ImageCG.cpp:
20619        (WebCore::Image::drawPattern):
20620        * platform/graphics/haiku/ImageHaiku.cpp:
20621        (WebCore::Image::drawPattern):
20622        * platform/graphics/qt/ImageQt.cpp:
20623        (WebCore::Image::drawPattern):
20624        * platform/graphics/skia/ImageSkia.cpp:
20625        (WebCore::Image::drawPattern):
20626        * platform/graphics/wince/GraphicsContextWince.cpp:
20627        (WebCore::GraphicsContext::drawBitmapPattern):
20628        * platform/graphics/wince/ImageBufferWince.cpp:
20629        (WebCore::):
20630        (WebCore::BufferedImage::drawPattern):
20631        * platform/graphics/wx/ImageWx.cpp:
20632        (WebCore::BitmapImage::drawPattern):
20633        (WebCore::Image::drawPattern):
20634
206352009-12-16  Kenneth Russell  <kbr@google.com>
20636
20637        Reviewed by Darin Fisher.
20638
20639        Performance problems with index validation code for drawElements
20640        https://bugs.webkit.org/show_bug.cgi?id=32466
20641
20642        Added a cache of the maximum index for each element type to
20643        WebGLBuffer, querying it before iterating through the indices in
20644        the client-side copy of the buffer's data. Hoisted checks of the
20645        size of the element array itself into validateElementArraySize to
20646        avoid duplicating code.
20647
20648        The performance improvement has been measured with manual tests.
20649        Existing layout tests cover the index validation functionality
20650        and continue to pass as before.
20651
20652        * html/canvas/WebGLBuffer.cpp:
20653        (WebCore::WebGLBuffer::WebGLBuffer):
20654        (WebCore::WebGLBuffer::associateBufferData):
20655        (WebCore::WebGLBuffer::associateBufferSubData):
20656        (WebCore::WebGLBuffer::getCachedMaxIndex):
20657        (WebCore::WebGLBuffer::setCachedMaxIndex):
20658        (WebCore::WebGLBuffer::clearCachedMaxIndices):
20659        * html/canvas/WebGLBuffer.h:
20660        * html/canvas/WebGLRenderingContext.cpp:
20661        (WebCore::WebGLRenderingContext::validateElementArraySize):
20662        (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
20663        (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
20664        (WebCore::WebGLRenderingContext::validateRenderingState):
20665        (WebCore::WebGLRenderingContext::drawElements):
20666        * html/canvas/WebGLRenderingContext.h:
20667
206682009-12-16  Zelidrag Hornung  <zelidrag@chromium.org>
20669
20670        Reviewed by Darin Adler.
20671
20672        https://bugs.webkit.org/show_bug.cgi?id=32261
20673        Added ability to separate the autocomplete suggestion previewing from
20674        the actual accepting of the suggested value in HTMLInputElement.
20675        This element (it's single line text incarnation) can now
20676        be put in suggestion mode where renderer might display the suggested
20677        value without making it automatically exposed to JavaScript.
20678
20679        No new tests. This new methods are not exposed yet. It's use will be
20680        platform specific. PopupMenu and Chromium specific changes will be
20681        separated based on Darin Adler's comments.
20682
20683        * dom/InputElement.h:
20684        (WebCore::InputElementData::suggestedValue):
20685        (WebCore::InputElementData::setSuggestedValue):
20686        * html/HTMLInputElement.cpp:
20687        (WebCore::HTMLInputElement::suggestedValue):
20688        (WebCore::HTMLInputElement::setSuggestedValue):
20689        (WebCore::HTMLInputElement::setValue):
20690        (WebCore::HTMLInputElement::setValueFromRenderer):
20691        * html/HTMLInputElement.h:
20692        * rendering/RenderTextControlSingleLine.cpp:
20693        (WebCore::RenderTextControlSingleLine::updateFromElement):
20694        * wml/WMLInputElement.cpp:
20695        (WebCore::WMLInputElement::suggestedValue):
20696        * wml/WMLInputElement.h:
20697
206982009-12-16  Pavel Feldman  <pfeldman@chromium.org>
20699
20700        Reviewed by Timothy Hatcher.
20701
20702        Web Inspector: Make Elements tree, properties section and resources
20703        view monospace.
20704
20705        https://bugs.webkit.org/show_bug.cgi?id=32609
20706
20707        * inspector/front-end/ElementsPanel.js:
20708        * inspector/front-end/PropertiesSection.js:
20709        (WebInspector.PropertiesSection):
20710        * inspector/front-end/ResourceView.js:
20711        (WebInspector.ResourceView):
20712        * inspector/front-end/inspector.css:
20713
207142009-12-16  Dirk Schulze  <krit@webkit.org>
20715
20716        Reviewed by Darin Adler.
20717
20718        sourceGraphic wrong if positive x,y is >0 and objectBB is selected on Filter
20719        https://bugs.webkit.org/show_bug.cgi?id=32575
20720
20721        On SVG Filters, the rest of the source graphic gets clipped to the filter
20722        rest. This helps us to minimize the size of intermediate ImageBuffers. If
20723        the position moves to the right or to the bottom, we have to adjust the
20724        GraphicContext of this intermediate ImageBuffer.
20725        This patch fixes the adjustment of the context, according to the clipping.
20726
20727        Test: svg/filters/filter-source-position.svg
20728
20729        * svg/graphics/SVGResourceFilter.cpp:
20730        (WebCore::SVGResourceFilter::prepareFilter):
20731
207322009-12-16  Enrica Casucci  <enrica@apple.com>
20733
20734        Reviewed by Adele Peterson.
20735
20736        CrashTracer: [USER] 1 crash in Safari at com.apple.WebCore: WebCore::endsOfNodeAreVisuallyDistinctPositions + 115
20737        <rdar://problem/7467108>
20738        https://bugs.webkit.org/show_bug.cgi?id=32590
20739
20740        If the element is a button there is no need to look at the children to calculate the caret position.
20741        
20742        Test: editing/selection/button-right-click.html
20743
20744        * dom/Position.cpp:
20745        (WebCore::Position::getInlineBoxAndOffset): Avoid calling recursively this method,
20746        when starting from a button element.
20747
207482009-12-16  Luiz Agostini  <luiz.agostini@openbossa.org>
20749
20750        Reviewed by Kenneth Rohde Christiansen.
20751
20752        [Qt] Implement combobox delegate for Qt
20753        https://bugs.webkit.org/show_bug.cgi?id=32550
20754
20755        Refactoring of class QWebPopup.
20756
20757        Class QWebPopup has been split in QtAbstractWebPopup and QtFallbackWebPopup.
20758        Both new classes are now in corresponding files and files QWebPopup.* have been removed.
20759
20760        Custom combo popup classes will inherit from QtAbstractWebPopup. It is not the public API as it is
20761        in WebCore and will not be visible by users of QtWebKit. It will be used in implementation of
20762        public QtWebKit combobox popup delegation API.
20763
20764        Class QtFallbackWebPopup inherits from QtAbstractWebPopup and implements the currently used combobox popup.
20765        It needs to be improved to provide standard features that are missing like style or indentation.
20766
20767        No behavior changes.
20768
20769        * WebCore.pro:
20770        * platform/PopupMenu.h:
20771        * platform/qt/PopupMenuQt.cpp:
20772        (WebCore::PopupMenu::PopupMenu):
20773        * platform/qt/QWebPopup.cpp: Removed.
20774        * platform/qt/QWebPopup.h: Removed.
20775        * platform/qt/QtAbstractWebPopup.cpp: Added.
20776        (WebCore::QtAbstractWebPopup::QtAbstractWebPopup):
20777        (WebCore::QtAbstractWebPopup::~QtAbstractWebPopup):
20778        (WebCore::QtAbstractWebPopup::client):
20779        * platform/qt/QtAbstractWebPopup.h: Added.
20780        * platform/qt/QtFallbackWebPopup.cpp: Added.
20781        (WebCore::QtFallbackWebPopup::QtFallbackWebPopup):
20782        (WebCore::QtFallbackWebPopup::show):
20783        (WebCore::QtFallbackWebPopup::populate):
20784        (WebCore::QtFallbackWebPopup::showPopup):
20785        (WebCore::QtFallbackWebPopup::hidePopup):
20786        (WebCore::QtFallbackWebPopup::activeChanged):
20787        * platform/qt/QtFallbackWebPopup.h: Added.
20788        (WebCore::QtFallbackWebPopup::hide):
20789
207902009-12-15  Pavel Feldman  <pfeldman@chromium.org>
20791
20792        Reviewed by Timothy Hatcher.
20793
20794        Web Inspector: beautify HTTP info section.
20795
20796        https://bugs.webkit.org/show_bug.cgi?id=32583
20797
20798        * English.lproj/localizedStrings.js:
20799        * inspector/front-end/ResourceView.js:
20800        (WebInspector.ResourceView):
20801        (WebInspector.ResourceView.prototype._refreshURL):
20802        (WebInspector.ResourceView.prototype._refreshHTTPInformation):
20803        * inspector/front-end/inspector.css:
20804
208052009-12-13  Roland Steiner  <rolandsteiner@chromium.org>
20806
20807        Reviewed by Adam Barth.
20808
20809        Fix crash when encountering illegal HTML within a continuation inside <ruby>.
20810        (https://bugs.webkit.org/show_bug.cgi?id=32316)
20811
20812        Avoid having the anonymous blocks utilized in the ruby renderers being
20813        re-used as continuation blocks.
20814        Avoid having ruby runs collected as "leftover blocks".
20815
20816        Test: fast/ruby/ruby-illegal.html
20817
20818        * rendering/RenderRuby.h:
20819        (WebCore::RenderRubyAsInline::removeLeftoverAnonymousBlock): mustn't be called
20820        (WebCore::RenderRubyAsInline::isRuby): made private
20821        (WebCore::RenderRubyAsInline::renderName): made private
20822        (WebCore::RenderRubyAsInline::createsAnonymousWrapper): return true
20823        (WebCore::RenderRubyAsBlock::removeLeftoverAnonymousBlock): mustn't be called
20824        (WebCore::RenderRubyAsBlock::isRuby): made private
20825        (WebCore::RenderRubyAsBlock::renderName): made private
20826        (WebCore::RenderRubyAsBlock::createsAnonymousWrapper): return true
20827        * rendering/RenderRubyRun.h:
20828        (WebCore::RenderRubyRun::removeLeftoverAnonymousBlock): avoid
20829        (WebCore::RenderRubyRun::isRubyRun): made private
20830        (WebCore::RenderRubyRun::renderName): made private
20831        (WebCore::RenderRubyRun::createsAnonymousWrapper): return true
20832
208332009-12-15  Nate Chapin  <japhet@chromium.org>
20834
20835        Reviewed by Darin Adler.
20836
20837        Rename skipCanLoadCheck to skipSecurityCheck in a bunch of places in WebCore/loader.
20838
20839        https://bugs.webkit.org/show_bug.cgi?id=32529
20840
20841        * loader/Cache.cpp:
20842        (WebCore::Cache::requestUserCSSStyleSheet):
20843        * loader/CachedImage.cpp:
20844        (WebCore::CachedImage::load):
20845        * loader/CachedResource.cpp:
20846        (WebCore::CachedResource::load):
20847        * loader/CachedResource.h:
20848        (WebCore::CachedResource::load):
20849        * loader/DocumentThreadableLoader.cpp:
20850        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
20851        (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
20852        (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
20853        (WebCore::DocumentThreadableLoader::preflightSuccess):
20854        (WebCore::DocumentThreadableLoader::loadRequest):
20855        * loader/DocumentThreadableLoader.h:
20856        * loader/FrameLoaderTypes.h:
20857        (WebCore::):
20858        * loader/Request.cpp:
20859        (WebCore::Request::Request):
20860        * loader/Request.h:
20861        (WebCore::Request::shouldDoSecurityCheck):
20862        * loader/SubresourceLoader.cpp:
20863        (WebCore::SubresourceLoader::create):
20864        * loader/SubresourceLoader.h:
20865        * loader/loader.cpp:
20866        (WebCore::Loader::load):
20867        (WebCore::Loader::Host::servePendingRequests):
20868        * loader/loader.h:
20869
208702009-12-15  Dan Bernstein  <mitz@apple.com>
20871
20872        Reviewed by Darin Adler.
20873
20874        <rdar://problem/7470452> Safari/Chromium crashes on complicated @font-face rule
20875        https://bugs.webkit.org/show_bug.cgi?id=32257
20876
20877        Test: fast/css/font-face-unused-source-loaded.html
20878
20879        The loading of a font resource caused a CSSFontFace that had the resource in one of its
20880        sources, but wasn’t using it (due to using an earlier source) to invalidate its
20881        CSSSegmentedFontFaces. This caused FontData for the active source (the one that did not just
20882        finish loading) to be deleted, but that went unnoticed by Font::operator==(), since the
20883        corresponding FontFallbackLists were not in the loading state. The fix is for CSSFontFace to
20884        ignore loads from unused sources.
20885
20886        * css/CSSFontFace.cpp:
20887        (WebCore::CSSFontFace::fontLoaded): Bail out if the loaded source is not the active source.
20888        (WebCore::CSSFontFace::getFontData): Set m_activeSource to the source that supplied the
20889            FontData.
20890        * css/CSSFontFace.h:
20891        (WebCore::CSSFontFace::CSSFontFace): Initialize m_activeSource.
20892
208932009-12-15  Yael Aharon  <yael.aharon@nokia.com>
20894
20895        Reviewed by Kenneth Rohde Christiansen.
20896
20897        [Qt] Cannot load flash files from a local file.
20898        https://bugs.webkit.org/show_bug.cgi?id=32572
20899
20900        When loading the main resource and its mime type is application/octet-stream,
20901        use the file extenstion to check if it is a supported plugin.
20902
20903        No new tests were added since any existing swf file can be used as a manual test.
20904
20905        * loader/MainResourceLoader.cpp:
20906        (WebCore::MainResourceLoader::didReceiveResponse):
20907        * loader/MainResourceLoader.h:
20908        * plugins/PluginDatabase.h:
20909
209102009-12-15  Brian Weinstein  <bweinstein@apple.com>
20911
20912        Reviewed by Timothy Hatcher.
20913
20914        Fixes <https://bugs.webkit.org/show_bug.cgi?id=18498>.
20915        REGRESSION: Tips are not shown for resources anymore.
20916        
20917        As discussed in the bug, Tips are not coming back, and the feature
20918        will be moved to the audits panel. This patch is to remove the Tips
20919        code and the resources that it needed.
20920
20921        * WebCore.gypi: Removed tips files.
20922        * inspector/front-end/Images/tipBalloon.png: Removed.
20923        * inspector/front-end/Images/tipBalloonBottom.png: Removed.
20924        * inspector/front-end/Images/tipIcon.png: Removed.
20925        * inspector/front-end/Images/tipIconPressed.png: Removed.
20926        * inspector/front-end/Resource.js: Removed tips code.
20927        (WebInspector.Resource.prototype.set finished): 
20928        * inspector/front-end/WebKit.qrc: Removed tips files.
20929        * inspector/front-end/inspector.css: Removes tips style rules.
20930        
209312009-12-15  Pavel Feldman  <pfeldman@chromium.org>
20932
20933        Reviewed by Timothy Hatcher.
20934
20935        Web Inspector: Display request headers for main resource
20936        having redirects.
20937
20938        https://bugs.webkit.org/show_bug.cgi?id=32577
20939
20940        * inspector/InspectorController.cpp:
20941        (WebCore::InspectorController::identifierForInitialRequest):
20942        (WebCore::InspectorController::willSendRequest):
20943        * inspector/InspectorResource.cpp:
20944        (WebCore::InspectorResource::InspectorResource):
20945        (WebCore::InspectorResource::appendRedirect):
20946        (WebCore::InspectorResource::createCached):
20947        (WebCore::InspectorResource::updateRequest):
20948        * inspector/InspectorResource.h:
20949        (WebCore::InspectorResource::create):
20950
209512009-12-15  Brian Weinstein  <bweinstein@apple.com>
20952
20953        Reviewed by Timothy Hatcher.
20954
20955        Fixes <https://bugs.webkit.org/show_bug.cgi?id=32578>.
20956        Web Inspector: No Need for ?="" now that we have context menus.
20957        
20958        Remove the toggleNewAttributeButton function and callers to it, as
20959        we don't need this behavior anymore, now that we have context menus.
20960
20961        * inspector/front-end/ElementsTreeOutline.js:
20962        (WebInspector.ElementsTreeElement.prototype.set hovered):
20963        (WebInspector.ElementsTreeElement.prototype.toggleNewAttributeButton):
20964        (WebInspector.ElementsTreeElement.prototype._startEditing):
20965
209662009-12-15  Dimitri Glazkov  <dglazkov@chromium.org>
20967
20968        Reviewed by Eric Seidel.
20969
20970        [V8] Generate trivial named property getters.
20971        https://bugs.webkit.org/show_bug.cgi?id=32562
20972
20973        Covered by existing tests.
20974
20975        * bindings/scripts/CodeGeneratorV8.pm: Added GenerateImplementationNamedPropertyGetter.
20976        * bindings/v8/V8Collection.h:
20977        (WebCore::getNamedPropertyOfCollection): Fixed a booboo by using AtomicString like we're supposed to.
20978        * bindings/v8/V8DOMWrapper.cpp:
20979        (WebCore::V8DOMWrapper::getTemplate): Removed code that's now generated.
20980
209812009-12-15  Brian Weinstein  <bweinstein@apple.com>
20982
20983        Reviewed by Timothy Hatcher.
20984
20985        Part of <http://webkit.org/b/32568>.
20986        New Web Inspector: The Context Menu should be used in more places.
20987        
20988        Add support for context menu entries for editing and deleting elements
20989        in the datagrid. This gives support to deleting cookies, and editing and
20990        deleting session storage and local storage.
20991
20992        * English.lproj/localizedStrings.js: Added "Edit" and "Add New" entries (delete was already there)
20993        * inspector/front-end/DataGrid.js:
20994        (WebInspector.DataGrid): Added context menu listener.
20995        (WebInspector.DataGrid.prototype._contextMenuInDataTable):
20996
209972009-12-15  Kenneth Russell  <kbr@google.com>
20998
20999        Reviewed by Darin Fisher.
21000
21001        Don't allow default framebuffer to be mutated
21002        https://bugs.webkit.org/show_bug.cgi?id=32391
21003
21004        * html/canvas/WebGLRenderingContext.cpp:
21005        (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
21006        (WebCore::WebGLRenderingContext::framebufferTexture2D):
21007        * platform/graphics/mac/GraphicsContext3DMac.cpp:
21008        (WebCore::GraphicsContext3D::bindFramebuffer):
21009
210102009-12-15  Zoltan Horvath  <zoltan@webkit.org>
21011
21012        Reviewed by Darin Adler.
21013
21014        Allow custom memory allocation control for FontPlatformDataCacheKey class
21015        https://bugs.webkit.org/show_bug.cgi?id=32552
21016
21017        Inherits the following struct from FastAllocBase because it is instantiated by 'new':
21018
21019        struct name                     - instantiated at: WebCore/'location'
21020        struct FontPlatformDataCacheKey - platform/graphics/FontCache.cpp:118
21021
21022        * platform/graphics/FontCache.cpp:
21023
210242009-12-15  Jian Li  <jianli@chromium.org>
21025
21026        Reviewed by Dmitry Titov.
21027
21028        Bug 31090 - [Chromium] Add DownloadURL format to Chromium clipboard.
21029        https://bugs.webkit.org/show_bug.cgi?id=31090
21030
21031        The proposal to whatwg can be found here:
21032        http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-August/022118.html
21033
21034        * platform/chromium/ChromiumDataObject.cpp:
21035        (WebCore::ChromiumDataObject::clear):
21036        (WebCore::ChromiumDataObject::hasData):
21037        (WebCore::ChromiumDataObject::ChromiumDataObject):
21038        * platform/chromium/ChromiumDataObject.h:
21039        * platform/chromium/ClipboardChromium.cpp:
21040        (WebCore::):
21041        (WebCore::clipboardTypeFromMIMEType):
21042        (WebCore::ClipboardChromium::setData):
21043
210442009-12-15  Chris Fleizach  <cfleizach@apple.com>
21045
21046        Reviewed by Darin Adler.
21047
21048        WAI-ARIA: implement treegrid
21049        https://bugs.webkit.org/show_bug.cgi?id=31299
21050
21051        Test: platform/mac/accessibility/aria-treegrid.html
21052
21053        * accessibility/AXObjectCache.cpp:
21054        (WebCore::AXObjectCache::getOrCreate):
21055        * accessibility/AccessibilityARIAGrid.h:
21056        (WebCore::AccessibilityARIAGrid::supportsSelectedRows):
21057        * accessibility/AccessibilityARIAGridRow.cpp:
21058        (WebCore::AccessibilityARIAGridRow::isARIATreeGridRow):
21059        (WebCore::AccessibilityARIAGridRow::disclosedRows):
21060        (WebCore::AccessibilityARIAGridRow::disclosedByRow):
21061        * accessibility/AccessibilityARIAGridRow.h:
21062        * accessibility/AccessibilityObject.cpp:
21063        (WebCore::createARIARoleMap):
21064        * accessibility/AccessibilityObject.h:
21065        (WebCore::):
21066        (WebCore::AccessibilityObject::isARIATreeGridRow):
21067        * accessibility/AccessibilityRenderObject.cpp:
21068        (WebCore::AccessibilityRenderObject::isMultiSelectable):
21069        (WebCore::AccessibilityRenderObject::setIsExpanded):
21070        (WebCore::AccessibilityRenderObject::setSelectedRows):
21071        (WebCore::AccessibilityRenderObject::ariaSelectedRows):
21072        (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
21073        (WebCore::AccessibilityRenderObject::selectedChildren):
21074        * accessibility/AccessibilityRenderObject.h:
21075        * accessibility/AccessibilityTable.h:
21076        (WebCore::AccessibilityTable::supportsSelectedRows):
21077        * accessibility/mac/AccessibilityObjectWrapper.mm:
21078        (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
21079        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
21080        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
21081        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
21082
210832009-12-15  Zoltan Horvath  <zoltan@webkit.org>
21084
21085        Reviewed by Darin Adler.
21086
21087        Allow custom memory allocation control for EmptyEditorClient and EmptyInspectorClient
21088        https://bugs.webkit.org/show_bug.cgi?id=32557
21089
21090        Inherits the following classes from Noncopyable because these are instantiated
21091        by 'new' and no need to be copyable:
21092
21093        class name                 - instantiated at: WebCore/'location'
21094        class EmptyEditorClient    - svg/graphics/SVGImage.cpp:230
21095        class EmptyInspectorClient - svg/graphics/SVGImage.cpp:241
21096
21097        * loader/EmptyClients.h:
21098
210992009-12-15  Zoltan Horvath  <zoltan@webkit.org>
21100
21101        Reviewed by Darin Adler.
21102
21103        Allow custom memory allocation control for WebCore/inspector directory's classes
21104        https://bugs.webkit.org/show_bug.cgi?id=32556
21105
21106        Inherits the following class from Noncopyable because these are instantiated
21107        by 'new' and no need to be copyable:
21108
21109        class name                   - instantiated at: WebCore/'location'
21110        class InspectorFrontend      - inspector/InspectorController.cpp:538
21111        class InspectorTimelineAgent - inspector/InspectorController.cpp:1097
21112
21113        * inspector/InspectorFrontend.h:
21114        * inspector/InspectorTimelineAgent.h:
21115
211162009-12-15  Zoltan Horvath  <zoltan@webkit.org>
21117
21118        Reviewed by Darin Adler.
21119
21120        Allow custom memory allocation control for WebCore/platform/network directory's classes
21121        https://bugs.webkit.org/show_bug.cgi?id=32553
21122
21123        Inherits the following class from Noncopyable because it is instantiated
21124        by 'new' and no need to be copyable:
21125
21126        class/struct name                      - instantiated at: WebCore/'location'
21127
21128        struct CrossThreadResourceResponseData - platform/network/ResourceResponseBase.cpp:109
21129
21130        Inherits the following classes from FastAllocBase because these are
21131        instantiated by 'new':
21132
21133        class ResourceResponseBase - (its child class) platform/network/ResourceResponseBase.cpp:90
21134        class ResourceRequestBase  - (its child class) loader/DocumentThreadableLoader.cpp:88
21135
21136        * platform/network/ResourceRequestBase.h:
21137        * platform/network/ResourceResponseBase.h:
21138
211392009-12-15  Zoltan Horvath  <zoltan@webkit.org>
21140
21141        Reviewed by Darin Adler.
21142
21143        Allow custom memory allocation control for AnimationControllerPrivate and FillLayerPropertyWrapperGetter
21144        https://bugs.webkit.org/show_bug.cgi?id=32549
21145
21146        Inherits AnimationControllerPrivate and FillLayerPropertyWrapperGetter
21147        classes from Noncopyable because these are instantiated by 'new' and no need to be copyable:
21148
21149        class/struct name              - instantiated at: WebCore/'location'
21150
21151        AnimationControllerPrivate     - page/animation/AnimationController.cpp:439
21152        FillLayerPropertyWrapperGetter - (its child class) page/animation/AnimationBase.cpp:464
21153
21154        * page/animation/AnimationBase.cpp:
21155        * page/animation/AnimationControllerPrivate.h:
21156
211572009-12-15  Pavel Feldman  <pfeldman@chromium.org>
21158
21159        Reviewed by Timothy Hatcher.
21160
21161        Web Inspector: Do not lose HTTP redirect information, display it
21162        in the Resources Panel.
21163
21164        https://bugs.webkit.org/show_bug.cgi?id=32551
21165
21166        * inspector/InspectorController.cpp:
21167        (WebCore::InspectorController::populateScriptObjects):
21168        (WebCore::InspectorController::didCommitLoad):
21169        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
21170        (WebCore::InspectorController::identifierForInitialRequest):
21171        (WebCore::InspectorController::willSendRequest):
21172        (WebCore::InspectorController::didReceiveResponse):
21173        (WebCore::InspectorController::didReceiveContentLength):
21174        (WebCore::InspectorController::didFinishLoading):
21175        (WebCore::InspectorController::didFailLoading):
21176        * inspector/InspectorFrontend.cpp:
21177        * inspector/InspectorFrontend.h:
21178        * inspector/InspectorResource.cpp:
21179        (WebCore::InspectorResource::InspectorResource):
21180        (WebCore::InspectorResource::appendRedirect):
21181        (WebCore::InspectorResource::updateScriptObject):
21182        (WebCore::InspectorResource::releaseScriptObject):
21183        (WebCore::InspectorResource::type):
21184        * inspector/InspectorResource.h:
21185        (WebCore::InspectorResource::):
21186        (WebCore::InspectorResource::Changes::setAll):
21187        * inspector/front-end/inspector.js:
21188        (WebInspector._addResource):
21189        (WebInspector.updateResource):
21190
211912009-12-15  Holger Hans Peter Freyther  <zecke@selfish.org>
21192
21193        Reviewed by Simon Hausmann.
21194
21195        [Qt] Followup for direct signals and slots connections in QNetworkReplyHandler
21196        https://bugs.webkit.org/show_bug.cgi?id=32113
21197
21198        For Qt versions prior to 4.6.1 we will need to use QueuedConnection
21199        for the signal and slot connection to avoid running into a bug in.
21200
21201        Add a comment that we want to remove one signal to forward
21202        queued items when moving our minimum requirements.
21203
21204        * platform/network/qt/QNetworkReplyHandler.cpp:
21205        (WebCore::QNetworkReplyHandler::start):
21206
212072009-12-14  Holger Hans Peter Freyther  <zecke@selfish.org>
21208
21209        Reviewed by Kenneth Rohde Christiansen.
21210
21211        [Qt] Add manual test for JavaScript prompt corner case
21212        https://bugs.webkit.org/show_bug.cgi?id=30914
21213
21214        The patch is based on the work done by Gupta Manish.
21215
21216        Verify behavior of the JavaScript prompt function. Currently
21217        Qt is not behaving like other WebKit ports and Firefox in
21218        regards to accepting the prompt but not entering a text.
21219
21220        * manual-tests/qt/java-script-prompt.html: Added.
21221
212222009-12-15  Luiz Agostini  <luiz.agostini@openbossa.org>
21223
21224        Reviewed by Kenneth Rohde Christiansen.
21225
21226        Moving list populate methods from PopupMenuQt to QWebPopup.
21227        
21228        In preparation to future implementation of a delegation API for the combobox.
21229
21230        * platform/PopupMenu.h:
21231        * platform/qt/PopupMenuQt.cpp:
21232        (WebCore::PopupMenu::show):
21233        (WebCore::PopupMenu::hide):
21234        * platform/qt/QWebPopup.cpp:
21235        (WebCore::QWebPopup::show):
21236        (WebCore::QWebPopup::populate):
21237        * platform/qt/QWebPopup.h:
21238        (WebCore::QWebPopup::hide):
21239
212402009-12-15  Alexander Pavlov  <apavlov@chromium.org>
21241
21242        Reviewed by Pavel Feldman.
21243
21244        Extract WebInspector.Section from WebInspector.PropertiesSection.
21245        https://bugs.webkit.org/show_bug.cgi?id=32523
21246
21247        * WebCore.gypi:
21248        * WebCore.vcproj/WebCore.vcproj:
21249        * inspector/front-end/PropertiesSection.js:
21250        (WebInspector.PropertiesSection):
21251        * inspector/front-end/Section.js: Added.
21252        (WebInspector.Section):
21253        (WebInspector.Section.prototype.get title):
21254        (WebInspector.Section.prototype.set title):
21255        (WebInspector.Section.prototype.get subtitle):
21256        (WebInspector.Section.prototype.set subtitle):
21257        (WebInspector.Section.prototype.get expanded):
21258        (WebInspector.Section.prototype.set expanded):
21259        (WebInspector.Section.prototype.get populated):
21260        (WebInspector.Section.prototype.set populated):
21261        (WebInspector.Section.prototype.expand):
21262        (WebInspector.Section.prototype.collapse):
21263        (WebInspector.Section.prototype.toggleExpanded):
21264        * inspector/front-end/WebKit.qrc:
21265        * inspector/front-end/inspector.html:
21266
212672009-12-15  Eric Seidel  <eric@webkit.org>
21268
21269        No review, rolling out r52140.
21270        http://trac.webkit.org/changeset/52140
21271        https://bugs.webkit.org/show_bug.cgi?id=31299
21272
21273        The commit broke the Leopard bots and unfortunately
21274        Chris wasn't around to fix them, so I'm rolling the change
21275        out after 3 hours so that the bots can roll green again. :)
21276
21277        * accessibility/AXObjectCache.cpp:
21278        (WebCore::AXObjectCache::getOrCreate):
21279        * accessibility/AccessibilityARIAGrid.h:
21280        * accessibility/AccessibilityARIAGridRow.cpp:
21281        * accessibility/AccessibilityARIAGridRow.h:
21282        * accessibility/AccessibilityObject.cpp:
21283        (WebCore::createARIARoleMap):
21284        * accessibility/AccessibilityObject.h:
21285        (WebCore::):
21286        * accessibility/AccessibilityRenderObject.cpp:
21287        (WebCore::AccessibilityRenderObject::isMultiSelect):
21288        (WebCore::AccessibilityRenderObject::setIsExpanded):
21289        (WebCore::AccessibilityRenderObject::setSelectedRows):
21290        (WebCore::AccessibilityRenderObject::ariaTreeSelectedRows):
21291        (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
21292        (WebCore::AccessibilityRenderObject::selectedChildren):
21293        * accessibility/AccessibilityRenderObject.h:
21294        * accessibility/AccessibilityTable.h:
21295        * accessibility/mac/AccessibilityObjectWrapper.mm:
21296        (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
21297        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
21298        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
21299        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
21300
213012009-12-14  Holger Hans Peter Freyther  <zecke@selfish.org>
21302
21303        Reviewed by Eric Seidel.
21304
21305        [Qt] Remove dead code from FontPlatformDataQt.cpp
21306        https://bugs.webkit.org/show_bug.cgi?id=32540
21307
21308        In r51758 the code that used familyNames was removed
21309        and we should remove the creation of the familyNames
21310        as well.
21311
21312        * platform/graphics/qt/FontPlatformDataQt.cpp:
21313        (WebCore::FontPlatformData::FontPlatformData):
21314
213152009-12-15  Dan Bernstein  <mitz@apple.com>
21316
21317        Reviewed by Adam Roben.
21318
21319        WebCore part of <rdar://problem/7173515> Use LOGFONT support in Core
21320        Graphics when available
21321
21322        When using a version of Core Graphics with LOGFONT support, this fixes
21323        <rdar://problem/5764844> First-time launch is painfully slow due to font
21324        plist creation
21325        and <rdar://problem/6576281> 12px synthetic-italics Tahoma text is less
21326        readable in Safari than in Firefox/IE due to poorly-spaced letters
21327
21328        * platform/graphics/win/FontCGWin.cpp:
21329        (WebCore::Font::drawGlyphs): No longer call drawGDIGlyphs for stroked
21330        text.
21331        * platform/graphics/win/FontCacheWin.cpp:
21332        (WebCore::createGDIFont): Added a synthesizeItalic parameter. When set
21333        to true, if italics are desired but the best match lacks italics,
21334        creates and returns a synthetic italics font.
21335        (WebCore::FontCache::createFontPlatformData): Ask to synthesize italics
21336        if needed.
21337        * platform/graphics/win/FontCustomPlatformData.cpp:
21338        (WebCore::FontCustomPlatformData::fontPlatformData): Updated an
21339        assertion, and changed to create the CGFont from the LOGFONT.
21340        (WebCore::createFontCustomPlatformData): Changed cgFont to be a
21341        RetainPtr. Do not create a CGFont from the font data if it can be
21342        created from the LOGFONT in fontPlatformData().
21343        * platform/graphics/win/FontDatabase.cpp:
21344        (WebCore::populateFontDatabase): Avoid font database work if fonts are
21345        not going to be looked up by name.
21346        * platform/graphics/win/FontPlatformDataCGWin.cpp:
21347        (WebCore::FontPlatformData::platformDataInit): Create the CGFont from
21348        a LOGFONT based on the HFONT.
21349
213502009-12-14  Chris Fleizach  <cfleizach@apple.com>
21351
21352        Reviewed by Darin Adler.
21353
21354        WAI-ARIA: implement treegrid
21355        https://bugs.webkit.org/show_bug.cgi?id=31299
21356
21357        Test: platform/mac/accessibility/aria-treegrid.html
21358
21359        * accessibility/AXObjectCache.cpp:
21360        (WebCore::AXObjectCache::getOrCreate):
21361        * accessibility/AccessibilityARIAGrid.h:
21362        (WebCore::AccessibilityARIAGrid::supportsSelectedRows):
21363        * accessibility/AccessibilityARIAGridRow.cpp:
21364        (WebCore::AccessibilityARIAGridRow::isARIATreeGridRow):
21365        (WebCore::AccessibilityARIAGridRow::disclosedRows):
21366        (WebCore::AccessibilityARIAGridRow::disclosedByRow):
21367        * accessibility/AccessibilityARIAGridRow.h:
21368        * accessibility/AccessibilityObject.cpp:
21369        (WebCore::createARIARoleMap):
21370        * accessibility/AccessibilityObject.h:
21371        (WebCore::AccessibilityObject::isARIATreeGridRow):
21372        * accessibility/AccessibilityRenderObject.cpp:
21373        (WebCore::AccessibilityRenderObject::isMultiSelectable):
21374        (WebCore::AccessibilityRenderObject::setIsExpanded):
21375        (WebCore::AccessibilityRenderObject::setSelectedRows):
21376        (WebCore::AccessibilityRenderObject::ariaSelectedRows):
21377        (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
21378        (WebCore::AccessibilityRenderObject::selectedChildren):
21379        * accessibility/AccessibilityRenderObject.h:
21380        * accessibility/AccessibilityTable.h:
21381        (WebCore::AccessibilityTable::supportsSelectedRows):
21382        * accessibility/mac/AccessibilityObjectWrapper.mm:
21383        (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
21384        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
21385        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
21386        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
21387
213882009-12-14  Dan Bernstein  <mitz@apple.com>
21389
21390        Reviewed by Darin Adler.
21391
21392        <rdar://problem/7460655> REGRESSION (r47255): Content shifted down at software.opensuse.org
21393        https://bugs.webkit.org/show_bug.cgi?id=32382
21394
21395        Test: fast/block/float/in-margin.html
21396
21397        * rendering/RenderBlock.cpp:
21398        (WebCore::RenderBlock::getClearDelta): Floats that do not intrude into the line (because
21399        they are in the margin) do not need to be cleared.
21400
214012009-12-14  Enrica Casucci  <enrica@apple.com>
21402
21403        Reviewed by John Sullivan.
21404
21405        Pressing backspace inside a table cell erases all empty rows below it.
21406        <rdar://problem/5565461>
21407        https://bugs.webkit.org/show_bug.cgi?id=32526
21408
21409        No deletion is performed when the caret selection is on an empty table cell.
21410        
21411        Test: editing/deleting/delete-empty-table.html
21412
21413        * editing/TypingCommand.cpp:
21414        (WebCore::TypingCommand::deleteKeyPressed): Added check for empty table cells in
21415        case of caret selection.
21416
214172009-12-14  Andrei Popescu  <andreip@google.com>
21418
21419        Reviewed by Darin Adler.
21420
21421        [Android] Android needs ResourceHandle implementation
21422        https://bugs.webkit.org/show_bug.cgi?id=32515
21423
21424        Adds implementation of ResourceHandle on Android.
21425
21426        No new tests needed, this is platform-specific code, so existing
21427        tests are sufficient.
21428
21429        * platform/network/android/ResourceHandleAndroid.cpp: Added.
21430        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
21431        (WebCore::ResourceHandle::~ResourceHandle):
21432        (WebCore::ResourceHandle::start):
21433        (WebCore::ResourceHandle::cancel):
21434        (WebCore::ResourceHandle::bufferedData):
21435        (WebCore::ResourceHandle::supportsBufferedData):
21436        (WebCore::ResourceHandle::setDefersLoading):
21437        (WebCore::ResourceHandle::willLoadFromCache):
21438        (WebCore::ResourceHandle::loadsBlocked):
21439        (WebCore::SyncLoader::SyncLoader):
21440        (WebCore::SyncLoader::~SyncLoader):
21441        (WebCore::SyncLoader::didReceiveResponse):
21442        (WebCore::SyncLoader::didReceiveData):
21443        (WebCore::SyncLoader::didFail):
21444        (WebCore::ResourceHandle::loadResourceSynchronously):
21445        * platform/network/android/ResourceLoaderAndroid.h: Added.
21446        (WebCore::ResourceLoaderAndroid::~ResourceLoaderAndroid):
21447        (WebCore::ResourceLoaderAndroid::ResourceLoaderAndroid):
21448
214492009-12-14  Marco Martin  <notmart@gmail.com>
21450
21451        Reviewed by Kenneth Rohde Christiansen.
21452
21453        In the Scrollbar painting of the Qt theme integration,
21454        intersects any previous clip rects with the one needed to paint the scrollbar.
21455        This fixes the painting in QGraphicsview, when the parent of the widget that 
21456        paints the QWebPage has the QGraphicsItem::ItemClipsChildrenToShape set and
21457        a piece of the scrollbar should be cipped away
21458        https://bugs.webkit.org/show_bug.cgi?id=30366
21459
21460        No new tests.
21461
21462        * platform/qt/ScrollbarThemeQt.cpp:
21463        (WebCore::ScrollbarThemeQt::paint):
21464
214652009-12-14  Dimitri Glazkov  <dglazkov@chromium.org>
21466
21467        Reviewed by Eric Seidel.
21468
21469        [V8] Generate bindings for trivial indexers.
21470        https://bugs.webkit.org/show_bug.cgi?id=32455
21471
21472        Covered by existing tests.
21473
21474        * bindings/scripts/CodeGeneratorV8.pm:
21475            Added detecting indexers and generating code for them.
21476        * bindings/v8/V8Collection.h: Removed code that's now generated.
21477        * bindings/v8/V8DOMWrapper.cpp:
21478        (WebCore::V8DOMWrapper::getTemplate): Ditto.
21479
214802009-12-14  Alexey Proskuryakov  <ap@apple.com>
21481
21482        Reviewed by Dave Hyatt.
21483
21484        https://bugs.webkit.org/show_bug.cgi?id=31660
21485        REGRESSION (r49394): Image load event fires before the document fragment is attached.
21486
21487        Test: fast/images/image-load-event-in-fragment.html
21488
21489        We cannot fire load events immediately after parsing a fragment - an element inserted via
21490        innerHTML or equivalent should be reachable via getElementById() by the time its load event
21491        fires.
21492
21493        * dom/Document.cpp: (WebCore::Document::implicitClose): Call dispatchPendingBeforeLoadEvents()
21494        and dispatchPendingLoadEvents() individually. I'm not sure why these calls are here, just
21495        preserving existing behavior.
21496
21497        * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::write):
21498        * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::write):
21499        Load events for elements that have just been parsed cannot be dispatched yet, we should give
21500        the elements a chance to be inserted into a document first. There is no compatibility baggage
21501        for beforeload, so it seems OK to dispatch it right away.
21502
21503        * loader/ImageLoader.cpp:
21504        (WebCore::ImageLoader::dispatchPendingBeforeLoadEvents):
21505        (WebCore::ImageLoader::dispatchPendingLoadEvents):
21506        * loader/ImageLoader.h:
21507        Separated dispatchPendingEvents() into individual functions for each event kind.
21508
215092009-12-14  Jakob Petsovits  <jpetsovits@rim.com>
21510
21511        Reviewed by Simon Fraser.
21512
21513        Add FloatQuad::isRectilinear() to check whether it can be represented as FloatRect.
21514        https://bugs.webkit.org/show_bug.cgi?id=30442
21515
21516        This enables optimizations for distinguishing between
21517        arbitrary FloatQuads and rectilinear ones.
21518
21519        * platform/graphics/FloatQuad.cpp:
21520        (WebCore::FloatQuad::isRectilinear):
21521        * platform/graphics/FloatQuad.h:
21522
215232009-12-14  Simon Hausmann  <hausmann@webkit.org>
21524
21525        Reviewed by Holger Freyther.
21526
21527        [Qt] Add support for keyboard modifiers to TouchEvent
21528
21529        https://bugs.webkit.org/show_bug.cgi?id=32482
21530
21531        Similar to other ui events with keyboard state, get the alt, shift,
21532        meta and ctrl modifiers straight from the platform event.
21533
21534        * dom/TouchEvent.cpp:
21535        (WebCore::TouchEvent::TouchEvent):
21536        (WebCore::TouchEvent::initTouchEvent):
21537        * dom/TouchEvent.h:
21538        (WebCore::TouchEvent::create):
21539        * dom/TouchEvent.idl:
21540        * page/EventHandler.cpp:
21541        (WebCore::EventHandler::handleTouchEvent):
21542        * platform/PlatformTouchEvent.h:
21543        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
21544        (WebCore::PlatformTouchEvent::shiftKey):
21545        (WebCore::PlatformTouchEvent::ctrlKey):
21546        (WebCore::PlatformTouchEvent::altKey):
21547        (WebCore::PlatformTouchEvent::metaKey):
21548        * platform/qt/PlatformTouchEventQt.cpp:
21549        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
21550
215512009-12-14  Benjamin Poulain  <benjamin.poulain@nokia.com>
21552
21553        Reviewed by Kenneth Rohde Christiansen.
21554
21555        [Qt] crash when clicking "Sign out" in GMail
21556        https://bugs.webkit.org/show_bug.cgi?id=32300
21557
21558        When the ResourceLoader cancels the handle we have to make sure not to access
21559        the resource handle afterwards again.
21560        This complete r29515
21561
21562        * platform/network/qt/QNetworkReplyHandler.cpp:
21563        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
21564
215652009-12-14  Alexander Pavlov  <apavlov@chromium.org>
21566
21567        Reviewed by Pavel Feldman.
21568
21569        Implement InjectedScript.evaluateOnSelf() that evaluates functions in the InjectedScript context.
21570        https://bugs.webkit.org/show_bug.cgi?id=32517
21571
21572        * inspector/front-end/InjectedScript.js:
21573        (InjectedScript.evaluateOnSelf):
21574        * inspector/front-end/InjectedScriptAccess.js:
21575
215762009-12-14  Nayan Kumar K  <nayankk@gmail.com>
21577
21578        Reviewed by Darin Adler.
21579
21580        Fix for compilation errors in WML enabled builds.
21581
21582        https://bugs.webkit.org/show_bug.cgi?id=32481
21583
21584        * wml/WMLInputElement.cpp:
21585        (WebCore::WMLInputElement::setValue):
21586        (WebCore::WMLInputElement::setValueForUser):
21587        * wml/WMLInputElement.h:
21588
215892009-12-14  Andrei Popescu  <andreip@google.com>
21590
21591        Reviewed by Darin Adler.
21592
21593        [Android] Android needs ResourceError, ResourceResponse and
21594        ResourceRequest implementation.
21595        https://bugs.webkit.org/show_bug.cgi?id=32522
21596
21597        Add implementation of ResourceError, ResourceResponse and ResourceRequest.
21598        No new tests needed, the existing tests should be sufficient.
21599
21600        * platform/network/android/ResourceError.h: Added.
21601        (WebCore::ResourceError::ResourceError):
21602        * platform/network/android/ResourceRequest.h: Added.
21603        (WebCore::ResourceRequest::ResourceRequest):
21604        (WebCore::ResourceRequest::doUpdatePlatformRequest):
21605        (WebCore::ResourceRequest::doUpdateResourceRequest):
21606        (WebCore::ResourceRequest::setUserGesture):
21607        (WebCore::ResourceRequest::getUserGesture):
21608        * platform/network/android/ResourceResponse.h: Added.
21609        (WebCore::ResourceResponse::ResourceResponse):
21610        (WebCore::ResourceResponse::doUpdateResourceResponse):
21611
216122009-12-14  Sam Weinig  <sam@webkit.org>
21613
21614        Fix the build.
21615
21616        * page/Geolocation.cpp:
21617        * page/Geolocation.h:
21618
216192009-12-13  Sam Weinig  <sam@webkit.org>
21620
21621        Reviewed by Dan Bernstein.
21622
21623        Fix for https://bugs.webkit.org/show_bug.cgi?id=32499
21624        Add client based Geolocation provider
21625
21626        Add first cut of a client based Geolocation provider. This is guarded by
21627        ENABLE(CLIENT_BASED_GEOLOCATION) and is off by default for now. This adds a
21628        GeolocationControllerClient interface that no-one currently implements,
21629        but will in a subsequent patch.
21630
21631        * GNUmakefile.am:
21632        * WebCore.base.exp:
21633        * WebCore.gypi:
21634        * WebCore.pro:
21635        * WebCore.vcproj/WebCore.vcproj:
21636        * WebCore.xcodeproj/project.pbxproj:
21637        * WebCoreSources.bkl:
21638        * page/Geolocation.cpp:
21639        (WebCore::createGeopositionFromGeolocationPosition):
21640        (WebCore::createPositionErrorFromGeolocationError):
21641        (WebCore::Geolocation::Geolocation):
21642        (WebCore::Geolocation::~Geolocation):
21643        (WebCore::Geolocation::disconnectFrame):
21644        (WebCore::Geolocation::lastPosition):
21645        (WebCore::Geolocation::startRequest):
21646        (WebCore::Geolocation::fatalErrorOccurred):
21647        (WebCore::Geolocation::requestTimedOut):
21648        (WebCore::Geolocation::clearWatch):
21649        (WebCore::Geolocation::handleError):
21650        (WebCore::Geolocation::positionChanged):
21651        (WebCore::Geolocation::makeSuccessCallbacks):
21652        (WebCore::Geolocation::errorOccurred):
21653        (WebCore::Geolocation::geolocationServicePositionChanged):
21654        (WebCore::Geolocation::geolocationServiceErrorOccurred):
21655        (WebCore::Geolocation::startUpdating):
21656        (WebCore::Geolocation::stopUpdating):
21657        * page/Geolocation.h:
21658        * page/GeolocationController.cpp: Added.
21659        (WebCore::GeolocationController::GeolocationController):
21660        (WebCore::GeolocationController::~GeolocationController):
21661        (WebCore::GeolocationController::addObserver):
21662        (WebCore::GeolocationController::removeObserver):
21663        (WebCore::GeolocationController::positionChanged):
21664        (WebCore::GeolocationController::errorOccurred):
21665        (WebCore::GeolocationController::lastPosition):
21666        * page/GeolocationController.h: Added.
21667        * page/GeolocationControllerClient.h: Added.
21668        (WebCore::GeolocationControllerClient::~GeolocationControllerClient):
21669        * page/GeolocationError.h: Added.
21670        (WebCore::GeolocationError::):
21671        (WebCore::GeolocationError::create):
21672        (WebCore::GeolocationError::code):
21673        (WebCore::GeolocationError::message):
21674        * page/GeolocationPosition.h: Added.
21675        (WebCore::GeolocationPosition::create):
21676        (WebCore::GeolocationPosition::timestamp):
21677        (WebCore::GeolocationPosition::latitude):
21678        (WebCore::GeolocationPosition::longitude):
21679        (WebCore::GeolocationPosition::accuracy):
21680        (WebCore::GeolocationPosition::altitude):
21681        (WebCore::GeolocationPosition::altitudeAccuracy):
21682        (WebCore::GeolocationPosition::heading):
21683        (WebCore::GeolocationPosition::speed):
21684        (WebCore::GeolocationPosition::canProvideAltitude):
21685        (WebCore::GeolocationPosition::canProvideAltitudeAccuracy):
21686        (WebCore::GeolocationPosition::canProvideHeading):
21687        (WebCore::GeolocationPosition::canProvideSpeed):
21688        (WebCore::GeolocationPosition::GeolocationPosition):
21689        * page/Geoposition.h:
21690        (WebCore::Geoposition::create):
21691        * page/Page.cpp:
21692        (WebCore::Page::Page):
21693        * page/Page.h:
21694        (WebCore::Page::geolocationController):
21695        * svg/graphics/SVGImage.cpp:
21696        (WebCore::SVGImage::dataChanged):
21697
216982009-12-14  Adam Langley  <agl@google.com>
21699
21700        Reviewed by Darin Adler.
21701
21702        Test that an image's size is valid before reading it.
21703
21704        Previously, an image that failed to load (m_failed == true) would
21705        trigger an assertion failure when WebKit tried to get its size.
21706
21707        https://bugs.webkit.org/show_bug.cgi?id=32176
21708        http://code.google.com/p/chromium/issues/detail?id=28566
21709
21710        Test: fast/images/size-failure.html
21711
21712        * platform/graphics/ImageSource.cpp:
21713        (WebCore::ImageSource::createFrameAtIndex):
21714
217152009-12-14  Dan Bernstein  <mitz@apple.com>
21716
21717        Reviewed by Darin Adler.
21718
21719        <rdar://problem/7458272> REGRESSION (r50470) Reproducible ASSERT in
21720        RenderWidget::setWidgetGeometry()
21721
21722        Test: fast/forms/defer-updateFromElement.html
21723
21724        * html/HTMLFormControlElement.cpp:
21725        (WebCore::updateFromElementCallback): Added this post-attach callback
21726        that invokes updateFromElement().
21727        (WebCore::HTMLFormControlElement::recalcStyle): Instead of calling
21728        updateFromElement(), enqueue a post-attach (in this case, post-style
21729        recalc) callback to do it. updateFromElement() can cause the selection
21730        to change, and in turn trigger synchronous layout, so it must not be
21731        called during style recalc.
21732
217332009-12-14  Pavel Feldman  <pfeldman@chromium.org>
21734
21735        Reviewed by Timothy Hatcher.
21736
21737        Web Inspector: [regression] inspector deletes nodes when editing css.
21738
21739        Now all the treeoutlines are focusable, sections and their titles
21740        are also focusable. Change contains couple of drive-by fixes such as
21741        canceling of the attribute edit nuking attr info and maintaining proper
21742        selection while deleting nodes.
21743
21744        https://bugs.webkit.org/show_bug.cgi?id=32460
21745
21746        * inspector/front-end/CallStackSidebarPane.js:
21747        (WebInspector.CallStackSidebarPane.prototype.handleShortcut):
21748        * inspector/front-end/ConsoleView.js:
21749        (WebInspector.ConsoleView.prototype._promptKeyDown):
21750        * inspector/front-end/DataGrid.js:
21751        (WebInspector.DataGrid.prototype._keyDown):
21752        * inspector/front-end/DatabaseQueryView.js:
21753        (WebInspector.DatabaseQueryView):
21754        (WebInspector.DatabaseQueryView.prototype._promptKeyDown):
21755        * inspector/front-end/ElementsPanel.js:
21756        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
21757        (WebInspector.ElementsPanel.prototype.get defaultFocusedElement):
21758        (WebInspector.ElementsPanel.prototype.handleShortcut):
21759        * inspector/front-end/ElementsTreeOutline.js:
21760        (WebInspector.ElementsTreeOutline):
21761        (WebInspector.ElementsTreeOutline.prototype._keyDown):
21762        (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted):
21763        (WebInspector.ElementsTreeElement.prototype._editingCancelled):
21764        * inspector/front-end/Panel.js:
21765        (WebInspector.Panel.prototype.show):
21766        (WebInspector.Panel.prototype.get defaultFocusedElement):
21767        * inspector/front-end/PropertiesSection.js:
21768        (WebInspector.PropertiesSection):
21769        * inspector/front-end/ScriptsPanel.js:
21770        (WebInspector.ScriptsPanel):
21771        (WebInspector.ScriptsPanel.prototype.get defaultFocusedElement):
21772        (WebInspector.ScriptsPanel.prototype.handleShortcut):
21773        * inspector/front-end/SidebarPane.js:
21774        (WebInspector.SidebarPane):
21775        (WebInspector.SidebarPane.prototype.toggleExpanded):
21776        (WebInspector.SidebarPane.prototype._onTitleKeyDown):
21777        * inspector/front-end/SourceFrame.js:
21778        (WebInspector.SourceFrame.prototype._loaded):
21779        * inspector/front-end/TextPrompt.js:
21780        (WebInspector.TextPrompt):
21781        * inspector/front-end/inspector.css:
21782        * inspector/front-end/inspector.html:
21783        * inspector/front-end/inspector.js:
21784        (WebInspector.loaded):
21785        (WebInspector.documentKeyDown):
21786        (WebInspector.documentCanCopy):
21787        (WebInspector.documentCopy):
21788        (WebInspector._searchFieldManualFocus):
21789        (WebInspector._searchKeyDown):
21790        (WebInspector.startEditing.cleanUpAfterEditing):
21791        (WebInspector.startEditing.keyDownEventListener):
21792        (WebInspector.startEditing):
21793        * inspector/front-end/treeoutline.js:
21794        (TreeOutline):
21795        (TreeOutline._removeChildAtIndex):
21796        (TreeOutline.prototype._treeKeyDown):
21797        (TreeElement.prototype.deselect):
21798        * inspector/front-end/utilities.js:
21799        ():
21800
218012009-12-14  Dimitri Glazkov  <dglazkov@chromium.org>
21802
21803        Unreviewed, build fix.
21804
21805        [Chromium] Guard all of JSC's wrapper cache-related members on Document.
21806
21807        * dom/Document.cpp:
21808        (WebCore::Document::createWrapperCache): Widened the guards to the whole method.
21809        * dom/Document.h: Added JSC guards to wrapper cache-related members.
21810
218112009-12-14  Chris Fleizach  <cfleizach@apple.com>
21812
21813        Reviewed by Adele Peterson.
21814
21815        AX: there's an infinite loop going on for some webpages - facebook.com
21816        https://bugs.webkit.org/show_bug.cgi?id=32501
21817
21818        The problem is that parentObjectUnignored() cannot be called
21819        while in accessibilityIsIgnored, because it leads to
21820        recursiveness. Specifically, there were checks to determine
21821        if an object was within a ARIA tree. That check should
21822        1) be moved to all platforms, and 2) not call parentObjectUnignored().
21823
21824        Test: accessibility/hang-in-isignored.html
21825
21826        * accessibility/AccessibilityRenderObject.cpp:
21827        (WebCore::AccessibilityRenderObject::isAllowedChildOfTree):
21828        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
21829        * accessibility/AccessibilityRenderObject.h:
21830        * accessibility/mac/AccessibilityObjectMac.mm:
21831        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
21832
218332009-12-14  Eric Carlson  <eric.carlson@apple.com>
21834
21835        Reviewed by Dan Bernstein.
21836
21837        <rdar://problem/6293979> Adopt shared control drawing for <video> controls on Leopard and Windows
21838
21839        Use MediaControllerThemeQuickTime on Leopard.
21840
21841        * rendering/RenderThemeMac.mm:
21842        (WebCore::mediaControllerTheme):
21843
218442009-12-14  Adam Roben  <aroben@apple.com>
21845
21846        Move QuartzCore-related build settings into a vsprops file
21847
21848        Fixes <http://webkit.org/b/32518>
21849
21850        Reviewed by Dan Bernstein.
21851
21852        * WebCore.vcproj/WebCore.vcproj: Let VS reformat the files list, added
21853        WebCoreQuartzCore.vsprops to the non-Cairo configurations, moved all
21854        other QuartzCore-related build settings from here...
21855        * WebCore.vcproj/WebCoreQuartzCore.vsprops: ...to here.
21856
218572009-12-14  Yael Aharon  <yael.aharon@nokia.com>
21858
21859        Reviewed by Antti Koivisto.
21860
21861        handling scripts can block UI
21862        https://bugs.webkit.org/show_bug.cgi?id=27612
21863
21864        Break execution of external scrips to smaller chunks. 
21865        No new tests since no new functionality was introduced.
21866
21867        * html/HTMLTokenizer.cpp:
21868        (WebCore::HTMLTokenizer::HTMLTokenizer):
21869        (WebCore::HTMLTokenizer::reset):
21870        (WebCore::HTMLTokenizer::notifyFinished):
21871        (WebCore::HTMLTokenizer::executeExternalScriptsIfReady):
21872        (WebCore::HTMLTokenizer::executeExternalScriptsTimerFired):
21873        (WebCore::HTMLTokenizer::continueExecutingExternalScripts):
21874        * html/HTMLTokenizer.h:
21875
218762009-12-03  Holger Hans Peter Freyther  <zecke@selfish.org>
21877
21878        Reviewed by Simon Hausmann.
21879
21880        [Qt] Connect QNetworkReply via direct connections.
21881        https://bugs.webkit.org/show_bug.cgi?id=32113
21882
21883        In the past we have switched from auto connections to queued
21884        connections to get some more stability. The problem with the
21885        Queued connections is latency. Even when running simple loading
21886        tests the time it takes to runs highly varies and by using
21887        direct connections these tests produce a stable result.
21888
21889        We will have to look out for crashes coming from within the
21890        QNetworkAccessManager due this patch and address them then.
21891
21892        * platform/network/qt/QNetworkReplyHandler.cpp:
21893        (WebCore::QNetworkReplyHandler::start):
21894
218952009-12-14  Holger Hans Peter Freyther  <zecke@selfish.org>
21896
21897        Rubber-stamped by Simon Hausmann.
21898
21899        [Qt] QtWebKit should use QImageReader::setQuality(49)
21900        https://bugs.webkit.org/show_bug.cgi?id=30740
21901
21902        Using QImageReader::setQuality(49) will influence the JPEG
21903        decoder of Qt to use the JDCT_IFAST routines for decompressing. This
21904        is showing a 5% improvement in a reduction that decodes all images
21905        used during the page loading test. The libjpeg documentation mentions
21906        that the IFAST routine is not as accurate as other routines but in
21907        our tests we couldn't see a difference.
21908
21909        * platform/graphics/qt/ImageDecoderQt.cpp:
21910        (WebCore::ImageDecoderQt::setData):
21911
219122009-12-13  Geoffrey Garen  <ggaren@apple.com>
21913
21914        Reviewed by Sam Weinig.
21915        
21916        Changed GC from mark-sweep to mark-allocate.
21917
21918        * ForwardingHeaders/runtime/WeakGCMap.h: Added.
21919        * bindings/js/GCController.cpp:
21920        (WebCore::collect):
21921        (WebCore::GCController::gcTimerFired):
21922        (WebCore::GCController::garbageCollectNow): Updated for rename.
21923
21924        * bindings/js/JSDOMBinding.cpp:
21925        (WebCore::removeWrappers):
21926        (WebCore::hasCachedDOMObjectWrapperUnchecked):
21927        (WebCore::hasCachedDOMObjectWrapper):
21928        (WebCore::hasCachedDOMNodeWrapperUnchecked):
21929        (WebCore::forgetDOMObject):
21930        (WebCore::forgetDOMNode):
21931        (WebCore::isObservableThroughDOM):
21932        (WebCore::markDOMNodesForDocument):
21933        (WebCore::markDOMObjectWrapper):
21934        (WebCore::markDOMNodeWrapper):
21935        * bindings/js/JSDOMBinding.h: Changed DOM wrapper maps to be WeakGCMaps.
21936        Don't ASSERT that an item must be in the WeakGCMap when its destructor
21937        runs, since it might have been overwritten in the map first.
21938
21939        * bindings/js/JSDocumentCustom.cpp:
21940        (WebCore::toJS): Changed Document from a DOM object wrapper to a DOM node
21941        wrapper, to simplify some code.
21942
21943        * bindings/js/JSInspectedObjectWrapper.cpp:
21944        (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
21945        (WebCore::JSInspectedObjectWrapper::~JSInspectedObjectWrapper):
21946        * bindings/js/JSInspectorCallbackWrapper.cpp: Use a WeakGCMap for these
21947        wrappers.
21948
21949        * bindings/js/JSNodeCustom.cpp:
21950        (WebCore::JSNode::markChildren): Updated for WeakGCMap and Document using
21951        a DOM node wrapper instead of a DOM object wrapper.
21952
21953        * bindings/js/JSSVGPODTypeWrapper.h:
21954        (WebCore::JSSVGDynamicPODTypeWrapperCache::wrapperMap):
21955        (WebCore::JSSVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
21956        (WebCore::JSSVGDynamicPODTypeWrapperCache::forgetWrapper):
21957        (WebCore::::~JSSVGDynamicPODTypeWrapper): Shined a small beam of sanity light
21958        on this code. Use hashtable-based lookup in JSSVGPODTypeWrapper.h instead
21959        of linear lookup through iteration, since that's what hashtables were
21960        invented for. Make JSSVGPODTypeWrapper.h responsible for reomving itself
21961        from the table, instead of its JS wrapper, to decouple these objects from
21962        GC, and because these objects are refCounted, not solely owned by their
21963        JS wrappers.
21964
21965        * bindings/scripts/CodeGeneratorJS.pm:
21966        * dom/Document.h: Adopted changes above.
21967
219682009-12-13  Geoffrey Garen  <ggaren@apple.com>
21969
21970        Windows build fix: Removed an incorrect #ifdef.
21971
21972        * bindings/js/GCController.cpp:
21973
219742009-12-13  Charles Reis  <creis@chromium.org>
21975
21976        Reviewed by Adam Barth.
21977
21978        Refactor some security code out of V8 bindings
21979        https://bugs.webkit.org/show_bug.cgi?id=32326
21980
21981        No new tests. There should be no functionality changes in this patch,
21982        since it is only refactoring code.
21983
21984        * WebCore.gyp/WebCore.gyp:
21985        * WebCore.gypi:
21986        * bindings/BindingSecurity.h: Added.
21987        (WebCore::BindingSecurity::BindingSecurity):
21988        (WebCore::::canAccessWindow):
21989        (WebCore::::canAccessFrame):
21990        (WebCore::::checkNodeSecurity):
21991        * bindings/BindingSecurityBase.cpp: Added.
21992        (WebCore::BindingSecurityBase::getDOMWindow):
21993        (WebCore::BindingSecurityBase::getFrame):
21994        (WebCore::BindingSecurityBase::canAccessWindow):
21995        * bindings/BindingSecurityBase.h: Added.
21996        * bindings/GenericBinding.h: Added.
21997        (WebCore::):
21998        * bindings/scripts/CodeGeneratorV8.pm:
21999        * bindings/v8/ScriptController.cpp:
22000        (WebCore::ScriptController::isSafeScript):
22001        * bindings/v8/V8Binding.h:
22002        * bindings/v8/V8BindingState.cpp: Added.
22003        (WebCore::::Only):
22004        (WebCore::::getActiveWindow):
22005        (WebCore::::immediatelyReportUnsafeAccessTo):
22006        * bindings/v8/V8BindingState.h: Added.
22007        (WebCore::):
22008        * bindings/v8/V8Proxy.cpp:
22009        (WebCore::V8Proxy::reportUnsafeAccessTo):
22010        (WebCore::reportUnsafeJavaScriptAccess):
22011        * bindings/v8/V8Proxy.h:
22012        (WebCore::V8Proxy::):
22013        * bindings/v8/custom/V8CustomBinding.cpp:
22014        (WebCore::allowSettingFrameSrcToJavascriptUrl):
22015        (WebCore::INDEXED_ACCESS_CHECK):
22016        (WebCore::NAMED_ACCESS_CHECK):
22017        * bindings/v8/custom/V8DOMWindowCustom.cpp:
22018        (WebCore::V8Custom::WindowSetTimeoutImpl):
22019        (WebCore::ACCESSOR_GETTER):
22020        (WebCore::ACCESSOR_SETTER):
22021        (WebCore::CALLBACK_FUNC_DECL):
22022        (WebCore::V8Custom::ClearTimeoutImpl):
22023        (WebCore::NAMED_ACCESS_CHECK):
22024        (WebCore::INDEXED_ACCESS_CHECK):
22025        * bindings/v8/custom/V8LocationCustom.cpp:
22026        (WebCore::ACCESSOR_GETTER):
22027        (WebCore::CALLBACK_FUNC_DECL):
22028        (WebCore::INDEXED_ACCESS_CHECK):
22029        (WebCore::NAMED_ACCESS_CHECK):
22030
220312009-11-30  Holger Hans Peter Freyther  <zecke@selfish.org>
22032
22033        Reviewed by Simon Hausmann.
22034
22035        [Qt] Implement initializeMaximumHTTPConnectionCountPerHost.
22036        https://bugs.webkit.org/show_bug.cgi?id=31849
22037
22038        Qt allows to have three connections per host on Symbian, for
22039        every other platform the limit is set to six connections per
22040        host but the default implementation will only schedule four
22041        connections per host.
22042        In a manual test we seem to get the best loading speed by
22043        going with Qt's limit and schedule two more jobs to allow Qt
22044        to prepare them.
22045
22046        * platform/network/ResourceRequestBase.cpp:
22047        * platform/network/qt/ResourceRequestQt.cpp:
22048        (WebCore::initializeMaximumHTTPConnectionCountPerHost):
22049
220502009-12-13  Dan Bernstein  <mitz@apple.com>
22051
22052        Reviewed by Simon Fraser.
22053
22054        <rdar://problem/7341364> Crash at HTMLParser::popOneBlockCommon() after
22055        handling misnested residual style tags
22056
22057        Test: fast/parser/residual-style-close-ref-clone.html
22058
22059        * html/HTMLParser.cpp:
22060        (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Gave the
22061        block stack a strong reference to the cloned residual style element. 
22062
220632009-12-13  Adele Peterson  <adele@apple.com>
22064
22065        Reviewed by Sam Weinig.
22066
22067        Reverting changes from http://trac.webkit.org/changeset/49585 to fix:
22068        <rdar://problem/7382815> REGRESSION (4.0.4-TOT): Home photo slider is too narrow at http://www.ziprealty.com/
22069        https://bugs.webkit.org/show_bug.cgi?id=32078
22070
22071        * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cssText):
22072
220732009-12-08  Jeremy Moskovich  <jeremy@chromium.org>
22074
22075        Reviewed by Eric Seidel.
22076
22077        Add code to allow toggling ATSUI/Core Text rendering at runtime in ComplexTextController.
22078        https://bugs.webkit.org/show_bug.cgi?id=31802
22079
22080        The goal here is to allow for a zero runtime hit for ports that decide to select
22081        the API at compile time.
22082        When both USE(ATSUI) and USE(CORE_TEXT) are true, the API is toggled
22083        at runtime.  Core Text is used for OS Versions >= 10.6.
22084
22085        No test since this is already covered by existing pixel tests.
22086
22087        * platform/graphics/SimpleFontData.h:  Change #ifdef to define getNSFont() on Chrome/Mac .
22088        * platform/graphics/mac/ComplexTextController.cpp:
22089        (WebCore::shouldUseATSUIAPI): Cache decision about which API to use.
22090        (WebCore::ComplexTextController::ComplexTextRun::indexAt):
22091        (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Stub function to call through
22092        to ATSUI/Core text variants.
22093        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): The actual work for object construction
22094        is delegate to createTextRunFromFontDataATSUI/createTextRunFromFontDataCoreText.
22095        * platform/graphics/mac/ComplexTextController.h:
22096        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
22097        (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation): Small style fix.
22098        (WebCore::ComplexTextController::ComplexTextRun::createTextRunFromFontDataATSUI):
22099        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI):
22100        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
22101        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
22102        (WebCore::ComplexTextController::ComplexTextRun::createTextRunFromFontDataCoreText):
22103        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
22104
221052009-12-13  Eric Carlson  <eric.carlson@apple.com>
22106
22107        No review, rolling out r52059 until I can generate new Tiger
22108        test results.
22109
22110        * rendering/RenderThemeMac.mm:
22111        (WebCore::mediaControllerTheme):
22112
221132009-12-12  Sam Weinig  <sam@webkit.org>
22114
22115        Rubber-stamped by Dan Bernstein.
22116
22117        Fix the EXPERIMENTAL_SINGLE_VIEW_MODE build.
22118
22119        * Configurations/WebCore.xcconfig:
22120        * page/EventHandler.cpp:
22121        (WebCore::EventHandler::EventHandler):
22122        (WebCore::EventHandler::clearDragState):
22123        * page/mac/DragControllerMac.mm:
22124        (WebCore::DragController::isCopyKeyDown):
22125        * page/mac/EventHandlerMac.mm:
22126        (WebCore::EventHandler::eventActivatedView):
22127        * platform/PlatformKeyboardEvent.h:
22128        * platform/PlatformMouseEvent.h:
22129        * platform/PlatformWheelEvent.h:
22130        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
22131        * platform/ScrollView.cpp:
22132        (WebCore::ScrollView::wheelEvent):
22133        * platform/mac/KeyEventMac.mm:
22134        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
22135        * platform/mac/PlatformMouseEventMac.mm:
22136        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
22137        * platform/mac/PopupMenuMac.mm:
22138        (WebCore::PopupMenu::show):
22139        * platform/mac/WidgetMac.mm:
22140
221412009-12-12  Sam Weinig  <sam@webkit.org>
22142
22143        Rubber-stamped by Dan Bernstein.
22144
22145        Fix the !ENABLE(VIDEO) build.
22146
22147        * rendering/RenderLayerCompositor.cpp:
22148        (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
22149
221502009-12-12  Sam Weinig  <sam@webkit.org>
22151
22152        Rubber-stamped by Dan Bernstein.
22153
22154        Fix the !ENABLE(DATABASE) build.
22155
22156        * storage/SQLTransactionClient.cpp:
22157        * storage/SQLTransactionClient.h:
22158        * storage/SQLTransactionCoordinator.cpp:
22159        * storage/SQLTransactionCoordinator.h:
22160        * loader/FrameLoader.cpp:
22161        (WebCore::FrameLoader::stopLoading):
22162
221632009-12-12  Eric Carlson  <eric.carlson@apple.com>
22164
22165        Reviewed by Dan Bernstein.
22166
22167        <rdar://problem/6293979> Adopt shared control drawing for <video> controls on Leopard and Windows
22168
22169        Use MediaControllerThemeQuickTime on Leopard.
22170
22171        * rendering/RenderThemeMac.mm:
22172        (WebCore::mediaControllerTheme):
22173
221742009-12-12  Kenneth Russell  <kbr@google.com>
22175
22176        Reviewed by Oliver Hunt.
22177
22178        Errors in WebGL[T]Array set() and get() methods
22179        https://bugs.webkit.org/show_bug.cgi?id=32456
22180
22181        Test: fast/canvas/webgl/bug-32456.html
22182
22183        * bindings/js/JSWebGLFloatArrayCustom.cpp:
22184        (WebCore::JSWebGLFloatArray::set):
22185        * bindings/js/JSWebGLIntArrayCustom.cpp:
22186        (WebCore::JSWebGLIntArray::set):
22187        * bindings/js/JSWebGLShortArrayCustom.cpp:
22188        (WebCore::JSWebGLShortArray::set):
22189        * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp:
22190        (WebCore::JSWebGLUnsignedByteArray::set):
22191        * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp:
22192        (WebCore::JSWebGLUnsignedIntArray::set):
22193        * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp:
22194        (WebCore::JSWebGLUnsignedShortArray::set):
22195        * bindings/v8/custom/V8WebGLArrayCustom.h:
22196        (WebCore::setWebGLArray):
22197        * html/canvas/WebGLFloatArray.idl:
22198        * html/canvas/WebGLUnsignedIntArray.idl:
22199
222002009-12-12  Kenneth Russell  <kbr@google.com>
22201
22202        Reviewed by Oliver Hunt.
22203
22204        Update WebGL tests to released versions
22205        https://bugs.webkit.org/show_bug.cgi?id=32457
22206
22207        * manual-tests/webgl/Earth.html:
22208        * manual-tests/webgl/ManyPlanetsDeep.html:
22209        * manual-tests/webgl/SpinningBox.html:
22210        * manual-tests/webgl/TeapotPerPixel.html:
22211        * manual-tests/webgl/TeapotPerVertex.html:
22212        * manual-tests/webgl/resources/CanvasMatrix.js:
22213        (CanvasMatrix4.prototype.getAsWebGLFloatArray):
22214        * manual-tests/webgl/resources/utils3d.js:
22215        (initWebGL.gl.console.window.console.log):
22216        (initWebGL):
22217        (loadShader):
22218        (makeBox):
22219        (makeSphere):
22220        (processLoadObj):
22221        (doLoadObj):
22222        (doLoadImageTexture):
22223
222242009-12-12  Christian Dywan  <christian@twotoasts.de>
22225
22226        Reviewed by Dirk Schulze.
22227
22228        Remove the include to SVGFEDisplacementMap.h, it's not needed at all.
22229
22230        * platform/graphics/filters/FEComponentTransfer.h:
22231
222322009-12-12  Christian Dywan  <christian@twotoasts.de>
22233
22234        Rubber-stamped by Maciej Stachowiak.
22235
22236        Only include SVGFEDisplacementMap.h if SVG is enabled.
22237
22238        * platform/graphics/filters/FEComponentTransfer.h:
22239
222402009-12-12  Dirk Schulze  <krit@webkit.org>
22241
22242        Reviewed by Eric Seidel.
22243
22244        [Cairo][Qt] Alpha blending in SVG filters is wrong
22245        https://bugs.webkit.org/show_bug.cgi?id=32427
22246
22247        This patch is a follow-up to:
22248        http://trac.webkit.org/changeset/51950
22249        It fixes the alpha blending for Cairo and Qt on SVG Filters.
22250
22251        Covered by: * LayoutTests/svg/filters/feGaussianBlur.svg
22252                    * LayoutTests/svg/filters/feComposite.svg
22253                     and others.
22254
22255        * platform/graphics/cairo/ImageBufferCairo.cpp:
22256        (WebCore::ImageBuffer::platformTransformColorSpace):
22257        * platform/graphics/qt/ImageBufferQt.cpp:
22258        (WebCore::ImageBuffer::platformTransformColorSpace):
22259
222602009-12-11  Eric Roman  <eroman@chromium.org>
22261
22262        Unreviewed build fix.
22263
22264        [V8] Add a method on ScriptController to get it compiling after http://trac.webkit.org/changeset/52033.
22265
22266        * bindings/v8/ScriptController.cpp:
22267        (WebCore::ScriptController::anyPageIsProcessingUserGesture):
22268        * bindings/v8/ScriptController.h:
22269
222702009-12-11  Dimitri Glazkov  <dglazkov@chromium.org>
22271
22272        Unreviewed, build fix.
22273
22274        [V8] Change bindings to catch up with http://trac.webkit.org/changeset/52033.
22275
22276        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
22277        (WebCore::CALLBACK_FUNC_DECL): Added retrieval of calling frame and passing
22278          to the submit method.
22279
222802009-12-11  Sam Weinig  <sam@webkit.org>
22281
22282        Reviewed by Mark Rowe.
22283
22284        Put -umbrella linker flag into a variable so that it can be overridden.
22285
22286        * Configurations/WebCore.xcconfig:
22287
222882009-12-11  Shinichiro Hamaji  <hamaji@chromium.org>
22289
22290        Reviewed by Darin Adler.
22291
22292        body with display:inline causes crash
22293        https://bugs.webkit.org/show_bug.cgi?id=32371
22294
22295        Tests: fast/inline/inline-body-crash.html
22296               fast/inline/inline-body-with-scrollbar-crash.html
22297
22298        * page/FrameView.cpp:
22299        (WebCore::FrameView::createScrollbar):
22300        (WebCore::FrameView::layout):
22301
223022009-12-11  Brady Eidson  <beidson@apple.com>
22303
22304        Rubberstamped by Sam Weinig.
22305
22306        https://webkit.org/b/22851 - Remove defunct FIXME.
22307
22308        * html/HTMLPlugInElement.cpp:
22309        (WebCore::HTMLPlugInElement::HTMLPlugInElement): This flag was removed completely
22310          from the HTMLFrameOwnerElement chain of classes.
22311
223122009-12-11  Darin Adler  <darin@apple.com>
22313
22314        Reviewed by Dan Bernstein.
22315
22316        Small refactoring to get rid of some extra unneeded selection-related work
22317        in RenderLayer::scrollToOffset and separate caret and range selection
22318        logic in FrameView::layout. This may be useful later when changing how
22319        the range selection logic works to fix layout reentrancy problems.
22320
22321        * page/Frame.cpp: Removed invalidateSelection.
22322        * page/Frame.h: Ditto.
22323
22324        * page/FrameView.cpp:
22325        (WebCore::FrameView::layout): Call SelectionController::setNeedsLayout
22326        and Frame::selectionLayoutChanged instead of calling
22327        Frame::invalidateSelection, which was just a function that called
22328        both of those others.
22329
22330        * rendering/RenderLayer.cpp:
22331        (WebCore::RenderLayer::scrollToOffset): Call
22332        SelectionController::setNeedsLayout instead of calling
22333        Frame::invalidateSelection. This call site only needs the caret-related
22334        work in that first function, not the other work formerly done by
22335        Frame::invalidateSelection. The caret works outside the normal
22336        painting and rendering system, and the range selection highlight is
22337        more or less inside it and doesn't need special handling when scrolling.
22338
223392009-12-11  Brady Eidson  <beidson@apple.com>
22340
22341        Reviewed by Darin Adler.
22342
22343        <rdar://problem/7342725> and https://webkit.org/b/32383
22344        Selecting article text at sfgate.com results in spurious back/forward entries
22345
22346        If an iframe had a form and that form is submitted by javascript, IE and Opera don't add back/forward entries.
22347        
22348        In the case where the frame was added dynamically via createElement(), Firefox would like to add a back entry
22349        but has a bug that prevents this.
22350
22351        Therefore by a bizarre coincidence, WebKit is the loner and the only engine affected by sfgate.com's technique.
22352
22353        This patch changes us to willfully match IE and Opera and fixes sfgate.com in the process.
22354
22355        Tests: http/tests/navigation/dynamic-iframe-dynamic-form-back-entry.html
22356               http/tests/navigation/parsed-iframe-dynamic-form-back-entry.html
22357
22358        Capture whether the form was submitted by javascript:
22359        * loader/FormState.cpp:
22360        (WebCore::FormState::FormState):
22361        (WebCore::FormState::create):
22362        * loader/FormState.h:
22363        (WebCore::FormState::formSubmissionTrigger):
22364
22365        When deciding the value of the lockBackForwardList variable, take formSubmissionTrigger() into account:
22366        * loader/RedirectScheduler.cpp:
22367        (WebCore::RedirectScheduler::scheduleFormSubmission):
22368
22369        Rearrange the public HTMLFormElement::submit() method to be called only from DOM or JS bindings,
22370        and figure out the rest of the parameters for an internal submit() call including the formSubmissionTrigger:
22371        * bindings/js/JSHTMLFormElementCustom.cpp:
22372        (WebCore::JSHTMLFormElement::submit):
22373        * html/HTMLFormElement.cpp:
22374        (WebCore::HTMLFormElement::prepareSubmit):
22375        (WebCore::HTMLFormElement::submit):
22376        * html/HTMLFormElement.h:
22377
223782009-12-11  Alexey Proskuryakov  <ap@apple.com>
22379
22380        Reviewed by Darin Adler.
22381
22382        https://bugs.webkit.org/show_bug.cgi?id=32445
22383        REGRESSION: http://www.mcafee.com/japan/ displays unstyled
22384
22385        * css/CSSImportRule.cpp:
22386        (WebCore::CSSImportRule::setCSSStyleSheet):
22387        * html/HTMLLinkElement.cpp:
22388        (WebCore::HTMLLinkElement::setCSSStyleSheet):
22389        Add a quirk for mcafee.com/japan (http or https, with or without www).
22390
223912009-12-11  Sam Weinig  <sam@webkit.org>
22392
22393        Reviewed by Dan Bernstein.
22394
22395        Make PlatformWheelEvent.h private instead of project.
22396
22397        * WebCore.xcodeproj/project.pbxproj:
22398
223992009-12-11  Simon Fraser  <simon.fraser@apple.com>
22400
22401        Reviewed by Darin Adler.
22402
22403        Support reflections on composited layers
22404        https://bugs.webkit.org/show_bug.cgi?id=31885
22405        
22406        First part of supporting composited reflections on compositing layers.
22407        
22408        Rename the m_transformLayer member variable to m_structuralLayer, since it
22409        will get used both for transform layers (for preserve-3d) and to hold a flattening
22410        layer related to reflections, both of which have similar requirements, and are
22411        mutually exclusive.
22412
22413        * platform/graphics/mac/GraphicsLayerCA.h:
22414        primaryLayer(), hostLayerForSublayers() and layerForSuperlayer() all now return
22415        a CALayer, since m_structuralLayer isn't always a WebLayer.
22416        
22417        * platform/graphics/mac/GraphicsLayerCA.mm:
22418        (WebCore::GraphicsLayerCA::commitLayerChanges):
22419        updateLayerPreserves3D() renamed to updateStructuralLayer()
22420        
22421        (WebCore::GraphicsLayerCA::updateLayerNames):
22422        New "update" method for updating layer names.
22423        
22424        (WebCore::GraphicsLayerCA::updateSublayerList):
22425        m_transformLayer -> m_structuralLayer. Also minor refactor to only
22426        allocate newSublayers in one place.
22427        
22428        (WebCore::GraphicsLayerCA::updateLayerSize):
22429        (WebCore::GraphicsLayerCA::removeAnimationFromLayer):
22430        (WebCore::GraphicsLayerCA::hostLayerForSublayers):
22431        (WebCore::GraphicsLayerCA::layerForSuperlayer):
22432        m_transformLayer -> m_structuralLayer
22433        
22434        (WebCore::GraphicsLayerCA::updateStructuralLayer):
22435        Call ensureStructuralLayer() which handles any deltas to the
22436        structural layer type.
22437        
22438        (WebCore::GraphicsLayerCA::ensureStructuralLayer):
22439        Handle changes to the structural layer requirements
22440        
22441        (WebCore::GraphicsLayerCA::structuralLayerPurpose):
22442        Return an enum describing the purpose of the structural layer; for now
22443        this only returns NoStructuralLayer or StructuralLayerForPreserves3D, but
22444        will in future also have a value related to reflections.
22445
224462009-12-11  Simon Fraser  <simon.fraser@apple.com>
22447
22448        Build fix for platforms where ACCELERATED_COMPOSITING is not defined.
22449
22450        * page/animation/KeyframeAnimation.cpp:
22451        (WebCore::KeyframeAnimation::pauseAnimation):
22452
224532009-12-11  Adam Roben  <aroben@apple.com>
22454
22455        Windows build fix
22456
22457        * platform/graphics/win/WKCACFLayerRenderer.cpp: Removed #include of
22458        non-existent header.
22459
224602009-12-11  Simon Fraser  <simon.fraser@apple.com>
22461
22462        Build fix, no review.
22463
22464        Build fix for platforms where ACCELERATED_COMPOSITING is not defined.
22465
22466        * page/animation/KeyframeAnimation.cpp:
22467        (WebCore::KeyframeAnimation::startAnimation):
22468
224692009-12-11  Simon Fraser  <simon.fraser@apple.com>
22470
22471        Build fix, no review.
22472
22473        Build fix for platforms where ACCELERATED_COMPOSITING is not defined.
22474
22475        * page/animation/ImplicitAnimation.cpp:
22476        (WebCore::ImplicitAnimation::startAnimation):
22477
224782009-12-11  Simon Fraser  <simon.fraser@apple.com>
22479
22480        Reviewed by Darin Adler.
22481
22482        Negative values for animation-delay are ignored (treated as zero)
22483        https://bugs.webkit.org/show_bug.cgi?id=26150
22484        
22485        When we get the m_startTime for an animation or transition, subtract any negative
22486        delay so the animation/transition behaves like it started in the past, per spec.
22487
22488        Tests: animations/negative-delay.html
22489               transitions/negative-delay.html
22490
22491        * page/animation/AnimationBase.cpp:
22492        (WebCore::AnimationBase::updateStateMachine):
22493
224942009-12-11  Simon Fraser  <simon.fraser@apple.com>
22495
22496        Reviewed by Dan Bernstein.
22497
22498        Accelerated transitions broken when mixed with paused animations
22499        https://bugs.webkit.org/show_bug.cgi?id=32387
22500
22501        Synchronization of a mixture of accelerated and software animations occurs via
22502        a callback from GraphicsLayerCA, which ends up in
22503        AnimationControllerPrivate::receivedStartTimeResponse(). The time passed in is
22504        the exact time at which the accelerated animations started, so is used as the
22505        start time for all animations and transitions which are marked as waiting.
22506
22507        The bug was that the callback called when re-starting animations that were
22508        paused sent back an old time value, but this was used to start normal
22509        transitions. Therefore the transition would start with a stale start time, and
22510        thus end prematurely.
22511
22512        The fix is to change the way that GraphicsLayerCA handles paused animations.
22513        Rather than setting the beginTime of the animation, it uses a beginTime of 0
22514        and a timeOffset that gets passed down. Thus the callbacks always come with
22515        beginTime for 'now'.
22516
22517        Also clarify the role of AnimationBase::endAnimation() by splitting it into
22518        pauseAnimation() and endAnimation(), and pass down timeOffsets, rather than
22519        beginTimes when starting and pausing.
22520
22521        Manual test only, because the bug requires a non-trivial combination of
22522        animation pausing and transitions which take time, and the bug only shows in
22523        pixel results.
22524        
22525        * manual-tests/animation/transitions-and-paused-animations.html
22526
22527        * page/animation/AnimationBase.cpp:
22528        (WebCore::AnimationBase::updateStateMachine):
22529        * page/animation/AnimationBase.h:
22530        (WebCore::AnimationBase::startAnimation):
22531        (WebCore::AnimationBase::pauseAnimation):
22532        (WebCore::AnimationBase::endAnimation):
22533        * page/animation/ImplicitAnimation.cpp:
22534        (WebCore::ImplicitAnimation::~ImplicitAnimation):
22535        (WebCore::ImplicitAnimation::startAnimation):
22536        (WebCore::ImplicitAnimation::endAnimation):
22537        (WebCore::ImplicitAnimation::onAnimationEnd):
22538        * page/animation/ImplicitAnimation.h:
22539        (WebCore::ImplicitAnimation::pauseAnimation):
22540        * page/animation/KeyframeAnimation.cpp:
22541        (WebCore::KeyframeAnimation::~KeyframeAnimation):
22542        (WebCore::KeyframeAnimation::startAnimation):
22543        (WebCore::KeyframeAnimation::pauseAnimation):
22544        (WebCore::KeyframeAnimation::endAnimation):
22545        (WebCore::KeyframeAnimation::onAnimationEnd):
22546        * page/animation/KeyframeAnimation.h:
22547        * platform/graphics/GraphicsLayer.h:
22548        (WebCore::GraphicsLayer::addAnimation):
22549        (WebCore::GraphicsLayer::pauseAnimation):
22550        * platform/graphics/mac/GraphicsLayerCA.h:
22551        (WebCore::GraphicsLayerCA::LayerAnimation::LayerAnimation):
22552        (WebCore::GraphicsLayerCA::AnimationProcessingAction::AnimationProcessingAction):
22553        * platform/graphics/mac/GraphicsLayerCA.mm:
22554        (WebCore::GraphicsLayerCA::addAnimation):
22555        (WebCore::GraphicsLayerCA::removeAnimationsForKeyframes):
22556        (WebCore::GraphicsLayerCA::pauseAnimation):
22557        (WebCore::GraphicsLayerCA::updateLayerAnimations):
22558        (WebCore::GraphicsLayerCA::setAnimationOnLayer):
22559        (WebCore::GraphicsLayerCA::pauseAnimationOnLayer):
22560        (WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
22561        (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
22562        * rendering/RenderLayerBacking.cpp:
22563        (WebCore::RenderLayerBacking::startAnimation):
22564        (WebCore::RenderLayerBacking::startTransition):
22565        (WebCore::RenderLayerBacking::animationPaused):
22566        * rendering/RenderLayerBacking.h:
22567
225682009-12-11  Brian Weinstein  <bweinstein@apple.com>
22569
22570        Reviewed by Darin Adler.
22571
22572        Fixes <http://webkit.org/b/32399>.
22573        Pan Scrolling Jumps out of frames if the initial location is in a frame that can't be scrolled.
22574        
22575        When we initially figure out the layer that we should begin scrolling, don't try to jump out
22576        of frames/iFrames to look at the owner document. We don't want to jump out of frames, so we
22577        don't need that logic anymore.
22578        
22579        Added a test to make sure that we don't pan scroll if we start to scroll in an empty
22580        iFrame that has a scrollable owner document.
22581
22582        Test: platform/win/fast/events/panScroll-no-iframe-jump.html
22583
22584        * dom/Node.cpp:
22585        (WebCore::Node::defaultEventHandler):
22586
225872009-12-11  Brian Weinstein  <bweinstein@apple.com>
22588
22589        Reviewed by Adam Roben.
22590
22591        Fixes <http://webkit.org/b/32303>.
22592        Middle-mouse button not firing mousedown DOM event when autoscroll happens.
22593        
22594        This fix moves the pan scrolling code into Node.cpp, as part of the default event handler.
22595        We get two wins out of this:
22596            1) Mousedown DOM events are now fired before pan scrolling.
22597            2) Calling event.preventDefault() on a middle mouse button will now prevent pan scrolling.
22598        
22599        Added tests to show that middle mousedown DOM events are fired when panscrolling happens, and
22600        that when event.preventDefault is called, pan scrolling doesn't happen.
22601
22602        Tests: platform/win/fast/events/panScroll-event-fired.html
22603               platform/win/fast/events/panScroll-preventDefault.html
22604
22605        * dom/Node.cpp:
22606        (WebCore::Node::defaultEventHandler): Moved pan scrolling starting code to here.
22607        * page/EventHandler.cpp:
22608        (WebCore::EventHandler::startPanScrolling): Function to initialize scrolling variables and start timer.
22609        (WebCore::EventHandler::handleMousePressEvent): From here.
22610        * page/EventHandler.h:
22611
226122009-12-11  Chris Marrin  <cmarrin@apple.com>
22613
22614        Reviewed by Adam Roben.
22615
22616        Delay load DLLs for accelerated compositing
22617        https://bugs.webkit.org/show_bug.cgi?id=31856
22618        
22619        Change calls that use the data export symbols from
22620        QuartzCore to use the functions in QuartzCoreInterface.
22621        This allows QuartzCore to be delay loaded.
22622
22623        * platform/graphics/win/GraphicsLayerCACF.cpp:
22624        (WebCore::GraphicsLayerCACF::GraphicsLayerCACF):
22625        (WebCore::GraphicsLayerCACF::updateLayerPreserves3D):
22626        (WebCore::GraphicsLayerCACF::updateContentsImage):
22627        * platform/graphics/win/WKCACFLayer.cpp:
22628        (WebCore::toCACFLayerType):
22629        (WebCore::toCACFContentsGravityType):
22630        (WebCore::fromCACFContentsGravityType):
22631        (WebCore::toCACFFilterType):
22632        (WebCore::fromCACFFilterType):
22633        (WebCore::WKCACFLayer::create):
22634        (WebCore::WKCACFLayer::WKCACFLayer):
22635        (WebCore::WKCACFLayer::setContentsGravity):
22636        (WebCore::WKCACFLayer::contentsGravity):
22637        (WebCore::WKCACFLayer::setMagnificationFilter):
22638        (WebCore::WKCACFLayer::magnificationFilter):
22639        (WebCore::WKCACFLayer::setMinificationFilter):
22640        (WebCore::WKCACFLayer::minificationFilter):
22641        * platform/graphics/win/WKCACFLayer.h:
22642        (WebCore::WKCACFLayer::):
22643        * platform/graphics/win/WKCACFLayerRenderer.cpp:
22644        (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
22645        (WebCore::WKCACFLayerRenderer::createRenderer):
22646
226472009-12-11  Steve Block  <steveblock@google.com>
22648
22649        Reviewed by Darin Fisher.
22650
22651        Adds an Android-specific implementation of initializeMaximumHTTPConnectionCountPerHost.
22652        https://bugs.webkit.org/show_bug.cgi?id=31810
22653
22654        * platform/network/ResourceRequestBase.cpp: Modified. Disable default implementation
22655            of initializeMaximumHTTPConnectionCountPerHost for Android.
22656        * platform/network/android: Added.
22657        * platform/network/android/ResourceRequestAndroid.cpp: Added.
22658        (WebCore::initializeMaximumHTTPConnectionCountPerHost): Android-specific implementation.
22659
226602009-12-11  Kent Tamura  <tkent@chromium.org>
22661
22662        Reviewed by Darin Fisher.
22663
22664        Add acceptTypes() method to FileChooser.
22665        https://bugs.webkit.org/show_bug.cgi?id=32429
22666
22667        This method returns an 'accept' attribute value of the
22668        corresponding INPUT element. A ChromeClient::runOpenPanel()
22669        implementation can refer it through a FileChooser instance to
22670        support type-restricted file selecting.
22671
22672        This makes no user-visible changes for now.
22673
22674        * platform/FileChooser.h:
22675        (WebCore::FileChooser::acceptTypes):
22676        * rendering/RenderFileUploadControl.cpp:
22677        (WebCore::RenderFileUploadControl::acceptTypes):
22678        * rendering/RenderFileUploadControl.h:
22679
226802009-12-11  Victor Wang  <victorw@chromium.org>
22681
22682        Reviewed by Darin Fisher.
22683
22684        Changed PopupMenuChromium to keep the value selected from
22685        keyboard when popup is closed.
22686
22687        The problem is Chromium does not fire the onchange event
22688        when the popup is closed if an item is selected via
22689        keyboard by typing the first char of the item. This makes
22690        chromium popup not having consistent behaviours and also
22691        behaves differently from other major browsers.
22692        Calling popup->hide() instead of popup->hidePopup() in
22693        PopupMenu fixes the issues as it does extra step to check
22694        whethere there is a keyboard selection changed when closing
22695        the popup.
22696
22697        https://bugs.webkit.org/show_bug.cgi?id=32403
22698    
22699        TEST: add a manual test as the current layout test shell
22700        does not support sending keyboard events to popup list.
22701
22702        * manual-tests/chromium/select-close-popup-value-change.html: Added.
22703        * platform/chromium/PopupMenuChromium.cpp:
22704        (WebCore::PopupMenu::hide):
22705
227062009-12-11  anton muhin  <antonm@chromium.org>
22707
22708        Reviewed by Adam Barth.
22709
22710        [v8] refactor WeakReferenceMap.
22711        Move common bits of functionality to reduce duplication.
22712
22713        https://bugs.webkit.org/show_bug.cgi?id=32389
22714
22715        Should be covered by buildbots.
22716
22717        * bindings/v8/DOMData.h:
22718        (WebCore::DOMData::WrapperMapObjectRemover::visitDOMWrapper):
22719        (WebCore::DOMData::handleWeakObject):
22720        (WebCore::DOMData::removeObjectsFromWrapperMap):
22721        * bindings/v8/DOMDataStore.cpp:
22722        (WebCore::DOMDataStore::weakDOMObjectCallback):
22723        (WebCore::DOMDataStore::weakActiveDOMObjectCallback):
22724        (WebCore::DOMDataStore::weakNodeCallback):
22725        (WebCore::DOMDataStore::weakSVGElementInstanceCallback):
22726        (WebCore::DOMDataStore::weakSVGObjectWithContextCallback):
22727        * bindings/v8/DOMDataStore.h:
22728        * bindings/v8/V8DOMMap.cpp:
22729        (WebCore::visitDOMNodesInCurrentThread):
22730        (WebCore::visitDOMObjectsInCurrentThread):
22731        (WebCore::visitActiveDOMObjectsInCurrentThread):
22732        (WebCore::visitDOMSVGElementInstancesInCurrentThread):
22733        (WebCore::visitSVGObjectsInCurrentThread):
22734        * bindings/v8/V8DOMMap.h:
22735        (WebCore::WeakReferenceMap::removeIfPresent):
22736        (WebCore::WeakReferenceMap::clear):
22737        (WebCore::WeakReferenceMap::visit):
22738
227392009-12-11  anton muhin  <antonm@chromium.org>
22740        Reviewed by Adam Barth.
22741
22742        [v8] in Debug builds create an additional handle scope
22743        when doing debug build checks.
22744        https://bugs.webkit.org/show_bug.cgi?id=32335
22745
22746        Should be covered by buildbots.
22747
22748        * bindings/v8/V8DOMWrapper.h:
22749        (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
22750        (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
22751
227522009-12-11  Pavel Feldman  <pfeldman@chromium.org>
22753
22754        Reviewed by Timothy Hatcher.
22755
22756        Web Inspector: Do not use ContextMenuItem as value type in custom
22757        context menu implementation.
22758
22759        https://bugs.webkit.org/show_bug.cgi?id=32411
22760
22761        * GNUmakefile.am:
22762        * WebCore.gypi:
22763        * WebCore.pro:
22764        * WebCore.vcproj/WebCore.vcproj:
22765        * WebCore.xcodeproj/project.pbxproj:
22766        * bindings/js/JSInspectorFrontendHostCustom.cpp:
22767        (WebCore::JSInspectorFrontendHost::showContextMenu):
22768        * inspector/InspectorFrontendHost.cpp:
22769        (WebCore::InspectorFrontendHost::InspectorFrontendHost):
22770        (WebCore::InspectorFrontendHost::~InspectorFrontendHost):
22771        (WebCore::InspectorFrontendHost::showContextMenu):
22772        (WebCore::InspectorFrontendHost::contextMenuCleared):
22773        * inspector/InspectorFrontendHost.h:
22774        (WebCore::InspectorFrontendHost::MenuProvider::create):
22775        (WebCore::InspectorFrontendHost::MenuProvider::~MenuProvider):
22776        (WebCore::InspectorFrontendHost::MenuProvider::disconnect):
22777        (WebCore::InspectorFrontendHost::MenuProvider::populateContextMenu):
22778        (WebCore::InspectorFrontendHost::MenuProvider::contextMenuCleared):
22779        (WebCore::InspectorFrontendHost::MenuProvider::MenuProvider):
22780        * page/ContextMenuController.cpp:
22781        (WebCore::ContextMenuController::ContextMenuController):
22782        (WebCore::ContextMenuController::clearContextMenu):
22783        (WebCore::ContextMenuController::showContextMenu):
22784        (WebCore::ContextMenuController::contextMenuItemSelected):
22785        * page/ContextMenuController.h:
22786        * page/ContextMenuProvider.h: Added.
22787        (WebCore::ContextMenuProvider::~ContextMenuProvider):
22788        * page/ContextMenuSelectionHandler.h: Removed.
22789
227902009-12-11  Simon Hausmann  <hausmann@webkit.org>, Kim Grönholm  <kim.gronholm@nomovok.com>
22791
22792        Reviewed by Antti Koivisto.
22793
22794        Basic cross-platform implementation of mapping platform touch events
22795        to JavaScript touch events.
22796
22797        https://bugs.webkit.org/show_bug.cgi?id=32114
22798
22799        Test: fast/events/basic-touch-events.html
22800
22801        * page/EventHandler.cpp:
22802        (WebCore::EventHandler::handleTouchEvent):
22803        * page/EventHandler.h:
22804
228052009-12-11  Zoltan Horvath  <zoltan@webkit.org>
22806
22807        Reviewed by Darin Adler.
22808
22809        Allow custom memory allocation control for WebCore's EmptyFrameLoaderClient
22810        https://bugs.webkit.org/show_bug.cgi?id=32110
22811
22812        Inherits the following class from Noncopyable because it is
22813        instantiated by 'new' and no need to be copyable:
22814
22815        class name              - instantiated at: WebCore/'location'
22816
22817        class EmptyFrameLoaderClient - svg/graphics/SVGImage.cpp:229
22818
22819        * loader/FrameLoaderClient.h:
22820
228212009-12-11  Zoltan Horvath  <zoltan@webkit.org>
22822
22823        Reviewed by Darin Adler.
22824
22825        Allow custom memory allocation control for 3 classes in WebCore's svg and loader directory
22826        https://bugs.webkit.org/show_bug.cgi?id=32106
22827
22828        Inherits the following classes from Noncopyable because these are instantiated 
22829        by 'new' and no need to be copyable:
22830
22831        class/struct name            - instantiated at: WebCore/'location'
22832
22833        class EmptyContextMenuClient - instantiated at: svg/graphics/SVGImage.cpp:232
22834        class EmptyDragClient        - instantiated at: svg/graphics/SVGImage.cpp:237
22835        class SVGImageChromeClient   - instantiated at: svg/graphics/SVGImage.cpp:243
22836
22837        * svg/graphics/SVGImage.cpp:
22838        * loader/EmptyClients.h:
22839
228402009-12-11  Benjamin Poulain  <benjamin.poulain@nokia.com>
22841
22842        Reviewed by Darin Adler.
22843
22844        The values of RuntimeArray are not enumerable
22845        https://bugs.webkit.org/show_bug.cgi?id=29005
22846
22847        The indices of RuntimeArray should be enumerated like for a regular array.
22848
22849        * bridge/runtime_array.cpp:
22850        (JSC::RuntimeArray::getOwnPropertyNames):
22851        * bridge/runtime_array.h:
22852
228532009-12-11  Andreas Kling  <andreas.kling@nokia.com>
22854
22855        Reviewed by Simon Hausmann.
22856
22857        [Qt] ImageDecoderQt: Fix retrieval of image file extensions
22858
22859        QImageReader only allows retrieving the format() before actually reading the image.
22860
22861        https://bugs.webkit.org/show_bug.cgi?id=32428
22862
22863        * platform/graphics/qt/ImageDecoderQt.cpp:
22864        (WebCore::ImageDecoderQt::setData):
22865        (WebCore::ImageDecoderQt::internalDecodeSize):
22866
228672009-12-11  Simon Hausmann  <hausmann@webkit.org>, Kim Grönholm  <kim.gronholm@nomovok.com>
22868
22869        Reviewed by Antti Koivisto.
22870
22871        Added interfaces for touch event support in JavaScript.
22872
22873        https://bugs.webkit.org/show_bug.cgi?id=32114
22874
22875        The Touch, TouchEvent and TouchList interfaces come straight from
22876        Android's copy of WebKit (eclaire branch).
22877
22878        The PlatformTouchEvent and PlatformTouchPoint code was written by
22879        us.
22880
22881        No new tests added, we are just adding interfaces
22882        with this patch.
22883
22884        * WebCore.pro:
22885        * bindings/js/JSEventCustom.cpp:
22886        (WebCore::toJS):
22887        * dom/Document.cpp:
22888        (WebCore::Document::addListenerTypeIfNeeded):
22889        * dom/Document.h:
22890        (WebCore::Document::):
22891        * dom/Document.idl:
22892        * dom/Element.h:
22893        * dom/Element.idl:
22894        * dom/Event.cpp:
22895        (WebCore::Event::isTouchEvent):
22896        * dom/Event.h:
22897        * dom/EventNames.h:
22898        * dom/Touch.cpp: Added.
22899        (WebCore::contentsX):
22900        (WebCore::contentsY):
22901        (WebCore::Touch::Touch):
22902        (WebCore::Touch::updateLocation):
22903        * dom/Touch.h: Added.
22904        (WebCore::Touch::create):
22905        (WebCore::Touch::frame):
22906        (WebCore::Touch::target):
22907        (WebCore::Touch::identifier):
22908        (WebCore::Touch::clientX):
22909        (WebCore::Touch::clientY):
22910        (WebCore::Touch::screenX):
22911        (WebCore::Touch::screenY):
22912        (WebCore::Touch::pageX):
22913        (WebCore::Touch::pageY):
22914        * dom/Touch.idl: Added.
22915        * dom/TouchEvent.cpp: Added.
22916        (WebCore::TouchEvent::TouchEvent):
22917        (WebCore::TouchEvent::initTouchEvent):
22918        * dom/TouchEvent.h: Added.
22919        (WebCore::TouchEvent::create):
22920        (WebCore::TouchEvent::touches):
22921        (WebCore::TouchEvent::targetTouches):
22922        (WebCore::TouchEvent::changedTouches):
22923        (WebCore::TouchEvent::TouchEvent):
22924        (WebCore::TouchEvent::isTouchEvent):
22925        * dom/TouchEvent.idl: Added.
22926        * dom/TouchList.cpp: Added.
22927        (WebCore::TouchList::item):
22928        * dom/TouchList.h: Added.
22929        (WebCore::TouchList::create):
22930        (WebCore::TouchList::length):
22931        (WebCore::TouchList::append):
22932        (WebCore::TouchList::TouchList):
22933        * dom/TouchList.idl: Added.
22934        * html/HTMLAttributeNames.in:
22935        * html/HTMLElement.cpp:
22936        (WebCore::HTMLElement::parseMappedAttribute):
22937        * page/DOMWindow.h:
22938        * page/DOMWindow.idl:
22939        * platform/PlatformTouchEvent.h: Added.
22940        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
22941        (WebCore::PlatformTouchEvent::touchPoints):
22942        * platform/PlatformTouchPoint.h: Added.
22943        (WebCore::PlatformTouchPoint::):
22944        (WebCore::PlatformTouchPoint::id):
22945        (WebCore::PlatformTouchPoint::state):
22946        (WebCore::PlatformTouchPoint::screenPos):
22947        (WebCore::PlatformTouchPoint::pos):
22948        * platform/qt/PlatformTouchEventQt.cpp: Added.
22949        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
22950        * platform/qt/PlatformTouchPointQt.cpp: Added.
22951        (WebCore::PlatformTouchPoint::PlatformTouchPoint):
22952
229532009-12-11  Grace Kloba  <klobag@gmail.com>
22954
22955        Reviewed by Darin Adler.
22956
22957        [Android] Add detachHistoryItem() to AndroidWebHistoryBridge. And the constructor takes
22958        HistoryItem* now. As AndroidWebHistoryBridge holds a dumb pointer of HistoryItem and
22959        HistoryItem holds a RefPtr of AndroidWebHistoryBridge, the dumb pointer needs to be cleared
22960        when HistoryItem is deleted to avoid potential crash.
22961        https://bugs.webkit.org/show_bug.cgi?id=32251
22962
22963        * history/HistoryItem.cpp:
22964        (WebCore::HistoryItem::~HistoryItem):
22965        * history/android/AndroidWebHistoryBridge.h:
22966        (WebCore::AndroidWebHistoryBridge::AndroidWebHistoryBridge):
22967        (WebCore::AndroidWebHistoryBridge::detachHistoryItem):
22968
22969
229702009-12-11  Fumitoshi Ukai  <ukai@chromium.org>
22971
22972        Reviewed by Pavel Feldman.
22973
22974        Log WebSocket error to Web Inspector console.
22975        https://bugs.webkit.org/show_bug.cgi?id=32165
22976
22977        * websockets/WebSocketChannel.cpp:
22978        (WebCore::WebSocketChannel::didOpen):
22979        (WebCore::WebSocketChannel::appendToBuffer):
22980        * websockets/WebSocketHandshake.cpp:
22981        (WebCore::WebSocketHandshake::readServerHandshake):
22982        (WebCore::WebSocketHandshake::readHTTPHeaders):
22983        (WebCore::WebSocketHandshake::checkResponseHeaders):
22984
229852009-12-10  Adam Barth  <abarth@webkit.org>
22986
22987        Reviewed by Darin Adler.
22988
22989        Mixed content shouldn't trigger for plug-ins without URLs
22990        https://bugs.webkit.org/show_bug.cgi?id=32384
22991
22992        These plug-ins cannot be controlled by active network attackers, so
22993        there's no reason to trigger a mixed content warning.
22994
22995        Test: http/tests/security/mixedContent/empty-url-plugin-in-frame.html
22996
22997        * loader/FrameLoader.cpp:
22998        (WebCore::FrameLoader::isMixedContent):
22999
230002009-12-10  Alexey Proskuryakov  <ap@apple.com>
23001
23002        Reviewed by Darin Adler.
23003
23004        https://bugs.webkit.org/show_bug.cgi?id=32140
23005        REGRESSION(r50072): Mailman administrative functionality is broken
23006
23007        Test: http/tests/misc/percent-sign-in-form-field-name.html
23008
23009        * platform/network/FormDataBuilder.cpp: (WebCore::appendQuotedString): Don't encode percent
23010        sign, we never had a good reason to do that.
23011
230122009-12-10  Kent Hansen  <kent.hansen@nokia.com>
23013
23014        Reviewed by Geoffrey Garen.
23015
23016        Remove getPropertyAttributes() from JavaScript bindings.
23017        https://bugs.webkit.org/show_bug.cgi?id=31933
23018
23019        The functionality is provided by getOwnPropertyDescriptor().
23020
23021        * WebCore.order:
23022        * bindings/js/JSDOMWindowCustom.cpp:
23023        * bindings/js/JSDOMWindowShell.cpp:
23024        * bindings/js/JSDOMWindowShell.h:
23025        * bindings/scripts/CodeGeneratorJS.pm:
23026        * page/DOMWindow.idl:
23027
230282009-12-10  Kenneth Russell  <kbr@google.com>
23029
23030        Reviewed by Oliver Hunt.
23031
23032        Changed WebGLRenderingContext to synthesize GL errors rather than
23033        raising JavaScript exceptions. Removed internal getError() calls
23034        after each graphics call. The GraphicsContext3D maintains the
23035        synthetic exceptions because only it has complete information
23036        about certain conditions requiring them to be raised.
23037
23038        Based on idea from Ilmari Heikkinen, added create3DDebugContext()
23039        to webgl-test.js and changed the WebGL layout tests expecting
23040        error conditions to use it. Updated expected.txt files, which now
23041        implicitly test the OpenGL error as it is part of the exception's
23042        message.
23043
23044        Added new targeted test covering aspects of synthetic errors as
23045        well as regression tests for bugs uncovered during its development.
23046
23047        Test: fast/canvas/webgl/error-reporting.html
23048
23049        * html/canvas/WebGLRenderingContext.cpp:
23050        (WebCore::WebGLRenderingContext::sizeInBytes):
23051        (WebCore::WebGLRenderingContext::activeTexture):
23052        (WebCore::WebGLRenderingContext::attachShader):
23053        (WebCore::WebGLRenderingContext::bindAttribLocation):
23054        (WebCore::WebGLRenderingContext::bindBuffer):
23055        (WebCore::WebGLRenderingContext::bindFramebuffer):
23056        (WebCore::WebGLRenderingContext::bindRenderbuffer):
23057        (WebCore::WebGLRenderingContext::bindTexture):
23058        (WebCore::WebGLRenderingContext::bufferData):
23059        (WebCore::WebGLRenderingContext::bufferSubData):
23060        (WebCore::WebGLRenderingContext::compileShader):
23061        (WebCore::WebGLRenderingContext::createShader):
23062        (WebCore::WebGLRenderingContext::detachShader):
23063        (WebCore::WebGLRenderingContext::disableVertexAttribArray):
23064        (WebCore::WebGLRenderingContext::drawArrays):
23065        (WebCore::WebGLRenderingContext::drawElements):
23066        (WebCore::WebGLRenderingContext::enableVertexAttribArray):
23067        (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
23068        (WebCore::WebGLRenderingContext::framebufferTexture2D):
23069        (WebCore::WebGLRenderingContext::getActiveAttrib):
23070        (WebCore::WebGLRenderingContext::getActiveUniform):
23071        (WebCore::WebGLRenderingContext::getBufferParameter):
23072        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
23073        (WebCore::WebGLRenderingContext::getParameter):
23074        (WebCore::WebGLRenderingContext::getProgramParameter):
23075        (WebCore::WebGLRenderingContext::getProgramInfoLog):
23076        (WebCore::WebGLRenderingContext::getRenderbufferParameter):
23077        (WebCore::WebGLRenderingContext::getShaderParameter):
23078        (WebCore::WebGLRenderingContext::getShaderInfoLog):
23079        (WebCore::WebGLRenderingContext::getShaderSource):
23080        (WebCore::WebGLRenderingContext::getTexParameter):
23081        (WebCore::WebGLRenderingContext::getUniform):
23082        (WebCore::WebGLRenderingContext::getUniformLocation):
23083        (WebCore::WebGLRenderingContext::getVertexAttrib):
23084        (WebCore::WebGLRenderingContext::linkProgram):
23085        (WebCore::WebGLRenderingContext::shaderSource):
23086        (WebCore::WebGLRenderingContext::texImage2D):
23087        (WebCore::WebGLRenderingContext::texSubImage2D):
23088        (WebCore::WebGLRenderingContext::uniform1f):
23089        (WebCore::WebGLRenderingContext::uniform1fv):
23090        (WebCore::WebGLRenderingContext::uniform1i):
23091        (WebCore::WebGLRenderingContext::uniform1iv):
23092        (WebCore::WebGLRenderingContext::uniform2f):
23093        (WebCore::WebGLRenderingContext::uniform2fv):
23094        (WebCore::WebGLRenderingContext::uniform2i):
23095        (WebCore::WebGLRenderingContext::uniform2iv):
23096        (WebCore::WebGLRenderingContext::uniform3f):
23097        (WebCore::WebGLRenderingContext::uniform3fv):
23098        (WebCore::WebGLRenderingContext::uniform3i):
23099        (WebCore::WebGLRenderingContext::uniform3iv):
23100        (WebCore::WebGLRenderingContext::uniform4f):
23101        (WebCore::WebGLRenderingContext::uniform4fv):
23102        (WebCore::WebGLRenderingContext::uniform4i):
23103        (WebCore::WebGLRenderingContext::uniform4iv):
23104        (WebCore::WebGLRenderingContext::uniformMatrix2fv):
23105        (WebCore::WebGLRenderingContext::uniformMatrix3fv):
23106        (WebCore::WebGLRenderingContext::uniformMatrix4fv):
23107        (WebCore::WebGLRenderingContext::useProgram):
23108        (WebCore::WebGLRenderingContext::validateProgram):
23109        (WebCore::WebGLRenderingContext::vertexAttribPointer):
23110        * html/canvas/WebGLRenderingContext.h:
23111        (WebCore::WebGLRenderingContext::cleanupAfterGraphicsCall):
23112        * platform/graphics/GraphicsContext3D.h:
23113        * platform/graphics/mac/GraphicsContext3DMac.cpp:
23114        (WebCore::GraphicsContext3D::getActiveAttrib):
23115        (WebCore::GraphicsContext3D::getActiveUniform):
23116        (WebCore::GraphicsContext3D::getError):
23117        (WebCore::GraphicsContext3D::synthesizeGLError):
23118
231192009-12-10  Stephen White  <senorblanco@chromium.org>
23120
23121        Reviewed by Dimitri Glazkov.
23122
23123        Fix for assert on Chrome/skia with SVG Filters enabled.
23124        https://bugs.webkit.org/show_bug.cgi?id=32394
23125
23126        Covered by LayoutTests/svg/W3C-SVG-1.1/filters-tile-01-b.svg and others.
23127
23128        * platform/graphics/skia/ImageBufferSkia.cpp:
23129        (WebCore::ImageBuffer::platformTransformColorSpace):
23130
231312009-12-10  Enrica Casucci  <enrica@apple.com>
23132
23133        Reviewed by Darin Adler.
23134
23135        REGRESSION(4.0.4-42a12): With 2 highlighted lines of text in gmail/hotmail selecting Bold selects other 2 edit buttons automatically.
23136        <rdar://problem/7442065>
23137        https://bugs.webkit.org/show_bug.cgi?id=32285
23138
23139        When examining the styles of the nodes after the first in a range selection, we take into
23140        cosideration differences in style of txt nodes only.
23141        
23142        Test: editing/execCommand/queryCommandState-02.html
23143
23144        * editing/Editor.cpp:
23145        (WebCore::Editor::selectionHasStyle):
23146
231472009-12-10  Oliver Hunt  <oliver@apple.com>
23148
23149        Reviewed by Alexey Proskuryakov.
23150
23151        Crash in XMLTokenizer::popCurrentNode if window.close() is called during parsing
23152        https://bugs.webkit.org/show_bug.cgi?id=31576
23153
23154        Add a RefCounted wrapper object around xmlParserCtxtPtr so we can
23155        maintain it's lifetime more effectively.
23156
23157        Test: fast/parser/xhtml-close-while-parsing.xhtml
23158
23159        * dom/XMLTokenizer.cpp:
23160        (WebCore::XMLTokenizer::popCurrentNode):
23161        * dom/XMLTokenizer.h:
23162        (WebCore::XMLParserContext::context):
23163        (WebCore::XMLParserContext::XMLParserContext):
23164        (WebCore::XMLTokenizer::context):
23165        * dom/XMLTokenizerLibxml2.cpp:
23166        (WebCore::XMLParserContext::createStringParser):
23167        (WebCore::XMLParserContext::createMemoryParser):
23168        (WebCore::XMLParserContext::~XMLParserContext):
23169        (WebCore::XMLTokenizer::~XMLTokenizer):
23170        (WebCore::XMLTokenizer::doWrite):
23171        (WebCore::XMLTokenizer::initializeParserContext):
23172        (WebCore::XMLTokenizer::doEnd):
23173        (WebCore::XMLTokenizer::lineNumber):
23174        (WebCore::XMLTokenizer::columnNumber):
23175        (WebCore::XMLTokenizer::stopParsing):
23176        (WebCore::parseXMLDocumentFragment):
23177        (WebCore::parseAttributes):
23178
231792009-12-10  Pavel Feldman  <pfeldman@chromium.org>
23180
23181        Reviewed by Timothy Hatcher.
23182
23183        Web Inspector: debugger shortcuts don't work when
23184        Search field or Console drawer has focus.
23185
23186        https://bugs.webkit.org/show_bug.cgi?id=32392
23187
23188        * inspector/front-end/inspector.js:
23189        (WebInspector.loaded):
23190        (WebInspector.documentKeyDown):
23191        (WebInspector.documentKeyUp):
23192        (WebInspector.searchKeyDown):
23193
231942009-12-10  Dimitri Glazkov  <dglazkov@chromium.org>
23195
23196        Reviewed by Adam Barth.
23197
23198        [V8] Events created in isolated worlds may fire in main world.
23199        https://bugs.webkit.org/show_bug.cgi?id=32386
23200
23201        Test: http/tests/security/isolatedWorld/events.html
23202
23203        * WebCore.gypi: Added WorldContextHandle.
23204        * bindings/v8/ScriptEventListener.cpp:
23205        (WebCore::createAttributeEventListener): Added WorldContextHandle params.
23206        * bindings/v8/SharedPersistent.h: Fixed a few style/include issues.
23207        * bindings/v8/V8AbstractEventListener.cpp:
23208        (WebCore::V8AbstractEventListener::V8AbstractEventListener): Added WorldContextHandle params.
23209        (WebCore::V8AbstractEventListener::handleEvent): Adjusted context retrieval to use WorldContextHandle.
23210        (WebCore::V8AbstractEventListener::invokeEventHandler): Ditto.
23211        * bindings/v8/V8AbstractEventListener.h:
23212        (WebCore::V8AbstractEventListener::worldContext): Added WorldContextHandle params.
23213        * bindings/v8/V8EventListenerList.h:
23214        (WebCore::V8EventListenerList::findOrCreateWrapper): Ditto.
23215        * bindings/v8/V8LazyEventListener.cpp:
23216        (WebCore::V8LazyEventListener::V8LazyEventListener): Ditto.
23217        (WebCore::V8LazyEventListener::prepareListenerObject): Adjusted context retrieval to use WorldContextHandle.
23218        * bindings/v8/V8LazyEventListener.h:
23219        (WebCore::V8LazyEventListener::create): Added WorldContextHandle params.
23220        * bindings/v8/V8Proxy.cpp:
23221        (WebCore::V8Proxy::context): Refactored to use mainWorldContext();
23222        (WebCore::V8Proxy::mainWorldContext): Added.
23223        (WebCore::toV8Context): Changed to use WorldContextHandle.
23224        * bindings/v8/V8Proxy.h: Added mainWorldContext decl.
23225        * bindings/v8/V8Utilities.cpp:
23226        (WebCore::reportException): Added an extra check to avoid crashes during frame teardown.
23227        * bindings/v8/V8WorkerContextEventListener.cpp:
23228        (WebCore::V8WorkerContextEventListener::V8WorkerContextEventListener): Added WorldContextHandle params.
23229        * bindings/v8/V8WorkerContextEventListener.h:
23230        (WebCore::V8WorkerContextEventListener::create): Added WorldContextHandle params.
23231        * bindings/v8/WorldContextHandle.cpp: Added.
23232        * bindings/v8/WorldContextHandle.h: Added.
23233        * bindings/v8/custom/V8CustomEventListener.cpp:
23234        (WebCore::V8EventListener::V8EventListener): Added WorldContextHandle params.
23235        * bindings/v8/custom/V8CustomEventListener.h:
23236        (WebCore::V8EventListener::create): Added WorldContextHandle params.
23237
232382009-12-10  Jon Honeycutt  <jhoneycutt@apple.com>
23239
23240        Pass more information about a plug-in to the PluginHalterDelegate
23241
23242        Reviewed by Adam Roben.
23243
23244        * loader/EmptyClients.h:
23245        Remove this unused class.
23246
23247        * page/HaltablePlugin.h:
23248        Add new functions to return the plug-in's name and whether it is
23249        windowed.
23250
23251        * page/PluginHalter.cpp:
23252        (WebCore::PluginHalter::timerFired):
23253        Pass new arguments to the client.
23254
23255        * page/PluginHalterClient.h:
23256        Add new parameters.
23257
23258        * plugins/PluginView.cpp:
23259        (WebCore::PluginView::pluginName):
23260        Return the name from the PluginPackage.
23261
23262        * plugins/PluginView.h:
23263        (WebCore::PluginView::isWindowed):
23264
232652009-12-09  Brian Weinstein  <bweinstein@apple.com>
23266
23267        Reviewed by Pavel Feldman.
23268
23269        Fixes <http://webkit.org/b/31738>.
23270        Web Inspector: Console Scope Bar should be on top of console when Console is a Panel.
23271        
23272        When the console is set to be shown as a full panel, move the scope bar to the top
23273        where it looks best. When it is only shown as a drawer, move it to the bottom, where
23274        it originally was. This takes up less space as a drawer, and makes it more discoverable
23275        and usable when it is the full panel.
23276
23277        * inspector/front-end/ConsolePanel.js:
23278        (WebInspector.ConsolePanel.prototype.show): Move filter bar to top.
23279        (WebInspector.ConsolePanel.prototype.hide): Move filter bar back to bottom.
23280        * inspector/front-end/inspector.css:
23281
232822009-12-10  Stephen White  <senorblanco@chromium.org>
23283
23284        Reviewed by Dirk Schulze.
23285
23286        Fix for alpha blending in SVG Filters on Chromium/skia.
23287        https://bugs.webkit.org/show_bug.cgi?id=32378
23288
23289        Covered by LayoutTests/svg/filters/feGaussianBlur.svg and others.
23290
23291        * platform/graphics/skia/ImageBufferSkia.cpp:
23292        (WebCore::ImageBuffer::platformTransformColorSpace):
23293
232942009-12-10  Pavel Feldman  <pfeldman@chromium.org>
23295
23296        Reviewed by Timothy Hatcher.
23297
23298        Web Inspector: Add context menu actions for DOM tree.
23299
23300        https://bugs.webkit.org/show_bug.cgi?id=32348
23301
23302        * English.lproj/localizedStrings.js:
23303        * inspector/front-end/ContextMenu.js:
23304        (WebInspector.ContextMenu):
23305        (WebInspector.ContextMenu.prototype.show):
23306        (WebInspector.ContextMenu.prototype.appendItem):
23307        (WebInspector.ContextMenu.prototype.appendSeparator):
23308        (WebInspector.ContextMenu.prototype._itemSelected):
23309        (WebInspector.contextMenuItemSelected):
23310        (WebInspector.contextMenuCleared):
23311        * inspector/front-end/ElementsTreeOutline.js:
23312        (WebInspector.ElementsTreeOutline.prototype._onmouseout):
23313        (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
23314        (WebInspector.ElementsTreeElement.prototype.ondblclick):
23315        (WebInspector.ElementsTreeElement.prototype._startEditingFromEvent):
23316        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
23317        (WebInspector.ElementsTreeElement.prototype._populateTextContextMenu):
23318        (WebInspector.ElementsTreeElement.prototype._startEditing):
23319        (WebInspector.ElementsTreeElement.prototype._addNewAttribute):
23320        * inspector/front-end/ObjectPropertiesSection.js:
23321        (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick):
23322        * inspector/front-end/ResourceView.js:
23323        (WebInspector.ResourceView.prototype._toggleURLdecoding):
23324        * inspector/front-end/ResourcesPanel.js:
23325        (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
23326        * inspector/front-end/StylesSidebarPane.js:
23327        (WebInspector.StylePropertyTreeElement.prototype):
23328        * inspector/front-end/inspector.js:
23329        (WebInspector.contextMenuEventFired):
23330        * inspector/front-end/treeoutline.js:
23331        (TreeElement.treeElementDoubleClicked):
23332
233332009-12-09  Nikolas Zimmermann  <nzimmermann@rim.com>
23334
23335        Reviewed by Oliver Hunt.
23336
23337        Filters contain some leaks in untested code
23338        https://bugs.webkit.org/show_bug.cgi?id=32325
23339
23340        Fix obvious leak in SVGFE*Lighting classes. Implement the create() idiom for 
23341        all classes in svg/graphics, that were missing it. The lighting filters aren't
23342        implemented so far, but the associated FilterEffect objects are build, which created
23343        these leaks.
23344
23345        This removes the SVG related failures in the leaks bot.
23346
23347        * svg/SVGFEDiffuseLightingElement.cpp:
23348        (WebCore::SVGFEDiffuseLightingElement::findLights):
23349        * svg/SVGFEDiffuseLightingElement.h:
23350        * svg/SVGFEDistantLightElement.cpp:
23351        (WebCore::SVGFEDistantLightElement::lightSource):
23352        * svg/SVGFEDistantLightElement.h:
23353        * svg/SVGFELightElement.h:
23354        * svg/SVGFEPointLightElement.cpp:
23355        (WebCore::SVGFEPointLightElement::lightSource):
23356        * svg/SVGFEPointLightElement.h:
23357        * svg/SVGFESpecularLightingElement.cpp:
23358        (WebCore::SVGFESpecularLightingElement::findLights):
23359        * svg/SVGFESpecularLightingElement.h:
23360        * svg/SVGFESpotLightElement.cpp:
23361        (WebCore::SVGFESpotLightElement::lightSource):
23362        * svg/SVGFESpotLightElement.h:
23363        * svg/graphics/filters/SVGDistantLightSource.h:
23364        (WebCore::DistantLightSource::create):
23365        (WebCore::DistantLightSource::DistantLightSource):
23366        * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
23367        (WebCore::FEDiffuseLighting::FEDiffuseLighting):
23368        (WebCore::FEDiffuseLighting::create):
23369        (WebCore::FEDiffuseLighting::setLightSource):
23370        * svg/graphics/filters/SVGFEDiffuseLighting.h:
23371        * svg/graphics/filters/SVGFESpecularLighting.cpp:
23372        (WebCore::FESpecularLighting::FESpecularLighting):
23373        (WebCore::FESpecularLighting::create):
23374        (WebCore::FESpecularLighting::setLightSource):
23375        * svg/graphics/filters/SVGFESpecularLighting.h:
23376        * svg/graphics/filters/SVGLightSource.h:
23377        * svg/graphics/filters/SVGPointLightSource.h:
23378        (WebCore::PointLightSource::create):
23379        (WebCore::PointLightSource::PointLightSource):
23380        * svg/graphics/filters/SVGSpotLightSource.h:
23381        (WebCore::SpotLightSource::create):
23382        (WebCore::SpotLightSource::SpotLightSource):
23383
233842009-12-10  Kenneth Russell  <kbr@google.com>
23385
23386        Reviewed by Oliver Hunt.
23387
23388        [Chromium] SporeViewer demo doesn't work in Chromium
23389        https://bugs.webkit.org/show_bug.cgi?id=32364
23390
23391        Test: fast/canvas/webgl/bug-32364.html
23392
23393        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
23394        (WebCore::CALLBACK_FUNC_DECL):
23395        (WebCore::vertexAttribAndUniformHelperf):
23396        (WebCore::uniformHelperi):
23397
233982009-12-09  Beth Dakin  <bdakin@apple.com>
23399
23400        Reviewed by Oliver Hunt.
23401
23402        Fix for https://bugs.webkit.org/show_bug.cgi?id=32346 SVG property 
23403        -webkit-shadow should apply shadow on the result after compositing
23404        -and corresponding-
23405        <rdar://problem/7389404>
23406
23407        Set a transparency layer when setting a shadow to apply the shadow 
23408        to the composite.
23409        * rendering/SVGRenderSupport.cpp:
23410        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
23411        (WebCore::SVGRenderBase::finishRenderSVGContent):
23412
234132009-12-09  Alexey Proskuryakov  <ap@apple.com>
23414
23415        Reviewed by Darin Adler.
23416
23417        https://bugs.webkit.org/show_bug.cgi?id=32332
23418        WebSocket events should be dispatched synchronously
23419
23420        Updated websocket/tests/simple to test for the new behavior.
23421
23422        When Web Sockets API says that events should be queued for async dispatch, it means something
23423        different. We should keep this in mind when dealing with other HTML5-related specs.
23424
23425        The model for HTML5 is that code running in response to network events (e.g. WebSocket or
23426        XMLHttpRequest algorithms) runs in a separate thread of execution, and thus needs to post
23427        async events as its only way to communicate with client code. As long as network events are
23428        queued themselves (as they are in WebKit), there is no need to queue JS events for async
23429        dispatch.
23430
23431        * websockets/WebSocket.cpp:
23432        (WebCore::WebSocket::didConnect):
23433        (WebCore::WebSocket::didReceiveMessage):
23434        (WebCore::WebSocket::didClose):
23435
234362009-12-09  Alexey Proskuryakov  <ap@apple.com>
23437
23438        Reviewed by Oliver Hunt.
23439
23440        https://bugs.webkit.org/show_bug.cgi?id=32355
23441        Assertion failure when opening a WebSocket connection
23442
23443        I couldn't make a reliable test for this. Once the test from bug 32299 is landed, it
23444        will provide partial coverage, as I was frequently seeing the assertion failure with it.
23445
23446        * platform/network/SocketStreamHandleBase.cpp: (WebCore::SocketStreamHandleBase::send):
23447        It's not an error if zero is returned from platformSend() - it just means that nothing could
23448        be pushed down to the network layer, and all data was queued for later.
23449        * platform/network/cf/SocketStreamHandleCFNet.cpp:
23450        (WebCore::SocketStreamHandle::readStreamCallback): This will no longer happen with SocketStream,
23451        but a client can potentially destroy the handle from any callback, so we need to check that
23452        this didn't happen.
23453        (WebCore::SocketStreamHandle::writeStreamCallback): Ditto.
23454
234552009-12-09  Sam Weinig  <sam@webkit.org>
23456
23457        Roll out 51919 and 51920. They were incorrect and unnecessary right now.
23458
23459        * platform/mac/WebCoreObjCExtras.mm:
23460        (WebCoreObjCScheduleDeallocateOnMainThread):
23461        * platform/network/mac/NetworkStateNotifierMac.cpp:
23462        (WebCore::NetworkStateNotifier::NetworkStateNotifier):
23463
234642009-12-09  Steve Block  <steveblock@google.com>
23465
23466        Reviewed by Darin Fisher.
23467
23468        Adds wtf/StdLibExtras.h include for DEFINE_STATIC_LOCAL in V8 ScriptState.
23469        https://bugs.webkit.org/show_bug.cgi?id=32330
23470
23471        Build fix only, no new tests.
23472
23473        * bindings/v8/ScriptState.cpp: Modified. Adds wtf/StdLibExtras.h include.
23474
234752009-12-09  Steve Block  <steveblock@google.com>
23476
23477        Reviewed by Darin Adler.
23478
23479        Adds ENABLE(INSPECTOR) guards around script binding methods that use types
23480        defined only when INSPECTOR is enabled.
23481        https://bugs.webkit.org/show_bug.cgi?id=32328
23482
23483        Build fix only, no new tests.
23484
23485        * bindings/js/ScriptValue.cpp: Modified. Added ENABLE(INSPECTOR) guard to ScriptValue::quarantineValue.
23486        * bindings/v8/ScriptObject.cpp: Modified. Added ENABLE(INSPECTOR) guard to some overloads of ScriptGlobalObject::set.
23487
234882009-12-09  Steve Block  <steveblock@google.com>
23489
23490        Reviewed by Adam Barth.
23491
23492        Adds Android Makefiles for building with V8.
23493        Also updates existing Android Makefiles with latest additions.
23494        https://bugs.webkit.org/show_bug.cgi?id=32278
23495
23496        Build fix only, no new tests.
23497
23498        * Android.derived.jscbindings.mk: Modified.
23499        * Android.derived.mk: Modified.
23500        * Android.derived.v8bindings.mk: Added.
23501        * Android.jscbindings.mk: Modified.
23502        * Android.mk: Modified.
23503        * Android.v8bindings.mk: Added.
23504
235052009-12-09  Jonathan Dixon  <joth@chromium.org>
23506
23507        Reviewed by Dimitri Glazkov.
23508
23509        Bug 32338 - [Chromium] Fix Chromium builder by including missing GeolocationServiceChromium
23510        https://bugs.webkit.org/show_bug.cgi?id=32338
23511
23512        Fix build break: re-include file dropped out by merge in http://trac.webkit.org/changeset/51681/trunk/WebCore/WebCore.gypi
23513
23514        * WebCore.gypi: Add missing GeolocationServiceChromium.cpp
23515
235162009-12-09  Andreas Kling  <andreas.kling@nokia.com>
23517
23518        Reviewed by Brady Eidson.
23519
23520        Fixed a typo in http://trac.webkit.org/changeset/51644 that broke
23521        the QWebPage autotest.
23522
23523        No new test required.
23524
23525        * loader/FrameLoader.cpp:
23526        (WebCore::FrameLoader::navigateToDifferentDocument):
23527
235282009-12-09  Robert Hogan  <robert@roberthogan.net>
23529
23530        Reviewed by Eric Seidel.
23531
23532        Exclude JSSVG*.cpp generated files from --minimal and --no-svg builds.
23533        
23534        https://bugs.webkit.org/show_bug.cgi?id=32286
23535
23536        * WebCore.pro:
23537
235382009-12-09  Philippe Normand  <pnormand@igalia.com>
23539
23540        Reviewed by Eric Carlson.
23541
23542        Ogg mimetypes are incorrect
23543        https://bugs.webkit.org/show_bug.cgi?id=27113
23544
23545        The ogg extension is handled by audio/ogg instead of
23546        application/ogg. See
23547        http://wiki.xiph.org/MIME_Types_and_File_Extensions
23548
23549        * platform/MIMETypeRegistry.cpp:
23550        (WebCore::TypeExtensionPair::):
23551
235522009-12-09  Sam Weinig  <sam@webkit.org>
23553
23554        Reviewed by Anders Carlsson.
23555
23556        Use the current run loop instead of the main runloop for the NetworkStateNotifier.
23557
23558        * platform/network/mac/NetworkStateNotifierMac.cpp:
23559        (WebCore::NetworkStateNotifier::NetworkStateNotifier):
23560
235612009-12-09  Sam Weinig  <sam@webkit.org>
23562
23563        Reviewed by Anders Carlsson.
23564
23565        Use isMainThread() helper instead of pthread_main_np() != 0.
23566
23567        * platform/mac/WebCoreObjCExtras.mm:
23568        (WebCoreObjCScheduleDeallocateOnMainThread):
23569
235702009-12-09  Sam Weinig  <sam@webkit.org>
23571
23572        Reviewed by Anders Carlsson.
23573
23574        Add some #ifdefs to allow us to experiment with a single NSView mac WebKit.
23575
23576        * page/Chrome.h:
23577        * page/EventHandler.h:
23578        * page/mac/ChromeMac.mm:
23579        * page/mac/DragControllerMac.mm:
23580        (WebCore::DragController::dragOperation):
23581        * page/mac/EventHandlerMac.mm:
23582        (WebCore::EventHandler::eventLoopHandleMouseDragged):
23583        (WebCore::EventHandler::eventActivatedView):
23584        (WebCore::EventHandler::passMousePressEventToSubframe):
23585        (WebCore::EventHandler::passMouseMoveEventToSubframe):
23586        (WebCore::EventHandler::passMouseReleaseEventToSubframe):
23587        (WebCore::EventHandler::passWheelEventToWidget):
23588        (WebCore::EventHandler::focusDocumentView):
23589        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
23590        (WebCore::EventHandler::createDraggingClipboard):
23591        (WebCore::isKeyboardOptionTab):
23592        (WebCore::EventHandler::invertSenseOfTabsToLinks):
23593        (WebCore::EventHandler::tabsToAllControls):
23594        (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
23595        (WebCore::EventHandler::accessKeyModifiers):
23596        * platform/ScrollView.cpp:
23597        (WebCore::ScrollView::wheelEvent):
23598        * platform/Widget.cpp:
23599        * platform/Widget.h:
23600        * platform/mac/ScrollViewMac.mm:
23601        * platform/mac/WidgetMac.mm:
23602        (WebCore::Widget::Widget):
23603        (WebCore::Widget::~Widget):
23604        (WebCore::Widget::show):
23605        (WebCore::Widget::hide):
23606        (WebCore::Widget::setCursor):
23607        (WebCore::Widget::paint):
23608        (WebCore::Widget::setFocus):
23609        (WebCore::Widget::setIsSelected):
23610        (WebCore::Widget::frameRect):
23611        (WebCore::Widget::setFrameRect):
23612
236132009-12-09  Michael Nordman  <michaeln@google.com>
23614
23615        Reviewed by Dimitri Glazkov.
23616
23617        Chromium build fix.
23618
23619        No new tests.
23620
23621        * bindings/v8/DOMData.cpp
23622        * bindings/v8/V8DOMWrapper.cpp
23623        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
23624        (WebCore::vertexAttribAndUniformHelperf):
23625        (WebCore::uniformHelperi):
23626        (WebCore::uniformMatrixHelper):
23627
236282009-12-09  Søren Gjesse  <sgjesse@chromium.org>
23629
23630        Reviewed by Pavel Feldman.
23631
23632        [V8] Isolated world reuse failure
23633        https://bugs.webkit.org/show_bug.cgi?id=32306
23634
23635        Fixed bug introduced in r51407: (http://trac.webkit.org/changeset/51407) which caused layout test
23636        LayoutTests/http/tests/security/isolatedWorld/world-reuse.html to fail.
23637
23638        * bindings/v8/V8Proxy.cpp:
23639        (WebCore::V8Proxy::setInjectedScriptContextDebugId):
23640        (WebCore::V8Proxy::contextDebugId):
23641
236422009-12-09  Patrick Scott  <phanna@email.unc.edu>
23643
23644        Fix the build with ENABLE_ORIENTATION_EVENTS
23645        https://bugs.webkit.org/show_bug.cgi?id=32321
23646
23647        * page/Frame.cpp:
23648        (WebCore::Frame::sendOrientationChangeEvent):
23649
236502009-12-09  Avi Drissman  <avi@chromium.org>
23651
23652        Reviewed by Darin Fisher.
23653
23654        Chromium tickmarks in scrollbar now UX approved.
23655        https://bugs.webkit.org/show_bug.cgi?id=32069
23656
23657        * platform/chromium/ScrollbarThemeChromiumMac.mm:
23658        (WebCore::ScrollbarThemeChromiumMac::paint):
23659
236602009-12-09  Chris Marrin  <cmarrin@apple.com>
23661
23662        Reviewed by Adam Roben.
23663
23664        Delay load DLLs for accelerated compositing
23665        https://bugs.webkit.org/show_bug.cgi?id=31856
23666        
23667        Add logic to turn off accelerated compositing if d3d9 or QuartzCore
23668        DLLs are not present.
23669        
23670        This patch also changes the WKCACFLayerRenderer to be a pointer.
23671        This allows me to have a create() method which will not create it when
23672        accelerated compositing is disabled because of missing DLLs. It 
23673        avoids having to do so many checks. I also made WebViewWndProc 
23674        a member function to allow several methods to be made protected, which
23675        allows me to avoid doing availability checks there as well.
23676
23677        * platform/graphics/win/WKCACFLayer.cpp:
23678        * platform/graphics/win/WKCACFLayer.h:
23679        * platform/graphics/win/WKCACFLayerRenderer.cpp:
23680        * platform/graphics/win/WKCACFLayerRenderer.h:
23681        * rendering/RenderLayerBacking.cpp:
23682
236832009-12-09  Nate Chapin  <japhet@chromium.org>
23684
23685        Reviewed by Darin Adler.
23686
23687        Rename dom/ClassNames to SpaceSplitString and update build files.
23688
23689        https://bugs.webkit.org/show_bug.cgi?id=32250
23690
23691        * GNUmakefile.am:
23692        * WebCore.gypi:
23693        * WebCore.pro:
23694        * WebCore.vcproj/WebCore.vcproj:
23695        * WebCore.xcodeproj/project.pbxproj:
23696        * WebCoreSources.bkl:
23697        * css/CSSStyleSelector.cpp:
23698        (WebCore::CSSStyleSelector::matchRules):
23699        * dom/ClassNames.cpp: Removed.
23700        * dom/ClassNames.h: Removed.
23701        * dom/ClassNodeList.h:
23702        * dom/NamedMappedAttrMap.h:
23703        (WebCore::NamedMappedAttrMap::classNames):
23704        * dom/SpaceSplitString.cpp: Copied from WebCore/dom/ClassNames.cpp.
23705        (WebCore::SpaceSplitStringData::createVector):
23706        (WebCore::SpaceSplitStringData::containsAll):
23707        * dom/SpaceSplitString.h: Copied from WebCore/dom/ClassNames.h.
23708        (WebCore::SpaceSplitStringData::SpaceSplitStringData):
23709        (WebCore::SpaceSplitString::SpaceSplitString):
23710        (WebCore::SpaceSplitString::set):
23711        (WebCore::SpaceSplitString::containsAll):
23712        * dom/StyledElement.h:
23713        (WebCore::StyledElement::classNames):
23714        * html/HTMLAnchorElement.cpp:
23715        (WebCore::HTMLAnchorElement::setRel):
23716
237172009-12-09  Stephen White  <senorblanco@chromium.org>
23718
23719        Reviewed by Darin Fisher.
23720
23721        Enable SVG filters in Chromium build.
23722        https://bugs.webkit.org/show_bug.cgi?id=32323
23723
23724        Covered by SVG filter layout tests.
23725
23726        * WebCore.gyp/WebCore.gyp:
23727        * WebCore.gypi:
23728        * bindings/scripts/CodeGeneratorV8.pm:
23729        * bindings/v8/DerivedSourcesAllInOne.cpp:
23730        * bindings/v8/V8DOMWrapper.cpp:
23731        * bindings/v8/V8Index.cpp:
23732        * bindings/v8/V8Index.h:
23733
237342009-12-09  Oliver Hunt  <oliver@apple.com>
23735
23736        Build fix
23737
23738        * bindings/js/JSWebGLRenderingContextCustom.cpp:
23739        (WebCore::functionForUniform):
23740
237412009-12-08  Fumitoshi Ukai  <ukai@chromium.org>
23742
23743        Reviewed by Darin Adler.
23744
23745        WebSocket allow space (U+0020) in sub protocol name.
23746        https://bugs.webkit.org/show_bug.cgi?id=32266
23747
23748        Test: websocket/tests/sub-protocol-with-space.html
23749
23750        * websockets/WebSocket.cpp:
23751        (WebCore::isValidProtocolString):
23752
237532009-12-08  Peterson Trethewey  <petersont@google.com>
23754
23755        Reviewed by Oliver Hunt.
23756
23757        Implement WebGLUniformLocation and change API to use it.
23758        https://bugs.webkit.org/show_bug.cgi?id=31173
23759
23760        Test: fast/canvas/webgl/uniform-location.html
23761
23762        * DerivedSources.make:
23763        * WebCore.gypi:
23764        * WebCore.xcodeproj/project.pbxproj:
23765        * bindings/js/JSWebGLRenderingContextCustom.cpp:
23766        (WebCore::JSWebGLRenderingContext::getProgramParameter):
23767        (WebCore::JSWebGLRenderingContext::getUniform):
23768        (WebCore::functionForUniform):
23769        (WebCore::dataFunctionf):
23770        (WebCore::dataFunctioni):
23771        (WebCore::dataFunctionMatrix):
23772        * bindings/scripts/CodeGeneratorV8.pm:
23773        * bindings/v8/DerivedSourcesAllInOne.cpp:
23774        * bindings/v8/V8Index.cpp:
23775        * bindings/v8/V8Index.h:
23776        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
23777        (WebCore::toWebGLUniformLocation):
23778        (WebCore::):
23779        (WebCore::CALLBACK_FUNC_DECL):
23780        (WebCore::isFunctionToCallForAttribute):
23781        (WebCore::vertexAttribAndUniformHelperf):
23782        (WebCore::uniformHelperi):
23783        (WebCore::uniformMatrixHelper):
23784        * html/canvas/WebGLRenderingContext.cpp:
23785        (WebCore::WebGLRenderingContext::getUniform):
23786        (WebCore::WebGLRenderingContext::getUniformLocation):
23787        (WebCore::WebGLRenderingContext::uniform1f):
23788        (WebCore::WebGLRenderingContext::uniform1fv):
23789        (WebCore::WebGLRenderingContext::uniform1i):
23790        (WebCore::WebGLRenderingContext::uniform1iv):
23791        (WebCore::WebGLRenderingContext::uniform2f):
23792        (WebCore::WebGLRenderingContext::uniform2fv):
23793        (WebCore::WebGLRenderingContext::uniform2i):
23794        (WebCore::WebGLRenderingContext::uniform2iv):
23795        (WebCore::WebGLRenderingContext::uniform3f):
23796        (WebCore::WebGLRenderingContext::uniform3fv):
23797        (WebCore::WebGLRenderingContext::uniform3i):
23798        (WebCore::WebGLRenderingContext::uniform3iv):
23799        (WebCore::WebGLRenderingContext::uniform4f):
23800        (WebCore::WebGLRenderingContext::uniform4fv):
23801        (WebCore::WebGLRenderingContext::uniform4i):
23802        (WebCore::WebGLRenderingContext::uniform4iv):
23803        (WebCore::WebGLRenderingContext::uniformMatrix2fv):
23804        (WebCore::WebGLRenderingContext::uniformMatrix3fv):
23805        (WebCore::WebGLRenderingContext::uniformMatrix4fv):
23806        * html/canvas/WebGLRenderingContext.h:
23807        * html/canvas/WebGLRenderingContext.idl:
23808        * html/canvas/WebGLUniformLocation.cpp: Added.
23809        (WebCore::WebGLUniformLocation::create):
23810        (WebCore::WebGLUniformLocation::WebGLUniformLocation):
23811        * html/canvas/WebGLUniformLocation.h: Added.
23812        (WebCore::WebGLUniformLocation::~WebGLUniformLocation):
23813        (WebCore::WebGLUniformLocation::program):
23814        (WebCore::WebGLUniformLocation::location):
23815        * html/canvas/WebGLUniformLocation.idl: Added.
23816
238172009-12-08  Adam Langley  <agl@google.com>
23818
23819        Reviewed by Darin Adler.
23820
23821        Fix assertion failure in WebCore::RenderBlock::startDelayUpdateScrollInfo
23822
23823        startDelayUpdateScrollInfo calls a function that can end up calling
23824        startDelayUpdateScrollInfo again. However, it's static state is
23825        inconsistent when this happens leading to an assertion failure (or
23826        probably a memory leak if assertions are off).
23827
23828        Thanks to Robert Swiecki for the test case.
23829
23830        https://bugs.webkit.org/show_bug.cgi?id=32172
23831        http://code.google.com/p/chromium/issues/detail?id=28880
23832
23833        Test: fast/css/recursive-delay-update-scroll.html
23834
23835        * rendering/RenderBlock.cpp:
23836        (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
23837
238382009-12-08  Steve Falkenburg  <sfalken@apple.com>
23839
23840        Reviewed by Adam Roben.
23841
23842        WebCore source level debugging on Windows not reliable in some cases
23843        https://bugs.webkit.org/show_bug.cgi?id=32297
23844
23845        Customized pdb file name/location for WebCore static library.
23846
23847        * WebCore.vcproj/WebCoreCommon.vsprops: Add ProgramDataBaseFileName.
23848
238492009-12-08  Kevin Watters  <kevinwatters@gmail.com>
23850
23851        Reviewed by Kevin Ollivier.
23852
23853        [wx] Mac plugins support.
23854        
23855        https://bugs.webkit.org/show_bug.cgi?id=32236
23856
23857        * platform/FileSystem.h:
23858        * platform/cf/BinaryPropertyList.h:
23859        * platform/network/curl/ResourceHandleManager.cpp:
23860        * platform/wx/FileSystemWx.cpp:
23861        (WebCore::fileExists):
23862        (WebCore::unloadModule):
23863        (WebCore::wxDirTraverserNonRecursive::wxDirTraverserNonRecursive):
23864        (WebCore::wxDirTraverserNonRecursive::OnFile):
23865        (WebCore::wxDirTraverserNonRecursive::OnDir):
23866        (WebCore::listDirectory):
23867        * plugins/mac/PluginViewMac.cpp:
23868        (WebCore::nativeWindowFor):
23869        (WebCore::cgHandleFor):
23870        (WebCore::topLevelOffsetFor):
23871        (WebCore::PluginView::platformStart):
23872        (WebCore::PluginView::setFocus):
23873        (WebCore::PluginView::invalidateRect):
23874        (WebCore::PluginView::handleKeyboardEvent):
23875        (WebCore::PluginView::globalMousePosForPlugin):
23876        * plugins/wx/PluginDataWx.cpp: Added.
23877        (WebCore::PluginData::initPlugins):
23878        (WebCore::PluginData::refresh):
23879        * wscript:
23880
238812009-12-08  Brady Eidson  <beidson@apple.com>
23882
23883        Reviewed by Darin Adler.
23884
23885        Navigating to a cached page can result in accessing a destroyed HTMLInputElement.
23886        <rdar://problem/6856662> and https://webkit.org/b/32293
23887
23888        Test: fast/loader/input-element-page-cache-crash.html
23889
23890        * html/HTMLInputElement.cpp:
23891        (WebCore::HTMLInputElement::parseMappedAttribute): Make sure to unregister for the activation
23892          callback after the new m_autocomplete setting has been stored so the unregistration actually
23893          takes place.
23894
238952009-12-08  Dmitry Titov  <dimich@chromium.org>
23896
23897        Rubber-stamped by David Levin.
23898
23899        Revert and reopen "Add asserts to RefCounted to make sure ref/deref happens on the right thread."
23900        It may have caused massive increase of reported leaks on the bots.
23901        https://bugs.webkit.org/show_bug.cgi?id=31639
23902
23903        * ForwardingHeaders/wtf/ThreadVerifier.h: Removed.
23904        * loader/icon/IconRecord.cpp:
23905        (WebCore::IconRecord::IconRecord):
23906        * platform/SharedBuffer.cpp:
23907        (WebCore::SharedBuffer::SharedBuffer):
23908        * platform/text/StringImpl.cpp:
23909        (WebCore::StringImpl::StringImpl):
23910
239112009-12-08  Pavel Feldman  <pfeldman@chromium.org>
23912
23913        Reviewed by Darin Fisher.
23914
23915        Chromium: support custom WebCore context menu items in Chromium port.
23916
23917        https://bugs.webkit.org/show_bug.cgi?id=32277
23918
23919        * platform/ContextMenu.h:
23920        * platform/ContextMenuItem.h:
23921        (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
23922        * platform/chromium/ContextMenuChromium.cpp:
23923        (WebCore::ContextMenu::ContextMenu):
23924        (WebCore::ContextMenu::itemCount):
23925        (WebCore::ContextMenu::insertItem):
23926        (WebCore::ContextMenu::appendItem):
23927        (WebCore::ContextMenu::itemWithAction):
23928        (WebCore::ContextMenu::itemAtIndex):
23929        (WebCore::ContextMenu::platformDescription):
23930        * platform/chromium/ContextMenuItemChromium.cpp:
23931        (WebCore::ContextMenuItem::ContextMenuItem):
23932        (WebCore::ContextMenuItem::releasePlatformDescription):
23933        (WebCore::ContextMenuItem::type):
23934        (WebCore::ContextMenuItem::action):
23935        (WebCore::ContextMenuItem::title):
23936        (WebCore::ContextMenuItem::checked):
23937        (WebCore::ContextMenuItem::enabled):
23938        (WebCore::ContextMenuItem::setType):
23939        (WebCore::ContextMenuItem::setAction):
23940        (WebCore::ContextMenuItem::setTitle):
23941        (WebCore::ContextMenuItem::setChecked):
23942        (WebCore::ContextMenuItem::setEnabled):
23943
239442009-12-08  Adam Langley  <agl@google.com>
23945
23946        Reviewed by Dimitri Glazkov.
23947
23948        Chromium Linux: set default scrollbar colours.
23949
23950        This is so that layout tests have sane defaults for the scrollbar
23951        colours, even if the API user doesn't set any.
23952
23953        This is a fix due to r51827.
23954
23955        https://bugs.webkit.org/show_bug.cgi?id=32287
23956
23957        This is very well covered by existing layout tests.
23958
23959        * rendering/RenderThemeChromiumLinux.cpp:
23960
239612009-12-08  Beth Dakin  <bdakin@apple.com>
23962
23963        Reviewed by Sam Weinig.
23964
23965        Fix for <rdar://problem/7397808> Crash occurs at 
23966        RenderObject::containingBlock() as I type in the Google Search 
23967        field (during page load)
23968
23969        * editing/Editor.cpp:
23970        (WebCore::Editor::insideVisibleArea): ownerRenderer() needs to be 
23971        null checked.
23972
239732009-12-08  Dmitry Titov  <dimich@chromium.org>
23974
23975        Reviewed by Darin Adler.
23976
23977        Add asserts to RefCounted to make sure ref/deref happens on the right thread.
23978        https://bugs.webkit.org/show_bug.cgi?id=31639
23979
23980        * loader/icon/IconRecord.cpp:
23981        (WebCore::IconRecord::IconRecord): Disable thread verification for this class because of its cross-thread use in IconDatabase.
23982        * platform/SharedBuffer.cpp:
23983        (WebCore::SharedBuffer::SharedBuffer): Ditto.
23984        * platform/text/StringImpl.cpp:
23985        (WebCore::StringImpl::StringImpl): Disable thread verification for this class, add FIXME to enforce proper usage via crossThreadString.
23986        * ForwardingHeaders/wtf/ThreadVerifier.h: Added.
23987
239882009-12-08  John Gregg  <johnnyg@google.com>
23989
23990        Reviewed by Adam Barth.
23991
23992        Inform the NotificationCenter when its window goes away in the same
23993        manner as other DOMWindow fields, and prevent invalid operations on
23994        it after that happens.
23995
23996        As part of this, change the V8 bindings for notifications to call
23997        through the NotificationCenter rather than doing those operations
23998        itself.
23999
24000        https://bugs.webkit.org/show_bug.cgi?id=31886
24001
24002        Test: fast/notifications/notification-after-close.html
24003
24004        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
24005        (WebCore::CALLBACK_FUNC_DECL):
24006        * notifications/Notification.cpp:
24007        (WebCore::Notification::Notification):
24008        * notifications/NotificationCenter.cpp:
24009        (WebCore::NotificationCenter::checkPermission):
24010        (WebCore::NotificationCenter::requestPermission):
24011        * notifications/NotificationCenter.h:
24012        (WebCore::NotificationCenter::createHTMLNotification):
24013        (WebCore::NotificationCenter::createNotification):
24014        (WebCore::NotificationCenter::disconnectFrame):
24015        * page/DOMWindow.cpp:
24016        (WebCore::DOMWindow::clear):
24017
240182009-12-08  Dan Bernstein  <mitz@apple.com>
24019
24020        Reviewed by John Sullivan.
24021
24022        Fixed block selection gap repainting in table cells
24023
24024        Test: fast/repaint/block-selection-gap-in-table-cell.html
24025
24026        This recently-introduced regression exposed the fact that
24027        RenderTableCell did not override offsetFromContainer() to adjust for
24028        the fact that table cells’ coordinates are relative to the table
24029        section, not the table row. With this fixed, RenderTableCell no longer
24030        needs to override mapLocalToContainer() and mapAbsoluteToLocalPoint(),
24031        since the base class implementations of those use offsetFromContainer().
24032
24033        * rendering/RenderTableCell.cpp:
24034        (WebCore::RenderTableCell::offsetFromContainer):
24035        * rendering/RenderTableCell.h:
24036
240372009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>
24038
24039        Not reviewed. Sane way to force a rebuild on all win slaves, according to Adam Roben.
24040
24041        * WebCorePrefix.h:
24042
240432009-12-08  Dan Bernstein  <mitz@apple.com>
24044
24045        Build fix
24046
24047        * loader/loader.cpp:
24048        (WebCore::cachedResourceTypeToTargetType):
24049
240502009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>
24051
24052        Not reviewed. Touch svgtags.in to eventually fix the win debug build.
24053
24054        * svg/svgtags.in:
24055
240562009-12-08  Mike Belshe  <mike@belshe.com>
24057
24058        Reviewed by Darin Fisher.
24059
24060        https://bugs.webkit.org/show_bug.cgi?id=32167
24061        Update the ResourceRequest::RequestType.  This previously
24062        was specific to Chromium.  Moved into ResourceRequestBase, enabling
24063        more specificity about the type (which is otherwise only known to the
24064        loader), and also making this information available to all platforms.
24065        Any platform with a network layer which can utilize this information
24066        may want to use it for prioritization.
24067
24068        Note to Chromium glue: TargetIsSubResource renamed to TargetIsSubresource.
24069
24070        * loader/loader.cpp:
24071        (WebCore::Loader::Loader):
24072        (WebCore::CachedResourceTypeToTargetType):
24073        (WebCore::Loader::Host::servePendingRequests):
24074        * platform/network/ResourceRequestBase.h:
24075        (WebCore::ResourceRequestBase::):
24076        (WebCore::ResourceRequestBase::targetType):
24077        (WebCore::ResourceRequestBase::setTargetType):
24078        (WebCore::ResourceRequestBase::ResourceRequestBase):
24079        * platform/network/chromium/ResourceRequest.h:
24080        (WebCore::ResourceRequest::ResourceRequest):
24081
240822009-12-08  Steve Block  <steveblock@google.com>
24083
24084        Reviewed by Adam Barth.
24085
24086        [Android] Adds Makefiles for Android port.
24087        https://bugs.webkit.org/show_bug.cgi?id=31325
24088
24089        Build system change only. No tests possible.
24090
24091        * Android.derived.jscbindings.mk: Added.
24092        * Android.derived.mk: Added.
24093        * Android.jscbindings.mk: Added.
24094        * Android.mk: Added.
24095        * WebCorePrefix.h: Modified. Sets up some flags and adds a header required for building on Android.
24096
240972009-12-08  Christian Dywan  <christian@twotoasts.de>
24098
24099        Reviewed by Xan Lopez.
24100
24101        * platform/network/soup/DNSSoup.cpp:
24102        (WebCore::prefetchDNS): Conditionalize prefetching on
24103        the libSoup version.
24104
241052009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>
24106
24107        Rubber-stamped by Maciej Stachowiak.
24108
24109        Turn on (SVG) Filters for Win.
24110        https://bugs.webkit.org/show_bug.cgi?id=32224
24111
24112        * WebCore.vcproj/WebCoreCommon.vsprops:
24113        * WebCore.vcproj/build-generated-files.sh:
24114        * bindings/scripts/CodeGeneratorCOM.pm: Touch file to assure a world rebuild. Hopefully.
24115
241162009-12-08  Carol Szabo  <carol.szabo@nokia.com>
24117
24118        Reviewed by Darin Adler.
24119
24120        CSS Counter Nesting still does not work according to the spec.
24121        https://bugs.webkit.org/show_bug.cgi?id=31723
24122
24123        Test: fast/css/counters/nesting.html
24124
24125        * rendering/RenderCounter.cpp:
24126        (WebCore::findPlaceForCounter):
24127        Replaced the faulty counter insertion algorithm with one that works.
24128
241292009-12-08  John Sullivan  <sullivan@apple.com>
24130
24131        Add isAutofilled getter to match existing setter.
24132
24133        Reviewed by Ada Chan.
24134
24135        * bindings/objc/DOMHTML.mm:
24136        (-[DOMHTMLInputElement _isAutofilled]):
24137        Implemented new cover function.
24138        
24139        * bindings/objc/DOMPrivate.h:
24140        Declared new cover function.
24141
241422009-12-08  Dominik Röttsches  <dominik.roettsches@access-company.com>
24143
24144        Reviewed by Gustavo Noronha Silva.
24145
24146        [Gtk] Create a TextBreakIterator implementation based on GLib (without ICU)
24147        https://bugs.webkit.org/show_bug.cgi?id=31469
24148
24149        Added a TextBreakIterator implementation based on GLib and pango,
24150        which allows compiling WebCore without ICU.
24151
24152        * GNUmakefile.am:
24153        * platform/text/gtk/TextBreakIteratorGtk.cpp: Added.
24154        (WebCore::):
24155        (WebCore::setUpIterator):
24156        (WebCore::characterBreakIterator):
24157        (WebCore::cursorMovementIterator):
24158        (WebCore::wordBreakIterator):
24159        (WebCore::lineBreakIterator):
24160        (WebCore::sentenceBreakIterator):
24161        (WebCore::textBreakFirst):
24162        (WebCore::textBreakLast):
24163        (WebCore::textBreakNext):
24164        (WebCore::textBreakPrevious):
24165        (WebCore::textBreakPreceding):
24166        (WebCore::textBreakFollowing):
24167        (WebCore::textBreakCurrent):
24168        (WebCore::isTextBreak):
24169
241702009-12-08  Alexander Pavlov  <apavlov@chromium.org>
24171
24172        Reviewed by Pavel Feldman.
24173
24174        Change the way cookies are retrieved in the WebInspector frontend.
24175
24176        Moved the cookie filtering from the native code into the frontend so that
24177        all cookies can be retrieved regardless of the associated domain
24178        (required for certain audits to run.)
24179        https://bugs.webkit.org/show_bug.cgi?id=32160
24180
24181        Test: inspector/cookie-resource-match.html
24182
24183        * inspector/InspectorBackend.cpp:
24184        (WebCore::InspectorBackend::getCookies):
24185        * inspector/InspectorBackend.h:
24186        * inspector/InspectorBackend.idl:
24187        * inspector/InspectorController.cpp:
24188        (WebCore::InspectorController::getCookies):
24189        * inspector/InspectorController.h:
24190        * inspector/front-end/CookieItemsView.js:
24191        (WebInspector.CookieItemsView.prototype.update.callback):
24192        (WebInspector.CookieItemsView.prototype.update):
24193        (WebInspector.CookieItemsView.prototype._cookiesForDomain):
24194        * inspector/front-end/DOMAgent.js:
24195        (WebInspector.Cookies.getCookiesAsync):
24196        (WebInspector.Cookies.cookieMatchesResourceURL):
24197        (WebInspector.Cookies.cookieDomainMatchesResourceDomain):
24198        * inspector/front-end/Resource.js:
24199        (WebInspector.Resource):
24200        (WebInspector.Resource.prototype.get documentURL):
24201        (WebInspector.Resource.prototype.set documentURL):
24202        * inspector/front-end/inspector.js:
24203        (WebInspector.addResource):
24204
242052009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>
24206
24207        Not reviewed. Touch svgtags.in, in order to force SVGNames.* regeneration. Praying for gtk bot to be fixed :-)
24208
24209        * svg/svgtags.in:
24210
242112009-12-08  Nikolas Zimmermann  <nzimmermann@rim.com>
24212
24213        Not reviewed. Trying to force a rebuild on the Gtk slave. If that doesn't work, someone must force a rebuild from scratch.
24214
24215        * bindings/scripts/CodeGeneratorJS.pm:
24216
242172009-12-06  Pavel Feldman  <pfeldman@chromium.org>
24218
24219        Reviewed by Timothy Hatcher.
24220
24221        Web Inspector: provide custom context menu in the front-end window.
24222
24223        https://bugs.webkit.org/show_bug.cgi?id=32200
24224
24225        * English.lproj/localizedStrings.js:
24226        * GNUmakefile.am:
24227        * WebCore.gypi:
24228        * WebCore.pro:
24229        * WebCore.vcproj/WebCore.vcproj:
24230        * WebCore.xcodeproj/project.pbxproj:
24231        * bindings/js/JSInspectorFrontendHostCustom.cpp:
24232        (WebCore::JSInspectorFrontendHost::showContextMenu):
24233        * inspector/InspectorFrontend.cpp:
24234        (WebCore::InspectorFrontend::contextMenuItemSelected):
24235        (WebCore::InspectorFrontend::contextMenuCleared):
24236        * inspector/InspectorFrontend.h:
24237        * inspector/InspectorFrontendHost.cpp:
24238        (WebCore::InspectorFrontendHost::InspectorFrontendHost):
24239        (WebCore::InspectorFrontendHost::~InspectorFrontendHost):
24240        (WebCore::InspectorFrontendHost::showContextMenu):
24241        (WebCore::InspectorFrontendHost::contextMenuItemSelected):
24242        (WebCore::InspectorFrontendHost::contextMenuCleared):
24243        * inspector/InspectorFrontendHost.h:
24244        (WebCore::InspectorFrontendHost::MenuSelectionHandler::create):
24245        (WebCore::InspectorFrontendHost::MenuSelectionHandler::~MenuSelectionHandler):
24246        (WebCore::InspectorFrontendHost::MenuSelectionHandler::disconnect):
24247        (WebCore::InspectorFrontendHost::MenuSelectionHandler::contextMenuItemSelected):
24248        (WebCore::InspectorFrontendHost::MenuSelectionHandler::contextMenuCleared):
24249        (WebCore::InspectorFrontendHost::MenuSelectionHandler::MenuSelectionHandler):
24250        * inspector/InspectorFrontendHost.idl:
24251        * inspector/front-end/ContextMenu.js: Added.
24252        * inspector/front-end/WebKit.qrc:
24253        * inspector/front-end/inspector.html:
24254        * inspector/front-end/inspector.js:
24255        (WebInspector.loaded):
24256        (WebInspector.documentContextMenu):
24257        * page/ContextMenuController.cpp:
24258        (WebCore::ContextMenuController::ContextMenuController):
24259        (WebCore::ContextMenuController::clearContextMenu):
24260        (WebCore::ContextMenuController::handleContextMenuEvent):
24261        (WebCore::ContextMenuController::showContextMenu):
24262        (WebCore::ContextMenuController::createContextMenu):
24263        (WebCore::ContextMenuController::contextMenuItemSelected):
24264        * page/ContextMenuController.h:
24265        * page/ContextMenuSelectionHandler.h: Added.
24266        (WebCore::ContextMenuSelectionHandler::ContextMenuSelectionHandler):
24267        (WebCore::ContextMenuSelectionHandler::~ContextMenuSelectionHandler):
24268        * platform/ContextMenu.cpp:
24269        (WebCore::ContextMenu::checkOrEnableIfNeeded):
24270        * platform/ContextMenuItem.h:
24271
242722009-12-08  Andras Becsi  <abecsi@inf.u-szeged.hu>
24273
24274        Rubber-stamped by Kenneth Rohde Christiansen.
24275
24276        [Qt] Build fix of duplicated platform/graphics/filters/FEGaussianBlur.cpp in WebCore.pro after enabled svg filters.
24277
24278        No new tests needed.
24279        * WebCore.pro:
24280
242812009-12-07  Shinichiro Hamaji  <hamaji@chromium.org>
24282
24283        Reviewed by Darin Adler.
24284
24285        Add a function to show render tree for debugging
24286        https://bugs.webkit.org/show_bug.cgi?id=31288
24287
24288        No new tests because this just adds a function for debugging.
24289
24290        * rendering/RenderObject.cpp:
24291        (WebCore::RenderObject::showRenderObject):
24292        (WebCore::RenderObject::showRenderTreeAndMark):
24293        (showRenderTree):
24294        * rendering/RenderObject.h:
24295
242962009-12-07  Victor Wang  <victorw@chromium.org>
24297
24298        Reviewed by Dimitri Glazkov.
24299
24300        Implement NamedPropertyEnumerator and IndexedPropertyEnumerator for
24301        V8 NPObject. This should make the object enumerable and fix the
24302        enumeration issue in layout test plugins/netscape-enumerate.html.
24303
24304        Also fix some existing style issues per webkit style guidelines.
24305
24306        https://bugs.webkit.org/show_bug.cgi?id=32254
24307
24308        Test: plugins/netscape-enumerate.html
24309
24310        * bindings/v8/V8NPObject.cpp:
24311        (npObjectInvokeImpl):
24312        (npObjectInvokeDefaultHandler):
24313        (npObjectGetProperty):
24314        (npObjectPropertyEnumerator):
24315        (npObjectNamedPropertyEnumerator):
24316        (npObjectIndexedPropertyEnumerator):
24317        (createV8ObjectForNPObject):
24318
243192009-12-07  Fumitoshi Ukai  <ukai@chromium.org>
24320
24321        Reviewed by Alexey Proskuryakov.
24322
24323        Fragments now make WebSocket URL parsing fail.
24324        https://bugs.webkit.org/show_bug.cgi?id=32144
24325
24326        * websockets/WebSocket.cpp:
24327        (WebCore::WebSocket::connect):
24328
243292009-12-07  Fumitoshi Ukai  <ukai@chromium.org>
24330
24331        Reviewed by Darin Adler.
24332
24333        Fix wrong length parsing in WebSocket.
24334        https://bugs.webkit.org/show_bug.cgi?id=32203
24335
24336        * websockets/WebSocketChannel.cpp:
24337        (WebCore::WebSocketChannel::didReceiveData):
24338
243392009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
24340
24341        Rubber-stamped by Maciej Stachowiak.
24342
24343        Turn on (SVG) Filters for Qt.
24344        https://bugs.webkit.org/show_bug.cgi?id=32224
24345
24346        * WebCore.pro:
24347
243482009-12-07  Evan Martin  <evan@chromium.org>
24349
24350        Reviewed by Eric Seidel.
24351
24352        Chromium: theme scrollbars to match GTK theme.
24353        Add functions to RenderThemeChromiumLinux to change the scrollbar
24354        color.
24355
24356        Since the change is to the Chromium WebKit API layer, testing will
24357        be in Chromium's test shell.
24358        http://bugs.webkit.org/show_bug.cgi?id=32048
24359
24360        Patch from Markus Gutschke <markus@chromium.org>.
24361
24362        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
24363        (WebCore::saturateAndBrighten):
24364        (WebCore::outlineColor):
24365        (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
24366        (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
24367        * rendering/RenderThemeChromiumLinux.cpp:
24368        (WebCore::RenderThemeChromiumLinux::setScrollbarColors):
24369        * rendering/RenderThemeChromiumLinux.h:
24370        (WebCore::RenderThemeChromiumLinux::thumbInactiveColor):
24371        (WebCore::RenderThemeChromiumLinux::thumbActiveColor):
24372        (WebCore::RenderThemeChromiumLinux::trackColor):
24373
243742009-12-08  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
24375
24376        Reviewed by Xan Lopez.
24377
24378        [GTK] Doesn't respect Content-Disposition for downloads, and provides no way for apps to do that
24379        https://bugs.webkit.org/show_bug.cgi?id=32247
24380
24381        Allow creating a ResourceResponse from a SoupMessage.
24382
24383        Covered by API test.
24384
24385        * platform/network/soup/ResourceResponse.h:
24386        (WebCore::ResourceResponse::ResourceResponse):
24387        * platform/network/soup/ResourceResponseSoup.cpp:
24388        (WebCore::ResourceResponse::updateFromSoupMessage):
24389
243902009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
24391
24392        Not reviewed. Reverting problematic patch, causing errors.
24393
24394        Revert r51789 (Avoid zero division during SVGPaintServerPattern::setup()). Crashes on all Windows slaves.
24395        Reopen bug https://bugs.webkit.org/show_bug.cgi?id=29912.
24396
24397        * svg/graphics/SVGPaintServerPattern.cpp:
24398        (WebCore::SVGPaintServerPattern::setup):
24399
244002009-12-07  Kent Tamura  <tkent@chromium.org>
24401
24402        Reviewed by Darin Adler.
24403
24404        Add support for HTMLInputElement::stepUp() and stepDown() for
24405        type=number and type=range.
24406        https://bugs.webkit.org/show_bug.cgi?id=27451
24407
24408        Our implementation of stepUp() and stepDown() rounds the resultant
24409        value to conform to the step value.
24410        Change the number-string conversion method for RenderSlider to be
24411        consistent with type=number.
24412
24413        Tests: fast/forms/input-step-number.html
24414               fast/forms/input-step-range.html
24415               fast/forms/input-step-unsupported.html
24416
24417        * html/HTMLInputElement.cpp:
24418        (WebCore::HTMLInputElement::rangeUnderflow): Unify the code for NUMBER and RANGE.
24419        (WebCore::HTMLInputElement::rangeOverflow): Unify the code for NUMBER and RANGE.
24420        (WebCore::HTMLInputElement::minimum): Renamed from rangeMinimum(), and support for NUMBER.
24421        (WebCore::HTMLInputElement::maximum): Renamed from rangeMaximum(), and support for NUMBER.
24422        (WebCore::HTMLInputElement::stepBase):
24423        (WebCore::HTMLInputElement::stepMismatch): Use stepBase().
24424        (WebCore::HTMLInputElement::applyStepForNumberOrRange):
24425        (WebCore::HTMLInputElement::stepUp):
24426        (WebCore::HTMLInputElement::stepDown):
24427        (WebCore::HTMLInputElement::formStringFromDouble):
24428        * html/HTMLInputElement.h:
24429        (WebCore::HTMLInputElement::stepUp):
24430        (WebCore::HTMLInputElement::stepDown):
24431        * html/HTMLInputElement.idl: Add stepUp() and stepDown().
24432        * rendering/RenderSlider.cpp:
24433        (WebCore::SliderRange::SliderRange): Sync with rangeMinimum()/rangeMaximum() renaming.
24434        (WebCore::RenderSlider::updateFromElement): Use formStringFromDouble().
24435        (WebCore::RenderSlider::setValueForPosition): Use formStringFromDouble().
24436
244372009-12-07  Albert J. Wong  <ajwong@chromium.org>
24438
24439        Not reviewed: Chromium build fix try 2 (dumb error).
24440
24441        * bindings/v8/ScriptValue.h:
24442        (WebCore::ScriptValue::getString):
24443
244442009-12-07  Albert J. Wong  <ajwong@chromium.org>
24445
24446        Not reviewed: Chromium build fix.
24447
24448        Fix Chromium build break caused by an added dependency from
24449        ScriptControllerBase to JSDOMWindowShell, and an API change in
24450        ScriptValue.
24451
24452        * bindings/ScriptControllerBase.cpp:
24453        (WebCore::ScriptController::executeIfJavaScriptURL):
24454        * bindings/v8/ScriptValue.h:
24455        (WebCore::ScriptValue::getString):
24456
244572009-12-07  Enrica Casucci  <enrica@apple.com>
24458
24459        Reviewed by Darin Adler.
24460
24461        REGRESSION(4.0.4-42a12): Indent does not work for twice modified with background text in gmail.
24462        <rdar://problem/7442387>
24463        https://bugs.webkit.org/show_bug.cgi?id=32233
24464        
24465        Fixes problem in re-creating the correct hierarchy under the new block.
24466        Added extensive testing to cover all the cases.
24467
24468        Test: editing/execCommand/indent-with-style2.html
24469
24470        * editing/CompositeEditCommand.cpp:
24471        (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
24472
244732009-12-07  Dmitry Titov  <dimich@chromium.org>
24474
24475        Rubber-stamped by Darin Adler.
24476
24477        Remove ENABLE_SHARED_SCRIPT flags
24478        https://bugs.webkit.org/show_bug.cgi?id=32245
24479        This patch was obtained by "git revert" command and then un-reverting of ChangeLog files.
24480
24481        * Configurations/FeatureDefines.xcconfig:
24482        * GNUmakefile.am:
24483        * WebCore.pro:
24484
244852009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
24486
24487        Not reviewed. Force JS binding regeneration, eventually fixing the broken tests on the bots.
24488
24489        * bindings/scripts/CodeGeneratorJS.pm:
24490
244912009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
24492
24493        Not reviewed. Try to fix mac builds by touching svgtags.in - I only tried from-scratch builds.
24494
24495        * svg/svgtags.in:
24496
244972009-12-07  Gavin Barraclough  <barraclough@apple.com>
24498
24499        Reviewed by Oliver Hunt.
24500
24501        https://bugs.webkit.org/show_bug.cgi?id=32184
24502        Handle out-of-memory conditions with JSC Ropes with a JS exception, rather than crashing.
24503        Switch from using fastMalloc to tryFastMalloc, pass an ExecState to record the exception on.
24504
24505        * bindings/ScriptControllerBase.cpp:
24506        (WebCore::ScriptController::executeIfJavaScriptURL):
24507        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
24508        (WebCore::toHTMLCanvasStyle):
24509        (WebCore::JSCanvasRenderingContext2D::setFillColor):
24510        (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
24511        (WebCore::JSCanvasRenderingContext2D::setShadow):
24512        * bindings/js/ScriptCallStack.cpp:
24513        (WebCore::ScriptCallStack::ScriptCallStack):
24514        (WebCore::ScriptCallStack::initialize):
24515        * bindings/js/ScriptValue.cpp:
24516        (WebCore::ScriptValue::getString):
24517        * bindings/js/ScriptValue.h:
24518        * bindings/js/SerializedScriptValue.cpp:
24519        (WebCore::SerializingTreeWalker::convertIfTerminal):
24520        * bindings/objc/WebScriptObject.mm:
24521        (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
24522        * page/Console.cpp:
24523        (WebCore::Console::addMessage):
24524
245252009-12-07  Nikolas Zimmermann  <nzimmermann@rim.com>
24526
24527        Reviewed by Holger Hans Peter Freyther.
24528
24529        Turn on (SVG) Filters support, by default.
24530        https://bugs.webkit.org/show_bug.cgi?id=32224
24531
24532        Only enable filters on mac for now, skipped all affected tests on the other platforms.
24533        Will enable them one after another, to minimize breakage.
24534
24535        * Configurations/FeatureDefines.xcconfig: Enable FILTERS build flag.
24536
245372009-12-07  Kent Tamura  <tkent@chromium.org>
24538
24539        Reviewed by Darin Adler.
24540
24541        Fix a bug that KURL rejects a host name which has an IPv4 address
24542        inside an IPv6 form like [::127.0.0.1].
24543        https://bugs.webkit.org/show_bug.cgi?id=29913
24544
24545        * platform/KURL.cpp:
24546        (WebCore::characterClassTable): Add IPv6Char to '.'.
24547
245482009-12-07  Brady Eidson  <beidson@apple.com>
24549
24550        Reviewed by Sam Weinig.
24551
24552        <rdar://problem/7443417> - Closing a window opened with "New windows open with: Same Page" results in crash in ::~HistoryItem
24553
24554        The HistoryItem copy constructor has one very specific use case - to support the feature of a WebView copying another WebView's
24555        BackForwardList.  That constructor wasn't initializing its m_document pointer, leading to this crash in the destructor.
24556
24557        * history/HistoryItem.cpp:
24558        (WebCore::HistoryItem::~HistoryItem): Change the setDocument(0) to an ASSERT that the document is already 0. A HistoryItem cannot
24559          outlive its Document and Documents will always clear the back-pointer in their ::detach() method.
24560        (WebCore::HistoryItem::HistoryItem): Missed the m_document initializer in the copy constructor. Also remove an invalid assertion
24561          about the original items m_cachedPage object (which is irrelevant to the copy).
24562
245632009-12-07  Dmitry Titov  <dimich@chromium.org>
24564
24565        Reviewed by Darin Adler.
24566
24567        Remove partial SharedScript implementation.
24568        https://bugs.webkit.org/show_bug.cgi?id=32237
24569        The patch was obtained by running "git revert" command and then un-reverting WebCore/ChangeLog.
24570
24571        * DerivedSources.make:
24572        * SharedScript/SharedScriptContext.cpp: Removed.
24573        * SharedScript/SharedScriptContext.h: Removed.
24574        * SharedScript/SharedScriptContext.idl: Removed.
24575        * SharedScript/SharedScriptController.h: Removed.
24576        * SharedScript/WebKitSharedScript.cpp: Removed.
24577        * SharedScript/WebKitSharedScript.h: Removed.
24578        * SharedScript/WebKitSharedScript.idl: Removed.
24579        * SharedScript/WebKitSharedScriptRepository.cpp: Removed.
24580        * SharedScript/WebKitSharedScriptRepository.h: Removed.
24581        * WebCore.vcproj/WebCore.vcproj:
24582        * WebCore.xcodeproj/project.pbxproj:
24583        * dom/Document.cpp:
24584        (WebCore::Document::detach):
24585        * dom/EventTarget.cpp:
24586        * dom/EventTarget.h:
24587        * dom/ScriptExecutionContext.h:
24588
245892009-12-07  Alexey Proskuryakov  <ap@apple.com>
24590
24591        Reviewed by Nikolas Zimmermann.
24592
24593        https://bugs.webkit.org/show_bug.cgi?id=32226
24594        Random crashes in WebSocket tests on Leopard Debug builbot
24595
24596        * platform/network/SocketStreamHandleBase.cpp: (WebCore::SocketStreamHandleBase::close):
24597        Make sure the object still exists when setting m_state.
24598
245992009-12-07  Shiki Okasaka  <shiki@google.com>
24600
24601        Reviewed by Dirk Schulze.
24602
24603        Avoid zero division during SVGPaintServerPattern::setup()
24604        https://bugs.webkit.org/show_bug.cgi?id=29912
24605
24606        Fix zero division bugs in SVGPaintServerPattern::setup() that occurred
24607        if the tile of a pattern was bigger than the pattern and the pattern
24608        size was < 0.5, and if the attribute overflow was set to visible.
24609
24610        Test: svg/custom/small-pattern.html
24611
24612        * svg/graphics/SVGPaintServerPattern.cpp:
24613        (WebCore::SVGPaintServerPattern::setup):
24614
246152009-12-07  Kenneth Russell  <kbr@google.com>
24616
24617        Reviewed by Dimitri Glazkov.
24618
24619        [v8] WebCore::WebGLArrayBufferInternal::byteLengthAttrGetter NULL pointer
24620        https://bugs.webkit.org/show_bug.cgi?id=31889
24621
24622        Fixed bug in handling of zero-argument constructor call.
24623
24624        Test: fast/canvas/webgl/bug-31889.html
24625
24626        * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
24627        (WebCore::CALLBACK_FUNC_DECL):
24628
246292009-12-07  Gyuyoung Kim  <gyuyoung@gmail.com>
24630
24631        Reviewed by Eric Seidel.
24632
24633        https://bugs.webkit.org/show_bug.cgi?id=32024
24634        [GTK] WebKit does not compile without JAVASCRIPT_DEBUGGER
24635
24636        Fix build errors when javascript-debugger is disabled on GTK
24637
24638        * GNUmakefile.am:
24639
246402009-12-07  Dan Bernstein  <mitz@apple.com>
24641
24642        Reviewed by Darin Adler.
24643
24644        Fixed <rdar://problem/7437820> Weird selection artifacts
24645
24646        Tests: fast/repaint/block-selection-gap-stale-cache-2.html
24647               fast/repaint/block-selection-gap-stale-cache.html
24648
24649        Instead of caching the block selection gaps’ bounds in the RenderView at setSelection()
24650        time, cache them in each RenderLayer at paint time. This prevents the cache from getting
24651        stale due to layout changes and overflow scrolling.
24652
24653        * rendering/RenderBlock.cpp:
24654        (WebCore::RenderBlock::selectionGapRectsForRepaint): Account for overflow scroll.
24655        (WebCore::RenderBlock::paintSelection): Update the enclosing layer’s selection gaps bounds.
24656        * rendering/RenderLayer.cpp:
24657        (WebCore::RenderLayer::addBlockSelectionGapsBounds): Added. Updates the selection gaps
24658        bounds to include the given rect.
24659        (WebCore::RenderLayer::clearBlockSelectionGapsBounds): Added. Recursively clears the cached
24660        selection gaps bounds.
24661        (WebCore::RenderLayer::repaintBlockSelectionGaps): Added. Recursively invalidates the
24662        selection gaps bounds.
24663        * rendering/RenderLayer.h:
24664        * rendering/RenderView.cpp:
24665        (WebCore::RenderView::setSelection): Clear the layer-level selection gaps bounds instead
24666        of the view-level cache.
24667        (WebCore::RenderView::clearSelection): Changed to call repaintBlockSelectionGaps().
24668        * rendering/RenderView.h:
24669
246702009-12-07  Philippe Normand  <pnormand@igalia.com>
24671
24672        Reviewed by Gustavo Noronha.
24673
24674        Fixed whitelist comment and removed useless (tags, sdp) mimetypes
24675        from it. Also, GStreamer doesn't handle directly SMIL.
24676
24677        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
24678        (WebCore::mimeTypeCache):
24679
246802009-12-07  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
24681
24682        Reviewed by Xan Lopez.
24683
24684        https://bugs.webkit.org/show_bug.cgi?id=25415
24685        [GTK][ATK] Please implement support for get_text_at_offset
24686
24687        Eliminate the segfaults which occur when accessing the text interface now
24688        implemented by text controls.
24689
24690        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
24691        (getPangoLayoutForAtk):
24692
246932009-12-07  Gustavo Noronha Silva  <gns@gnome.org>
24694
24695        Reviewed by Xan Lopez.
24696
24697        Turn the MediaPlayer supported types blacklist into a whitelist
24698
24699        [GTK] REGRESSION: webkit thinks it can render PDFs
24700        https://bugs.webkit.org/show_bug.cgi?id=32183
24701
24702        Covered by API test.
24703
24704        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
24705        (WebCore::mimeTypeCache):
24706
247072009-12-07  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
24708
24709        Reviewed by Xan Lopez.
24710
24711        https://bugs.webkit.org/show_bug.cgi?id=25524
24712        [Gtk] Expose the title attribute to assistive technologies
24713
24714        Expose 'alt' attribute from images as accessible name.
24715        Expose the 'title' core HTML attribute as accessible description.
24716        This is a modified version of the original fix submitted by Mario Sanchez Prada,
24717        adjusted so that it doesn't impact other platforms.
24718
24719        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
24720        (webkit_accessible_get_name):
24721        (webkit_accessible_get_description):
24722
247232009-12-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
24724
24725        Reviewed by Simon Hausmann.
24726
24727        [Qt] Fix support for generic font families
24728
24729        By not propagating the resolved font family in FontCacheQt and
24730        only concidering the font description we ended up passing the
24731        generic font families to Qt directly. Since most systems don't
24732        have a mapping for these font families we ended up using the
24733        default font in most cases.
24734
24735        * platform/graphics/qt/FontCacheQt.cpp:
24736        * platform/graphics/qt/FontPlatformData.h:
24737        * platform/graphics/qt/FontPlatformDataQt.cpp:
24738
247392009-12-06  Oliver Hunt  <oliver@apple.com>
24740
24741        Reviewed by Maciej Stachowiak.
24742
24743        Object.getOwnPropertyDescriptor() allows cross-frame access
24744        https://bugs.webkit.org/show_bug.cgi?id=32119
24745
24746        Make all implementations of getOwnPropertyDescriptor that have
24747        cross domain restrictions simply fail immediately on cross domain
24748        access, rather than trying to mimic the behaviour of normal
24749        property access.
24750
24751        Test: http/tests/security/cross-frame-access-getOwnPropertyDescriptor.html
24752
24753        * bindings/js/JSDOMWindowCustom.cpp:
24754        (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
24755        * bindings/js/JSHistoryCustom.cpp:
24756        (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
24757        * bindings/js/JSLocationCustom.cpp:
24758        (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
24759        * bindings/scripts/CodeGeneratorJS.pm:
24760
247612009-12-07  Steve Block  <steveblock@google.com>
24762
24763        Reviewed by Adam Barth.
24764
24765        Moves JSC-specific functions from jni_utility and moves them to new jsc/jni_utility_private files.
24766        https://bugs.webkit.org/show_bug.cgi?id=32157
24767
24768        Build fix only, no new tests.
24769
24770        * WebCore.xcodeproj/project.pbxproj: Modified. Add jni_utility_private.[cpp|h].
24771        * bridge/jni/jni_instance.cpp: Modified. Include jni_utility_private.h for JSC.
24772        * bridge/jni/jni_jsobject.mm: Modified. Include jni_utility_private.h for JSC.
24773        * bridge/jni/jni_objc.mm: Modified. Include jni_utility_private.h for JSC.
24774        * bridge/jni/jni_runtime.cpp: Modified. Include jni_utility_private.h for JSC.
24775        * bridge/jni/jni_utility.cpp: Modified. Removed convertValueToJValue and convertArrayInstanceToJavaArray.
24776        * bridge/jni/jni_utility.h: Modified. Removed convertValueToJValue and dispatchJNICall.
24777        * bridge/jni/jsc: Added.
24778        * bridge/jni/jsc/jni_utility_private.cpp: Added.
24779        (JSC::Bindings::convertArrayInstanceToJavaArray):
24780        (JSC::Bindings::convertValueToJValue):
24781        * bridge/jni/jsc/jni_utility_private.h: Added. Header for convertValueToJValue and dispatchJNICall.
24782        * platform/android/TemporaryLinkStubs.cpp: Modified. Include jni_utility_private.h for JSC.
24783
247842009-12-06  Oliver Hunt  <oliver@apple.com>
24785
24786        Reviewed by Maciej Stachowiak.
24787
24788        texImage2D pixel junk for transparency
24789        https://bugs.webkit.org/show_bug.cgi?id=32188
24790
24791        Use kCGBlendModeCopy when drawing an image to the intermediate context
24792        used to create a GL texture.
24793
24794        No test as we don't currently have any mechanism to retrieve pixel data
24795        from the webgl context.
24796
24797        * platform/graphics/mac/GraphicsContext3DMac.cpp:
24798        (WebCore::imageToTexture):
24799
248002009-12-03  Philippe Normand  <pnormand@igalia.com>
24801
24802        Reviewed by Gustavo Noronha.
24803
24804        Advertize audio/ogg correctly and refactored mime-type cache
24805        building.
24806
24807        [GTK] Recognize oga as audio/ogg
24808        https://bugs.webkit.org/show_bug.cgi?id=31990
24809
24810        Test: media/media-can-play-ogg.html
24811
24812        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
24813        (WebCore::mimeTypeCache):
24814
248152009-12-05  Alexey Proskuryakov  <ap@apple.com>
24816
24817        Reviewed by Eric Seidel.
24818
24819        https://bugs.webkit.org/show_bug.cgi?id=32175
24820        REGRESSION: websocket/tests/url-parsing.html is crashing on Leopard Bot
24821
24822        * platform/network/cf/SocketStreamHandleCFNet.cpp:
24823        (WebCore::SocketStreamHandle::readStreamCallback): Call platformClose() to unschedule both
24824        streams, guaranteeing that there will be no callbacks after SocketStreamHandle is destroyed.
24825        (WebCore::SocketStreamHandle::writeStreamCallback): Edited a comment a bit.
24826
248272009-12-05  Adam Langley  <agl@google.com>
24828
24829        Reviewed by Adam Barth.
24830
24831        Check that a CSS format() argument is of a valid type.
24832
24833        https://bugs.webkit.org/show_bug.cgi?id=31815
24834        http://code.google.com/p/chromium/issues/detail?id=28582
24835
24836        Test: fast/css/url-format-non-string.html
24837
24838        * css/CSSParser.cpp:
24839        (WebCore::CSSParser::parseFontFaceSrc):
24840
248412009-12-04  Adam Langley  <agl@google.com>
24842
24843        Reviewed by Eric Seidel.
24844
24845        Chromium: make rounded borders heavier.
24846
24847        Skia draws its rounded corners differently from the other ports.
24848        Whereas they have anti-aliased clipping regions, Skia only has 1-bit
24849        regions. (Which is technically more correct, but somewhat unhelpful
24850        for us.) Instead, with Skia we use a layer and collect all the
24851        clipping paths in effect. When the state is popped, we paint
24852        transparency outside the clipping paths and merge the layer down.
24853
24854        This appears to cause rounded borders to look a little thin, which is
24855        addressed in this patch.
24856
24857        This is well covered by existing tests but will require new baselines
24858        in the Chromium tree.
24859
24860        https://bugs.webkit.org/show_bug.cgi?id=31778
24861
24862        * platform/graphics/skia/GraphicsContextSkia.cpp:
24863        (WebCore::GraphicsContext::addInnerRoundedRectClip):
24864
248652009-12-04  Simon Fraser  <simon.fraser@apple.com>
24866
24867        Reviewed by Dan Bernstein.
24868
24869        <rdar://problem/7441571> Hardware-backed layers are skipped when printing
24870        
24871        When printing, set the PaintBehaviorFlattenCompositingLayers flag so that compositing layers
24872        paint. This also causes 3D transforms to be flattened to 2D.
24873
24874        Test: printing/compositing-layer-printing.html
24875
24876        * page/FrameView.cpp:
24877        (WebCore::FrameView::paintContents):
24878
248792009-12-04  Oliver Hunt  <oliver@apple.com>
24880
24881        Reviewed by Beth Dakin.
24882
24883        Fix up some issues in my SVGListTraits change from yesterday.
24884
24885        * svg/SVGListTraits.h:
24886        (WebCore::):
24887
248882009-12-04  Albert J. Wong  <ajwong@chromium.org>
24889
24890        Not reviewed: chromium build fix.
24891
24892        Fix Chromium build break caused by moving of isDefaultPortForProtocol() and
24893        portAllowed() into KURL.h/KURL.cpp.  Cloning code.
24894
24895        * platform/KURLGoogle.cpp:
24896        (WebCore::isDefaultPortForProtocol):
24897        (WebCore::portAllowed):
24898
248992009-12-04  Pavel Feldman  <pfeldman@chromium.org>
24900
24901        Reviewed by Timothy Hatcher.
24902
24903        Web Inspector: Remove suppress highlight when restoring selected node.
24904
24905        https://bugs.webkit.org/show_bug.cgi?id=32152
24906
24907        * inspector/front-end/ElementsPanel.js:
24908        (WebInspector.ElementsPanel.prototype.setDocument.selectNode):
24909        (WebInspector.ElementsPanel.prototype.setDocument.selectLastSelectedNode):
24910        (WebInspector.ElementsPanel.prototype.setDocument):
24911
249122009-12-04  Dirk Schulze  <krit@webkit.org>
24913
24914        Reviewed by Nikolas Zimmermann.
24915
24916        Gradient SVG animation demonstrates tearing at animation extremes
24917        https://bugs.webkit.org/show_bug.cgi?id=11929
24918
24919        The focalPoint of a radial gradient is temporarly substracted by
24920        the centralPoint, if the focalPoint is not in the radius of the
24921        gradient. This is needed to calculate a new postion of the focalPoint
24922        according to the specification. But the new focalPoint needs to be
24923        moved by the centralPoint after this calculation, which is not the case
24924        at the moment. This patch fixes this issue. It was also introduced a
24925        deviation of maximal 0.2% for Cairo to get around the fixed point numbers
24926        in Cairo.
24927
24928        W3C-SVG-1.1/pservers-grad-13-b needed an update. The missing adjustment
24929        of the new focalPoint caused wrong results for the last three tests.
24930
24931        Test: svg/custom/radial-gradient-with-outstanding-focalPoint.svg
24932
24933        * svg/SVGRadialGradientElement.cpp:
24934        (WebCore::SVGRadialGradientElement::buildGradient):
24935
249362009-12-04  Anton Muhin  <antonm@chromium.org>
24937
24938        Reviewed by Dmitry Titov.
24939
24940        Do not use WebCore::String::String(const UChar*, int length) to convert
24941        short v8 strings.
24942
24943        Plus added string traits.
24944        https://bugs.webkit.org/show_bug.cgi?id=31415
24945
24946        * bindings/v8/V8Binding.cpp:
24947        (WebCore::):
24948        (WebCore::v8StringToWebCoreString):
24949
249502009-12-04  Chris Fleizach  <cfleizach@apple.com>
24951
24952        Reviewed by Darin Adler.
24953
24954        REGRESSION: AX: buttons now extremely repetitive
24955        https://bugs.webkit.org/show_bug.cgi?id=32164
24956
24957        Test: platform/mac/accessibility/button-shouldnot-have-axvalue.html
24958
24959        * accessibility/AccessibilityObject.h:
24960        (WebCore::AccessibilityObject::isButton):
24961        * accessibility/mac/AccessibilityObjectWrapper.mm:
24962        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
24963
249642009-12-04  Zoltan Herczeg  <zherczeg@inf.u-szeged.hu>
24965
24966        Reviewed by Darin Adler.
24967
24968        Check whether the right side of a string append is non-empty
24969        https://bugs.webkit.org/show_bug.cgi?id=32151
24970
24971        Especially beneficial for CachedScript::script() method
24972        which usually appends an empty string returned by flush()
24973        to its m_script member. m_script is often hundreds of kbytes
24974        which is duplated without reason.
24975
24976        * platform/text/String.cpp:
24977        (WebCore::String::append):
24978
249792009-12-04  Enrica Casucci  <enrica@apple.com>
24980
24981        Reviewed by John Sullivan.
24982
24983        Mail.app crashes when indenting table pasted from Numbers.app.
24984        <rdar://problem/7209507>
24985        https://bugs.webkit.org/show_bug.cgi?id=32166
24986
24987        Test: LayoutTests/editing/execCommand/indent-partial-table.html
24988        
24989        * editing/IndentOutdentCommand.cpp:
24990        (WebCore::IndentOutdentCommand::indentRegion): Added test to verify that the end of the paragraph
24991        after the selection has not been moved.
24992
249932009-12-04  Alexey Proskuryakov  <ap@apple.com>
24994
24995        Reviewed by Darin Adler.
24996
24997        https://bugs.webkit.org/show_bug.cgi?id=32085
24998        WebSocket should block the same ports that are blocked for resource loading
24999
25000        Test: websocket/tests/url-parsing.html
25001
25002        * page/SecurityOrigin.cpp:
25003        (WebCore::SecurityOrigin::SecurityOrigin):
25004        (WebCore::SecurityOrigin::localURLSchemes):
25005        * page/SecurityOrigin.h:
25006        Move isDefaultPortForProtocol() to KURL, because that's a better place for it (SecurityOrigin
25007        is not even in WebCore/platform directory).
25008
25009        * html/HTMLAnchorElement.cpp:
25010        (WebCore::HTMLAnchorElement::host):
25011        (WebCore::HTMLAnchorElement::setHost):
25012        (WebCore::HTMLAnchorElement::setPort):
25013        Updated for the new location of isDefaultPortForProtocol().
25014
25015        * platform/KURL.cpp:
25016        (WebCore::KURL::protocolIs): In an assertion, compare to "javascript" case-insensitively,
25017        since the function doesn't require lower case input.
25018        (WebCore::isDefaultPortForProtocol): Moved from SecurityOrigin.
25019        (WebCore::portAllowed): Moved from ResourceHandle.
25020        * platform/KURL.h:
25021
25022        * platform/network/ResourceHandle.cpp: (WebCore::ResourceHandle::create): Updated for the
25023        new location of portAllowed().
25024
25025        * websockets/WebSocket.cpp: (WebCore::WebSocket::connect): Per the spec, raise a SECURITY_ERR
25026        if trying to connect to a blocked port.
25027
250282009-12-04  Benjamin Poulain  <benjamin.poulain@nokia.com>
25029
25030        Reviewed by Kenneth Rohde Christiansen.
25031
25032        [Qt] WebKit crashes when loading certain SVG images
25033        https://bugs.webkit.org/show_bug.cgi?id=29443
25034
25035        Remove FontFallbackListQt and rely on the common FontFallbackList
25036        to handle the fonts. FontCache and FontPlatformData have been
25037        updated to work with the common FontFallbackList.
25038
25039        In the previous implementation, FontPlatformDataCacheKey
25040        was a clone of FontPlatformData with the hashing
25041        capabilities added in order to use it as a key in the cache's
25042        hashmap. FontPlatformData has been modified to handle the hashing
25043        function directly so the data are not copied twice in memory.
25044
25045        FontFallbackList::fontDataAt() from FontFallbackListQt was a copy of
25046        code from FontCache::getFontData() and FontFallbackList::fontDataAt().
25047        The behavior is similar except currFamily->family().length() was
25048        not tested and the fallback fonts selector were not used.
25049
25050        Existing tests cover the change.
25051
25052        * WebCore.pro:
25053        * platform/graphics/qt/FontCacheQt.cpp:
25054        (WebCore::FontCache::platformInit):
25055        (WebCore::FontCache::getFontDataForCharacters):
25056        (WebCore::FontCache::getSimilarFontPlatformData):
25057        (WebCore::FontCache::getLastResortFallbackFont):
25058        (WebCore::FontCache::getTraitsInFamily):
25059        (WebCore::FontCache::createFontPlatformData):
25060        * platform/graphics/qt/FontCustomPlatformData.cpp:
25061        (WebCore::FontCustomPlatformData::fontPlatformData):
25062        * platform/graphics/qt/FontFallbackListQt.cpp:
25063        Removed. We now use the implementation from FontFallbackList.cpp
25064        * platform/graphics/qt/FontPlatformData.h:
25065        Add hashing capabilities to be able to use the data with the FontCache.
25066        This was previously done in FontCacheQt.cpp
25067        (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
25068        (WebCore::FontPlatformData::FontPlatformData):
25069        (WebCore::FontPlatformData::isHashTableDeletedValue):
25070        (WebCore::FontPlatformData::font):
25071        (WebCore::FontPlatformData::size):
25072        (WebCore::FontPlatformData::family):
25073        (WebCore::FontPlatformData::bold):
25074        (WebCore::FontPlatformData::italic):
25075        (WebCore::FontPlatformData::smallCaps):
25076        (WebCore::FontPlatformData::pixelSize):
25077        * platform/graphics/qt/FontPlatformDataQt.cpp:
25078        (WebCore::FontPlatformData::FontPlatformData):
25079        (WebCore::FontPlatformData::~FontPlatformData):
25080        (WebCore::FontPlatformData::operator=):
25081        (WebCore::FontPlatformData::operator==):
25082        (WebCore::FontPlatformData::hash):
25083
250842009-12-04  Adam Treat  <atreat@rim.com>
25085
25086        Reviewed by Dan Bernstein.
25087
25088        Fix wrong assert that was only working through sheer luck.
25089        https://bugs.webkit.org/show_bug.cgi?id=32162
25090
25091        * platform/text/BidiContext.cpp:
25092        (WebCore::BidiContext::create):
25093
250942009-12-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
25095
25096        Reviewed by Simon Hausmann.
25097
25098        [Qt] Allow removing 'qrc' as a local security origin scheme
25099
25100        * page/SecurityOrigin.cpp:
25101
251022009-12-04  Zoltan Horvath  <zoltan@webkit.org>
25103
25104        Reviewed by Eric Seidel.
25105
25106        Allow custom memory allocation control for WebCore's CollectionCache
25107        https://bugs.webkit.org/show_bug.cgi?id=32109
25108
25109        Inherits the following class from FastAllocBase because it is
25110        instantiated by 'new':
25111
25112        struct name            - instantiated at: WebCore/'location'
25113
25114        struct CollectionCache - dom/Document.cpp:4029
25115
25116        * html/CollectionCache.h:
25117
251182009-12-04  Steve Block  <steveblock@google.com>
25119
25120        Reviewed by Darin Adler.
25121
25122        Fixes a crashing bug in Geolocation when a watch is cleared from some callbacks. 
25123        https://bugs.webkit.org/show_bug.cgi?id=32111
25124
25125        In Geolocation::GeoNotifier::timerFired, a JS callback may be invoked if a
25126        fatal error was registered on this GeoNotifier or if this request has timed
25127        out. If the request is a watch, and is cleared by a call to clearWatch in the
25128        callback, the GeoNotifier object will be destroyed. We must therefore cache the
25129        m_geolocation member to allow us to call Geolocation::fatalErrorOccurred or
25130        Geolocation::requestTimedOut.
25131
25132        Tests: fast/dom/Geolocation/permission-denied-already-clear-watch.html
25133               fast/dom/Geolocation/timeout-clear-watch.html
25134
25135        * page/Geolocation.cpp: Modified.
25136        (WebCore::Geolocation::GeoNotifier::timerFired): Modified. Cache the m_geolocation member before invoking the JS callback.
25137
251382009-12-04  Zoltan Horvath  <zoltan@webkit.org>
25139
25140        Reviewed by Eric Seidel.
25141
25142        Allow custom memory allocation control for 2 classes of the platform directory in WebCore
25143        https://bugs.webkit.org/show_bug.cgi?id=
25144
25145        Inherits the following class from Noncopyable because it is instantiated
25146        by 'new' and no need to be copyable:
25147
25148        class/struct name         - instantiated at: WebCore/'location'
25149
25150        class SharedTimer         - (its child class) workers/WorkerRunLoop.cpp:91
25151
25152        Inherits the following class from FastAllocBase because it is
25153        instantiated by 'new':
25154
25155        class TransformOperations - rendering/style/RenderStyle.h:1175
25156
25157        Noncopyable.h's include added to SharedTimer.h.
25158
25159        * platform/SharedTimer.h:
25160        * platform/graphics/transforms/TransformOperations.h:
25161
251622009-12-04  Xan Lopez  <xlopez@igalia.com>
25163
25164        Reviewed by Gustavo Noronha.
25165
25166        [GTK]Enable DNS prefetching
25167        https://bugs.webkit.org/show_bug.cgi?id=23846
25168
25169        Enable DNS prefetching.
25170
25171        Based on a patch by José Millán.
25172
25173        * platform/network/soup/DNSSoup.cpp:
25174        (WebCore::prefetchDNS):
25175
251762009-12-04  Zoltan Horvath  <zoltan@webkit.org>
25177
25178        Reviewed by Eric Seidel.
25179
25180        Allow custom memory allocation control for the svg directory in WebCore
25181        https://bugs.webkit.org/show_bug.cgi?id=
25182
25183        Inherits the following classes from Noncopyable because these are instantiated
25184        by 'new' and no need to be copyable:
25185
25186        class/struct name           - instantiated at: WebCore/'location'
25187
25188        struct ResourceSet          - svg/graphics/SVGResource.cpp:148
25189        class SVGFontData           - css/CSSFontFaceSource.cpp:156
25190        class SVGDocumentExtensions - dom/Document.cpp:3962
25191        class SVGViewSpec           - svg/SVGSVGElement.cpp:191
25192
25193        * svg/SVGDocumentExtensions.h:
25194        * svg/SVGFontData.h:
25195        * svg/SVGViewSpec.h:
25196        * svg/graphics/SVGResource.cpp:
25197
251982009-12-03  Chris Fleizach  <cfleizach@apple.com>
25199
25200        Reviewed by Beth Dakin.
25201
25202        WAI-ARIA: aria-activedescendant doesn't work as intended
25203        https://bugs.webkit.org/show_bug.cgi?id=32100
25204
25205        Fixes a number of issues regarding the "tree" role and aria-activedescendant.
25206        1. The indexes were being reported incorrectly by treeitems.
25207        2. aria-activedescendant changes were not being sent to the containing item.
25208        3. The tree's selected rows need to consult aria-activedescendant.
25209        4. Since a tree changes what it returns as its children (it returns its rows)
25210           the mac-specific array indexing methods need to correctly handle the tree case.
25211
25212        Tests: platform/mac/accessibility/aria-tree-activedescendant.html
25213               platform/mac/accessibility/aria-tree-index-of-items.html
25214
25215        * accessibility/AXObjectCache.h:
25216        (WebCore::AXObjectCache::):
25217        * accessibility/AccessibilityRenderObject.cpp:
25218        (WebCore::AccessibilityRenderObject::shouldFocusActiveDescendant):
25219        (WebCore::AccessibilityRenderObject::activeDescendant):
25220        (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
25221        (WebCore::AccessibilityRenderObject::ariaTreeSelectedRows):
25222        * accessibility/mac/AXObjectCacheMac.mm:
25223        (WebCore::AXObjectCache::postPlatformNotification):
25224        * accessibility/mac/AccessibilityObjectWrapper.mm:
25225        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
25226        (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]):
25227        (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
25228        * accessibility/win/AXObjectCacheWin.cpp:
25229        (WebCore::AXObjectCache::postPlatformNotification):
25230
252312009-12-03  Zoltan Horvath  <zoltan@webkit.org>
25232
25233        Reviewed by Eric Seidel.
25234
25235        Allow custom memory allocation control for the xml directory in WebCore
25236        https://bugs.webkit.org/show_bug.cgi?id=
25237
25238        Inherits the following class from Noncopyable because it is instantiated 
25239        by 'new' and no need to be copyable:
25240
25241        class/struct name               - instantiated at: WebCore/'location'
25242
25243        struct XMLHttpRequestStaticData - xml/XMLHttpRequest.cpp:134
25244
25245        Inherits the following classes from FastAllocBase because these are instantiated by 'new':
25246
25247        class NodeTest                  - xml/XPathGrammar.y:258
25248        class NodeSet                   - xml/XPathValue.cpp:52
25249        struct EvaluationContext        - xml/XPathExpressionNode.cpp:40
25250
25251        * xml/XMLHttpRequest.cpp:
25252        * xml/XPathExpressionNode.h:
25253        * xml/XPathNodeSet.h:
25254        * xml/XPathStep.h:
25255
252562009-12-03  Drew Wilson  <atwilson@chromium.org>
25257
25258        Reviewed by Adam Barth.
25259
25260        New History changes do not compile for Chromium/V8
25261        https://bugs.webkit.org/show_bug.cgi?id=32148
25262
25263        Existing tests suffice (just trying to get code to compile).
25264
25265        * WebCore.gypi:
25266        Added V8HistoryCustom.cpp and other missing files.
25267        * bindings/v8/custom/V8CustomBinding.h:
25268        Added custom handlers for History.pushState()/replaceState().
25269        * bindings/v8/custom/V8HistoryCustom.cpp: Added.
25270        Added custom handlers for History.pushState()/replaceState().
25271        * history/BackForwardListChromium.cpp:
25272        (WebCore::BackForwardList::pushStateItem):
25273        Stubbed out this routine for now - will implement in the future.
25274
252752009-12-03  Adam Barth  <abarth@webkit.org>
25276
25277        Reviewed by Eric Seidel.
25278
25279        OwnPtr<XBLBindingManager> Document::m_bindingManager;
25280        https://bugs.webkit.org/show_bug.cgi?id=32147
25281
25282        The document actually owns the bindingManager.  That's what the code
25283        should say.
25284
25285        * dom/Document.cpp:
25286        (WebCore::Document::~Document):
25287        * dom/Document.h:
25288        (WebCore::Document::bindingManager):
25289
252902009-12-03  Adam Barth  <abarth@webkit.org>
25291
25292        Reviewed by Eric Seidel.
25293
25294        OwnPtr<Tokenizer> Document::m_tokenizer;
25295        https://bugs.webkit.org/show_bug.cgi?id=32145
25296
25297        The document actually owns the tokenizer.  That's what the code should say.
25298
25299        * dom/Document.cpp:
25300        (WebCore::Document::removedLastRef):
25301        (WebCore::Document::~Document):
25302        (WebCore::Document::cancelParsing):
25303        (WebCore::Document::implicitOpen):
25304        (WebCore::Document::implicitClose):
25305        * dom/Document.h:
25306        (WebCore::Document::tokenizer):
25307
253082009-12-03  Adam Barth  <abarth@webkit.org>
25309
25310        Reviewed by Eric Seidel.
25311
25312        OwnPtr<RenderArena> Document::m_renderArena;
25313        https://bugs.webkit.org/show_bug.cgi?id=32146
25314
25315        The document owns the renderArena.  That's what the code should say.
25316
25317        * dom/Document.cpp:
25318        (WebCore::Document::Document): Also, removed a redundant initialization
25319        of the tokenizer that I missed in my previous patch.
25320        (WebCore::Document::~Document):
25321        (WebCore::Document::attach):
25322        (WebCore::Document::detach):
25323        * dom/Document.h:
25324        (WebCore::Document::renderArena):
25325
253262009-12-03  Drew Wilson  <atwilson@chromium.org>
25327
25328        Rolling back r51633 because it causes a chromium perf regression.
25329
25330        * platform/graphics/SimpleFontData.h:
25331        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
25332
253332009-12-03  Adam Barth  <abarth@webkit.org>
25334
25335        Reviewed by Eric Seidel.
25336
25337        The code should say that Document owns DocLoader
25338        https://bugs.webkit.org/show_bug.cgi?id=32143
25339
25340        It's the truth.
25341
25342        * dom/Document.cpp:
25343        (WebCore::Document::~Document):
25344        * dom/Document.h:
25345        (WebCore::Document::docLoader):
25346
253472009-12-03  Chris Fleizach  <cfleizach@apple.com>
25348
25349        Reviewed by Eric Seidel.
25350
25351        AX: VO just says "term" on many web sites
25352        https://bugs.webkit.org/show_bug.cgi?id=32139
25353
25354        Test: platform/mac/accessibility/definition-list-term.html
25355
25356        * accessibility/AccessibilityRenderObject.cpp:
25357        (WebCore::AccessibilityRenderObject::accessibilityDescription):
25358        * accessibility/mac/AccessibilityObjectWrapper.mm:
25359        (-[AccessibilityObjectWrapper subrole]):
25360        (-[AccessibilityObjectWrapper roleDescription]):
25361
253622009-12-03  Chris Fleizach  <cfleizach@apple.com>
25363
25364        Reviewed by Beth Dakin.
25365
25366        Implement WAI-ARIA scrollbar role and related property aria-orientation
25367        https://bugs.webkit.org/show_bug.cgi?id=32126
25368
25369        Test: accessibility/aria-scrollbar-role.html
25370
25371        * accessibility/AccessibilityObject.cpp:
25372        (WebCore::createARIARoleMap):
25373        * accessibility/AccessibilityObject.h:
25374        (WebCore::AccessibilityObject::isScrollbar):
25375        * accessibility/AccessibilityRenderObject.cpp:
25376        (WebCore::AccessibilityRenderObject::valueForRange):
25377        (WebCore::AccessibilityRenderObject::orientation):
25378        (WebCore::AccessibilityRenderObject::canHaveChildren):
25379        * accessibility/AccessibilityRenderObject.h:
25380        * accessibility/mac/AccessibilityObjectWrapper.mm:
25381        (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
25382        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
25383        * html/HTMLAttributeNames.in:
25384
253852009-12-03  Dan Bernstein  <mitz@apple.com>
25386
25387        Reviewed by Darin Adler.
25388
25389        Fixed <rdar://problem/7401617> Selection painting issue in hardware-
25390        accelerated layers
25391        which is another part of https://bugs.webkit.org/show_bug.cgi?id=23628
25392        Fix selection painting to do container-relative repaints
25393
25394        Test: fast/repaint/block-selection-gap-in-composited-layer.html
25395
25396        * rendering/RenderBlock.cpp:
25397        (WebCore::RenderBlock::selectionGapRectsForRepaint): Compute and paint
25398        gap rects in the coordinate space of the repaint container.
25399        * rendering/RenderLayerCompositor.cpp:
25400        (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect): Added a
25401        FIXME.
25402        * rendering/RenderView.cpp:
25403        (WebCore::RenderView::setSelection): Map block selection gap rects from
25404        the repaint container’s coordinate space to the view’s coordinate space
25405        before adding them to the cached selection bounds.
25406        (WebCore::RenderView::clearSelection): Changed to use
25407        repaintRectangleInViewAndCompositedLayers() so that the selection rect
25408        is invalidated in composited layers as well.
25409
254102009-12-03  Jonathan Dixon  <joth@chromium.org>
25411
25412        Reviewed by Dimitri Glazkov.
25413
25414        Bug 32066 - Add enable geolocation flag to WebCore::Settings for Chromium
25415        https://bugs.webkit.org/show_bug.cgi?id=32066
25416
25417        Adds geolocationEnabled in Settings for runtime control of geolocaiton features. This defaults to ON
25418        as it is intended as a development and testing aid, not a user control. To completely remove geolocation
25419        from a given port, the compile time ENABLE_GEOLOCATION should still be used.
25420        Adding placeholder GeolocationServiceChromium implementation, as this is required to allows
25421        ENABLE_GEOLOCATION to be defined (in turn required for testing), even though this patch does not
25422        make that the default just yet.
25423
25424        * WebCore.gypi:
25425        * page/Settings.cpp:
25426        (WebCore::Settings::Settings): Add new m_geolocationEnabled flag default value
25427        (WebCore::Settings::setGeolocationEnabled): Setter for  m_geolocationEnabled flag
25428        * page/Settings.h:
25429        (WebCore::Settings::geolocationEnabled):  Add m_geolocationEnabled flag
25430        * platform/chromium/GeolocationServiceChromium.cpp: Added.
25431        (WebCore::GeolocationServiceChromium::GeolocationServiceChromium): Place holder GeolocationServiceChromium)
25432        (WebCore::createGeolocationService): factory function, only required when ENABLED(GEOLOCATION) is true
25433
254342009-12-03  Enrica Casucci  <enrica@apple.com>
25435
25436        Reviewed by John Sullivan.
25437
25438        SpinTracer: 349 spins in Mail at WebCore::Editor::advanceToNextMisspelling(bool)
25439        <rdar://problem/7198592>
25440        https://bugs.webkit.org/show_bug.cgi?id=32129
25441
25442        Fixed the way the next paragraph is calculated.
25443        I've added a repro case in Safari and attached it to the Bugzilla bug.
25444
25445        * editing/Editor.cpp:
25446        (WebCore::findFirstMisspellingOrBadGrammarInRange): Changed the way we move to the
25447        next paragraph in the loop.
25448
254492009-12-03  Oliver Hunt  <oliver@apple.com>
25450
25451        Build fix
25452
25453        * svg/SVGListTraits.h:
25454        (WebCore::):
25455
254562009-12-03  Oliver Hunt  <oliver@apple.com>
25457
25458        Build fix
25459
25460        * svg/SVGListTraits.h:
25461        (WebCore::):
25462
254632009-12-03  Brady Eidson  <beidson@apple.com>
25464
25465        No wonder editing WebCore.exp repeatedly while I worked on this patch never seemed to stick.
25466
25467        Long live our auto-generated overlords that I didn't know about...  
25468
25469        * WebCore.base.exp:
25470
254712009-12-03  Oliver Hunt  <oliver@apple.com>
25472
25473        Reviewed by Dan Bernstein.
25474
25475        REGRESSION (r51627): 3 SVG tests are failing
25476        https://bugs.webkit.org/show_bug.cgi?id=32117
25477
25478        Null checking Items in the SVGList is insufficient as items may
25479        be floats, etc so add SVGListTraits::isNull and add appropriate
25480        specializations.
25481
25482        Test: svg/dom/svglist-exception-on-out-bounds-error.html
25483
25484        * svg/SVGList.h:
25485        (WebCore::SVGListTypeOperations::isNull):
25486        (WebCore::SVGList::initialize):
25487        (WebCore::SVGList::insertItemBefore):
25488        (WebCore::SVGList::replaceItem):
25489        (WebCore::SVGList::appendItem):
25490        * svg/SVGListTraits.h:
25491        (WebCore::):
25492
254932009-12-03  Brady Eidson  <beidson@apple.com>
25494
25495        No review - release build fix.
25496
25497        * history/HistoryItem.cpp:
25498        (WebCore::HistoryItem::documentDetached):
25499
255002009-12-03  Brady Eidson  <beidson@apple.com>
25501
25502        No review - release build fix.
25503
25504        * loader/HistoryController.cpp:
25505        (WebCore::HistoryController::pushState):
25506
255072009-12-03  Enrica Casucci  <enrica@apple.com>
25508
25509        Reviewed by Adele Peterson.
25510
25511        Multiple Undos removes the last posted comment and/or the ones before it.
25512        <rdar://problem/6557066>
25513        https://bugs.webkit.org/show_bug.cgi?id=32079
25514        
25515        The fix consists in preventing Undos and Redos to be applied to elements that
25516        are no longer editable. We do not attempt to remove the commands from the queue.
25517        It is a relatively simple fix that comes with a little extra overhead for the apply
25518        and unapply methods where we are now performing the editability check.
25519
25520        Test: editing/undo/undo-indent-noneditable.html
25521
25522        * editing/AppendNodeCommand.cpp:
25523        (WebCore::AppendNodeCommand::doApply):
25524        (WebCore::AppendNodeCommand::doUnapply):
25525        * editing/DeleteFromTextNodeCommand.cpp:
25526        (WebCore::DeleteFromTextNodeCommand::doApply):
25527        (WebCore::DeleteFromTextNodeCommand::doUnapply):
25528        * editing/InsertIntoTextNodeCommand.cpp:
25529        (WebCore::InsertIntoTextNodeCommand::doApply):
25530        (WebCore::InsertIntoTextNodeCommand::doUnapply):
25531        * editing/InsertNodeBeforeCommand.cpp:
25532        (WebCore::InsertNodeBeforeCommand::doApply):
25533        (WebCore::InsertNodeBeforeCommand::doUnapply):
25534        * editing/JoinTextNodesCommand.cpp:
25535        (WebCore::JoinTextNodesCommand::doApply):
25536        (WebCore::JoinTextNodesCommand::doUnapply):
25537        * editing/MergeIdenticalElementsCommand.cpp:
25538        (WebCore::MergeIdenticalElementsCommand::doApply):
25539        (WebCore::MergeIdenticalElementsCommand::doUnapply):
25540        * editing/RemoveNodeCommand.cpp:
25541        (WebCore::RemoveNodeCommand::doApply):
25542        (WebCore::RemoveNodeCommand::doUnapply):
25543        * editing/SplitElementCommand.cpp:
25544        (WebCore::SplitElementCommand::executeApply):
25545        (WebCore::SplitElementCommand::doUnapply):
25546        * editing/SplitTextNodeCommand.cpp:
25547        (WebCore::SplitTextNodeCommand::doApply):
25548        (WebCore::SplitTextNodeCommand::doUnapply):
25549        * editing/WrapContentsInDummySpanCommand.cpp:
25550        (WebCore::WrapContentsInDummySpanCommand::doUnapply):
25551        (WebCore::WrapContentsInDummySpanCommand::doReapply):
25552
255532009-12-03  Brady Eidson  <beidson@apple.com>
25554
25555        Reviewed by Sam Weinig.
25556
25557        <rdar://problem/7214236> and http://webkit.org/b/32052 - Implement HTML5 state object history API
25558
25559        Tests: fast/loader/stateobjects/document-destroyed-navigate-back.html
25560               fast/loader/stateobjects/document-destroyed-navigate-back-with-fragment-scroll.html
25561               fast/loader/stateobjects/popstate-after-load-complete-addeventlistener.html
25562               fast/loader/stateobjects/popstate-after-load-complete-body-attribute.html
25563               fast/loader/stateobjects/popstate-after-load-complete-window-attribute.html
25564               fast/loader/stateobjects/pushstate-object-types.html
25565               fast/loader/stateobjects/pushstate-then-replacestate.html
25566               fast/loader/stateobjects/pushstate-with-fragment-urls-and-hashchange.html
25567               fast/loader/stateobjects/replacestate-then-pushstate.html
25568               http/tests/loading/state-object-security-exception.html
25569
25570        Derived sources and project file changes:
25571        * DerivedSources.cpp:
25572        * DerivedSources.make:
25573        * GNUmakefile.am
25574        * WebCore.pro
25575        * WebCore.vcproj/WebCore.vcproj:
25576        * WebCore.xcodeproj/project.pbxproj:
25577
25578        Add the new PopStateEvent:
25579        * dom/PopStateEvent.cpp: Added.
25580        (WebCore::PopStateEvent::PopStateEvent):
25581        (WebCore::PopStateEvent::initPopStateEvent):
25582        * dom/PopStateEvent.h: Added.
25583        (WebCore::PopStateEvent::create):
25584        (WebCore::PopStateEvent::isPopStateEvent):
25585        (WebCore::PopStateEvent::state):
25586        * dom/PopStateEvent.idl: Added.
25587        * bindings/js/JSPopStateEventCustom.cpp: Added.
25588        (WebCore::JSPopStateEvent::initPopStateEvent):
25589        (WebCore::JSPopStateEvent::state):
25590        * bindings/js/JSEventCustom.cpp:
25591        (WebCore::toJS):
25592        * dom/Event.cpp:
25593        (WebCore::Event::isPopStateEvent):
25594        * dom/Event.h:
25595        * dom/EventNames.h:
25596
25597        Add the "onpopstate" attribute:
25598        * html/HTMLAttributeNames.in:
25599        * html/HTMLBodyElement.cpp:
25600        (WebCore::HTMLBodyElement::parseMappedAttribute):
25601        * html/HTMLBodyElement.idl:
25602        * html/HTMLFrameSetElement.cpp:
25603        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
25604        * html/HTMLFrameSetElement.h:
25605        * html/HTMLFrameSetElement.idl:
25606        * page/DOMWindow.h:
25607        * page/DOMWindow.idl:
25608
25609        Add pushState and replaceState management to the loader and history machinery:
25610        * bindings/js/JSHistoryCustom.cpp:
25611        (WebCore::JSHistory::pushState):
25612        (WebCore::JSHistory::replaceState):
25613        * loader/HistoryController.cpp:
25614        (WebCore::HistoryController::updateForSameDocumentNavigation): Augmented from "scrollToAnchor()", combining
25615          both the same-document fragment scroll case with the new same-document state object activation case.
25616        (WebCore::HistoryController::pushState):
25617        (WebCore::HistoryController::replaceState):
25618        * loader/HistoryController.h:
25619        * history/BackForwardList.cpp:
25620        (WebCore::BackForwardList::addItem): Use insertItemAfterCurrent.
25621        (WebCore::BackForwardList::insertItemAfterCurrent): Optionally insert the item without clearing the forward
25622          list, as pushStateItem might've selectively cleared only certain items, with the bulk of the forward list
25623          meant to remain.
25624        (WebCore::BackForwardList::pushStateItem): Clear the forward list *only* for the state item's document, then 
25625          insert the new item.
25626        (WebCore::BackForwardList::removeItem):
25627        * history/BackForwardList.h:
25628        * page/History.cpp:
25629        (WebCore::History::urlForState):
25630        (WebCore::History::stateObjectAdded):
25631        * page/History.h:
25632        * page/History.idl:
25633
25634        Let HistoryItems and Documents associate with each other, as well as letting HistoryItems contain state objects:
25635        * history/HistoryItem.cpp:
25636        (WebCore::HistoryItem::HistoryItem):
25637        (WebCore::HistoryItem::~HistoryItem):
25638        (WebCore::HistoryItem::setStateObject):
25639        (WebCore::HistoryItem::setDocument):
25640        (WebCore::HistoryItem::documentDetached):
25641        * history/HistoryItem.h:
25642        (WebCore::HistoryItem::stateObject):
25643        (WebCore::HistoryItem::document):
25644        * dom/Document.cpp:
25645        (WebCore::Document::detach): Notify all back/forward history items owned by this Document that it
25646          is going away.
25647        (WebCore::Document::registerHistoryItem): Manage the list of back/forward history items this document owns.
25648        (WebCore::Document::unregisterHistoryItem): Ditto.
25649        * dom/Document.h:
25650
25651        Add the ability for Documents, DocumentLoaders, and FrameLoaderClients to be notified when a Documents
25652        URL changes as the result of pushState(), replaceState(), or a popstate navigation:
25653        * dom/Document.cpp:
25654        (WebCore::Document::implicitClose): If there's a pending state object, dispatch the popstate event.
25655        (WebCore::Document::updateURLForPushOrReplaceState):
25656        (WebCore::Document::statePopped): If loading is complete, dispatch the popstate event. Otherwise, set 
25657          the pending state object.
25658        * loader/DocumentLoader.cpp:
25659        (WebCore::DocumentLoader::replaceRequestURLForSameDocumentNavigation):
25660        * loader/DocumentLoader.h:
25661        * loader/FrameLoaderClient.h:
25662        * loader/EmptyClients.h:
25663        (WebCore::EmptyFrameLoaderClient::dispatchDidChangeStateObjectForPageForFrame):
25664
25665        Change handling of "loading a HistoryItem" to distinguish between new-Document navigations and same-Document
25666        navigations, combining the old concept of anchor scrolls with the new concept of state object navigations:
25667        * loader/FrameLoader.cpp:
25668        (WebCore::FrameLoader::loadInSameDocument):
25669        (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
25670        (WebCore::FrameLoader::navigateWithinDocument):
25671        (WebCore::FrameLoader::navigateToDifferentDocument):
25672        (WebCore::FrameLoader::loadItem):
25673        * loader/FrameLoader.h:
25674        * page/Page.cpp:
25675        (WebCore::Page::goToItem): Changed to allow state object activations to pass through without the load stopping.
25676
256772009-12-03  Pavel Feldman  <pfeldman@chromium.org>
25678
25679        Not reviewed: chromium build fix.
25680        r51621 changed JS bindings only, broke v8's.
25681
25682        * bindings/v8/ScriptFunctionCall.cpp:
25683        (WebCore::ScriptFunctionCall::appendArgument):
25684        * bindings/v8/ScriptFunctionCall.h:
25685
256862009-12-03  Dimitri Glazkov  <dglazkov@chromium.org>
25687
25688        Reviewed by Adam Barth.
25689
25690        [V8] Attributes and NamedNodeMaps aren't tracked correctly and may be prematurely garbage-collected.
25691        https://bugs.webkit.org/show_bug.cgi?id=32094
25692
25693        Covered by existing test: LayoutTests/fast/dom/Attr/access-after-element-destruction.html
25694
25695        * bindings/v8/DOMObjectsInclude.h:
25696        * bindings/v8/V8DOMWrapper.cpp:
25697        (WebCore::V8DOMWrapper::getTemplate):
25698        (WebCore::V8DOMWrapper::convertToV8Object):
25699        (WebCore::V8DOMWrapper::convertNamedNodeMapToV8Object):
25700        * bindings/v8/V8DOMWrapper.h:
25701        * bindings/v8/V8GCController.cpp:
25702        (WebCore::ObjectGrouperVisitor::visitDOMWrapper):
25703        * bindings/v8/custom/V8CustomBinding.h:
25704
257052009-12-03  Pavel Feldman  <pfeldman@chromium.org>
25706
25707        Reviewed by Timothy Hatcher.
25708
25709        Chromium: Add support for settings containing ":"
25710
25711        https://bugs.webkit.org/show_bug.cgi?id=32118
25712
25713        * inspector/front-end/WatchExpressionsSidebarPane.js:
25714        (WebInspector.WatchExpressionsSection):
25715
257162009-12-03  Rafael Antognolli  <antognolli@profusion.mobi>, Kenneth Christiansen <kenneth@webkit.org>
25717
25718        Reviewed by Simon Fraser.
25719
25720        repaint events from outside the viewport aren't received
25721        https://bugs.webkit.org/show_bug.cgi?id=32081
25722
25723        When using a tiled backing store for painting, you need to receive
25724        event from outside the viewport. Setting the viewport to the size
25725        of the contents is not an option if you want to make use of WebCore's
25726        infrastructure for drawing scrollbars etc.
25727
25728        A new property, paintsEntireContents, has been introduced for the
25729        above use-case. It is settable, as tiling will be optional for Qt,
25730        and for the not yet upstreamed EFL port, there will be two different
25731        views, where only one of them are tiled.
25732
25733        No change in behavior, so no new tests added.
25734
25735        * page/FrameView.cpp:
25736        (WebCore::FrameView::repaintContentRectangle):
25737        * platform/ScrollView.cpp:
25738        (WebCore::ScrollView::ScrollView):
25739        (WebCore::ScrollView::setPaintsEntireContents):
25740        (WebCore::ScrollView::wheelEvent):
25741        * platform/ScrollView.h:
25742        (WebCore::ScrollView::paintsEntireContents):
25743
257442009-11-23  Jeremy Moskovich  <jeremy@chromium.org>
25745
25746        Reviewed by Eric Seidel.
25747
25748        Switch Chrome/Mac to use Core Text APIs rather than ATSUI APIs.
25749        https://bugs.webkit.org/show_bug.cgi?id=31802
25750
25751        No test since this is already covered by existing pixel tests.
25752
25753        * platform/graphics/SimpleFontData.h: Change #ifdef to define getNSFont() on Chrome/Mac .
25754        * platform/graphics/mac/ComplexTextControllerCoreText.cpp: Provide forward declarations
25755        of Core Text functions that are public on 10.6 but SPI on 10.5.
25756
257572009-12-03  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
25758
25759        Reviewed by Timothy Hatcher.
25760
25761        Web Inspector: Simplify the settings support in inspector controller.
25762
25763        https://bugs.webkit.org/show_bug.cgi?id=32076
25764
25765        Test: inspector/settings-set-get.html
25766
25767        * WebCore.Inspector.exp:
25768        * bindings/js/JSInspectorFrontendHostCustom.cpp:
25769        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
25770        * inspector/InspectorClient.h:
25771        * inspector/InspectorController.cpp:
25772        (WebCore::InspectorController::~InspectorController):
25773        (WebCore::InspectorController::setting):
25774        (WebCore::InspectorController::setSetting):
25775        (WebCore::InspectorController::setWindowVisible):
25776        (WebCore::InspectorController::attachWindow):
25777        (WebCore::InspectorController::setAttachedWindowHeight):
25778        (WebCore::InspectorController::storeLastActivePanel):
25779        (WebCore::InspectorController::scriptObjectReady):
25780        (WebCore::InspectorController::showWindow):
25781        (WebCore::InspectorController::enableResourceTracking):
25782        (WebCore::InspectorController::disableResourceTracking):
25783        (WebCore::InspectorController::ensureResourceTrackingSettingsLoaded):
25784        (WebCore::InspectorController::enableProfiler):
25785        (WebCore::InspectorController::disableProfiler):
25786        (WebCore::InspectorController::enableDebuggerFromFrontend):
25787        (WebCore::InspectorController::disableDebugger):
25788        * inspector/InspectorController.h:
25789        * inspector/InspectorFrontendHost.cpp:
25790        (WebCore::InspectorFrontendHost::setting):
25791        (WebCore::InspectorFrontendHost::setSetting):
25792        * inspector/InspectorFrontendHost.h:
25793        * inspector/InspectorFrontendHost.idl:
25794        * loader/EmptyClients.h:
25795        (WebCore::EmptyInspectorClient::populateSetting):
25796        (WebCore::EmptyInspectorClient::storeSetting):
25797
257982009-12-03  Ben Murdoch  <benm@google.com>
25799
25800        Reviewed by Brady Eidson.
25801
25802        [Android] notifyHistoryItemChanged() should pass a pointer to the HistoryItem that changed.
25803        https://bugs.webkit.org/show_bug.cgi?id=31915
25804
25805        No change in functionality so no new tests required.
25806
25807        * history/HistoryItem.cpp:
25808        (WebCore::defaultNotifyHistoryItemChanged): Update this function to pass the HistoryItem that is being changed.
25809        (WebCore::HistoryItem::setAlternateTitle): Update call to notifyHistoryItemChanged to include the new parameter.
25810        (WebCore::HistoryItem::setURLString): ditto.
25811        (WebCore::HistoryItem::setOriginalURLString): ditto.
25812        (WebCore::HistoryItem::setReferrer): ditto.
25813        (WebCore::HistoryItem::setTitle): ditto.
25814        (WebCore::HistoryItem::setTarget): ditto.
25815        (WebCore::HistoryItem::setDocumentState): On Android, add a call to notifyHistoryItemChanged. See bug for a discussion of why this is needed.
25816        (WebCore::HistoryItem::clearDocumentState): ditto.
25817        (WebCore::HistoryItem::setIsTargetItem): ditto.
25818        (WebCore::HistoryItem::addChildItem): ditto.
25819        (WebCore::HistoryItem::setFormInfoFromRequest): ditto.
25820        * history/HistoryItem.h: Update signature of notifyHistoryItemChanged.
25821
258222009-12-03  Ben Murdoch  <benm@google.com>
25823
25824        Reviewed by Brady Eidson.
25825
25826        [Android] The FrameLoaderClient is unaware of BackForwardList changes.
25827        https://bugs.webkit.org/show_bug.cgi?id=31914
25828
25829        This change adds three new methods on the FrameLoaderClient interface to receive notifications when the BackForwardList changes.
25830
25831        No new tests required. Functionality on all platforms upstream remains the same. Android is the first platform to make use of these callbacks.
25832
25833        * history/BackForwardList.cpp:
25834        (WebCore::BackForwardList::addItem): Execute the callback.
25835        (WebCore::BackForwardList::goBack): ditto.
25836        (WebCore::BackForwardList::goForward): ditto.
25837        (WebCore::BackForwardList::goToItem): ditto.
25838        (WebCore::BackForwardList::setCapacity): dito.
25839        * loader/EmptyClients.h:
25840        (WebCore::EmptyFrameLoaderClient::dispatchDidAddBackForwardItem): Add an empty implementation for the callback that does nothing.
25841        (WebCore::EmptyFrameLoaderClient::dispatchDidRemoveBackForwardItem): ditto.
25842        (WebCore::EmptyFrameLoaderClient::dispatchDidChangeBackForwardIndex): ditto.
25843        * loader/FrameLoaderClient.h:
25844
258452009-12-03  Ben Murdoch  <benm@google.com>
25846
25847        Reviewed by Brady Eidson.
25848
25849        [Android] Upstream WebCore/history/android: Require some platform specific state attached to HistoryItem.
25850        https://bugs.webkit.org/show_bug.cgi?id=31913
25851
25852        Android stores information such as the zoom scale factor and bridge back to the Java counterpart with HistoryItem.
25853
25854        No new tests required as this is Android specific code.
25855
25856        * history/HistoryItem.h: Add Android specific member data to HistoryItem.
25857        * history/android: Added.
25858        * history/android/AndroidWebHistoryBridge.h: Added.
25859        * history/android/HistoryItemAndroid.cpp: Added, provides implementation for Android specific member functions in HistoryItem.
25860        (WebCore::HistoryItem::bridge): Added.
25861        (WebCore::HistoryItem::setBridge): Added.
25862
258632009-12-03  Oliver Hunt  <oliver@apple.com>
25864
25865        Reviewed by Maciej Stachowiak.
25866
25867        NULL ptr in SVGPathSegList::getPathSegAtLength()
25868        https://bugs.webkit.org/show_bug.cgi?id=30313
25869
25870        Add exception checks to SVGPathSegList's implementation to catch (and propagate) exceptions.
25871        Add null checks to SVGList's content manipulation functions to prevent
25872        null values from entering the list in the first place.
25873
25874        Test: svg/dom/svgpath-out-of-bounds-getPathSeg.html
25875
25876        * svg/SVGList.h:
25877        (WebCore::SVGList::initialize):
25878        (WebCore::SVGList::insertItemBefore):
25879        (WebCore::SVGList::replaceItem):
25880        (WebCore::SVGList::appendItem):
25881        * svg/SVGPathElement.cpp:
25882        (WebCore::SVGPathElement::getPathSegAtLength):
25883        * svg/SVGPathElement.h:
25884        * svg/SVGPathElement.idl:
25885        * svg/SVGPathSegList.cpp:
25886        (WebCore::SVGPathSegList::getPathSegAtLength):
25887        (WebCore::SVGPathSegList::toPathData):
25888        (WebCore::SVGPathSegList::createAnimated):
25889        * svg/SVGPathSegList.h:
25890
258912009-12-02  Yusuke Sato  <yusukes@chromium.org>
25892
25893        Reviewed by Eric Seidel.
25894
25895        Sanitize web fonts using the OTS library 
25896        https://bugs.webkit.org/show_bug.cgi?id=31106
25897
25898        Add support for OpenType sanitizer (OTS). It parses OpenType files (from @font-face)
25899        and attempts to validate and sanitize them. We hope this reduces the attack surface
25900        of the system font libraries.
25901
25902        * WebCore.gyp/WebCore.gyp: Added dependency to (chromium_src_dir)/third_party/ots/ library.
25903        * WebCore.gypi: Added new files below.
25904        * WebCore.xcodeproj/project.pbxproj: Ditto.
25905        * platform/graphics/chromium/FontCustomPlatformData.cpp: Validate and transcode a web font.
25906        (WebCore::createFontCustomPlatformData):
25907        * platform/graphics/mac/FontCustomPlatformData.cpp: Ditto.
25908        (WebCore::createFontCustomPlatformData):
25909        * platform/graphics/opentype/OpenTypeSanitizer.cpp: Added.
25910        (WebCore::OpenTypeSanitizer::sanitize):
25911        * platform/graphics/opentype/OpenTypeSanitizer.h: Added.
25912        (WebCore::OpenTypeSanitizer::OpenTypeSanitizer):
25913
259142009-12-02  Oliver Hunt  <oliver@apple.com>
25915
25916        Reviewed by Sam Weinig.
25917
25918        Web Inspector frontend heap allocates ScriptFunctionCall which is unsafe
25919        https://bugs.webkit.org/show_bug.cgi?id=32098
25920
25921        Fix is simply to make the ScriptFunctionCall stack allocated as nature intended.
25922        Doing this required adding an appendArgument(char*) to ScriptFunctionCall so
25923        that an explicit String cast would not be necessary.
25924
25925        To prevent something like this happening again in future i've added private
25926        operator new implementations to ScriptFunctionCall making this type of mistake
25927        produce errors when compiling.
25928
25929        Test case: Inspector tests now pass with GC on every alloc enabled.
25930
25931        * bindings/js/ScriptFunctionCall.cpp:
25932        (WebCore::ScriptFunctionCall::appendArgument):
25933        * bindings/js/ScriptFunctionCall.h:
25934        (WebCore::ScriptFunctionCall::operator new):
25935        (WebCore::ScriptFunctionCall::operator new[]):
25936        * inspector/InspectorFrontend.cpp:
25937        (WebCore::InspectorFrontend::addConsoleMessage):
25938        (WebCore::InspectorFrontend::updateConsoleMessageRepeatCount):
25939        (WebCore::InspectorFrontend::addResource):
25940        (WebCore::InspectorFrontend::updateResource):
25941        (WebCore::InspectorFrontend::removeResource):
25942        (WebCore::InspectorFrontend::updateFocusedNode):
25943        (WebCore::InspectorFrontend::setAttachedWindow):
25944        (WebCore::InspectorFrontend::addRecordToTimeline):
25945        (WebCore::InspectorFrontend::parsedScriptSource):
25946        (WebCore::InspectorFrontend::failedToParseScriptSource):
25947        (WebCore::InspectorFrontend::addProfileHeader):
25948        (WebCore::InspectorFrontend::setRecordingProfile):
25949        (WebCore::InspectorFrontend::didGetProfileHeaders):
25950        (WebCore::InspectorFrontend::didGetProfile):
25951        (WebCore::InspectorFrontend::pausedScript):
25952        (WebCore::InspectorFrontend::setDocument):
25953        (WebCore::InspectorFrontend::setDetachedRoot):
25954        (WebCore::InspectorFrontend::setChildNodes):
25955        (WebCore::InspectorFrontend::childNodeCountUpdated):
25956        (WebCore::InspectorFrontend::childNodeInserted):
25957        (WebCore::InspectorFrontend::childNodeRemoved):
25958        (WebCore::InspectorFrontend::attributesUpdated):
25959        (WebCore::InspectorFrontend::didRemoveNode):
25960        (WebCore::InspectorFrontend::didGetChildNodes):
25961        (WebCore::InspectorFrontend::didApplyDomChange):
25962        (WebCore::InspectorFrontend::didGetEventListenersForNode):
25963        (WebCore::InspectorFrontend::didGetCookies):
25964        (WebCore::InspectorFrontend::didDispatchOnInjectedScript):
25965        (WebCore::InspectorFrontend::addDatabase):
25966        (WebCore::InspectorFrontend::selectDatabase):
25967        (WebCore::InspectorFrontend::didGetDatabaseTableNames):
25968        (WebCore::InspectorFrontend::addDOMStorage):
25969        (WebCore::InspectorFrontend::selectDOMStorage):
25970        (WebCore::InspectorFrontend::didGetDOMStorageEntries):
25971        (WebCore::InspectorFrontend::didSetDOMStorageItem):
25972        (WebCore::InspectorFrontend::didRemoveDOMStorageItem):
25973        (WebCore::InspectorFrontend::updateDOMStorage):
25974        (WebCore::InspectorFrontend::addNodesToSearchResult):
25975        (WebCore::InspectorFrontend::evaluateForTestInFrontend):
25976        * inspector/InspectorFrontend.h:
25977
259782009-12-02  Dave Hyatt  <hyatt@apple.com>
25979
25980        Reviewed by Darin Adler.
25981
25982        https://bugs.webkit.org/show_bug.cgi?id=32072, clean up invalid @-rule error handling so that we
25983        pass more CSS test suite stuff.  Make the grammar stop enforcing the ordering of @namespace vs.
25984        @variables vs. @import.  Just let the parser handle that instead.  This simplifies the grammar and
25985        makes error handling deal with more cases correctly.
25986
25987        Added fast/css/namespaces/namespaces-invalid-at-rules.xml
25988
25989        * css/CSSGrammar.y:
25990        * css/CSSParser.cpp:
25991        (WebCore::CSSParser::CSSParser):
25992        (WebCore::CSSParser::parseRule):
25993        (WebCore::CSSParser::createCharsetRule):
25994        (WebCore::CSSParser::createImportRule):
25995        (WebCore::CSSParser::createMediaRule):
25996        (WebCore::CSSParser::createKeyframesRule):
25997        (WebCore::CSSParser::createStyleRule):
25998        (WebCore::CSSParser::createFontFaceRule):
25999        (WebCore::CSSParser::addNamespace):
26000        (WebCore::CSSParser::createVariablesRule):
26001        * css/CSSParser.h:
26002
260032009-12-02  Yusuke Sato  <yusukes@chromium.org>
26004
26005        Reviewed by Dan Bernstein.
26006
26007        Safari/Chromium for Windows fails to load CJK WebFonts
26008        https://bugs.webkit.org/show_bug.cgi?id=31804
26009        
26010        * platform/graphics/opentype/OpenTypeUtilities.cpp:
26011        (WebCore::renameAndActivateFont): Load a remote font even if the font has 2 or more faces.
26012
260132009-12-02  Avi Drissman  <avi@chromium.org>
26014
26015        Reviewed by Darin Fisher.
26016
26017        Chromium: Need tickmarks in scrollbar
26018        https://bugs.webkit.org/show_bug.cgi?id=32069
26019
26020        * WebCore.gyp/WebCore.gyp:
26021        * WebCore.gypi:
26022        * platform/chromium/ScrollbarThemeChromiumMac.h: Added.
26023        * platform/chromium/ScrollbarThemeChromiumMac.mm: Added.
26024
260252009-11-13  Timothy Hatcher  <timothy@apple.com>
26026
26027        Expose a function to set the value of an input element on behalf of the user.
26028        This function will dispatch the change event so the page is notified when autofill
26029        happens. Also dispatch a change event when a select element is changed by autofill.
26030
26031        <rdar://problem/6760590> Would like a way to detect a login form AutoFill from JavaScript
26032
26033        Reviewed by Darin Adler.
26034
26035        * WebCore.xcodeproj/project.pbxproj: Added the DOMHTMLInputElementPrivate.h header.
26036        * bindings/objc/DOMHTML.mm:
26037        (-[DOMHTMLSelectElement _activateItemAtIndex:]): Call setSelectedIndexByUser instead so
26038        a change event is fired. This method is called by Safari autofill.
26039        * dom/Document.cpp:
26040        (WebCore::Document::setFocusedNode): Use dispatchFormControlChangeEvent instead
26041        of dispatching the change event directly to be consistent.
26042        * html/HTMLFormControlElement.cpp:
26043        (WebCore::HTMLInputElement::setValueForUser): Added. Calls setValue with the sendChangeEvent
26044        (WebCore::HTMLInputElement::setValue): Added the optional sendChangeEvent argument. Mimics setChecked.
26045        * html/HTMLInputElement.h:
26046        * html/HTMLInputElement.idl: Added setValueForUser for non-JS languages.
26047        * html/InputElement.h: Added setValueForUser.
26048
260492009-12-02  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
26050
26051        Reviewed by Timothy Hatcher.
26052
26053        Web Inspector: DOM tree selection disappears upon page refresh.
26054
26055        https://bugs.webkit.org/show_bug.cgi?id=31142
26056
26057        Test: inspector/elements-panel-selection-on-refresh.html
26058
26059        * inspector/InjectedScriptHost.cpp:
26060        (WebCore::InjectedScriptHost::pushNodeByPathToFrontend):
26061        * inspector/InjectedScriptHost.h:
26062        * inspector/InjectedScriptHost.idl:
26063        * inspector/InspectorBackend.h:
26064        * inspector/InspectorController.cpp:
26065        (WebCore::InspectorController::close):
26066        (WebCore::InspectorController::releaseDOMAgent):
26067        (WebCore::InspectorController::resetScriptObjects):
26068        * inspector/InspectorDOMAgent.cpp:
26069        (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
26070        (WebCore::InspectorDOMAgent::reset):
26071        (WebCore::InspectorDOMAgent::setDocument):
26072        (WebCore::InspectorDOMAgent::pushDocumentToFrontend):
26073        (WebCore::InspectorDOMAgent::nodeForPath):
26074        (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
26075        * inspector/InspectorDOMAgent.h:
26076        * inspector/front-end/DOMAgent.js:
26077        (WebInspector.DOMNode.prototype._renumber):
26078        (WebInspector.DOMAgent.prototype._setDocument):
26079        * inspector/front-end/ElementsPanel.js:
26080        (WebInspector.ElementsPanel.prototype.reset):
26081        (WebInspector.ElementsPanel.prototype.setDocument.selectDefaultNode):
26082        (WebInspector.ElementsPanel.prototype.setDocument.selectLastSelectedNode):
26083        (WebInspector.ElementsPanel.prototype.setDocument):
26084        * inspector/front-end/InjectedScript.js:
26085        (InjectedScript.pushNodeByPathToFrontend):
26086        * inspector/front-end/InjectedScriptAccess.js:
26087
260882009-12-01  Dave Hyatt  <hyatt@apple.com>
26089
26090        Reviewed by Dan Bernstein.
26091
26092        https://bugs.webkit.org/show_bug.cgi?id=32045, make sure escape sequences work with
26093        all the @-rules we support.  When escape sequences are present, the lexical scanner
26094        just returns a generic token name: ATKEYWORD.  We have to process the escape sequences
26095        and then recheck against the rules we support with the final processed name.  If we
26096        find a match, we mutate the token value to the appropriate rule name token, e.g.,
26097        NAMESPACE_SYM.
26098
26099        Added fast/css/namespaces/namespaces-escapes.xml
26100
26101        * css/CSSParser.cpp:
26102        (WebCore::CSSParser::lex):
26103        (WebCore::CSSParser::recheckAtKeyword):
26104        (WebCore::CSSParser::text):
26105        * css/CSSParser.h:
26106
261072009-12-02  Anton Muhin  <antonm@chromium.org>
26108
26109        Reviewed by Adam Barth.:w
26110
26111        Allow to skip thread checks when accessing DOMDataStore for processes
26112        which run V8 in single thread mode.
26113        https://bugs.webkit.org/show_bug.cgi?id=31877
26114
26115        Should be covered by buildbots.
26116
26117        * bindings/v8/V8DOMMap.cpp:
26118        (WebCore::getDOMDataStore):
26119        (WebCore::enableFasterDOMStoreAccess):
26120        (WebCore::getDOMNodeMap):
26121        (WebCore::getDOMObjectMap):
26122        (WebCore::getActiveDOMObjectMap):
26123        (WebCore::getDOMSVGElementInstanceMap):
26124        (WebCore::getDOMSVGObjectWithContextMap):
26125        * bindings/v8/V8DOMMap.h:
26126
261272009-12-02  Yury Semikhatsky  <yurys@chromium.org>
26128
26129        Reviewed by Pavel Feldman.
26130
26131        Code clean up: remove ScriptObjectQuarantine.* as a whole.
26132
26133        https://bugs.webkit.org/show_bug.cgi?id=32060
26134
26135        * GNUmakefile.am:
26136        * WebCore.gypi:
26137        * WebCore.pro:
26138        * WebCore.vcproj/WebCore.vcproj:
26139        * WebCore.xcodeproj/project.pbxproj:
26140        * WebCoreSources.bkl:
26141        * bindings/js/JSBindingsAllInOne.cpp:
26142        * bindings/js/ScriptObjectQuarantine.cpp: Removed.
26143        * bindings/js/ScriptObjectQuarantine.h: Removed.
26144        * bindings/js/ScriptValue.cpp:
26145        (WebCore::ScriptValue::quarantineValue):
26146        * bindings/js/ScriptValue.h:
26147        * bindings/v8/ScriptObjectQuarantine.cpp: Removed.
26148        * bindings/v8/ScriptObjectQuarantine.h: Removed.
26149        * bindings/v8/ScriptValue.h:
26150        (WebCore::ScriptValue::quarantineValue):
26151        * inspector/ConsoleMessage.cpp:
26152        (WebCore::ConsoleMessage::ConsoleMessage):
26153        * inspector/InspectorController.cpp:
26154        * inspector/InspectorDatabaseResource.cpp:
26155        (WebCore::InspectorDatabaseResource::bind):
26156        * inspector/InspectorFrontend.cpp:
26157
261582009-12-02  Fumitoshi Ukai  <ukai@chromium.org>
26159
26160        Reviewed by Alexey Proskuryakov.
26161
26162        WebSocket handshake check query component of URL
26163        https://bugs.webkit.org/show_bug.cgi?id=31617
26164
26165        Tests: websocket/tests/url-with-credential.html
26166               websocket/tests/url-with-empty-query.html
26167               websocket/tests/url-with-fragment.html
26168               websocket/tests/url-with-query-for-no-query.html
26169               websocket/tests/url-with-query.html
26170
26171        * platform/KURLGoogle.cpp:
26172        (WebCore::KURL::query): returns a null if query is not specified and returns an empty if query is specified but empty.
26173        * websockets/WebSocketHandshake.cpp:
26174        (WebCore::resourceName): added. add query component to path if specified.
26175        (WebCore::WebSocketHandshake::clientLocation):
26176        (WebCore::WebSocketHandshake::clientHandshakeMessage):
26177
261782009-12-01  David Levin  <levin@chromium.org>
26179
26180        Reviewed by Eric Seidel.
26181
26182        Incorrect code in WebGLRenderingContext.cpp
26183        https://bugs.webkit.org/show_bug.cgi?id=32046
26184
26185        Fix incorrect code that happened to work. != has higher precendence than &.
26186        The simplest fix is to remove the "!= 0" which violates WebKit style
26187        guidelines anyway.
26188
26189        Also added periods to few comments in the same function.
26190
26191        * html/canvas/WebGLRenderingContext.cpp:
26192        (WebCore::WebGLRenderingContext::validateIndexArray):
26193
261942009-12-01  Kent Tamura  <tkent@chromium.org>
26195
26196        Reviewed by Darin Adler.
26197
26198        Change [Reflect] to [ConvertNullToNullString, Reflect] for min, max,
26199        pattern and step attributes of HTMLInputElement.
26200        https://bugs.webkit.org/show_bug.cgi?id=31708
26201
26202        * html/HTMLInputElement.idl:
26203
262042009-12-01  Chris Fleizach  <cfleizach@apple.com>
26205
26206        Reviewed by Darin Adler.
26207
26208        WAI-ARIA: implement support for ARIA drag and drop
26209        https://bugs.webkit.org/show_bug.cgi?id=32007
26210
26211        Test: platform/mac/accessibility/aria-drag-drop.html
26212
26213        * accessibility/AccessibilityObject.h:
26214        (WebCore::AccessibilityObject::supportsARIADropping):
26215        (WebCore::AccessibilityObject::supportsARIADragging):
26216        (WebCore::AccessibilityObject::isARIAGrabbed):
26217        (WebCore::AccessibilityObject::setARIAGrabbed):
26218        (WebCore::AccessibilityObject::determineARIADropEffects):
26219        * accessibility/AccessibilityRenderObject.cpp:
26220        (WebCore::AccessibilityRenderObject::supportsARIADropping):
26221        (WebCore::AccessibilityRenderObject::supportsARIADragging):
26222        (WebCore::AccessibilityRenderObject::isARIAGrabbed):
26223        (WebCore::AccessibilityRenderObject::setARIAGrabbed):
26224        (WebCore::AccessibilityRenderObject::determineARIADropEffects):
26225        * accessibility/AccessibilityRenderObject.h:
26226        * accessibility/mac/AccessibilityObjectWrapper.mm:
26227        (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
26228        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
26229        (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
26230        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
26231        * html/HTMLAttributeNames.in:
26232
262332009-12-01  Adam Barth  <abarth@webkit.org>
26234
26235        https://bugs.webkit.org/show_bug.cgi?id=21288
26236
26237        Unreviewed port of @sandbox to V8.
26238
26239        * bindings/v8/ScriptController.cpp:
26240        (WebCore::ScriptController::isEnabled):
26241        * bindings/v8/custom/V8DOMWindowCustom.cpp:
26242        (WebCore::createWindow):
26243
262442009-12-01  Patrik Persson  <patrik.j.persson@ericsson.com>
26245
26246        Reviewed by Darin Adler.
26247
26248        Implement HTML5 sandbox attribute for iframes.
26249        http://www.w3.org/TR/html5/text-level-semantics.html#attr-iframe-sandbox
26250        https://bugs.webkit.org/show_bug.cgi?id=21288
26251
26252        Tests: fast/frames/sandboxed-iframe-attribute-parsing.html
26253               fast/frames/sandboxed-iframe-forms.html
26254               fast/frames/sandboxed-iframe-navigation-allowed.html
26255               fast/frames/sandboxed-iframe-navigation-parent.html
26256               fast/frames/sandboxed-iframe-navigation-targetlink.html
26257               fast/frames/sandboxed-iframe-navigation-windowopen.html
26258               fast/frames/sandboxed-iframe-plugins.html
26259               fast/frames/sandboxed-iframe-scripting.html
26260               fast/frames/sandboxed-iframe-storage.html
26261               http/tests/security/sandboxed-iframe-document-cookie.html
26262               http/tests/security/sandboxed-iframe-modify-self.html
26263               http/tests/security/xss-DENIED-sandboxed-iframe.html
26264               http/tests/xmlhttprequest/access-control-sandboxed-iframe-allow.html
26265               http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied-without-wildcard.html
26266               http/tests/xmlhttprequest/access-control-sandboxed-iframe-denied.html
26267
26268        * bindings/js/JSDOMWindowCustom.cpp: sandboxing navigation
26269        (WebCore::createWindow):
26270        * bindings/js/ScriptController.cpp: sandboxing scripts
26271        (WebCore::ScriptController::isEnabled):
26272        * dom/Document.cpp:
26273        (WebCore::Document::processHttpEquiv):
26274        (WebCore::Document::cookie): raise exception when accessed from sandbox
26275        (WebCore::Document::setCookie): raise exception when accessed from sandbox
26276        (WebCore::Document::initSecurityContext): updae sandbox status
26277        (WebCore::Document::updateSandboxFlags):
26278        * dom/Document.h:
26279        * dom/Document.idl:
26280        * html/HTMLAppletElement.cpp: sandboxing applets
26281        (WebCore::HTMLAppletElement::createRenderer):
26282        (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
26283        (WebCore::HTMLAppletElement::canEmbedJava):
26284        * html/HTMLAppletElement.h:
26285        * html/HTMLAttributeNames.in:
26286        * html/HTMLFrameOwnerElement.cpp: management of sandbox flags as stated in attribute
26287        (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
26288        (WebCore::HTMLFrameOwnerElement::setSandboxFlags):
26289        * html/HTMLFrameOwnerElement.h:
26290        (WebCore::HTMLFrameOwnerElement::sandboxFlags):
26291        * html/HTMLIFrameElement.cpp: sandbox attribute parsing
26292        (WebCore::parseSandboxAttribute):
26293        (WebCore::HTMLIFrameElement::parseMappedAttribute):
26294        * html/HTMLIFrameElement.idl:
26295        * inspector/InspectorController.cpp:
26296        (WebCore::InspectorController::getCookies):
26297        * loader/CrossOriginAccessControl.cpp:
26298        (WebCore::passesAccessControlCheck):
26299        * loader/FrameLoader.cpp:
26300        (WebCore::FrameLoader::FrameLoader):
26301        (WebCore::FrameLoader::init):
26302        (WebCore::FrameLoader::submitForm): sandboxing forms
26303        (WebCore::FrameLoader::requestObject): sandboxing plugins
26304        (WebCore::FrameLoader::shouldAllowNavigation): sandboxing navigation
26305        (WebCore::FrameLoader::updateSandboxFlags): propagation of sandbox flags
26306        * loader/FrameLoader.h:
26307        (WebCore::FrameLoader::ownerElementSandboxFlagsChanged):
26308        (WebCore::FrameLoader::isSandboxed):
26309        (WebCore::FrameLoader::sandboxFlags):
26310        * loader/FrameLoaderTypes.h:
26311        (WebCore::):
26312        * page/DOMWindow.cpp: disable storage and databases in sandboxed frames
26313        (WebCore::DOMWindow::sessionStorage):
26314        (WebCore::DOMWindow::localStorage):
26315        (WebCore::DOMWindow::openDatabase):
26316        * page/SecurityOrigin.cpp: added sandboxing status
26317        (WebCore::SecurityOrigin::SecurityOrigin):
26318        (WebCore::SecurityOrigin::canAccess):
26319        (WebCore::SecurityOrigin::canRequest):
26320        (WebCore::SecurityOrigin::toString):
26321        * page/SecurityOrigin.h:
26322        (WebCore::SecurityOrigin::setSandboxFlags):
26323        (WebCore::SecurityOrigin::isSandboxed):
26324        (WebCore::SecurityOrigin::canAccessDatabase):
26325        (WebCore::SecurityOrigin::canAccessStorage):
26326        * websockets/WebSocketChannel.cpp:
26327        (WebCore::WebSocketChannel::didReceiveData):
26328
263292009-12-01  Chris Fleizach  <cfleizach@apple.com>
26330
26331        Reviewed by David Kilzer.
26332
26333        ARIA: support a way to create a static text object
26334        https://bugs.webkit.org/show_bug.cgi?id=32030
26335
26336        Test: accessibility/aria-text-role.html
26337
26338        * accessibility/AccessibilityObject.cpp:
26339        (WebCore::createARIARoleMap):
26340        * accessibility/AccessibilityRenderObject.cpp:
26341        (WebCore::AccessibilityRenderObject::stringValue):
26342        (WebCore::AccessibilityRenderObject::isDescendantOfBarrenParent):
26343        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
26344        (WebCore::AccessibilityRenderObject::text):
26345        * accessibility/AccessibilityRenderObject.h:
26346
263472009-12-01  Oliver Hunt  <oliver@apple.com>
26348
26349        Reviewed by Maciej Stachowiak.
26350
26351        Inspector crashes when collecting on every allocation
26352        https://bugs.webkit.org/show_bug.cgi?id=32044
26353
26354        The crash is caused by the prototype wrapper object getting collected
26355        when allocating the object that is going to use it as a prototype.
26356        Because the only reference to the prototype wrapper is through the
26357        new object's Structure it does not get marked automatically.
26358
26359        * bindings/js/JSInspectedObjectWrapper.cpp:
26360        (WebCore::JSInspectedObjectWrapper::wrap):
26361        * bindings/js/JSInspectorCallbackWrapper.cpp:
26362        (WebCore::JSInspectorCallbackWrapper::wrap):
26363
263642009-12-01  Nikolas Zimmermann  <nzimmermann@rim.com>
26365
26366        Reviewed by Simon Fraser.
26367
26368        Add SVG animation test framework with 'snapshot' functionality
26369        https://bugs.webkit.org/show_bug.cgi?id=31897
26370
26371        Add 'sampleSVGAnimationForElementAtTime' method to the LayoutTestController,
26372        for the use within the new SVG animation test framework (LayoutTests/svg/animations/)
26373
26374        layoutTestController.sampleAnimationAtTime(<svg animation id>, <absolute time>, <svg element id>);
26375        to sample a svg animateMotion/animateColor/animate/set element at certain times.
26376
26377        After the desired SVG animation starts and calling the method above, it's immediately forwarded to
26378        the desired sampling time. After JS returns from the 'sampleSVGAnimationForElementAtTime' method
26379        a callback is fired used to sample the animation value at the target time. It's modelled similar
26380        to the CSS animation/transition testing framework, inspired by
26381        LayoutTests/animations/animation-test-helpers.js.
26382
26383        Though it has been extended to integrate within the fast/js/js-test-* framework, that's used for
26384        the SVG dynamic-updates tests, to simplify test creation, by utilizing script-tests/* only.
26385
26386        Adding a simple testcase testing the DRT methods, it will soon be extended to test animVal/baseVal
26387        interaction, while animating.
26388
26389        Test: svg/animations/animVal-basics.html
26390
26391        * WebCore.base.exp:
26392        * WebCore.xcodeproj/project.pbxproj:
26393        * svg/SVGDocumentExtensions.cpp:
26394        (WebCore::SVGDocumentExtensions::sampleAnimationAtTime):
26395        * svg/SVGDocumentExtensions.h:
26396        * svg/animation/SMILTimeContainer.cpp:
26397        (WebCore::SMILTimeContainer::SMILTimeContainer):
26398        (WebCore::SMILTimeContainer::sampleAnimationAtTime):
26399        (WebCore::SMILTimeContainer::updateAnimations):
26400        * svg/animation/SMILTimeContainer.h:
26401
264022009-12-01  Jens Alfke  <snej@chromium.org>
26403
26404        Reviewed by Darin Adler.
26405
26406        Add convenience methods to Element and QualifiedName that take
26407        char* instead of AtomicString, in preparation for removing the
26408        implicit conversion between the two types (30187).
26409        https://bugs.webkit.org/show_bug.cgi?id=31749
26410
26411        * dom/Element.cpp:
26412        (WebCore::Element::setCStringAttribute):  Equivalent to setAttribute.
26413        * dom/Element.h:
26414        * dom/QualifiedName.cpp:
26415        (WebCore::QualifiedName::init):  Shared impl of both constructors
26416        (WebCore::QualifiedName::QualifiedName):  New c'tor taking char*.
26417        * dom/QualifiedName.h:
26418        * platform/network/HTTPHeaderMap.cpp:
26419        (WebCore::CaseFoldingCStringTranslator):  Enables lookup by C string
26420        (WebCore::HTTPHeaderMap::get):  New variant that takes C string
26421        (WebCore::HTTPHeaderMap::contains):  New variant that takes C string
26422        (WebCore::HTTPHeaderMap::add):  New variant that takes C string
26423        * platform/network/HTTPHeaderMap.h:
26424        (WebCore::HTTPHeaderMap::get):
26425        (WebCore::HTTPHeaderMap::add):
26426        * platform/network/ResourceRequestBase.cpp:
26427        (WebCore::ResourceRequestBase::httpHeaderField):  New variant that takes C string
26428        * platform/network/ResourceRequestBase.h:
26429        (WebCore::ResourceRequestBase::setHTTPHeaderField):  Use symbolic names for headers
26430        * platform/network/ResourceResponseBase.cpp:
26431        (WebCore::ResourceResponseBase::httpHeaderField):  New variant that takes C string
26432        * platform/network/ResourceResponseBase.h:
26433
264342009-12-01  Alexey Proskuryakov  <ap@apple.com>
26435
26436        More Windows build fix.
26437
26438        * platform/network/cf/CredentialStorageCFNet.cpp:
26439        (WebCore::CredentialStorage::getFromPersistentStorage):
26440
264412009-12-01  Alexey Proskuryakov  <ap@apple.com>
26442
26443        Windows build fix.
26444
26445        * platform/network/cf/CredentialStorageCFNet.cpp: Include RetainPtr.h.
26446
264472009-12-01  Alexey Proskuryakov  <ap@apple.com>
26448
26449        Reviewed by Darin Adler.
26450
26451        https://bugs.webkit.org/show_bug.cgi?id=32036
26452        Implement CredentialStorage::getFromPersistentStorage for CFNetwork
26453
26454        * platform/network/cf/CredentialStorageCFNet.cpp:
26455        (WebCore::CredentialStorage::getFromPersistentStorage):
26456
264572009-12-01  Daniel Bates  <dbates@webkit.org>
26458
26459        Reviewed by Pavel Feldman.
26460
26461        https://bugs.webkit.org/show_bug.cgi?id=32001
26462
26463        Added missing localized strings (that I left out of the patch for bug #21554):
26464        %d × %d pixels
26465        %d × %d pixels (Natural: %d × %d pixels)
26466
26467        Also, changed formatting of these stings to conform with existing ones (added
26468        a space on both sides of the multiply sign).
26469
26470        * English.lproj/localizedStrings.js: Added stings.
26471        * inspector/front-end/ElementsTreeOutline.js:
26472        (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode):
26473
264742009-12-01  Dave Hyatt  <hyatt@apple.com>
26475
26476        Reviewed by Simon Fraser.
26477
26478        Fix for bug 32032, empty namespaces should be allowed in @namespace directives in CSS.
26479
26480        Added fast/css/namespaces/namespaces-empty.xml
26481
26482        * css/CSSStyleSheet.cpp:
26483        (WebCore::CSSStyleSheet::addNamespace):
26484        (WebCore::CSSStyleSheet::determineNamespace):
26485
264862009-12-01  Joseph Pecoraro  <joepeck@webkit.org>
26487
26488        Reviewed by Timothy Hatcher.
26489
26490        Web Inspector: Escape key in the Search Field should be more User Friendly
26491        https://bugs.webkit.org/show_bug.cgi?id=32005
26492
26493        * inspector/front-end/inspector.js:
26494        (WebInspector.loaded): add mousedown listener on the search field
26495        (WebInspector.searchFieldManualFocus): user clicked to focus on the search field
26496        (WebInspector.searchKeyDown): handle escape
26497
264982009-12-01  Dave Hyatt  <hyatt@apple.com>
26499
26500        Reviewed by David Kilzer.
26501
26502        @namespace directives need to use "maybe_space" in the "maybe_ns_prefix" portion of the grammar to match
26503        the spec.  Not doing so prevent comments from being used immmediately after the namespace prefix.
26504
26505        Added fast/css/namespaces-comments.xml
26506
26507        * css/CSSGrammar.y:
26508
265092009-12-01  Yael Aharon  <yael.aharon@nokia.com>
26510
26511        Reviewed by Timothy Hatcher.
26512
26513        Reloading WebInspector from context menu is closing it instead of reloading.
26514        https://bugs.webkit.org/show_bug.cgi?id=32004
26515
26516        When reloading WebInspector, don't delete its m_page.
26517
26518        * inspector/InspectorController.cpp:
26519        (WebCore::InspectorController::close):
26520
265212009-12-01  Steve Block  <steveblock@google.com>
26522
26523        Reviewed by Dimitri Glazkov.
26524
26525        Adds V8 bindings for Geolocation.
26526        https://bugs.webkit.org/show_bug.cgi?id=30206
26527
26528        Also adds Geolocation files to Chrome build files.
26529
26530        * WebCore.gyp/WebCore.gyp: Modified. Corrects list of Geolocation IDL files.
26531        * WebCore.gypi: Modified. Adds Geolocation files.
26532        * bindings/v8/DOMObjectsInclude.h: Modified. Adds Geolocation includes.
26533        * bindings/v8/DerivedSourcesAllInOne.cpp: Modified. Adds Geolocation files.
26534        * bindings/v8/V8Index.cpp: Modified. Includes Geolocation generated headers.
26535        * bindings/v8/V8Index.h: Modified. Adds Geolocation types to DOM_OBJECT_TYPES.
26536        * bindings/v8/custom/V8CoordinatesCustom.cpp: Added. Handles optional properties.
26537        * bindings/v8/custom/V8CustomBinding.h: Modified. Declares callbacks and getters.
26538        * bindings/v8/custom/V8CustomPositionCallback.cpp: Added.
26539        (WebCore::V8CustomPositionCallback::V8CustomPositionCallback): Added. Constructor.
26540        (WebCore::V8CustomPositionCallback::~V8CustomPositionCallback): Added. Destructor.
26541        (WebCore::V8CustomPositionCallback::handleEvent): Added. Invokes callback.
26542        * bindings/v8/custom/V8CustomPositionCallback.h: Added.
26543        (WebCore::V8CustomPositionCallback::create): Added. Factory method.
26544        * bindings/v8/custom/V8CustomPositionErrorCallback.cpp: Added.
26545        (WebCore::V8CustomPositionErrorCallback::V8CustomPositionErrorCallback): Added. Constructor.
26546        (WebCore::V8CustomPositionErrorCallback::~V8CustomPositionErrorCallback): Added. Destructor.
26547        (WebCore::V8CustomPositionErrorCallback::handleEvent): Added. Invokes callback.
26548        * bindings/v8/custom/V8CustomPositionErrorCallback.h: Added.
26549        (WebCore::V8CustomPositionErrorCallback::create): Added. Factory method.
26550        * bindings/v8/custom/V8GeolocationCustom.cpp: Added.
26551        (WebCore::throwTypeMismatchException): Added. Throws a type mismatch error.
26552        (WebCore::createPositionCallback): Added. Handles type checking for successCallback argument.
26553        (WebCore::createPositionErrorCallback): Added. Handles type checking for errorCallback argument.
26554        (WebCore::createPositionOptions): Added. Handles type checking for positionOptions argument.
26555
265562009-12-01  Yury Semikhatsky  <yurys@chromium.org>
26557
26558        Reviewed by Adam Barth.
26559
26560        Provide a way to get ScriptState for the inspected page.
26561
26562        https://bugs.webkit.org/show_bug.cgi?id=32020
26563
26564        * bindings/v8/ScriptController.cpp:
26565        (WebCore::ScriptController::mainWorldScriptState):
26566        * bindings/v8/ScriptController.h:
26567        * bindings/v8/ScriptState.cpp:
26568        (WebCore::scriptStateFromPage):
26569
265702009-12-01  Chris Marrin  <cmarrin@apple.com>
26571
26572        Reviewed by Adam Roben.
26573
26574        Changed mallocs to fastMallocs and frees to fastFrees in GraphicsContext3D. Also added error returns
26575        https://bugs.webkit.org/show_bug.cgi?id=30778
26576
26577        * platform/graphics/mac/GraphicsContext3DMac.cpp:
26578        (WebCore::GraphicsContext3D::getProgramInfoLog):
26579        (WebCore::GraphicsContext3D::getShaderInfoLog):
26580        (WebCore::GraphicsContext3D::getShaderSource):
26581        (WebCore::imageToTexture):
26582
265832009-12-01  Mads Ager  <ager@chromium.org>
26584
26585        Reviewed by Eric Seidel.
26586
26587        [V8] Don't crash in DOMWindow event getter in OOM situations
26588        https://bugs.webkit.org/show_bug.cgi?id=32017
26589
26590        Add missing null handle checks in DOMWindow event property
26591        accessors.  V8Proxy::context(frame) can return a null handle in
26592        OOM situations either if failing to initialize a context or if an
26593        OOM is handled gracefully and javascript is disabled.
26594
26595        No new tests because we don't have a good way to test
26596        out-of-memory bugs.
26597
26598        * bindings/v8/custom/V8DOMWindowCustom.cpp:
26599        (WebCore::ACCESSOR_GETTER):
26600        (WebCore::ACCESSOR_SETTER):
26601
266022009-12-01  Chris Marrin  <cmarrin@apple.com>
26603
26604        Reviewed by Oliver Hunt.
26605
26606        Updated HTMLCanvasElement to accept "experimental-webgl" as the context name.
26607        https://bugs.webkit.org/show_bug.cgi?id=31672
26608
26609        * html/HTMLCanvasElement.cpp:
26610        (WebCore::HTMLCanvasElement::getContext):
26611
266122009-12-01  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
26613
26614        Not reviewed: chromium build fix, added missing import.
26615
26616        * inspector/InspectorFrontendHost.cpp:
26617
266182009-12-01  Pavel Feldman  <pfeldman@chromium.org>
26619
26620        Not reviewed: fix windows build via unexcluding generated files from
26621        project.
26622
26623        * WebCore.vcproj/WebCore.vcproj:
26624
266252009-12-01  Mark Rowe  <mrowe@apple.com>
26626
26627        Stop copying IDL files in to the WebCore framework wrapper.
26628
26629        * WebCore.xcodeproj/project.pbxproj:
26630
266312009-12-01  Mark Rowe  <mrowe@apple.com>
26632
26633        Fix the Tiger build by making the Xcode project compatible with Xcode 2.4.
26634
26635        This was probably broken by hand-editing the project file as Xcode itself
26636        knows how to keep project files to a backwards-compatible subset of its format.
26637
26638        * WebCore.xcodeproj/project.pbxproj:
26639
266402009-12-01  Pavel Feldman  <pfeldman@chromium.org>
26641
26642        Not reviewed: windows build fix (bad vcproj in r51528).
26643
26644        * WebCore.vcproj/WebCore.vcproj:
26645
266462009-11-27  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
26647
26648        Reviewed by Timothy Hatcher.
26649
26650        Web Inspector: Split InspectorBackend into three parts: backend,
26651        injected script host and frontend host.
26652        
26653        https://bugs.webkit.org/show_bug.cgi?id=31888
26654
26655        * DerivedSources.make:
26656        * GNUmakefile.am:
26657        * WebCore.gypi:
26658        * WebCore.pro:
26659        * WebCore.vcproj/WebCore.vcproj:
26660        * WebCore.xcodeproj/project.pbxproj:
26661        * WebCoreSources.bkl:
26662        * bindings/js/JSBindingsAllInOne.cpp:
26663        * bindings/js/JSInspectorBackendCustom.cpp: Removed.
26664        * bindings/js/JSInspectorFrontendHostCustom.cpp: Added.
26665        (WebCore::JSInspectorFrontendHost::search):
26666        (WebCore::JSInspectorFrontendHost::setting):
26667        (WebCore::JSInspectorFrontendHost::setSetting):
26668        * bindings/js/ScriptObject.cpp:
26669        (WebCore::ScriptGlobalObject::set):
26670        * bindings/js/ScriptObject.h:
26671        * bindings/v8/DOMObjectsInclude.h:
26672        * bindings/v8/DerivedSourcesAllInOne.cpp:
26673        * bindings/v8/ScriptObject.cpp:
26674        (WebCore::ScriptGlobalObject::set):
26675        * bindings/v8/ScriptObject.h:
26676        * bindings/v8/V8Index.cpp:
26677        * bindings/v8/V8Index.h:
26678        * bindings/v8/custom/V8CustomBinding.h:
26679        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp: Added.
26680        (WebCore::CALLBACK_FUNC_DECL):
26681        * bindings/v8/custom/V8InspectorBackendCustom.cpp: Removed.
26682        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp: Added.
26683        (WebCore::CALLBACK_FUNC_DECL):
26684        * inspector/InjectedScriptHost.cpp: Added.
26685        (WebCore::InjectedScriptHost::InjectedScriptHost):
26686        (WebCore::InjectedScriptHost::~InjectedScriptHost):
26687        (WebCore::InjectedScriptHost::copyText):
26688        (WebCore::InjectedScriptHost::nodeForId):
26689        (WebCore::InjectedScriptHost::wrapObject):
26690        (WebCore::InjectedScriptHost::unwrapObject):
26691        (WebCore::InjectedScriptHost::pushNodePathToFrontend):
26692        (WebCore::InjectedScriptHost::addNodesToSearchResult):
26693        (WebCore::InjectedScriptHost::currentCallFrame):
26694        (WebCore::InjectedScriptHost::databaseForId):
26695        (WebCore::InjectedScriptHost::selectDatabase):
26696        (WebCore::InjectedScriptHost::selectDOMStorage):
26697        (WebCore::InjectedScriptHost::reportDidDispatchOnInjectedScript):
26698        (WebCore::InjectedScriptHost::inspectorDOMAgent):
26699        (WebCore::InjectedScriptHost::inspectorFrontend):
26700        * inspector/InjectedScriptHost.h: Added.
26701        (WebCore::InjectedScriptHost::create):
26702        (WebCore::InjectedScriptHost::inspectorController):
26703        (WebCore::InjectedScriptHost::disconnectController):
26704        * inspector/InjectedScriptHost.idl: Added.
26705        * inspector/InspectorBackend.cpp:
26706        (WebCore::InspectorBackend::InspectorBackend):
26707        (WebCore::InspectorBackend::storeLastActivePanel):
26708        (WebCore::InspectorBackend::toggleNodeSearch):
26709        (WebCore::InspectorBackend::resourceTrackingEnabled):
26710        (WebCore::InspectorBackend::debuggerEnabled):
26711        (WebCore::InspectorBackend::enableDebugger):
26712        (WebCore::InspectorBackend::disableDebugger):
26713        (WebCore::InspectorBackend::addBreakpoint):
26714        (WebCore::InspectorBackend::updateBreakpoint):
26715        (WebCore::InspectorBackend::removeBreakpoint):
26716        (WebCore::InspectorBackend::pauseInDebugger):
26717        (WebCore::InspectorBackend::resumeDebugger):
26718        (WebCore::InspectorBackend::stepOverStatementInDebugger):
26719        (WebCore::InspectorBackend::stepIntoStatementInDebugger):
26720        (WebCore::InspectorBackend::stepOutOfFunctionInDebugger):
26721        (WebCore::InspectorBackend::pauseOnExceptions):
26722        (WebCore::InspectorBackend::setPauseOnExceptions):
26723        (WebCore::InspectorBackend::profilerEnabled):
26724        (WebCore::InspectorBackend::enableProfiler):
26725        (WebCore::InspectorBackend::disableProfiler):
26726        (WebCore::InspectorBackend::startProfiling):
26727        (WebCore::InspectorBackend::stopProfiling):
26728        (WebCore::InspectorBackend::getProfileHeaders):
26729        (WebCore::InspectorBackend::getProfile):
26730        (WebCore::InspectorBackend::currentCallFrame):
26731        (WebCore::InspectorBackend::highlightDOMNode):
26732        (WebCore::InspectorBackend::hideDOMNodeHighlight):
26733        (WebCore::InspectorBackend::getCookies):
26734        (WebCore::InspectorBackend::deleteCookie):
26735        (WebCore::InspectorBackend::didEvaluateForTestInFrontend):
26736        (WebCore::InspectorBackend::nodeForId):
26737        * inspector/InspectorBackend.h:
26738        (WebCore::InspectorBackend::create):
26739        * inspector/InspectorBackend.idl:
26740        * inspector/InspectorController.cpp:
26741        (WebCore::InspectorController::InspectorController):
26742        (WebCore::InspectorController::~InspectorController):
26743        (WebCore::InspectorController::inspectedPageDestroyed):
26744        (WebCore::InspectorController::windowScriptObjectAvailable):
26745        * inspector/InspectorController.h:
26746        (WebCore::InspectorController::inspectorFrontendHost):
26747        (WebCore::InspectorController::injectedScriptHost):
26748        * inspector/InspectorFrontendHost.cpp: Added.
26749        (WebCore::InspectorFrontendHost::InspectorFrontendHost):
26750        (WebCore::InspectorFrontendHost::~InspectorFrontendHost):
26751        (WebCore::InspectorFrontendHost::loaded):
26752        (WebCore::InspectorFrontendHost::attach):
26753        (WebCore::InspectorFrontendHost::detach):
26754        (WebCore::InspectorFrontendHost::closeWindow):
26755        (WebCore::InspectorFrontendHost::windowUnloading):
26756        (WebCore::InspectorFrontendHost::setAttachedWindowHeight):
26757        (WebCore::InspectorFrontendHost::moveWindowBy):
26758        (WebCore::InspectorFrontendHost::localizedStringsURL):
26759        (WebCore::InspectorFrontendHost::hiddenPanels):
26760        (WebCore::InspectorFrontendHost::platform):
26761        (WebCore::InspectorFrontendHost::port):
26762        (WebCore::InspectorFrontendHost::addResourceSourceToFrame):
26763        (WebCore::InspectorFrontendHost::addSourceToFrame):
26764        * inspector/InspectorFrontendHost.h: Added.
26765        (WebCore::InspectorFrontendHost::create):
26766        (WebCore::InspectorFrontendHost::inspectorController):
26767        (WebCore::InspectorFrontendHost::disconnectController):
26768        * inspector/InspectorFrontendHost.idl: Added.
26769        * inspector/front-end/Breakpoint.js:
26770        (WebInspector.Breakpoint.prototype.set condition):
26771        * inspector/front-end/BreakpointsSidebarPane.js:
26772        (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
26773        (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
26774        (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
26775        * inspector/front-end/ConsoleView.js:
26776        (WebInspector.ConsoleView.prototype.clearMessages):
26777        * inspector/front-end/CookieItemsView.js:
26778        (WebInspector.CookieItemsView.prototype._deleteCookieCallback):
26779        * inspector/front-end/DOMAgent.js:
26780        (WebInspector.DOMAgent.prototype.getChildNodesAsync):
26781        (WebInspector.DOMAgent.prototype.setAttributeAsync):
26782        (WebInspector.DOMAgent.prototype.removeAttributeAsync):
26783        (WebInspector.DOMAgent.prototype.setTextNodeValueAsync):
26784        (WebInspector.Cookies.getCookiesAsync):
26785        (WebInspector.EventListeners.getEventListenersForNodeAsync):
26786        * inspector/front-end/DOMStorage.js:
26787        (WebInspector.DOMStorage.prototype.getEntries):
26788        (WebInspector.DOMStorage.prototype.setItem):
26789        (WebInspector.DOMStorage.prototype.removeItem):
26790        * inspector/front-end/Database.js:
26791        (WebInspector.Database.prototype.getTableNames):
26792        * inspector/front-end/ElementsPanel.js:
26793        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
26794        (WebInspector.ElementsPanel.prototype.hide):
26795        (WebInspector.ElementsPanel.prototype.reset):
26796        (WebInspector.ElementsPanel.prototype.handleCopyEvent):
26797        (WebInspector.ElementsPanel.prototype._nodeSearchButtonClicked):
26798        * inspector/front-end/ElementsTreeOutline.js:
26799        (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode.restoreHighlightToHoveredNode):
26800        (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
26801        ():
26802        * inspector/front-end/EventListenersSidebarPane.js:
26803        (WebInspector.EventListenersSidebarPane.prototype):
26804        * inspector/front-end/InjectedScript.js:
26805        (InjectedScript._evaluateAndWrap):
26806        (InjectedScript.performSearch.addNodesToResults):
26807        (InjectedScript.getCallFrames):
26808        (InjectedScript._callFrameForId):
26809        (InjectedScript._clearConsoleMessages):
26810        (InjectedScript._inspectObject):
26811        (InjectedScript._copy):
26812        (InjectedScript._ensureCommandLineAPIInstalled):
26813        (InjectedScript._window):
26814        (InjectedScript._nodeForId):
26815        (InjectedScript._objectForId):
26816        (InjectedScript.pushNodeToFrontend):
26817        (InjectedScript.executeSql):
26818        (InjectedScript.executeSql.errorCallback):
26819        (InjectedScript.executeSql.queryTransaction):
26820        * inspector/front-end/InjectedScriptAccess.js:
26821        (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
26822        (InjectedScriptAccess._installHandler):
26823        * inspector/front-end/InspectorBackendStub.js: Added.
26824        (.WebInspector.InspectorBackendStub):
26825        (.WebInspector.InspectorBackendStub.prototype.wrapCallback):
26826        (.WebInspector.InspectorBackendStub.prototype.platform):
26827        (.WebInspector.InspectorBackendStub.prototype.port):
26828        (.WebInspector.InspectorBackendStub.prototype.closeWindow):
26829        (.WebInspector.InspectorBackendStub.prototype.attach):
26830        (.WebInspector.InspectorBackendStub.prototype.detach):
26831        (.WebInspector.InspectorBackendStub.prototype.storeLastActivePanel):
26832        (.WebInspector.InspectorBackendStub.prototype.clearMessages):
26833        (.WebInspector.InspectorBackendStub.prototype.searchingForNode):
26834        (.WebInspector.InspectorBackendStub.prototype.search):
26835        (.WebInspector.InspectorBackendStub.prototype.toggleNodeSearch):
26836        (.WebInspector.InspectorBackendStub.prototype.setAttachedWindowHeight):
26837        (.WebInspector.InspectorBackendStub.prototype.moveByUnrestricted):
26838        (.WebInspector.InspectorBackendStub.prototype.addResourceSourceToFrame):
26839        (.WebInspector.InspectorBackendStub.prototype.addSourceToFrame):
26840        (.WebInspector.InspectorBackendStub.prototype.getResourceDocumentNode):
26841        (.WebInspector.InspectorBackendStub.prototype.highlightDOMNode):
26842        (.WebInspector.InspectorBackendStub.prototype.hideDOMNodeHighlight):
26843        (.WebInspector.InspectorBackendStub.prototype.inspectedWindow):
26844        (.WebInspector.InspectorBackendStub.prototype.loaded):
26845        (.WebInspector.InspectorBackendStub.prototype.localizedStringsURL):
26846        (.WebInspector.InspectorBackendStub.prototype.windowUnloading):
26847        (.WebInspector.InspectorBackendStub.prototype.hiddenPanels):
26848        (.WebInspector.InspectorBackendStub.prototype.debuggerEnabled):
26849        (.WebInspector.InspectorBackendStub.prototype.enableResourceTracking):
26850        (.WebInspector.InspectorBackendStub.prototype.disableResourceTracking):
26851        (.WebInspector.InspectorBackendStub.prototype.resourceTrackingEnabled):
26852        (.WebInspector.InspectorBackendStub.prototype.enableDebugger):
26853        (.WebInspector.InspectorBackendStub.prototype.disableDebugger):
26854        (.WebInspector.InspectorBackendStub.prototype.addBreakpoint):
26855        (.WebInspector.InspectorBackendStub.prototype.removeBreakpoint):
26856        (.WebInspector.InspectorBackendStub.prototype.updateBreakpoint):
26857        (.WebInspector.InspectorBackendStub.prototype.pauseInDebugger):
26858        (.WebInspector.InspectorBackendStub.prototype.pauseOnExceptions):
26859        (.WebInspector.InspectorBackendStub.prototype.setPauseOnExceptions):
26860        (.WebInspector.InspectorBackendStub.prototype.resumeDebugger):
26861        (.WebInspector.InspectorBackendStub.prototype.profilerEnabled):
26862        (.WebInspector.InspectorBackendStub.prototype.enableProfiler):
26863        (.WebInspector.InspectorBackendStub.prototype.disableProfiler):
26864        (.WebInspector.InspectorBackendStub.prototype.startProfiling):
26865        (.WebInspector.InspectorBackendStub.prototype.stopProfiling):
26866        (.WebInspector.InspectorBackendStub.prototype.getProfileHeaders):
26867        (.WebInspector.InspectorBackendStub.prototype.getProfile):
26868        (.WebInspector.InspectorBackendStub.prototype.takeHeapSnapshot):
26869        (.WebInspector.InspectorBackendStub.prototype.databaseTableNames):
26870        (.WebInspector.InspectorBackendStub.prototype.stepIntoStatementInDebugger):
26871        (.WebInspector.InspectorBackendStub.prototype.stepOutOfFunctionInDebugger):
26872        (.WebInspector.InspectorBackendStub.prototype.stepOverStatementInDebugger):
26873        (.WebInspector.InspectorBackendStub.prototype.setSetting):
26874        (.WebInspector.InspectorBackendStub.prototype.dispatchOnInjectedScript):
26875        (.WebInspector.InspectorBackendStub.prototype.releaseWrapperObjectGroup):
26876        (.WebInspector.InspectorBackendStub.prototype.setting):
26877        * inspector/front-end/InspectorControllerStub.js:
26878        * inspector/front-end/InspectorFrontendHostStub.js: Added.
26879        (.WebInspector.InspectorFrontendHostStub):
26880        (.WebInspector.InspectorFrontendHostStub.prototype.platform):
26881        (.WebInspector.InspectorFrontendHostStub.prototype.port):
26882        (.WebInspector.InspectorFrontendHostStub.prototype.closeWindow):
26883        (.WebInspector.InspectorFrontendHostStub.prototype.attach):
26884        (.WebInspector.InspectorFrontendHostStub.prototype.detach):
26885        (.WebInspector.InspectorFrontendHostStub.prototype.search):
26886        (.WebInspector.InspectorFrontendHostStub.prototype.setAttachedWindowHeight):
26887        (.WebInspector.InspectorFrontendHostStub.prototype.moveWindowBy):
26888        (.WebInspector.InspectorFrontendHostStub.prototype.addResourceSourceToFrame):
26889        (.WebInspector.InspectorFrontendHostStub.prototype.addSourceToFrame):
26890        (.WebInspector.InspectorFrontendHostStub.prototype.loaded):
26891        (.WebInspector.InspectorFrontendHostStub.prototype.localizedStringsURL):
26892        (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels):
26893        (.WebInspector.InspectorFrontendHostStub.prototype.setSetting):
26894        (.WebInspector.InspectorFrontendHostStub.prototype.setting):
26895        * inspector/front-end/ProfileView.js:
26896        (WebInspector.CPUProfileView):
26897        (WebInspector.CPUProfileType.prototype.buttonClicked):
26898        * inspector/front-end/ProfilesPanel.js:
26899        (WebInspector.ProfilesPanel.prototype._updateInterface):
26900        (WebInspector.ProfilesPanel.prototype._enableProfiling):
26901        (WebInspector.ProfilesPanel.prototype._toggleProfiling):
26902        * inspector/front-end/ResourcesPanel.js:
26903        (WebInspector.ResourcesPanel.prototype.reset):
26904        (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
26905        (WebInspector.ResourcesPanel.prototype._enableResourceTracking):
26906        (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
26907        * inspector/front-end/ScriptView.js:
26908        (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded):
26909        * inspector/front-end/ScriptsPanel.js:
26910        (WebInspector.ScriptsPanel.prototype.show):
26911        (WebInspector.ScriptsPanel.prototype.addScript):
26912        (WebInspector.ScriptsPanel.prototype.attachDebuggerWhenShown):
26913        (WebInspector.ScriptsPanel.prototype.reset):
26914        (WebInspector.ScriptsPanel.prototype.canShowResource):
26915        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
26916        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
26917        (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
26918        (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
26919        (WebInspector.ScriptsPanel.prototype._enableDebugging):
26920        (WebInspector.ScriptsPanel.prototype._toggleDebugging):
26921        (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
26922        (WebInspector.ScriptsPanel.prototype._togglePause):
26923        (WebInspector.ScriptsPanel.prototype._stepOverClicked):
26924        (WebInspector.ScriptsPanel.prototype._stepIntoClicked):
26925        (WebInspector.ScriptsPanel.prototype._stepOutClicked):
26926        * inspector/front-end/SourceView.js:
26927        (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
26928        (WebInspector.SourceView.prototype.performSearch.findSearchMatches):
26929        (WebInspector.SourceView.prototype.performSearch):
26930        * inspector/front-end/StylesSidebarPane.js:
26931        (WebInspector.StylesSidebarPane.prototype._changeColorFormat):
26932        * inspector/front-end/TestController.js:
26933        (WebInspector.TestController.prototype.notifyDone):
26934        * inspector/front-end/TimelinePanel.js:
26935        (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
26936        * inspector/front-end/WatchExpressionsSidebarPane.js:
26937        (WebInspector.WatchExpressionsSection.prototype.update):
26938        (WebInspector.WatchExpressionsSection.prototype.loadSavedExpressions):
26939        (WebInspector.WatchExpressionsSection.prototype.saveExpressions):
26940        * inspector/front-end/WebKit.qrc:
26941        * inspector/front-end/inspector.html:
26942        * inspector/front-end/inspector.js:
26943        (WebInspector.pendingDispatches.0.get platform):
26944        (WebInspector.get port):
26945        (WebInspector.set currentPanel):
26946        (WebInspector._createPanels):
26947        (WebInspector._loadPreferences):
26948        (WebInspector.set attached):
26949        (WebInspector._updateHoverHighlight):
26950        (WebInspector.loaded):
26951        (windowLoaded):
26952        (WebInspector.windowUnload):
26953        (WebInspector.close):
26954        (WebInspector.toolbarDrag):
26955        (WebInspector.UIString):
26956
269572009-11-30  Shinichiro Hamaji  <hamaji@chromium.org>
26958
26959        Reviewed by Dan Bernstein.
26960
26961        css2.1/t1205-c566-list-stl-00-e-ag.html is failing
26962        https://bugs.webkit.org/show_bug.cgi?id=23264
26963        css2.1/t1205-c565-list-pos-00-b.html is failing
26964        https://bugs.webkit.org/show_bug.cgi?id=23263
26965
26966        Ignore whitespaces after list markers.
26967        Rendering of this was already done for the case where inside=false.
26968        This fixes the rendering of inside=true case and calcInlinePrefWidths.
26969
26970        Test: fast/lists/calc-width-with-space.html
26971
26972        * rendering/RenderBlock.cpp:
26973        (WebCore::RenderBlock::calcInlinePrefWidths):
26974        * rendering/RenderBlockLineLayout.cpp:
26975        (WebCore::RenderBlock::findNextLineBreak):
26976
269772009-11-30  Fumitoshi Ukai  <ukai@chromium.org>
26978
26979        Unreviewed Chromium build fix introduced by r51212
26980
26981        Fix scriptStateFromNode and ScriptStateFromPage to take DOMWrapperWorld
26982        as the first argument.
26983        Move mainThreadNormalWorld() to ScriptState.{h,cpp}.
26984        Add debuggerWorld() and pluginWorld() in ScriptState.h.
26985
26986        * bindings/v8/ScriptController.cpp:
26987        * bindings/v8/ScriptController.h:
26988        * bindings/v8/ScriptState.cpp:
26989        (WebCore::scriptStateFromNode):
26990        (WebCore::scriptStateFromPage):
26991        (WebCore::mainThreadNormalWorld):
26992        * bindings/v8/ScriptState.h:
26993        (WebCore::debuggerWorld):
26994        (WebCore::pluginWorld):
26995
269962009-11-30  Enrica Casucci  <enrica@apple.com>
26997
26998        Reviewed by Darin Adler.
26999
27000        Can focus but not type into content editable block that contains only non-editable content.
27001        <rdar://problem/5982901>
27002        https://bugs.webkit.org/show_bug.cgi?id=31750
27003        
27004        The goal is to change the way we choose a visible position
27005        after hit detection, by preferring a visually equivalent editable
27006        position if available. By doing this, it is possible to add content
27007        to an editable block that initially contains only non editable elements.
27008
27009        Test: editing/selection/mixed-editability-10.html
27010
27011        * WebCore.base.exp: Changed to match the new signature of downstream
27012        and upstream in the Position class.
27013        * dom/Position.cpp:
27014        (WebCore::Position::atEditingBoundary): Added.
27015        (WebCore::Position::upstream): Modified to allow to cross the boundary
27016        between editable and non editable content if required.
27017        (WebCore::Position::downstream): Modified to allow to cross the boundary
27018        between editable and non editable content if required.
27019        (WebCore::Position::isCandidate): Modified to qualify as candidates positions
27020        that are at the editability boundary.
27021        (WebCore::Position::getInlineBoxAndOffset): Modified to retrieve the inline box
27022        to be used in calculating the caret rectangle.
27023        * dom/Position.h:
27024        (WebCore::Position::):
27025        * dom/PositionIterator.cpp:
27026        (WebCore::PositionIterator::atEditingBoundary): Added.
27027        (WebCore::PositionIterator::isCandidate): Modified to qualify as candidates positions
27028        that are at the editability boundary.
27029        * dom/PositionIterator.h:
27030        * editing/htmlediting.cpp:
27031        (WebCore::firstEditablePositionAfterPositionInRoot): Modified to accept not only
27032        descendants of the editable container, but the container itself.
27033        (WebCore::lastEditablePositionBeforePositionInRoot): Modified to accept not only
27034        descendants of the editable container, but the container itself.
27035        * rendering/RenderObject.cpp:
27036        (WebCore::RenderObject::createVisiblePosition): Added logic to prefer an editable position,
27037        if available.
27038        * rendering/RenderText.cpp:
27039        (WebCore::RenderText::isAllCollapsibleWhitespace): Added.
27040        * rendering/RenderText.h:
27041
270422009-11-30  Kevin Ollivier  <kevino@theolliviers.com>
27043
27044        wx build fix, add header needed for wx build.
27045
27046        * css/CSSFontFaceSrcValue.cpp:
27047
270482009-11-30  Mark Rowe  <mrowe@apple.com>
27049
27050        Reviewed by David Kilzer.
27051
27052        <rdar://problem/7424387> WebCore binary missing symbols when built for x86_64 from a machine that cannot run x86_64 binaries
27053
27054        The check for whether WTF_USE_PLUGIN_HOST_PROCESS is defined occurs under the native architecture of the build machine.
27055        If that is 32-bit then WTF_USE_PLUGIN_HOST_PROCESS will not be defined.  We work around this by forcing the check to
27056        be performed against the x86_64 architecture.
27057
27058        * DerivedSources.make:
27059
270602009-11-30  Beth Dakin  <bdakin@apple.com>
27061
27062        Reviewed by Oliver Hunt.
27063
27064        Fix for https://bugs.webkit.org/show_bug.cgi?id=32000 Crash in 
27065        Safari caused by extreme column-gap and column-width values 
27066        -and corresponding-
27067        <rdar://problem/7425433>
27068
27069        Prevent desiredColumnCount from being less than 1 since it is used 
27070        as a divisor.
27071        * rendering/RenderBlock.cpp:
27072        (WebCore::RenderBlock::calcColumnWidth):
27073
270742009-11-30  Alexey Proskuryakov  <ap@apple.com>
27075
27076        Reviewed by Oliver Hunt.
27077
27078        https://bugs.webkit.org/show_bug.cgi?id=31659
27079        Connection must be closed in case of Web Socket handshake error
27080
27081        The network connection was closed, but the close event wasn't dispatched.
27082
27083        Tested by websocket/tests/handshake-error.html, which is un-skipped now.
27084
27085        * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::platformClose):
27086        Call client didHandle() method. This looks strange in CFNetwork implementation, because
27087        it's the client that asked to close the stream, so it shouldn't need the callback. It makes
27088        more sense in cross-process implementation, because closing is async there.
27089
270902009-11-30  Gavin Barraclough  <barraclough@apple.com>
27091
27092        Reviewed by Geoff Garen.
27093
27094        Bug 31859 - Make world selection for JSC IsolatedWorlds automagical.
27095
27096        WebCore presently has to explicitly specify the world before entering into JSC,
27097        which is a little fragile (particularly since property access via a
27098        getter/setter might invoke execution). Instead derive the current world from
27099        the lexical global object.
27100
27101        Remove the last uses of mainThreadCurrentWorld(), so the world is always obtained via
27102        currentWorld().  Switch this to obtain the world from the ExecsState's lexical global
27103        object instead.  Remove the call/construct/evaluate 'InWorld' methods, since these
27104        are no longer necessary.
27105
27106        * WebCore.base.exp:
27107        * bindings/js/JSCallbackData.cpp:
27108        (WebCore::JSCallbackData::invokeCallback):
27109        * bindings/js/JSCallbackData.h:
27110        (WebCore::JSCallbackData::JSCallbackData):
27111        * bindings/js/JSCustomXPathNSResolver.cpp:
27112        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
27113        * bindings/js/JSDOMBinding.cpp:
27114        (WebCore::currentWorld):
27115        (WebCore::mainThreadNormalWorld):
27116        * bindings/js/JSDOMBinding.h:
27117        (WebCore::WebCoreJSClientData::WebCoreJSClientData):
27118        * bindings/js/JSDOMWindowBase.cpp:
27119        (WebCore::JSDOMWindowBase::updateDocument):
27120        * bindings/js/JSDOMWindowBase.h:
27121        * bindings/js/JSEventListener.cpp:
27122        (WebCore::JSEventListener::handleEvent):
27123        (WebCore::JSEventListener::reportError):
27124        * bindings/js/JSHTMLDocumentCustom.cpp:
27125        (WebCore::JSHTMLDocument::open):
27126        * bindings/js/JSNodeFilterCondition.cpp:
27127        (WebCore::JSNodeFilterCondition::acceptNode):
27128        * bindings/js/JSQuarantinedObjectWrapper.cpp:
27129        (WebCore::JSQuarantinedObjectWrapper::construct):
27130        (WebCore::JSQuarantinedObjectWrapper::call):
27131        * bindings/js/ScheduledAction.cpp:
27132        (WebCore::ScheduledAction::executeFunctionInContext):
27133        * bindings/js/ScriptController.cpp:
27134        (WebCore::ScriptController::evaluateInWorld):
27135        (WebCore::ScriptController::initScript):
27136        (WebCore::ScriptController::updateDocument):
27137        * bindings/js/ScriptFunctionCall.cpp:
27138        (WebCore::ScriptFunctionCall::call):
27139        (WebCore::ScriptFunctionCall::construct):
27140        * bindings/js/ScriptObjectQuarantine.cpp:
27141        (WebCore::getQuarantinedScriptObject):
27142        * bindings/js/ScriptState.cpp:
27143        (WebCore::scriptStateFromNode):
27144        (WebCore::scriptStateFromPage):
27145        * bindings/js/ScriptState.h:
27146        * bindings/js/WorkerScriptController.cpp:
27147        (WebCore::WorkerScriptController::evaluate):
27148        * bindings/objc/WebScriptObject.mm:
27149        (-[WebScriptObject callWebScriptMethod:withArguments:]):
27150        (-[WebScriptObject evaluateWebScript:]):
27151        * bridge/NP_jsobject.cpp:
27152        (_NPN_InvokeDefault):
27153        (_NPN_Invoke):
27154        (_NPN_Evaluate):
27155        (_NPN_Construct):
27156        * bridge/jni/jni_jsobject.mm:
27157        (JavaJSObject::call):
27158        (JavaJSObject::eval):
27159        * dom/NodeFilter.h:
27160        (WebCore::NodeFilter::acceptNode):
27161        * dom/NodeIterator.h:
27162        (WebCore::NodeIterator::nextNode):
27163        (WebCore::NodeIterator::previousNode):
27164        * dom/TreeWalker.h:
27165        (WebCore::TreeWalker::parentNode):
27166        (WebCore::TreeWalker::firstChild):
27167        (WebCore::TreeWalker::lastChild):
27168        (WebCore::TreeWalker::previousSibling):
27169        (WebCore::TreeWalker::nextSibling):
27170        (WebCore::TreeWalker::previousNode):
27171        (WebCore::TreeWalker::nextNode):
27172        * inspector/InspectorController.cpp:
27173        (WebCore::InspectorController::windowScriptObjectAvailable):
27174        (WebCore::InspectorController::didEvaluateForTestInFrontend):
27175        * inspector/JavaScriptCallFrame.cpp:
27176        (WebCore::JavaScriptCallFrame::evaluate):
27177
271782009-11-30  Eric Carlson  <eric.carlson@apple.com>
27179
27180        Reviewed by Simon Fraser.
27181
27182        All HTML5 media element events should be regular events
27183        https://bugs.webkit.org/show_bug.cgi?id=30513
27184
27185        * html/HTMLMediaElement.cpp:
27186        (WebCore::HTMLMediaElement::selectMediaResource):
27187        (WebCore::HTMLMediaElement::noneSupported):
27188        (WebCore::HTMLMediaElement::mediaEngineError):
27189        (WebCore::HTMLMediaElement::setNetworkState):
27190        (WebCore::HTMLMediaElement::userCancelledLoad):
27191            Call scheduleEvent instead of scheduleProgressEvent.
27192        (WebCore::HTMLMediaElement::progressEventTimerFired):
27193            Call scheduleEvent instead of scheduleProgressEvent. Call renderer->updateFromElement
27194            after scheduling a 'progress' event so the controller will update download
27195            progress indicator.
27196        * html/HTMLMediaElement.h:
27197            Remove scheduleProgressEvent prototype.
27198
271992009-11-30  Joseph Pecoraro  <joepeck@webkit.org>
27200
27201        Reviewed by Pavel Feldman.
27202
27203        Web Inspector: Wrong console output for Regexp escape sequence
27204        https://bugs.webkit.org/show_bug.cgi?id=31538
27205
27206        Updated inspector/console-format.html
27207
27208        * inspector/front-end/ConsoleView.js:
27209        (WebInspector.ConsoleView.createDividerElement): style issues.
27210        (WebInspector.ConsoleView.createFilterElement): style issues.
27211        (WebInspector.ConsoleView): added _customFormatters table.
27212        (WebInspector.ConsoleView.prototype.updateMessageRepeatCount): style isses.
27213        (WebInspector.ConsoleView.prototype._incrementErrorWarningCount): style issues.
27214        (WebInspector.ConsoleView.prototype._format): simplified delegation to formatter logic.
27215        (WebInspector.ConsoleView.prototype._formatobject):
27216        (WebInspector.ConsoleView.prototype._formatnode):
27217        (WebInspector.ConsoleView.prototype._printArray):
27218        (WebInspector.ConsoleMessage.prototype._format): commented and broke down the algorithm into parts.
27219        (WebInspector.ConsoleMessage.prototype._formatWithSubstitutionString.append): handle substitution string formatting.
27220        (WebInspector.ConsoleMessage.prototype._formatIndividualValue): handling individual value formatting.
27221        (WebInspector.ConsoleCommandResult):
27222        * inspector/front-end/InjectedScript.js: simplified regex formatting.
27223        * inspector/front-end/inspector.js:
27224        (WebInspector.linkifyStringAsFragment): converted new RegExp to literal for performance benefits.
27225        * inspector/front-end/utilities.js: 
27226        (Element.prototype.hasStyleClass): update inaccurate comment.
27227        (String.prototype.trimURL): converted new RegExp to literal for performance benefits.
27228
272292009-11-30  Erik Arvidsson  <arv@chromium.org>
27230
27231        Reviewed by Adam Barth.
27232
27233        Clean up V8 bindings for CSSStyleDeclaration and CSSVariableDeclaration
27234        https://bugs.webkit.org/show_bug.cgi?id=31895
27235
27236        No new tests. This is already covered by:
27237                fast/dom/CSSStyleDeclaration/css-computed-style-item.html
27238                fast/dom/CSSStyleDeclaration/css-style-item.html
27239
27240        * bindings/v8/V8Collection.h:
27241        (WebCore::collectionStringIndexedPropertyGetter):
27242        (WebCore::setCollectionStringIndexedGetter):
27243        * bindings/v8/V8DOMWrapper.cpp:
27244        (WebCore::V8DOMWrapper::getTemplate):
27245
272462009-11-30  Steve Block  <steveblock@google.com>
27247
27248        Reviewed by Eric Seidel.
27249
27250        Adds include of wtf/StdLibExtras.h for DEFINE_STATIC_LOCAL in V8 ScriptController.
27251        https://bugs.webkit.org/show_bug.cgi?id=31932
27252
27253        Build fix only, no new tests.
27254
27255        * bindings/v8/ScriptController.cpp: Modified. Adds include of wtf/StdLibExtras.h.
27256
272572009-11-30  Steve Block  <steveblock@google.com>
27258
27259        Reviewed by Eric Seidel.
27260
27261        Adds PassOwnPtr include to ScriptExecutionContext.h.
27262        https://bugs.webkit.org/show_bug.cgi?id=31929
27263
27264        Build fix only, no new tests.
27265
27266        * dom/ScriptExecutionContext.h: Modified. Adds PassOwnPtr include.
27267
272682009-11-30  Dirk Schulze  <krit@webkit.org>
27269
27270        Reviewed by Nikolas Zimmermann.
27271
27272        REGRESSION (r49757): masking-mask-01-b.svg rendered incorrectly
27273        [https://bugs.webkit.org/show_bug.cgi?id=31980]
27274
27275        It turns out, that we did not handle maskUnits="userSpaceOnUse"
27276        correctly. We just need to move the context of the maskImage
27277        if maskContentUnits="objectBoundingBox". The context gets scaled
27278        on this unit combination, so we have to substract the position of
27279        the targetRect. On userSpaceOnUse the position just depends on the
27280        position of the mask element.
27281        I added a test with some senseless and reasonable values for size
27282        and postion of the mask and it's contents. I also used every
27283        combination of maskUnits and maskContentUnits to be sure, that it
27284        is fixed this time.
27285
27286        Test: svg/custom/mask-with-all-units.svg
27287
27288        * svg/SVGMaskElement.cpp:
27289        (WebCore::SVGMaskElement::drawMaskerContent):
27290
272912009-11-30  Steve Block  <steveblock@google.com>
27292
27293        Reviewed by Eric Seidel.
27294
27295        Adds ENABLE(INSPECTOR) guards around DOMWindow::inspectorTimelineAgent.
27296        https://bugs.webkit.org/show_bug.cgi?id=31928
27297
27298        Build fix only, no new tests.
27299
27300        * page/DOMWindow.cpp: Modified. Adds ENABLE(INSPECTOR) guards around DOMWindow::inspectorTimelineAgent.
27301
273022009-11-30  Steve Block  <steveblock@google.com>
27303
27304        Reviewed by Eric Seidel.
27305
27306        Adds SHARED_WORKERS guards to V8 WorkerContextExecutionProxy.
27307        https://bugs.webkit.org/show_bug.cgi?id=31926
27308
27309        Build fix only, no new tests.
27310
27311        * bindings/v8/WorkerContextExecutionProxy.cpp:
27312        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
27313        (WebCore::WorkerContextExecutionProxy::convertToV8Object):
27314        (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
27315
273162009-11-30  Benjamin Poulain  <benjamin.poulain@nokia.com>
27317
27318        Reviewed by Kenneth Rohde Christiansen.
27319
27320        Chrome::contentsSizeChanged() is called when the content size has not changed
27321        https://bugs.webkit.org/show_bug.cgi?id=31978
27322
27323        Do not trigger contentsSizeChaned() is the new size is the same as the old one.
27324
27325        * page/FrameView.cpp:
27326        (WebCore::FrameView::setContentsSize):
27327
273282009-11-30  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
27329
27330        Reviewed by Kenneth Rohde Christiansen.
27331
27332        [Qt] Fix some compiler warnings seen on QtWebKit/Mac
27333        https://bugs.webkit.org/show_bug.cgi?id=31962
27334
27335        No new tests as there is no functional change.
27336
27337        * platform/network/ResourceHandle.h: Make destructor virtual as 
27338        after r50772 ResourceHandle has virtual functions.
27339
27340        * plugins/mac/PluginPackageMac.cpp: 
27341        (WebCore::PluginPackage::fetchInfo): Fix typo WTF is a namespace
27342        not a label
27343
27344        * plugins/mac/PluginViewMac.cpp:
27345        (WebCore::PluginView::setNPWindowIfNeeded): Add l to the format
27346        specifier
27347
273482009-11-30  Xan Lopez  <xlopez@igalia.com>
27349
27350        Reviewed by Gustavo Noronha.
27351
27352        Add new headers to sources list.
27353
27354        * GNUmakefile.am:
27355
273562009-11-30  Girish Ramakrishnan  <girish@forwardbias.in>
27357
27358        Reviewed by Holger Freyther.
27359
27360        [Qt] Mac Plugins : Get context menu to work in QGraphicsView
27361        
27362        Flash expects the value in record.where to be the global position for
27363        displaying the context menu.
27364        
27365        https://bugs.webkit.org/show_bug.cgi?id=31979
27366
27367        * plugins/mac/PluginViewMac.cpp:
27368        (WebCore::PluginView::handleMouseEvent):
27369
273702009-11-30  Steve Block  <steveblock@google.com>
27371
27372        Reviewed by Eric Seidel.
27373
27374        Adds PLATFORM(CHROMIUM) guards around memory usage code in V8GCController.
27375        https://bugs.webkit.org/show_bug.cgi?id=31925
27376
27377        This code uses ChromiumBridge and Chromium-specific constant values not
27378        appropriate for other platforms such as Android.
27379
27380        Build fix only, no new tests.
27381
27382        * bindings/v8/V8GCController.cpp: Modified. Adds PLATFORM(CHROMIUM) around Chromium-specific code.
27383
273842009-11-29  Brent Fulgham  <bfulgham@webkit.org>
27385
27386        Build fix.
27387
27388        Correct draw signature used in ImageCairoWin.cpp.
27389
27390        * platform/graphics/win/ImageCairoWin.cpp:
27391        (WebCore::BitmapImage::getHBITMAPOfSize):
27392        (WebCore::BitmapImage::drawFrameMatchingSourceSize):
27393
273942009-11-28  Oliver Hunt  <oliver@apple.com>
27395
27396        Reviewed by Sam Weinig.
27397
27398        postMessage should serialize File objects
27399        https://bugs.webkit.org/show_bug.cgi?id=31955
27400
27401        Update SerializedScriptValue to include support for
27402        File objects in the serialized object graph.
27403
27404        * bindings/js/SerializedScriptValue.cpp:
27405        (WebCore::SerializedScriptValueData::SerializedScriptValueData):
27406        (WebCore::SerializingTreeWalker::convertIfTerminal):
27407        (WebCore::DeserializingTreeWalker::convertIfTerminal):
27408        * bindings/js/SerializedScriptValue.h:
27409        (WebCore::SerializedScriptValueData::):
27410        (WebCore::SerializedScriptValueData::asString):
27411
274122009-11-29  Simon Fraser  <simon.fraser@apple.com>
27413
27414        Reviewed by Dan Bernstein.
27415
27416        Optimize the hierarchy rebuilding of compositing layers
27417        https://bugs.webkit.org/show_bug.cgi?id=31879
27418        
27419        When updating the compositing layer hierarchy, instead of removing all
27420        child layers and then re-adding them one by one, build a vector of child
27421        layers, and set them in one go.
27422        
27423        * platform/graphics/GraphicsLayer.h:
27424        * platform/graphics/GraphicsLayer.cpp:
27425        (WebCore::GraphicsLayer::setChildren): New method that takes a Vector of child
27426        GraphicsLayers.
27427        
27428        * platform/graphics/mac/GraphicsLayerCA.h: Override setChildren().
27429        * platform/graphics/win/GraphicsLayerCACF.h: Ditto.
27430        * platform/graphics/mac/GraphicsLayerCA.mm: 
27431        (WebCore::GraphicsLayerCA::setChildren): Implement setChildren() to 
27432        set the bit that notes that sublayers changed.
27433        * platform/graphics/win/GraphicsLayerCACF.cpp:
27434        (WebCore::GraphicsLayerCACF::setChildren): Implement setChildren() to 
27435        udpate sublayers, with a note that this is not efficient.
27436        
27437        * rendering/RenderLayerCompositor.h:
27438        * rendering/RenderLayerCompositor.cpp:
27439        (WebCore::RenderLayerCompositor::updateCompositingLayers):
27440        When updating compositing layers, use the faster updateLayerTreeGeometry() if
27441        we know that no layer hierarchy changes are needed, and, at the root, use
27442        the vector returned from rebuildCompositingLayerTree() to attach the root
27443        layer.
27444        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Changed to
27445        collect child layers into Vectors of GraphicsLayers, which can be set as
27446        layer children in one go.
27447        (WebCore::RenderLayerCompositor::updateLayerTreeGeometry): Split out from
27448        rebuildCompositingLayerTree() for simplicity, and called when we just need to
27449        update layer geometry, without doing any reparenting.
27450
274512009-11-29  Daniel Bates  <dbates@webkit.org>
27452
27453        Reviewed by Adam Barth.
27454
27455        https://bugs.webkit.org/show_bug.cgi?id=31971
27456
27457        Updated comment to reflect latest XSSAuditor bindings.
27458
27459        No functionality was changed. So, no new tests.
27460
27461        * page/XSSAuditor.h:
27462
274632009-11-29  Daniel Bates  <dbates@webkit.org>
27464
27465        Reviewed by Eric Seidel.
27466
27467        https://bugs.webkit.org/show_bug.cgi?id=31969
27468
27469        Removes unnecessary #include files.
27470
27471        No functionality was changed. So, no new tests.
27472
27473        * css/CSSComputedStyleDeclaration.cpp: Removed include CachedImage.h, and
27474        Pair.h
27475        * css/CSSCursorImageValue.cpp: Removed include RenderStyle.h
27476        * css/CSSFontFaceSrcValue.cpp: Removed include Node.h
27477        * css/CSSFontSelector.cpp: Removed include NodeList.h
27478        * css/CSSGradientValue.cpp: Removed include GraphicsContext.h, ImageBuffer.h
27479        * css/CSSImageValue.cpp: Removed include RenderStyle.h
27480        * css/CSSImportRule.cpp: Removed include MediaList.h
27481        * css/CSSMutableStyleDeclaration.cpp: Removed include CSSProperty.h
27482        * css/CSSRule.cpp: Removed include CSSStyleSheet.h
27483        * css/CSSStyleSelector.cpp: Removed include CSSFontFace.h,
27484        CSSFontFaceSource.h, and CSSProperty.h
27485        * page/EventSource.h: Removed include EventListener.h
27486
274872009-11-29  Daniel Bates  <dbates@webkit.org>
27488
27489        Reviewed by Eric Seidel.
27490
27491        https://bugs.webkit.org/show_bug.cgi?id=31965
27492
27493        Removed #include KeyframeList.h from CSSStyleSelector.h. Instead,
27494        forward declared it.
27495
27496        As a side effect, we need to #include KeyframeList.h in
27497        RenderLayerBacking.cpp.
27498
27499        No functionality was changed. So, no new tests.
27500
27501        * css/CSSStyleSelector.cpp:
27502        * css/CSSStyleSelector.h: Removed #include KeyframeList.h
27503        * rendering/RenderLayerBacking.cpp: Added #include KeyframeList.h
27504
275052009-11-29  Shu Chang  <Chang.Shu@nokia.com>
27506
27507        Reviewed by Eric Seidel.
27508
27509        Continue to search for matching node in the case where multiple nodes
27510        have the same id.
27511        https://bugs.webkit.org/show_bug.cgi?id=31428
27512
27513        Test: fast/dom/Element/id-in-node-list-index01.html
27514
27515        * dom/DynamicNodeList.cpp:
27516        (WebCore::DynamicNodeList::itemWithName):
27517
275182009-11-29  Daniel Bates  <dbates@webkit.org>
27519
27520        Reviewed by Eric Seidel.
27521
27522        https://bugs.webkit.org/show_bug.cgi?id=31966
27523
27524        Removed #include RenderStyle.h from file KeyframeAnimation.h. Instead,
27525        forward declared it.
27526
27527        No functionality was changed. So, no new tests.
27528
27529        * page/animation/KeyframeAnimation.cpp:
27530        * page/animation/KeyframeAnimation.h:
27531
275322009-11-29  Daniel Bates  <dbates@webkit.org>
27533
27534        Unreviewed, fix change log entry date.
27535
27536        For some reason, bugzilla-tool did not update the date in the change
27537        log entry for my last commit (r51468). So, this commit fixes the date
27538        of that entry.
27539
275402009-11-29  Daniel Bates  <dbates@webkit.org>
27541
27542        Reviewed by Dan Bernstein.
27543
27544        https://bugs.webkit.org/show_bug.cgi?id=31964
27545
27546        Removed #include StringImpl, StyleImage. Instead, forward declared them.
27547        Also, we can substitute #include <wtf/PassRefPtr.h> for #include PlatformString.h,
27548        since it seems we only really used it to include PassRefPtr.h.
27549
27550        No functionality was changed. So, no new tests.
27551
27552        * rendering/style/ContentData.h:
27553
275542009-11-29  Zoltan Horvath  <zoltan@webkit.org>
27555
27556        Reviewed by Eric Seidel.
27557
27558        Allow custom memory allocation control for classes of the rendering and storage directory in WebCore
27559        https://bugs.webkit.org/show_bug.cgi?id=31906
27560
27561        Inherits the following classes from Noncopyable because these are instantiated
27562        by 'new' and no need to be copyable:
27563
27564        class/struct name               - instantiated at: WebCore/'location'
27565
27566        class SQLTransactionClient      - storage/DatabaseThread.cpp:45
27567        class SQLTransactionCoordinator - storage/DatabaseThread.cpp:46
27568        class OriginUsageRecord         - storage/OriginQuotaManager.cpp:66
27569        class DatabaseTracker           - storage/DatabaseTracker.cpp:62
27570        class ScrollbarTheme            - (its child class) rendering/RenderScrollbarTheme.cpp:35
27571        class RenderSelectionInfoBase   - (its child class) rendering/RenderView.cpp:310
27572        class RenderOverflow            - rendering/RenderBox.cpp:2846
27573
27574        Inherits the following classes from FastAllocBase because these are instantiated by 'new':
27575
27576        struct FillLayer                - css/CSSStyleSelector.cpp:197
27577        struct ShadowData               - rendering/style/ShadowData.cpp:35
27578        class CounterContent            - css/CSSStyleSelector.cpp:4111
27579
27580        * platform/ScrollbarTheme.h:
27581        * rendering/RenderOverflow.h:
27582        * rendering/RenderSelectionInfo.h:
27583        * rendering/style/CounterContent.h:
27584        * rendering/style/FillLayer.h:
27585        * rendering/style/ShadowData.h:
27586        * storage/DatabaseTracker.h:
27587        * storage/OriginUsageRecord.h:
27588        * storage/SQLTransactionClient.h:
27589        * storage/SQLTransactionCoordinator.h:
27590
275912009-11-28  Adam Barth  <abarth@webkit.org>
27592
27593        Reviewed by Dimitri Glazkov.
27594
27595        [Chromium] Sify compose button alerts error
27596        https://bugs.webkit.org/show_bug.cgi?id=31394
27597
27598        Test: http/tests/security/calling-versus-current.html
27599
27600        We're supposed to use the calling context for security checks.  In JSC
27601        land, this is the lexicalGlobalObject.
27602
27603        * bindings/v8/V8Proxy.cpp:
27604        (WebCore::V8Proxy::canAccessPrivate):
27605
276062009-11-27  Shinichiro Hamaji  <hamaji@chromium.org>
27607
27608        Unreviewed Chromium build fix introduced by r51428.
27609
27610        [Chromium] Ignore line-height CSS property for PushButton
27611        https://bugs.webkit.org/show_bug.cgi?id=31712
27612
27613        * rendering/RenderThemeChromiumSkia.cpp:
27614        (WebCore::RenderThemeChromiumSkia::adjustButtonStyle):
27615
276162009-11-27  Shinichiro Hamaji  <hamaji@chromium.org>
27617
27618        Unreviewed Chromium test fix by reverting r51413.
27619
27620        [v8] Do not check the thread when accessing DOMDataStore
27621        https://bugs.webkit.org/show_bug.cgi?id=31877
27622
27623        * bindings/v8/V8DOMMap.cpp:
27624        (WebCore::getDOMNodeMap):
27625        (WebCore::getDOMObjectMap):
27626        (WebCore::getActiveDOMObjectMap):
27627        (WebCore::getDOMSVGElementInstanceMap):
27628        (WebCore::getDOMSVGObjectWithContextMap):
27629
276302009-11-27  Daniel Bates  <dbates@webkit.org>
27631
27632        Unreviewed, comment fix.
27633
27634        Corrected misspelling of the word "implemented".
27635
27636        * inspector/front-end/InjectedScriptAccess.js:
27637
276382009-11-27  Daniel Bates  <dbates@webkit.org>
27639
27640        Reviewed by Adam Barth.
27641
27642        https://bugs.webkit.org/show_bug.cgi?id=31940
27643
27644        Makes the error messages more descriptive when we refuse to load an object/embed or
27645        refuse to load from the document base URL.
27646
27647        * page/XSSAuditor.cpp:
27648        (WebCore::XSSAuditor::canLoadObject): Changed console message to be more descriptive.
27649        (WebCore::XSSAuditor::canSetBaseElementURL): Ditto.
27650
276512009-11-27  Yury Semikhatsky  <yurys@chromium.org>
27652
27653        Reviewed by Pavel Feldman.
27654
27655        This is a WebCore part of the fix that allows to view plugin
27656        resources loaded by plugins.
27657
27658        https://bugs.webkit.org/show_bug.cgi?id=31832
27659
27660        * inspector/InspectorController.cpp:
27661        (WebCore::InspectorController::willSendRequest):
27662        (WebCore::InspectorController::didReceiveResponse):
27663        (WebCore::InspectorController::didReceiveContentLength):
27664        (WebCore::InspectorController::didFinishLoading):
27665        (WebCore::InspectorController::didFailLoading):
27666        * inspector/InspectorController.h:
27667        * inspector/InspectorResource.cpp:
27668        (WebCore::InspectorResource::addLength):
27669        * loader/ResourceLoadNotifier.cpp:
27670        (WebCore::ResourceLoadNotifier::didFailToLoad):
27671        (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
27672        (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
27673        (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
27674        (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
27675
276762009-11-27  Yury Semikhatsky  <yurys@chromium.org>
27677
27678        Reviewed by Pavel Feldman.
27679
27680        Instead of generating negative identifiers for cached resources in
27681        InspectorController and extending identifier type from 'unsigned long' to 'long
27682        long' reuse progress tracker from the inspected page to generate those
27683        identifiers. It guarantees that InspectorResources have unique ids since
27684        all of them are generated by that progress tracker.
27685
27686        Added a couple new overloaded methods to Script* objects that accept
27687        long and unsigned long arguments. These types of argumens have already
27688        been passed as long long.
27689
27690        https://bugs.webkit.org/show_bug.cgi?id=31921
27691
27692        * bindings/js/ScriptFunctionCall.cpp:
27693        (WebCore::ScriptFunctionCall::appendArgument):
27694        * bindings/js/ScriptFunctionCall.h:
27695        * bindings/js/ScriptObject.cpp:
27696        (WebCore::ScriptObject::set):
27697        * bindings/js/ScriptObject.h:
27698        * bindings/v8/ScriptFunctionCall.cpp:
27699        (WebCore::ScriptFunctionCall::appendArgument):
27700        * bindings/v8/ScriptFunctionCall.h:
27701        * bindings/v8/ScriptObject.cpp:
27702        (WebCore::ScriptObject::set):
27703        * bindings/v8/ScriptObject.h:
27704        * inspector/InspectorBackend.cpp:
27705        (WebCore::InspectorBackend::dispatchOnInjectedScript):
27706        * inspector/InspectorController.cpp:
27707        (WebCore::InspectorController::InspectorController):
27708        (WebCore::InspectorController::getTrackedResource):
27709        (WebCore::InspectorController::didLoadResourceFromMemoryCache): Use inspected page's ProgressTracker to generate unique identifiers for cached resources in InspectorController.
27710        * inspector/InspectorController.h:
27711        * inspector/InspectorDOMAgent.cpp:
27712        (WebCore::InspectorDOMAgent::buildObjectForNode):
27713        (WebCore::InspectorDOMAgent::buildObjectForEventListener):
27714        * inspector/InspectorFrontend.cpp:
27715        (WebCore::InspectorFrontend::addResource):
27716        (WebCore::InspectorFrontend::updateResource):
27717        (WebCore::InspectorFrontend::removeResource):
27718        (WebCore::InspectorFrontend::updateFocusedNode):
27719        * inspector/InspectorFrontend.h:
27720        * inspector/InspectorResource.cpp:
27721        (WebCore::InspectorResource::InspectorResource):
27722        (WebCore::InspectorResource::createCached):
27723        * inspector/InspectorResource.h: Change InspectorResource identifier type from 'long long' to 'unsigned long'.
27724        (WebCore::InspectorResource::create):
27725        (WebCore::InspectorResource::identifier):
27726        * inspector/TimelineRecordFactory.cpp:
27727        (WebCore::TimelineRecordFactory::createResourceSendRequestRecord):
27728        (WebCore::TimelineRecordFactory::createResourceReceiveResponseRecord):
27729        (WebCore::TimelineRecordFactory::createResourceFinishRecord):
27730
277312009-11-26  Shinichiro Hamaji  <hamaji@chromium.org>
27732
27733        Reviewed by Dan Bernstein.
27734
27735        Assertion failure in RenderBlock::positionForPointWithInlineChildren when running fast/inline/relative-positioned-overflow.html
27736        https://bugs.webkit.org/show_bug.cgi?id=29966
27737
27738        When an empty inline element is clicked, the root inline box has
27739        no leaf children. Use the renderer of a normal child instead.
27740
27741        This change resolves Windows port's assertion failure in a layout test.
27742        Also, this fixes the behavior when a user drags the mouse from an
27743        empty inline element to above texts.
27744
27745        Test: editing/selection/last-empty-inline.html
27746
27747        * rendering/RenderBlock.cpp:
27748        (WebCore::RenderBlock::positionForPointWithInlineChildren):
27749
277502009-11-26  Kent Tamura  <tkent@chromium.org>
27751
27752        Reviewed by Eric Seidel.
27753
27754        [Chromium] Ignore line-height CSS property specified to push buttons on
27755        Windows and Linux.
27756        https://bugs.webkit.org/show_bug.cgi?id=31712
27757
27758        LayoutTests/fast/forms/control-restrict-line-height.html checks that the
27759        following controls should ignore line-height CSS property.
27760         - <select>
27761         - <input type=button>
27762         - <input type=search>
27763        This change addresses the <input type=button> issue with Chromium/Windows
27764        and Chromium/Linux.
27765        
27766        * rendering/RenderThemeChromiumSkia.cpp: Implement adjustButtonStyle() to ignore line-height.
27767        * rendering/RenderThemeChromiumSkia.h: Declare adjustButtonStyle().
27768
277692009-11-26  Kinuko Yasuda  <kinuko@chromium.com>
27770
27771        Reviewed by Eric Seidel.
27772
27773        Remove the special charset meta tag in the clipboard so that
27774        copy-and-paste with interchange breaklines/spaces works correctly
27775        within WebKit.
27776
27777        No new tests.  Layout tests that involve copy-and-paste with
27778        interchange breaklines (like editing/pasteboard/paste-line-endings-00?)
27779        should pass on Mac/Chromium with this fix.
27780
27781        * platform/chromium/ClipboardChromium.cpp:
27782        * platform/chromium/PasteboardChromium.cpp:
27783        (WebCore::Pasteboard::documentFragment):
27784
277852009-11-26  İsmail Dönmez  <ismail@namtrac.org>
27786
27787        Reviewed by Eric Seidel.
27788
27789        Compile with QT_NO_WHEELEVENT defined.
27790
27791        * platform/qt/WheelEventQt.cpp:
27792        (WebCore::PlatformWheelEvent::applyDelta):
27793
277942009-11-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
27795
27796        Reviewed by Oliver Hunt.
27797
27798        Move GOwnPtr* from wtf to wtf/gtk
27799        https://bugs.webkit.org/show_bug.cgi?id=31793
27800
27801        No new tests as there is no functional change.
27802
27803        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: Change the
27804          path for GOwnPtr.h.
27805        * platform/text/TextEncoding.cpp: Ditto.
27806        * platform/text/gtk/TextCodecGtk.cpp: Ditto.
27807
278082009-11-26  Yury Semikhatsky  <yurys@chromium.org>
27809
27810        Not reviewed. Build fix: revert r51421.
27811
27812        * inspector/InspectorController.cpp:
27813        (WebCore::InspectorController::willSendRequest):
27814        (WebCore::InspectorController::didReceiveResponse):
27815        (WebCore::InspectorController::didReceiveContentLength):
27816        (WebCore::InspectorController::didFinishLoading):
27817        (WebCore::InspectorController::didFailLoading):
27818        * inspector/InspectorController.h:
27819        * inspector/InspectorResource.cpp:
27820        (WebCore::InspectorResource::addLength):
27821        * loader/ResourceLoadNotifier.cpp:
27822        (WebCore::ResourceLoadNotifier::didFailToLoad):
27823        (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
27824        (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
27825        (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
27826        (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
27827
278282009-11-26  Yury Semikhatsky  <yurys@chromium.org>
27829
27830        Reviewed by Pavel Feldman.
27831
27832        This is a WebCore part of the fix that allows to view plugin
27833        resources loaded by plugins.
27834
27835        https://bugs.webkit.org/show_bug.cgi?id=31832
27836
27837        * inspector/InspectorController.cpp:
27838        (WebCore::InspectorController::willSendRequest):
27839        (WebCore::InspectorController::didReceiveResponse):
27840        (WebCore::InspectorController::didReceiveContentLength):
27841        (WebCore::InspectorController::didFinishLoading):
27842        (WebCore::InspectorController::didFailLoading):
27843        * inspector/InspectorController.h: Remove unused DocumentLoader parameters from inspector methods.
27844        * inspector/InspectorResource.cpp:
27845        (WebCore::InspectorResource::addLength): Update loading end time when new data are received.
27846        * loader/ResourceLoadNotifier.cpp:
27847        (WebCore::ResourceLoadNotifier::didFailToLoad): Notify InspectorController about the failure.
27848        (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
27849        (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
27850        (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
27851        (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
27852
278532009-11-26  Daniel Bates  <dbates@webkit.org>
27854
27855        Reviewed by Pavel Feldman.
27856
27857        https://bugs.webkit.org/show_bug.cgi?id=21554
27858
27859        Implements support for hovering over <img> src to display the height and width of that image
27860        in a tooltip. Displays both the displayable and natural dimensions of the image.
27861
27862        Test: inspector/elements-img-tooltip.html
27863
27864        * inspector/front-end/ElementsTreeOutline.js:
27865        (WebInspector.ElementsTreeElement.prototype.createTooltipForImageNode): Added.
27866        (WebInspector.ElementsTreeElement.prototype._updateTitle.callback):
27867        (WebInspector.ElementsTreeElement.prototype._updateTitle):
27868        (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
27869        * inspector/front-end/ObjectProxy.js:
27870        (WebInspector.ObjectProxy.getPropertiesAsync): Added.
27871        * inspector/front-end/inspector.js:
27872        (WebInspector.linkifyURLAsNode): Added tooltipText argument.
27873        (WebInspector.linkifyURL): Ditto.
27874
278752009-11-26  Kevin Ollivier  <kevino@theolliviers.com>
27876
27877        wx build fix after drawPattern API change.
27878
27879        * platform/graphics/wx/ImageWx.cpp:
27880        (WebCore::Image::drawPattern):
27881
278822009-11-26  Anton Muhin  <antonm@chromium.org>
27883
27884        Reviewed by Adam Barth.
27885
27886        Use an internal field instead of hidden property to speedup lookup
27887        of entered isolated world.
27888
27889        Plus some inlinings.
27890        https://bugs.webkit.org/show_bug.cgi?id=31884
27891
27892        Covered by layout tests + manual running of some benchmarks as
27893        content scripts.
27894
27895        * bindings/v8/V8DOMWrapper.cpp:
27896        * bindings/v8/V8DOMWrapper.h:
27897        (WebCore::V8DOMWrapper::setDOMWrapper):
27898        * bindings/v8/V8HiddenPropertyName.h:
27899        * bindings/v8/V8IsolatedWorld.cpp:
27900        (WebCore::V8IsolatedWorld::V8IsolatedWorld):
27901        * bindings/v8/V8IsolatedWorld.h:
27902        (WebCore::V8IsolatedWorld::getEntered):
27903        (WebCore::V8IsolatedWorld::getGlobalObject):
27904        * bindings/v8/custom/V8CustomBinding.h:
27905
279062009-11-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
27907
27908        Reviewed by Kenneth Rohde Christiansen.
27909
27910        [Qt] Corrects build break on Windows.
27911
27912        Rename platform/text/qt/TextBoundaries.cpp to TextBoundariesQt.cpp since
27913        platform/text/TextBoundaries.cpp was compiled instead when compiling with nmake.
27914
27915        * WebCore.pro:
27916        * platform/text/qt/TextBoundariesQt.cpp: Renamed from WebCore/platform/text/qt/TextBoundaries.cpp.
27917        (WebCore::findNextWordFromIndex):
27918        (WebCore::findWordBoundary):
27919
279202009-11-26  Anton Muhin  <antonm@chromium.org>
27921
27922        Reviewed by Adam Barth.
27923
27924        Do not check if the thread is main or not when accessing DOMDataStore as currently in Chromium WebKit is used in main thread only.
27925        https://bugs.webkit.org/show_bug.cgi?id=31877
27926
27927        Covered by layout tests and buildbots.
27928
27929        * bindings/v8/V8DOMMap.cpp:
27930        (WebCore::getDOMNodeMap):
27931        (WebCore::getDOMObjectMap):
27932        (WebCore::getActiveDOMObjectMap):
27933        (WebCore::getDOMSVGElementInstanceMap):
27934        (WebCore::getDOMSVGObjectWithContextMap):
27935
279362009-11-26  Girish Ramakrishnan  <girish@forwardbias.in>
27937
27938        Reviewed by Holger Freyther.
27939
27940        [Qt] Mac Plugins : Pass mouse position relative to the fake window
27941        
27942        When using off-screen rendering, we need to pass mouse events relative
27943        to the fake window instead of the global position.
27944        
27945        https://bugs.webkit.org/show_bug.cgi?id=31794
27946
27947        * plugins/mac/PluginViewMac.cpp:
27948        (WebCore::PluginView::platformStart):
27949        (WebCore::PluginView::handleMouseEvent):
27950
279512009-11-24  Holger Hans Peter Freyther  <zecke@selfish.org>
27952
27953        Reviewed by Eric Seidel.
27954
27955        [Qt] Use QNetworkReply::rawHeaderPairs
27956        https://bugs.webkit.org/show_bug.cgi?id=31826
27957
27958        The QNetworkReply is internally storing the HTTP headers
27959        as a list of pairs. Currently we have to ask the QNetworkReply
27960        to put all header names into a QStringList. Afterwards we will
27961        iterate over this QStringList and ask the QNetworkReply to
27962        give us the value for this header name. The current Qt implementation
27963        is doing a linear to find the header value.
27964
27965        Use a new API to directly access the list of pairs and push
27966        this into WebCore. This avoids doing some allocations and doing
27967        linear searches from within a loop.
27968
27969        * platform/network/qt/QNetworkReplyHandler.cpp:
27970        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
27971
279722009-11-21  Holger Hans Peter Freyther  <zecke@selfish.org>
27973
27974        Reviewed by Kenneth Rohde Christiansen.
27975
27976        [Qt] Add Qt specific information of RenderPart
27977        https://bugs.webkit.org/show_bug.cgi?id=31203
27978
27979        The WebCore::Widget of the RenderPart (RenderWidget) might be
27980        backed with a platform widget. Print both the WebCore::Widget
27981        and platform widget state. In the above bug we had a problem
27982        that the WebCore::Widget was invisible but the QWidget was
27983        visible.
27984
27985        * rendering/RenderTreeAsText.cpp:
27986        (WebCore::operator<<): Add special case for RenderPart
27987
279882009-11-17  Holger Hans Peter Freyther  <zecke@selfish.org>
27989
27990        Reviewed by Kenneth Rohde Christiansen.
27991
27992        [Qt] Call Widget::setSelfVisible from hide/show
27993        https://bugs.webkit.org/show_bug.cgi?id=31203
27994
27995        Call Widget::setSelfVisible from Widget::show and
27996        Widget::hide and use isParentVisible to decide
27997        if the widget should be shown. This way client
27998        code can rely on isVisible.
27999
28000        Change PluginViewQt::show, PluginViewQt::hide to
28001        call the base class as it is doing the right thing
28002        now. Add an assert verify that platfomWidget and
28003        platformPluginWidget are the same.
28004
28005        * manual-tests/qt/qtplugin.html: Modify manual test
28006        * platform/qt/WidgetQt.cpp:
28007        (WebCore::Widget::show):
28008        (WebCore::Widget::hide):
28009        * plugins/qt/PluginViewQt.cpp:
28010        (WebCore::PluginView::show):
28011        (WebCore::PluginView::hide):
28012
280132009-11-24  Holger Hans Peter Freyther  <zecke@selfish.org>
28014
28015        Reviewed by Alexey Proskuryakov.
28016
28017        Fix compilation of REQUEST_DEBUG debug code
28018        https://bugs.webkit.org/show_bug.cgi?id=31850
28019
28020        In r47907 the single parameter KURL constructor to parse
28021        from a WebCore::String was replaced with a two parameter
28022        constructor. I think in this debug case parsing the urls
28023        again is no problem and I have changed the code to use the
28024        two parameter version.
28025
28026        * loader/loader.cpp:
28027        (WebCore::Loader::Host::didFinishLoading):
28028
280292009-11-26  Søren Gjesse  <sgjesse@chromium.org>
28030
28031        Reviewed by Pavel Feldman.
28032
28033        [V8] Avoid using JavaScript objects as context data
28034        https://bugs.webkit.org/show_bug.cgi?id=31873
28035
28036        Change the context "data" from a JavaScript object holding the two properties type and value to
28037        a string holding type and value separated by a comma.
28038
28039        * bindings/v8/V8Proxy.cpp:
28040        (WebCore::V8Proxy::setInjectedScriptContextDebugId):
28041        (WebCore::V8Proxy::setContextDebugId):
28042        (WebCore::V8Proxy::contextDebugId):
28043
280442009-11-25  Dimitri Glazkov  <dglazkov@chromium.org>
28045
28046        Reviewed by David Levin.
28047
28048        [Chromium] Implement canSetValueAttribute in the API, the clean-up part.
28049        https://bugs.webkit.org/show_bug.cgi?id=31894
28050
28051        * accessibility/chromium/AccessibilityObjectWrapper.h: Added RefCounted decl.
28052        (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): Removed mis-refcountingness.
28053
280542009-11-25  Kenneth Russell  <kbr@google.com>
28055
28056        Reviewed by Oliver Hunt.
28057
28058        Off-by-one error in index validation for drawElements and drawArrays
28059        https://bugs.webkit.org/show_bug.cgi?id=31891
28060
28061        Fixed computation of number of elements for bound array objects.
28062
28063        Test: fast/canvas/webgl/index-validation.html
28064
28065        * html/canvas/WebGLRenderingContext.cpp:
28066        (WebCore::WebGLRenderingContext::vertexAttribPointer):
28067
280682009-11-25  Dmitry Titov  <dimich@chromium.org>
28069
28070        Reviewed by David Levin.
28071
28072        Update SharedScript to use eventNames() instead of EventNames()
28073        https://bugs.webkit.org/show_bug.cgi?id=31890
28074
28075        * SharedScript/WebKitSharedScript.cpp:
28076        (WebCore::LoadEventTask::performTask):
28077
280782009-11-25  Eric Carlson  <eric.carlson@apple.com>
28079
28080        Reviewed by Simon Fraser.
28081
28082        <rdar://problem/7409331> Windows: Support closed caption in <video> element
28083
28084        Enable closed captions in QuickTime/Windows media engine.
28085
28086        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
28087        (WebCore::MediaPlayerPrivate::hasClosedCaptions):
28088        (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
28089            New, all through to m_qtMovie.
28090
28091        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
28092            Make all but the destructor private since MediaPlayer call through the media
28093            engine interface.
28094
28095        * platform/graphics/win/QTMovieWin.cpp:
28096        (QTMovieWin::disableUnsupportedTracks):
28097            Use handy new constants for QuickTime track types.
28098        (QTMovieWin::hasClosedCaptions):
28099        (QTMovieWin::setClosedCaptionsVisible):
28100            New, closed caption support.
28101        * platform/graphics/win/QTMovieWin.h:
28102
28103        * rendering/RenderMediaControls.cpp:
28104        (WebCore::RenderMediaControls::paintMediaControlsPart):
28105            Deal with closed caption buttons.
28106
28107        * rendering/RenderThemeWin.cpp:
28108        (WebCore::RenderThemeWin::shouldRenderMediaControlPart):
28109            New, don't ask the media engine if it has closed captions unless the Safari theme will
28110            be able to render the button.
28111        (WebCore::RenderThemeWin::paintMediaToggleClosedCaptionsButton):
28112            New.
28113        * rendering/RenderThemeWin.h:
28114
281152009-11-25  Drew Wilson  <atwilson@chromium.org>
28116
28117        Reviewed by David Levin.
28118
28119        MessagePorts always look remotely entangled even when closed.
28120        https://bugs.webkit.org/show_bug.cgi?id=31698
28121
28122        Tests: Existing tests suffice, Chromium soak test passes now.
28123
28124        * bindings/v8/custom/V8CustomBinding.h:
28125        Removed kMessagePortEntangledPortIndex which is no longer used.
28126        * bindings/v8/V8GCController.cpp:
28127        (WebCore::GCPrologueVisitor::visitDOMWrapper):
28128        Simplified GC code to reflect the Chromium MessagePort implementation
28129        (locallyEntangledPort() always returns false).
28130        (WebCore::GCEpilogueVisitor::visitDOMWrapper):
28131        Cleaned up epilogue code to handle the case where the port gets closed
28132        in mid-GC (due to the parent context being freed).
28133        * dom/MessagePort.cpp:
28134        (WebCore::MessagePort::MessagePort):
28135        (WebCore::MessagePort::close):
28136        Now sets the closed flag.
28137        (WebCore::MessagePort::disentanglePorts):
28138        Updated to use new isCloned() API instead of relying on isEntangled(), which was incorrect.
28139        * dom/MessagePort.h:
28140        Added a m_closed flag and updated isEntangled() to check it.
28141        (WebCore::MessagePort::isEntangled):
28142        Now returns false if the port has been closed.
28143        (WebCore::MessagePort::isCloned):
28144        Added new API to differentiate between cloned and closed ports (closed ports can still be passed to postMessage).
28145
281462009-11-25  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
28147
28148        Reviewed by Simon Hausmann.
28149
28150        [Qt] Fix crash of QtWebKit on any page with Flash when compiled with MinGW.
28151
28152        Fix inline assembly, don't dereference the function pointer twice.
28153
28154        * plugins/win/PluginViewWin.cpp:
28155        (WebCore::PluginView::hookedBeginPaint):
28156        (WebCore::PluginView::hookedEndPaint):
28157
281582009-11-22  Jakub Wieczorek  <faw217@gmail.com>
28159
28160        Reviewed by Adam Barth.
28161
28162        [Qt] Remove the Referer header when redirecting to a non-secure site
28163        https://bugs.webkit.org/show_bug.cgi?id=31785
28164
28165        This makes Qt pass two tests introduced in r50226.
28166
28167        * platform/network/qt/QNetworkReplyHandler.cpp:
28168        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
28169
281702009-11-25  Andrei Popescu  <andreip@google.com>
28171
28172        Reviewed by Dimitri Glazkov.
28173
28174        The select elements do not reflect the actual choice the user makes.
28175        https://bugs.webkit.org/show_bug.cgi?id=31831
28176
28177        Handle the drawing of the listboxes in Android code.
28178
28179        No new features, just fixing an Android problem. Existing layout tests are sufficient.
28180
28181        * platform/android/RenderThemeAndroid.cpp:
28182        (WebCore::theme):
28183        (WebCore::RenderThemeAndroid::platformActiveSelectionBackgroundColor):
28184        (WebCore::RenderThemeAndroid::platformActiveListBoxSelectionBackgroundColor):
28185        (WebCore::RenderThemeAndroid::platformInactiveListBoxSelectionBackgroundColor):
28186        (WebCore::RenderThemeAndroid::platformActiveListBoxSelectionForegroundColor):
28187        (WebCore::RenderThemeAndroid::platformInactiveListBoxSelectionForegroundColor):
28188        (WebCore::RenderThemeAndroid::adjustButtonStyle):
28189        (WebCore::RenderThemeAndroid::paintTextArea):
28190        (WebCore::RenderThemeAndroid::adjustListboxStyle):
28191        * platform/android/RenderThemeAndroid.h:
28192
281932009-11-25  Alexander Pavlov  <apavlov@chromium.org>
28194
28195        Reviewed by Pavel Feldman.
28196
28197        Load InspectorResource mime type from CachedResource for 304 responses
28198
28199        For network libraries that do not merge cache data into 304 ResourceResponses,
28200        the mime type for cached resources is unknown.
28201        https://bugs.webkit.org/show_bug.cgi?id=31868
28202
28203        * inspector/InspectorResource.cpp:
28204        (WebCore::InspectorResource::updateResponse):
28205        (WebCore::InspectorResource::updateScriptObject):
28206        (WebCore::InspectorResource::type):
28207
282082009-11-25  Andrei Popescu  <andreip@google.com>
28209
28210        Reviewed by Eric Seidel.
28211
28212        Android is missing implementation of SSL Key generator functions.
28213        https://bugs.webkit.org/show_bug.cgi?id=31825
28214
28215        This change adds the PlatformBridge class to platform/android.
28216        PlarformBridge is used to access the embedding layer for things
28217        such as key generator, cookies, plugins, etc.
28218
28219        No new tests required, this is platform code.
28220
28221        * platform/android/PlatformBridge.h: Added.
28222        * platform/android/SSLKeyGeneratorAndroid.cpp: Added.
28223        (WebCore::getSupportedKeySizes):
28224        (WebCore::signedPublicKeyAndChallengeString):
28225
282262009-11-25  Philippe Normand  <pnormand@igalia.com>
28227
28228        Reviewed by Eric Seidel.
28229
28230        [GTK] use gst_init_check() instead of gst_init()
28231        https://bugs.webkit.org/show_bug.cgi?id=31864
28232
28233        Use gst_init_check() instead of gst_init() to prevent eventual
28234        unexpected exit of the application.
28235
28236        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
28237        (WebCore::do_gst_init):
28238        (WebCore::MediaPlayerPrivate::isAvailable):
28239
282402009-11-25  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
28241
28242        Reviewed by Xan Lopez.
28243
28244        Some tests are crashing from time to time
28245        https://bugs.webkit.org/show_bug.cgi?id=31866
28246
28247        Make sure we do not notify the client of a finished load, if the
28248        load has been cancelled, or the client is gone.
28249
28250        * platform/network/soup/ResourceHandleSoup.cpp:
28251        (WebCore::):
28252
282532009-11-24  Ben Murdoch  <benm@google.com>
28254
28255        Reviewed by Eric Seidel.
28256
28257        [Android] Upstream Android changes to WebCore/bridge/jni
28258        https://bugs.webkit.org/show_bug.cgi?id=31824
28259
28260        No new tests required as no new functionality.
28261
28262        * bridge/jni/jni_class.cpp:
28263        (JavaClass::JavaClass): Add calls to delete allocated references, to avoid potential leaks.
28264        * bridge/jni/jni_instance.cpp: Add an Android include path.
28265        * bridge/jni/jni_instance.h: Add getter/setter for JObjectWrapper::_instance and make the JavaInstance ctor and member variables protected. Both needed for the Android port, see bug for discussion.
28266        (JSC::Bindings::JObjectWrapper::instance): Added.
28267        (JSC::Bindings::JObjectWrapper::setInstance): Added.
28268        * bridge/jni/jni_runtime.cpp:
28269        (JavaMethod::JavaMethod): Delete an allocated reference to avoid a potential leak.
28270        * bridge/jni/jni_utility.h:
28271        (JSC::Bindings::callJNIMethodV): Delete an allocated reference to avoid a potential leak.
28272
282732009-11-24  Zoltan Horvath  <zoltan@webkit.org>
28274
28275        Reviewed by Eric Seidel.
28276
28277        Allow custom memory allocation control for classes of the plugins and rendering directory in WebCore
28278        https://bugs.webkit.org/show_bug.cgi?id=31827
28279
28280        Inherits the following classes from Noncopyable because these are instantiated
28281        by 'new' and no need to be copyable:
28282
28283        class/struct name               - instantiated at: WebCore/'location'
28284
28285        class PluginRequest             - plugins/PluginView.cpp:521
28286        class PluginMainThreadScheduler - plugins/PluginMainThreadScheduler.cpp:34
28287        class PluginDatabase            - plugins/PluginDatabase.cpp:50
28288        struct MimeClassInfo            - plugins/PluginInfoStore.cpp:50
28289        struct PluginInfo               - plugins/PluginInfoStore.cpp:40
28290        class RenderArena               - dom/Document.cpp:1401
28291        class RenderImageScaleData      - rendering/RenderImage.cpp:149
28292        class TableLayout               - (its child class) rendering/RenderTable.cpp:82
28293        struct ColumnInfo               - rendering/RenderBlock.cpp:3590
28294        struct FloatingObject           - rendering/RenderBlock.cpp:2300
28295        struct MaxMargin                - rendering/RenderBlock.cpp:4794
28296        class RenderMarquee             - rendering/RenderLayer.cpp:3277
28297
28298        * plugins/PluginData.h:
28299        * plugins/PluginDatabase.h:
28300        * plugins/PluginMainThreadScheduler.h:
28301        * plugins/PluginView.h:
28302        * rendering/RenderArena.h:
28303        * rendering/RenderBlock.cpp:
28304        * rendering/RenderBlock.h:
28305        * rendering/RenderImage.cpp:
28306        * rendering/RenderMarquee.h:
28307        * rendering/TableLayout.h:
28308
283092009-11-24  Dmitry Titov  <dimich@chromium.org>
28310
28311        Reviewed by David Levin.
28312
28313        Initial implementation of WebKitSharedScript and SharedScriptContext
28314        https://bugs.webkit.org/show_bug.cgi?id=31569
28315
28316        No new tests since there are no bindings yet (soon to come).
28317
28318        * DerivedSources.make: Add WebKitSharedScript and SharedScriptContext to a list of idl files.
28319        * WebCore.xcodeproj/project.pbxproj:
28320        * dom/Document.cpp:
28321        (WebCore::Document::detach): Notify WebKitSharedScriptRepository that document is detaching.
28322        * dom/EventTarget.cpp: Add new casting methods, since the new types are EventTargets.
28323        (WebCore::EventTarget::toWebKitSharedScript):
28324        (WebCore::EventTarget::toSharedScriptContext):
28325        * dom/EventTarget.h: Ditto
28326        * dom/ScriptExecutionContext.h:
28327        (WebCore::ScriptExecutionContext::isSharedScriptContext): New virtual method, since there is a new type of context.
28328
28329        * SharedScript/SharedScriptContext.cpp: Added. Similar to WorkerContext, but w/o threading.
28330        (WebCore::SharedScriptContext::SharedScriptContext):
28331        (WebCore::SharedScriptContext::~SharedScriptContext):
28332        (WebCore::SharedScriptContext::clearScript):
28333        (WebCore::SharedScriptContext::virtualURL):
28334        (WebCore::SharedScriptContext::virtualCompleteURL):
28335        (WebCore::SharedScriptContext::reportException):
28336        (WebCore::SharedScriptContext::addMessage):
28337        (WebCore::SharedScriptContext::resourceRetrievedByXMLHttpRequest):
28338        (WebCore::SharedScriptContext::scriptImported):
28339        (WebCore::SharedScriptContext::matches):
28340        (WebCore::SharedScriptContext::addToDocumentsList):
28341        (WebCore::SharedScriptContext::destructionTimerFired):
28342        (WebCore::SharedScriptContext::removeFromDocumentList):
28343        (WebCore::SharedScriptContext::load):
28344        (WebCore::SharedScriptContext::postTask):
28345        (WebCore::SharedScriptContext::eventTargetData):
28346        (WebCore::SharedScriptContext::ensureEventTargetData):
28347        (WebCore::SharedScriptContext::scriptExecutionContext):
28348        * SharedScript/SharedScriptContext.h: Added.
28349        (WebCore::SharedScriptContext::create):
28350        (WebCore::SharedScriptContext::isSharedScriptContext):
28351        (WebCore::SharedScriptContext::userAgent):
28352        (WebCore::SharedScriptContext::toSharedScriptContext):
28353        (WebCore::SharedScriptContext::self):
28354        (WebCore::SharedScriptContext::script):
28355        (WebCore::SharedScriptContext::loaded):
28356        (WebCore::SharedScriptContext::name):
28357        (WebCore::SharedScriptContext::refEventTarget):
28358        (WebCore::SharedScriptContext::derefEventTarget):
28359        (WebCore::SharedScriptContext::refScriptExecutionContext):
28360        (WebCore::SharedScriptContext::derefScriptExecutionContext):
28361        * SharedScript/SharedScriptContext.idl: Added.
28362
28363        * SharedScript/SharedScriptController.h: 
28364        Added. Empty implementation of a ScriptController, will come later as part of bindings. Needed to compile.
28365
28366        * SharedScript/WebKitSharedScript.cpp: Added. EventTarget-based DOM object.
28367        (WebCore::WebKitSharedScript::WebKitSharedScript):
28368        (WebCore::WebKitSharedScript::~WebKitSharedScript):
28369        (WebCore::WebKitSharedScript::setContext):
28370        (WebCore::LoadEventTask::create): Fires asynchronous 'load' event when underlying SharedScriptContext is initialized.
28371        (WebCore::LoadEventTask::performTask):
28372        (WebCore::LoadEventTask::LoadEventTask):
28373        (WebCore::WebKitSharedScript::scheduleLoadEvent):
28374        * SharedScript/WebKitSharedScript.h: Added.
28375        (WebCore::WebKitSharedScript::create):
28376        (WebCore::WebKitSharedScript::scriptExecutionContext):
28377        (WebCore::WebKitSharedScript::toWebKitSharedScript):
28378        (WebCore::WebKitSharedScript::context):
28379        (WebCore::WebKitSharedScript::refEventTarget):
28380        (WebCore::WebKitSharedScript::derefEventTarget):
28381        (WebCore::WebKitSharedScript::eventTargetData):
28382        (WebCore::WebKitSharedScript::ensureEventTargetData):
28383        * SharedScript/WebKitSharedScript.idl: Added.
28384
28385        * SharedScript/WebKitSharedScriptRepository.cpp: Added. Implements a list of running SharedScriptContexts.
28386        (WebCore::ScriptLoader::ScriptLoader): The helper class to load an initial script of SharedScriptContext.
28387        (WebCore::ScriptLoader::load):
28388        (WebCore::ScriptLoader::notifyFinished):
28389        (WebCore::WebKitSharedScriptRepository::instance): Repository has a static global instance.
28390        (WebCore::WebKitSharedScriptRepository::connect):
28391        (WebCore::WebKitSharedScriptRepository::documentDetached): Called from Document::detach().
28392        (WebCore::WebKitSharedScriptRepository::removeSharedScriptContext): Called from ~SharedScriptContext().
28393        (WebCore::WebKitSharedScriptRepository::connectToSharedScript):
28394        (WebCore::WebKitSharedScriptRepository::getSharedScriptContext):
28395        * SharedScript/WebKitSharedScriptRepository.h: Added.
28396        (WebCore::WebKitSharedScriptRepository::WebKitSharedScriptRepository):
28397
283982009-11-24  Dmitry Titov  <dimich@chromium.org>
28399
28400        Reviewed by Eric Seidel.
28401
28402        Add ENABLE_SHARED_SCRIPT feature define and flag for build-webkit
28403        https://bugs.webkit.org/show_bug.cgi?id=31444
28404
28405        * Configurations/FeatureDefines.xcconfig:
28406        * GNUmakefile.am:
28407        * WebCore.pro:
28408
284092009-11-24  Chris Marrin  <cmarrin@apple.com>
28410
28411        Reviewed by Simon Fraser.
28412
28413        Implement accelerated compositing
28414        https://bugs.webkit.org/show_bug.cgi?id=27314
28415        
28416        This part of the checkin adds the Windows specific GraphicsLayer support files.
28417        It provides the interface between GraphicsLayer and CACF. It also deals with
28418        the compositing loop, and provides the plumbing to pass the root layer up to
28419        WebView.
28420
28421        * WebCore.vcproj/WebCore.vcproj:
28422        * WebCore.vcproj/WebCoreCommon.vsprops:
28423        * page/FrameView.cpp:
28424        (WebCore::FrameView::syncCompositingStateRecursive):
28425        * platform/graphics/GraphicsLayer.cpp:
28426        (WebCore::GraphicsLayer::GraphicsLayer):
28427        * platform/graphics/GraphicsLayer.h:
28428        * platform/graphics/win/GraphicsLayerCACF.cpp: Added.
28429        * platform/graphics/win/GraphicsLayerCACF.h: Added.
28430        * platform/graphics/win/WKCACFContextFlusher.cpp: Added.
28431        * platform/graphics/win/WKCACFContextFlusher.h: Added.
28432        * platform/graphics/win/WKCACFContextFlusherWin.cpp: Added.
28433        * platform/graphics/win/WKCACFLayer.cpp: Added.
28434        * platform/graphics/win/WKCACFLayer.h: Added.
28435        * platform/graphics/win/WKCACFLayerWindow.cpp: Added.
28436        * platform/graphics/win/WKCACFLayerWindow.h: Added.
28437
284382009-11-24  Chris Marrin  <cmarrin@apple.com>
28439
28440        Reviewed by Eric Seidel.
28441
28442        Do error checking of parameter to createShader
28443        https://bugs.webkit.org/show_bug.cgi?id=31808
28444
28445        Test: fast/canvas/webgl/invalidPassedParams.html
28446
28447        * html/canvas/WebGLRenderingContext.cpp:
28448        (WebCore::WebGLRenderingContext::createShader):
28449        * html/canvas/WebGLRenderingContext.h:
28450        * html/canvas/WebGLRenderingContext.idl:
28451
284522009-11-24  Kent Tamura  <tkent@chromium.org>
28453
28454        Reviewed by Eric Seidel.
28455
28456        [Chromium] Ignore line-height CSS property specified to a search field on
28457        Windows and Linux.
28458        https://bugs.webkit.org/show_bug.cgi?id=31820
28459
28460        LayoutTests/fast/forms/control-restrict-line-height.html checks that the
28461        following controls should ignore line-height CSS property.
28462         - <select>
28463         - <input type=button>
28464         - <input type=search>
28465        This change addresses the <input type=search> issue with Chromium/Windows
28466        and Chromium/Linux.
28467
28468        * rendering/RenderThemeChromiumSkia.cpp:
28469        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldStyle): Implement this to ignore line-height.
28470        * rendering/RenderThemeChromiumSkia.h: Declare adjustSearchFieldStyle().
28471
284722009-11-24  Simon Fraser  <simon.fraser@apple.com>
28473
28474        No review.
28475
28476        Stylistic fix: indent the member var initialisation.
28477
28478        * platform/graphics/mac/GraphicsLayerCA.mm:
28479        (WebCore::GraphicsLayerCA::GraphicsLayerCA):
28480
284812009-11-24  Gavin Barraclough  <barraclough@apple.com>
28482
28483        Reviewed by Geoff Garen.
28484
28485        Bug 31848 - Remove uses of mainThreadCurrentWorld, and of currentWorld using a globalData.
28486
28487        These methods get the world from the global data rather than from an execstate.
28488        If the current world is always read from an exec state then it can be read
28489        from the global object, and world entry can become automagical, rather than
28490        being explicitly set by an EnterDOMWrapperWorld.
28491
28492        * bindings/js/JSCSSRuleCustom.cpp:
28493        (WebCore::toJS):
28494        * bindings/js/JSCSSValueCustom.cpp:
28495        (WebCore::toJS):
28496        * bindings/js/JSDOMBinding.cpp:
28497        (WebCore::currentWorld):
28498        (WebCore::DOMObjectWrapperMapFor):
28499        (WebCore::hasCachedDOMObjectWrapper):
28500        (WebCore::getCachedDOMObjectWrapper):
28501        (WebCore::cacheDOMObjectWrapper):
28502        (WebCore::hasCachedDOMNodeWrapper):
28503        (WebCore::getCachedDOMNodeWrapper):
28504        (WebCore::cacheDOMNodeWrapper):
28505        * bindings/js/JSDOMBinding.h:
28506        (WebCore::createDOMObjectWrapper):
28507        (WebCore::getDOMObjectWrapper):
28508        (WebCore::createDOMNodeWrapper):
28509        (WebCore::getDOMNodeWrapper):
28510        * bindings/js/JSDOMWindowCustom.cpp:
28511        (WebCore::JSDOMWindow::history):
28512        (WebCore::JSDOMWindow::location):
28513        * bindings/js/JSDocumentCustom.cpp:
28514        (WebCore::JSDocument::location):
28515        (WebCore::toJS):
28516        * bindings/js/JSElementCustom.cpp:
28517        (WebCore::toJSNewlyCreated):
28518        * bindings/js/JSEventCustom.cpp:
28519        (WebCore::toJS):
28520        * bindings/js/JSHTMLCollectionCustom.cpp:
28521        (WebCore::toJS):
28522        * bindings/js/JSImageDataCustom.cpp:
28523        (WebCore::toJS):
28524        * bindings/js/JSNodeCustom.cpp:
28525        (WebCore::JSNode::markChildren):
28526        (WebCore::createWrapper):
28527        (WebCore::toJS):
28528        * bindings/js/JSSVGPathSegCustom.cpp:
28529        (WebCore::toJS):
28530        * bindings/js/JSStyleSheetCustom.cpp:
28531        (WebCore::toJS):
28532        * xml/XMLHttpRequest.cpp:
28533        (WebCore::XMLHttpRequest::dropProtection):
28534
285352009-11-24  Alexey Proskuryakov  <ap@apple.com>
28536
28537        Windows build fix.
28538
28539        * platform/network/cf/SocketStreamHandleCFNet.cpp: Also, don't include the wrong one!
28540
285412009-11-24  Alexey Proskuryakov  <ap@apple.com>
28542
28543        Windows build fix.
28544
28545        * platform/network/cf/SocketStreamHandleCFNet.cpp: Include the proper WKSI header.
28546
285472009-11-24  Simon Fraser  <simon.fraser@apple.com>
28548
28549        Reviewed by Oliver Hunt.
28550
28551        SVGUseElement::toClipPath can crash
28552        <rdar://problem/7385270>
28553
28554        Null-test m_shadowTreeRootElement again, because the call to buildPendingResource() may not
28555        actually initialize it.
28556
28557        * svg/SVGUseElement.cpp:
28558        (WebCore::SVGUseElement::toClipPath):
28559
285602009-11-24  Simon Fraser  <simon.fraser@apple.com>
28561
28562        Windows build fix.
28563
28564        * page/win/FrameCGWin.cpp:
28565        (WebCore::imageFromRect):
28566        (WebCore::imageFromSelection):
28567
285682009-11-24  Eric Carlson  <eric.carlson@apple.com>
28569
28570        Not reviewed. Revert r51351 until a new WebKitSupportLibrary is available.
28571
28572        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
28573        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
28574        * platform/graphics/win/QTMovieWin.cpp:
28575        * platform/graphics/win/QTMovieWin.h:
28576        * rendering/RenderMediaControls.cpp:
28577        * rendering/RenderThemeWin.cpp:
28578        * rendering/RenderThemeWin.h:
28579
285802009-11-24  Alexey Proskuryakov  <ap@apple.com>
28581
28582        Reviewed by Brady Eidson.
28583
28584        https://bugs.webkit.org/show_bug.cgi?id=31844
28585        SocketStreamHandleCFNet should support CONNECT proxy credentials
28586
28587        * WebCore.vcproj/WebCore.vcproj:
28588        * WebCore.xcodeproj/project.pbxproj:
28589        * platform/network/CredentialStorage.h:
28590        * platform/network/mac/CredentialStorageMac.mm: Added.
28591        (WebCore::CredentialStorage::getFromPersistentStorage):
28592        * platform/network/cf/CredentialStorageCFNet.cpp: Added.
28593        (WebCore::CredentialStorage::getFromPersistentStorage):
28594        Add support for fetching credentials from persistent storage (CFNet version is currently
28595        a stub).
28596
28597        * bindings/js/JSWebSocketCustom.cpp: Removed an unneeded include.
28598
28599        * platform/network/cf/SocketStreamHandle.h:
28600        * platform/network/cf/SocketStreamHandleCFNet.cpp:
28601        (WebCore::SocketStreamHandle::SocketStreamHandle):
28602        (WebCore::SocketStreamHandle::createStreams):
28603        (WebCore::getStoredCONNECTProxyCredentials):
28604        (WebCore::authenticationSchemeFromAuthenticationMethod):
28605        (WebCore::SocketStreamHandle::addCONNECTCredentials):
28606        (WebCore::SocketStreamHandle::readStreamCallback):
28607        Check if connection attempt was resulted in 407, and try stored credentials if it did.
28608
28609        * platform/mac/WebCoreSystemInterface.h:
28610        * platform/mac/WebCoreSystemInterface.mm:
28611        * WebCore.base.exp:
28612        Updated WKSI.
28613
286142009-11-24  Simon Fraser  <simon.fraser@apple.com>
28615
28616        Reviewed by Dan Bernstein.
28617
28618        Find highlight is drawn incorrectly on pages with compositing layers
28619        <rdar://problem/7413925>
28620        
28621        Part 2: Add a new bit to the PaintBehavior flags, PaintBehaviorFlattenCompositingLayers,
28622        and pass that down when painting into an image.
28623        
28624        When set, it forces painting of compositing layers to go down a software paint path
28625        when all layers are painted, irrespective of compositing status, and where
28626        3d transforms are flattened to 2d. When doing this, we also need to use temporary
28627        clip rects for layers which are normally composited.
28628        
28629        * page/FrameView.h:
28630        (WebCore::FrameView::paintBehavior):
28631        * page/mac/FrameMac.mm:
28632        (WebCore::Frame::imageFromRect):
28633        * rendering/RenderLayer.cpp:
28634        (WebCore::RenderLayer::renderableTransform):
28635        (WebCore::expandClipRectForDescendantsAndReflection):
28636        (WebCore::transparencyClipBox):
28637        (WebCore::RenderLayer::beginTransparencyLayers):
28638        (WebCore::RenderLayer::paintLayer):
28639        * rendering/RenderLayer.h:
28640        (WebCore::RenderLayer::paintsWithTransparency):
28641        (WebCore::RenderLayer::paintsWithTransform):
28642        * rendering/RenderLayerCompositor.cpp:
28643        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
28644        * rendering/RenderObject.h:
28645
286462009-11-24  Simon Fraser  <simon.fraser@apple.com>
28647
28648        Reviewed by Dan Bernstein.
28649
28650        Find highlight is drawn incorrectly on pages with compositing layers
28651        <rdar://problem/7413925>
28652        
28653        Part 1: Rename PaintRestriction to PaintBehavior, and make it a bitmask, in
28654        preparation for adding a new flag related to painting into an image.
28655        
28656        PaintBehaviorSelectionOnly and PaintBehaviorForceBlackText are now separate flags.
28657
28658        * page/FrameView.cpp:
28659        (WebCore::FrameView::reset):
28660        (WebCore::FrameView::paintContents):
28661        (WebCore::FrameView::setPaintBehavior):
28662        * page/FrameView.h:
28663        * page/mac/FrameMac.mm:
28664        (WebCore::Frame::selectionImage):
28665        * rendering/RenderLayer.cpp:
28666        (WebCore::RenderLayer::paint):
28667        (WebCore::RenderLayer::paintLayer):
28668        * rendering/RenderLayer.h:
28669        * rendering/RenderLayerBacking.cpp:
28670        (WebCore::RenderLayerBacking::paintIntoLayer):
28671        (WebCore::RenderLayerBacking::paintContents):
28672        * rendering/RenderLayerBacking.h:
28673        * rendering/RenderObject.h:
28674        * rendering/RenderReplica.cpp:
28675        (WebCore::RenderReplica::paint):
28676
286772009-11-24  Eric Carlson  <eric.carlson@apple.com>
28678
28679        Reviewed by Simon Fraser.
28680
28681        <rdar://problem/7409331> Windows: Support closed caption in <video> element
28682
28683        Enable closed captions in QuickTime/Windows media engine.
28684
28685        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
28686        (WebCore::MediaPlayerPrivate::hasClosedCaptions):
28687        (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
28688        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
28689        * platform/graphics/win/QTMovieWin.cpp:
28690        (QTMovieWin::hasClosedCaptions):
28691        (QTMovieWin::setClosedCaptionsVisible):
28692        * platform/graphics/win/QTMovieWin.h:
28693        * rendering/RenderMediaControls.cpp:
28694        (WebCore::RenderMediaControls::paintMediaControlsPart):
28695        * rendering/RenderThemeWin.cpp:
28696        (WebCore::RenderThemeWin::paintMediaToggleClosedCaptionsButton):
28697        * rendering/RenderThemeWin.h:
28698
286992009-11-24  Darin Fisher  <darin@chromium.org>
28700
28701        Reviewed by Adam Barth.
28702
28703        [Chromium] Renderer hang when using www.expedia.com
28704        https://bugs.webkit.org/show_bug.cgi?id=31822
28705
28706        Test: http/tests/cache/subresource-failover-to-network.html
28707
28708        * loader/FrameLoader.cpp:
28709        (WebCore::FrameLoader::loadResourceSynchronously): Use the originalRequest
28710        when inheriting cache policy.  This matches SubresourceLoader::create.
28711
287122009-11-23  Kenneth Russell  <kbr@google.com>
28713
28714        Reviewed by Oliver Hunt.
28715
28716        Change get... calls to latest spec
28717        https://bugs.webkit.org/show_bug.cgi?id=30091
28718
28719        Removed old versions of get calls on WebGLRenderingContext and
28720        added new ones per spec returning "any". New code simplifies
28721        GraphicsContext3D and fixes previously unimplemented routines.
28722        Added custom JS and V8 bindings. Added exhaustive test case
28723        exercising all new code paths. Updated preexisting test cases for
28724        new APIs. Fixed preexisting bugs in WebKit's and Chrome's WebGL
28725        implementations.
28726
28727        Ran WebGL layout tests in WebKit (clean) and Chrome (couple of
28728        preexisting known failures) and manual WebGL tests in both
28729        browsers.
28730
28731        Test: fast/canvas/webgl/gl-object-get-calls.html
28732
28733        * WebCore.gypi:
28734        * WebCore.xcodeproj/project.pbxproj:
28735        * bindings/js/JSWebGLRenderingContextCustom.cpp:
28736        (WebCore::toJS):
28737        (WebCore::):
28738        (WebCore::getObjectParameter):
28739        (WebCore::getProgramParameterHelper):
28740        (WebCore::JSWebGLRenderingContext::getBufferParameter):
28741        (WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
28742        (WebCore::JSWebGLRenderingContext::getParameter):
28743        (WebCore::JSWebGLRenderingContext::getProgramParameter):
28744        (WebCore::JSWebGLRenderingContext::getRenderbufferParameter):
28745        (WebCore::JSWebGLRenderingContext::getShaderParameter):
28746        (WebCore::JSWebGLRenderingContext::getTexParameter):
28747        (WebCore::JSWebGLRenderingContext::getUniform):
28748        (WebCore::JSWebGLRenderingContext::getVertexAttrib):
28749        * bindings/v8/custom/V8CustomBinding.h:
28750        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
28751        (WebCore::toV8):
28752        (WebCore::):
28753        (WebCore::getObjectParameter):
28754        (WebCore::getProgramParameter):
28755        (WebCore::CALLBACK_FUNC_DECL):
28756        * html/canvas/CanvasObject.cpp:
28757        (WebCore::CanvasObject::CanvasObject):
28758        (WebCore::CanvasObject::setObject):
28759        (WebCore::CanvasObject::deleteObject):
28760        * html/canvas/CanvasObject.h:
28761        * html/canvas/WebGLBuffer.cpp:
28762        (WebCore::WebGLBuffer::create):
28763        (WebCore::WebGLBuffer::WebGLBuffer):
28764        * html/canvas/WebGLBuffer.h:
28765        * html/canvas/WebGLGetInfo.cpp: Added.
28766        (WebCore::WebGLGetInfo::WebGLGetInfo):
28767        (WebCore::WebGLGetInfo::~WebGLGetInfo):
28768        (WebCore::WebGLGetInfo::getType):
28769        (WebCore::WebGLGetInfo::getBool):
28770        (WebCore::WebGLGetInfo::getFloat):
28771        (WebCore::WebGLGetInfo::getLong):
28772        (WebCore::WebGLGetInfo::getString):
28773        (WebCore::WebGLGetInfo::getUnsignedLong):
28774        (WebCore::WebGLGetInfo::getWebGLBuffer):
28775        (WebCore::WebGLGetInfo::getWebGLFloatArray):
28776        (WebCore::WebGLGetInfo::getWebGLFramebuffer):
28777        (WebCore::WebGLGetInfo::getWebGLIntArray):
28778        (WebCore::WebGLGetInfo::getWebGLProgram):
28779        (WebCore::WebGLGetInfo::getWebGLRenderbuffer):
28780        (WebCore::WebGLGetInfo::getWebGLTexture):
28781        (WebCore::WebGLGetInfo::getWebGLUnsignedByteArray):
28782        * html/canvas/WebGLGetInfo.h: Added.
28783        (WebCore::WebGLGetInfo::):
28784        * html/canvas/WebGLRenderbuffer.cpp:
28785        (WebCore::WebGLRenderbuffer::create):
28786        (WebCore::WebGLRenderbuffer::WebGLRenderbuffer):
28787        * html/canvas/WebGLRenderbuffer.h:
28788        * html/canvas/WebGLRenderingContext.cpp:
28789        (WebCore::WebGLStateRestorer::WebGLStateRestorer):
28790        (WebCore::WebGLStateRestorer::~WebGLStateRestorer):
28791        (WebCore::WebGLRenderingContext::WebGLRenderingContext):
28792        (WebCore::WebGLRenderingContext::activeTexture):
28793        (WebCore::WebGLRenderingContext::bindBuffer):
28794        (WebCore::WebGLRenderingContext::bindFramebuffer):
28795        (WebCore::WebGLRenderingContext::bindRenderbuffer):
28796        (WebCore::WebGLRenderingContext::bindTexture):
28797        (WebCore::WebGLRenderingContext::getBufferParameter):
28798        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
28799        (WebCore::WebGLRenderingContext::getParameter):
28800        (WebCore::WebGLRenderingContext::getProgramParameter):
28801        (WebCore::WebGLRenderingContext::getProgramInfoLog):
28802        (WebCore::WebGLRenderingContext::getRenderbufferParameter):
28803        (WebCore::WebGLRenderingContext::getShaderParameter):
28804        (WebCore::WebGLRenderingContext::getShaderInfoLog):
28805        (WebCore::WebGLRenderingContext::getShaderSource):
28806        (WebCore::WebGLRenderingContext::getString):
28807        (WebCore::WebGLRenderingContext::getTexParameter):
28808        (WebCore::WebGLRenderingContext::getUniform):
28809        (WebCore::WebGLRenderingContext::getVertexAttrib):
28810        (WebCore::WebGLRenderingContext::useProgram):
28811        (WebCore::WebGLRenderingContext::getBooleanParameter):
28812        (WebCore::WebGLRenderingContext::getFloatParameter):
28813        (WebCore::WebGLRenderingContext::getIntParameter):
28814        (WebCore::WebGLRenderingContext::getLongParameter):
28815        (WebCore::WebGLRenderingContext::getUnsignedLongParameter):
28816        (WebCore::WebGLRenderingContext::getWebGLFloatArrayParameter):
28817        (WebCore::WebGLRenderingContext::getWebGLIntArrayParameter):
28818        (WebCore::WebGLRenderingContext::getWebGLUnsignedByteArrayParameter):
28819        * html/canvas/WebGLRenderingContext.h:
28820        * html/canvas/WebGLRenderingContext.idl:
28821        * html/canvas/WebGLTexture.cpp:
28822        (WebCore::WebGLTexture::create):
28823        (WebCore::WebGLTexture::WebGLTexture):
28824        * html/canvas/WebGLTexture.h:
28825        * manual-tests/webgl/resources/utils3d.js:
28826        (initWebGL):
28827        (loadShader):
28828        (Framerate.prototype.snapshot):
28829        * platform/graphics/GraphicsContext3D.h:
28830        * platform/graphics/mac/GraphicsContext3DMac.cpp:
28831        (WebCore::GraphicsContext3D::bindRenderbuffer):
28832        (WebCore::GraphicsContext3D::getBooleanv):
28833        (WebCore::GraphicsContext3D::getBufferParameteriv):
28834        (WebCore::GraphicsContext3D::getFloatv):
28835        (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
28836        (WebCore::GraphicsContext3D::getIntegerv):
28837        (WebCore::GraphicsContext3D::getProgramiv):
28838        (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
28839        (WebCore::GraphicsContext3D::getShaderiv):
28840        (WebCore::GraphicsContext3D::getTexParameterfv):
28841        (WebCore::GraphicsContext3D::getTexParameteriv):
28842        (WebCore::GraphicsContext3D::getUniformfv):
28843        (WebCore::GraphicsContext3D::getUniformiv):
28844        (WebCore::GraphicsContext3D::getVertexAttribfv):
28845        (WebCore::GraphicsContext3D::getVertexAttribiv):
28846
288472009-11-24  Steve Falkenburg  <sfalken@apple.com>
28848
28849        Windows build fix.
28850
28851        * WebCore.vcproj/QTMovieWin.vcproj: Add additional search path for QuickTime SDK.
28852
288532009-11-24  Philippe Normand  <pnormand@igalia.com>
28854
28855        Reviewed by Gustavo Noronha Silva.
28856
28857        [Gtk] GStreamer-CRITICAL's (and other warnings) on <video>
28858        https://bugs.webkit.org/show_bug.cgi?id=26354
28859
28860        Implemented MediaPlayerPrivate::isAvailable by checking the
28861        presence of the playbin2 GStreamer element.
28862
28863        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
28864        (WebCore::MediaPlayerPrivate::isAvailable):
28865        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
28866
288672009-11-24  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
28868
28869        Reviewed by Xan Lopez.
28870
28871        https://bugs.webkit.org/show_bug.cgi?id=25415
28872        [GTK][ATK] Please implement support for get_text_at_offset
28873
28874        When building up the pango layout from text boxes, only append a
28875        newline char after verifying there are no more boxes on this line.
28876
28877        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
28878        (getPangoLayoutForAtk):
28879
288802009-11-24  Joseph Pecoraro  <joepeck@webkit.org>
28881
28882        Reviewed by Pavel Feldman.
28883
28884        Web Inspector: Keyboard Shortcut to Clear Console Messages
28885        https://bugs.webkit.org/show_bug.cgi?id=31780
28886
28887        All Platforms:  Ctrl+L  = Clear Console Messages
28888        Mac Only:       Cmd+K   = Clear Console Messages
28889
28890        * inspector/front-end/ConsoleView.js:
28891        (WebInspector.ConsoleView): create shortcuts
28892        (WebInspector.ConsoleView.prototype._promptKeyDown): handle shortcuts
28893        * inspector/front-end/KeyboardShortcut.js:
28894        (WebInspector.KeyboardShortcut.makeKey): convenience conversion of "a-z" character to keyCode
28895        * inspector/front-end/ScriptsPanel.js:
28896        (WebInspector.ScriptsPanel): style fixes for keyboard shortcuts
28897
288982009-11-24  Pavel Feldman  <pfeldman@chromium.org>
28899
28900        Not reviewed: touch inspector controller in order to
28901        kick win bot inspector deploy. rs=aroben.
28902
28903        * inspector/InspectorController.cpp:
28904
289052009-11-23  Pavel Feldman  <pfeldman@chromium.org>
28906
28907        Reviewed by Timothy Hatcher.
28908
28909        Web Inspector: Implement expandable compartments on timeline panel.
28910
28911        https://bugs.webkit.org/show_bug.cgi?id=31796
28912
28913        * inspector/front-end/TimelineOverviewPane.js:
28914        (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
28915        * inspector/front-end/TimelinePanel.js:
28916        (WebInspector.TimelinePanel):
28917        (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
28918        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
28919        (WebInspector.TimelinePanel.prototype._formatRecord):
28920        (WebInspector.TimelinePanel.prototype._refreshRecords):
28921        (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
28922        (WebInspector.TimelineRecordListRow):
28923        (WebInspector.TimelineRecordListRow.prototype.update):
28924        (WebInspector.TimelineRecordListRow.prototype.dispose):
28925        (WebInspector.TimelineRecordGraphRow):
28926        (WebInspector.TimelineRecordGraphRow.prototype.update):
28927        (WebInspector.TimelineRecordGraphRow.prototype._onClick):
28928        (WebInspector.TimelineRecordGraphRow.prototype.dispose):
28929        * inspector/front-end/inspector.css:
28930
289312009-11-24  Mark Rowe  <mrowe@apple.com>
28932
28933        Fix production builds where the source tree may be read-only.
28934
28935        * WebCore.xcodeproj/project.pbxproj:
28936
289372009-11-23  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
28938
28939        Reviewed by Kenneth Rohde Christiansen.
28940
28941        Include "config.h" to meet Coding Style Guidelines
28942        https://bugs.webkit.org/show_bug.cgi?id=31792
28943
28944        No new tests as there is no new functionality.
28945
28946        * platform/graphics/win/IntPointWin.cpp:
28947        * platform/graphics/win/IntRectWin.cpp:
28948        * platform/graphics/win/IntSizeWin.cpp:
28949        * platform/network/chromium/ResourceRequest.cpp:
28950        * platform/win/PlatformMouseEventWin.cpp:
28951
289522009-11-23  Jian Li  <jianli@chromium.org>
28953
28954        Reviewed by NOBODY (Chromium build fix).
28955
28956        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
28957        (WebCore::CALLBACK_FUNC_DECL):
28958        * platform/graphics/GraphicsContext3D.h:
28959
289602009-11-23  Aaron Golden  <agolden@apple.com>
28961
28962        Reviewed by Alexey Proskuryakov.
28963
28964        Prevent ResourceHandleMac's version of ResourceHandle::receivedCredential from stripping
28965        identity and certificate information from a WebCore::Credential when receivedCredential
28966        needs to modify the credential's persistence.
28967
28968        Adding a new constructor Credential(const Credential& original, CredentialPersistence)
28969        that copies every field from original except for persistence.
28970
28971        * platform/network/Credential.cpp:
28972        (WebCore::Credential::Credential):
28973        * platform/network/Credential.h:
28974        * platform/network/mac/ResourceHandleMac.mm:
28975        (WebCore::ResourceHandle::receivedCredential):
28976
289772009-11-23  Gavin Barraclough  <barraclough@apple.com>
28978
28979        Reviewed by Geoff Garen.
28980
28981        Part 2/3 of <rdar://problem/7377477> REGRESSION: Many web pages fail to render after interesting script runs in isolated world
28982
28983        Some clients of the JavaScriptCore API expect to be able to make callbacks over the JSC API,
28984        and for this to automagically cause execution to take place in the world associated with the
28985        global object associated with the ExecState (JSContextRef) passed.  However this is not how
28986        things work - the world must be explicitly set within WebCore.
28987
28988        Making this work just for API calls to evaluate & call will be a far from perfect solution,
28989        since direct (non-API) use of JSC still relies on WebCore setting the current world correctly.
28990        A better solution would be to make this all work automagically all throughout WebCore, but this
28991        will require more refactoring.
28992
28993        Add references from the JSDOMWindowShell and the JSDOMGlobalObject to the world that owns them,
28994        so that we can get to the world from the lexical global object of an ExecState.  In the long-term
28995        we should switch over to using this approach for all cases we want to get a world from an exec state.
28996
28997        * bindings/js/JSDOMBinding.cpp:
28998        (WebCore::WebCoreJSClientData::beginningExecution):
28999        (WebCore::WebCoreJSClientData::completedExecution):
29000        * bindings/js/JSDOMBinding.h:
29001        * bindings/js/JSDOMGlobalObject.h:
29002        (WebCore::JSDOMGlobalObject::world):
29003        (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
29004        * bindings/js/JSDOMWindowBase.cpp:
29005        (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
29006        * bindings/js/JSDOMWindowBase.h:
29007        * bindings/js/JSDOMWindowShell.cpp:
29008        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
29009        * bindings/js/JSDOMWindowShell.h:
29010        (WebCore::JSDOMWindowShell::world):
29011        * bindings/js/JSWorkerContextBase.cpp:
29012        (WebCore::JSWorkerContextBase::JSWorkerContextBase):
29013        * bindings/js/ScriptController.cpp:
29014        (WebCore::ScriptController::initScript):
29015
290162009-11-23  Chris Marrin  <cmarrin@apple.com>
29017
29018        Reviewed by Oliver Hunt.
29019
29020        Add range checks to rendering calls in WebGL
29021        https://bugs.webkit.org/show_bug.cgi?id=31239
29022
29023        I am now tracking the size of the data in each CanvasBuffer object
29024        and keeping track of the buffer size of each active vertex attrib.
29025        In drawArrays and drawElements I make sure no attempt is made to
29026        access elements outside the valid buffer ranges. The test at:
29027
29028            http://cs.helsinki.fi/u/ilmarihe/c3d/functions/drawArraysOutOfBounds.html
29029
29030        no longer crashes.
29031
29032        I also added all the WebGL enumerations to GraphicsContext3D to use them in the validation checks
29033
29034        Tests: fast/canvas/webgl/drawArraysOutOfBounds.html
29035               fast/canvas/webgl/drawElementssOutOfBounds.html
29036
29037        * bindings/js/JSWebGLArrayCustom.cpp:
29038        (WebCore::toJS):
29039        * bindings/js/JSWebGLRenderingContextCustom.cpp:
29040        (WebCore::JSWebGLRenderingContext::bufferData):
29041        (WebCore::JSWebGLRenderingContext::bufferSubData):
29042        (WebCore::JSWebGLRenderingContext::texSubImage2D):
29043        * html/canvas/WebGLArrayBuffer.cpp:
29044        (WebCore::WebGLArrayBuffer::create):
29045        (WebCore::WebGLArrayBuffer::data):
29046        * html/canvas/WebGLArrayBuffer.h:
29047        * html/canvas/WebGLBuffer.cpp:
29048        (WebCore::WebGLBuffer::WebGLBuffer):
29049        (WebCore::WebGLBuffer::associateBufferData):
29050        (WebCore::WebGLBuffer::associateBufferSubData):
29051        (WebCore::WebGLBuffer::byteLength):
29052        * html/canvas/WebGLBuffer.h:
29053        (WebCore::WebGLBuffer::elementArrayBuffer):
29054        * html/canvas/WebGLRenderingContext.cpp:
29055        (WebCore::WebGLRenderingContext::WebGLRenderingContext):
29056        (WebCore::WebGLRenderingContext::sizeInBytes):
29057        (WebCore::WebGLRenderingContext::bindBuffer):
29058        (WebCore::WebGLRenderingContext::bufferData):
29059        (WebCore::WebGLRenderingContext::bufferSubData):
29060        (WebCore::WebGLRenderingContext::createShader):
29061        (WebCore::WebGLRenderingContext::disableVertexAttribArray):
29062        (WebCore::WebGLRenderingContext::validateIndexArray):
29063        (WebCore::WebGLRenderingContext::validateRenderingState):
29064        (WebCore::WebGLRenderingContext::drawArrays):
29065        (WebCore::WebGLRenderingContext::drawElements):
29066        (WebCore::WebGLRenderingContext::enableVertexAttribArray):
29067        (WebCore::WebGLRenderingContext::isFramebuffer):
29068        (WebCore::WebGLRenderingContext::isProgram):
29069        (WebCore::WebGLRenderingContext::isRenderbuffer):
29070        (WebCore::WebGLRenderingContext::isShader):
29071        (WebCore::WebGLRenderingContext::isTexture):
29072        (WebCore::WebGLRenderingContext::useProgram):
29073        (WebCore::WebGLRenderingContext::validateProgram):
29074        (WebCore::WebGLRenderingContext::vertexAttribPointer):
29075        (WebCore::WebGLRenderingContext::detachAndRemoveAllObjects):
29076        * html/canvas/WebGLRenderingContext.h:
29077        (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState):
29078        * html/canvas/WebGLRenderingContext.idl:
29079        * html/canvas/WebGLShader.cpp:
29080        (WebCore::WebGLShader::create):
29081        (WebCore::WebGLShader::WebGLShader):
29082        * html/canvas/WebGLShader.h:
29083        * platform/graphics/GraphicsContext3D.h:
29084        (WebCore::GraphicsContext3D::):
29085        * platform/graphics/mac/GraphicsContext3DMac.cpp:
29086        (WebCore::GraphicsContext3D::createShader):
29087
290882009-11-23  Erik Arvidsson  <arv@chromium.org>
29089
29090        Reviewed by Eric Seidel.
29091
29092        JSC bindings for HasIndexGetter generates incorrect code (affects
29093        MediaList and CSSStyleDeclaration).
29094        This cleans up the edge cases for indexing out of range for style and
29095        computed style objects to return an empty string according to the spec.
29096        MediaList now returns null when indexed out of range.
29097        https://bugs.webkit.org/show_bug.cgi?id=31683
29098
29099        Tests: fast/dom/CSSStyleDeclaration/css-computed-style-item.html
29100               fast/dom/CSSStyleDeclaration/css-style-item.html
29101               fast/dom/StyleSheet/css-medialist-item.html
29102
29103        * bindings/scripts/CodeGeneratorJS.pm: If IndexGetterReturnsString then
29104                we do not check the length before calling the item function.
29105        * css/CSSComputedStyleDeclaration.cpp:
29106        (WebCore::CSSComputedStyleDeclaration::item):
29107        * css/CSSMutableStyleDeclaration.cpp:
29108        (WebCore::CSSMutableStyleDeclaration::item):
29109        * css/CSSStyleDeclaration.idl:
29110
291112009-11-23  Simon Fraser  <simon.fraser@apple.com>
29112
29113        Reviewed by Dan Bernstein.
29114
29115        DocumentMarkers need to be educated about transforms
29116        https://bugs.webkit.org/show_bug.cgi?id=31751
29117        
29118        Find highlight is incorrect with transforms
29119        <rdar://problem/6358394>
29120
29121        Allow callers to specify that Frame::selectionTextRects() takes transforms into account
29122        when computing the set of rects that encompass a selection. For transformed elemenets, the
29123        selection rect will be the bounding box of the selected content.
29124        
29125        Fix DocumentMarkers to cache rects in absolute coordinates, rather than painting coordinates.
29126        
29127        Test: editing/selection/transformed-selection-rects.html
29128        
29129        * WebCore.base.exp:
29130        Frame::selectionTextRects() has a new parameter.
29131        
29132        * dom/Document.cpp:
29133        (WebCore::Document::setRenderedRectForMarker):
29134        * dom/Document.h:
29135        Pass the marker as a const reference.
29136        
29137        * dom/Range.h:
29138        * dom/Range.cpp:
29139        (WebCore::Range::textQuads):
29140        Add a new method, textQuads(), which returns a list of quads, respecting transforms.
29141        
29142        * page/Frame.h:
29143        * page/Frame.cpp:
29144        (WebCore::Frame::selectionTextRects):
29145        Add a new parameter, respectTransforms, and when that is RespectTransforms, use the quad
29146        method to get quads for ranges, and then take their bounding boxes.
29147
29148        * rendering/InlineTextBox.h:
29149        * rendering/InlineTextBox.cpp:
29150        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
29151        (WebCore::InlineTextBox::paintTextMatchMarker):
29152        (WebCore::InlineTextBox::computeRectForReplacementMarker):
29153        (WebCore::InlineTextBox::paintDocumentMarkers):
29154        (WebCore::InlineTextBox::textPos):
29155        (WebCore::InlineTextBox::offsetForPosition):
29156        
29157        Pass DocumentMarkers as a const references.
29158        Convert the argument to setRenderedRectForMarker() into absolute coordinates.
29159        
29160        * rendering/RenderView.cpp:
29161        (WebCore::RenderView::selectionBounds):
29162
291632009-11-23  Dirk Schulze  <krit@webkit.org>
29164
29165        Reviewed by Oliver Hunt.
29166
29167        [Cairo] support blurred test-shadow
29168        [https://bugs.webkit.org/show_bug.cgi?id=31797]
29169
29170        Support for blurred text-shadows on Cairo. This patch
29171        reuses the code of blurred box-shadows, introduced in
29172        bug 26102. For a full textshadow support, a filters enabled
29173        build is needed.
29174
29175        * platform/graphics/cairo/FontCairo.cpp:
29176        (WebCore::Font::drawGlyphs):
29177
291782009-11-23  Jens Alfke  <snej@chromium.org>
29179
29180        Reviewed by Geoffrey Garen.
29181
29182        Change incorrect calls to the constructor "EventNames()" to the correct accessor
29183        "eventNames()". This saves ~100 AtomicString lookups each time.
29184        https://bugs.webkit.org/show_bug.cgi?id=31811
29185
29186        * dom/EventNames.h:  Make constructor private to prevent this from happening again.
29187        * history/CachedFrame.cpp:
29188        (WebCore::CachedFrameBase::restore):  EventNames() --> eventNames()
29189        * html/HTMLFormControlElement.cpp:
29190        (WebCore::HTMLFormControlElement::checkValidity):  EventNames() --> eventNames()
29191        * loader/FrameLoader.cpp:
29192        (WebCore::FrameLoader::stopLoading):  EventNames() --> eventNames()
29193        (WebCore::FrameLoader::pageHidden):  EventNames() --> eventNames()
29194        * page/DOMWindow.cpp:
29195        (WebCore::DOMWindow::dispatchAllPendingUnloadEvents):  EventNames() --> eventNames()
29196
291972009-11-23  Adam Langley  <agl@google.com>
29198
29199        Reviewed by Dmitry Titov.
29200
29201        Chromium Linux: Limit the stroke width and mitre limit.
29202
29203        Limit the stroke width and mitre limit that we'll pass into Skia to
29204        avoid overflowing Skia's uint16_t glyph widths.
29205
29206        http://code.google.com/p/chromium/issues/detail?id=28250
29207        https://bugs.webkit.org/show_bug.cgi?id=31747
29208
29209        * platform/graphics/skia/PlatformContextSkia.cpp:
29210        (scalarBound):
29211        (PlatformContextSkia::setupPaintForStroking):
29212
292132009-11-23  Alexey Proskuryakov  <ap@apple.com>
29214
29215        Reviewed by Oliver Hunt.
29216
29217        https://bugs.webkit.org/show_bug.cgi?id=31812
29218        WebSocket code uses RefPtr::get() where it shouldn't
29219
29220        No change in funcitonality, just coding style correction.
29221
29222        * websockets/WebSocket.cpp:
29223        (WebCore::WebSocket::~WebSocket):
29224        * websockets/WebSocketChannel.cpp:
29225        (WebCore::WebSocketChannel::connect):
29226        (WebCore::WebSocketChannel::send):
29227        (WebCore::WebSocketChannel::bufferedAmount):
29228        (WebCore::WebSocketChannel::close):
29229        (WebCore::WebSocketChannel::disconnect):
29230        (WebCore::WebSocketChannel::didOpen):
29231        (WebCore::WebSocketChannel::didClose):
29232        (WebCore::WebSocketChannel::didReceiveData):
29233        (WebCore::WebSocketChannel::didFail):
29234
292352009-11-23  Alexey Proskuryakov  <ap@apple.com>
29236
29237        Build fix.
29238
29239        * platform/network/cf/SocketStreamHandleCFNet.cpp:
29240        (WebCore::SocketStreamHandle::pacExecutionCallbackMainThread): pacExecutionCallbackMainThread
29241        is static, so it can't use member variables directly.
29242
292432009-11-23  Alexey Proskuryakov  <ap@apple.com>
29244
29245        Reviewed by Brady Eidson.
29246
29247        https://bugs.webkit.org/show_bug.cgi?id=31748
29248        Make WebSocketHandleCFNet respect proxy auto-configuration files via CFProxySupport
29249
29250        * platform/network/cf/SocketStreamHandle.h: Removed names from some void* arguments, since
29251        they didn't carry useful information.
29252
29253        * platform/network/cf/SocketStreamHandleCFNet.cpp:
29254        (WebCore::SocketStreamHandle::SocketStreamHandle): When we need an http-style URL, we actually
29255        always need https.
29256        (WebCore::SocketStreamHandle::scheduleStreams): Factored out from constructor, since streams
29257        only get scheduled after PAC is fetched and executed asynchronously.
29258        (WebCore::SocketStreamHandle::copyPACExecutionDescription): Return a description for event
29259        source.
29260        (WebCore::MainThreadPACCallbackInfo::MainThreadPACCallbackInfo): Forward callback to main thread.
29261        (WebCore::SocketStreamHandle::pacExecutionCallback): Ditto.
29262        (WebCore::SocketStreamHandle::pacExecutionCallbackMainThread): Ditto. To avoid code duplication,
29263        we make the call even on Mac.
29264        (WebCore::SocketStreamHandle::executePACFileURL): Make an async call to CFNetworkExecuteProxyAutoConfigurationURL.
29265        (WebCore::SocketStreamHandle::removePACRunLoopSource): Once PAC execution is done or aborted,
29266        we need to get rid of the event source.
29267        (WebCore::SocketStreamHandle::chooseProxy): Use stored m_httpsURL.get.
29268        (WebCore::SocketStreamHandle::chooseProxyFromArray): Factored out from chooseProxy - the
29269        array may come directly from system configuration, or from PAC.
29270        (WebCore::SocketStreamHandle::chooseProxy): Tiger version of this function is now completely
29271        separate.
29272        (WebCore::SocketStreamHandle::~SocketStreamHandle): Run loop source should be destroyed
29273        before we get to the destructor.
29274        (WebCore::SocketStreamHandle::platformClose): Destroy the run loop source, if PAC execution
29275        is still in progress.
29276
292772009-11-23  Oliver Hunt  <oliver@apple.com>
29278
29279        Reviewed by Geoff Garen.
29280
29281        Don't leak the CGImage we create when drawing a sub image.
29282
29283        * platform/graphics/cg/ImageCG.cpp:
29284        (WebCore::BitmapImage::draw):
29285
292862009-11-23  Adam Barth  <abarth@webkit.org>
29287
29288        Reviewed by Dimitri Glazkov.
29289
29290        [V8] Don't crash when OOM in creating isolated world
29291        https://bugs.webkit.org/show_bug.cgi?id=31805
29292
29293        We need to add some more null checks to avoid crashing.  No new tests
29294        because we don't have a good way to test out-of-memory bugs.
29295
29296        * bindings/v8/V8Proxy.cpp:
29297        (WebCore::V8Proxy::evaluateInIsolatedWorld):
29298        (WebCore::V8Proxy::evaluateInNewContext):
29299        (WebCore::V8Proxy::setInjectedScriptContextDebugId):
29300        * bindings/v8/V8Proxy.h:
29301
293022009-11-23  Dirk Schulze  <krit@webkit.org>
29303
29304        Reviewed by Nikolas Zimmermann.
29305
29306        This is the implementation of the filterRes attribute. It
29307        helps the SVG developer to set the quality of a filter by
29308        giving the width or height of filter.
29309        This patch also sets the filter resolution to lower values
29310        if a intermediate ImageBuffer size is bigger than the given
29311        maximal size.
29312        The maximal size is set to 5000x5000 by default. This is a
29313        subjectiv decission. Everthing greater than this values gets
29314        sensible slower. Values of 10000x10000 crashed on WebKitGtk.
29315        For mobil devices a maximum size of 100x100 or 200x200 seems
29316        to be reasonable.
29317        The important fact on filter resolution is, that the output
29318        size is still the size given by the <filter> element.
29319
29320        Tests: svg/filters/big-sized-filter-2.svg
29321               svg/filters/big-sized-filter.svg
29322               svg/filters/filterRes.svg
29323
29324        * platform/graphics/FloatRect.cpp:
29325        (WebCore::FloatRect::scale): Add the abbility to scale a rect by x and y.
29326        * platform/graphics/FloatRect.h:
29327        (WebCore::FloatRect::scale): Add the abbility to scale a rect by x and y.
29328        * platform/graphics/cairo/GraphicsContextCairo.cpp:
29329        (WebCore::GraphicsContext::createPlatformShadow): Use scaledSubRegion for
29330        calculation.
29331        * platform/graphics/filters/FEBlend.cpp:
29332        (WebCore::FEBlend::apply): Use scaledSubRegion for effect intern calculations.
29333        * platform/graphics/filters/FEColorMatrix.cpp:
29334        (WebCore::FEColorMatrix::apply): Use scaledSubRegion for effect intern calculations.
29335        * platform/graphics/filters/FEComponentTransfer.cpp:
29336        (WebCore::FEComponentTransfer::apply): Use scaledSubRegion for effect intern
29337        calculations.
29338        * platform/graphics/filters/FEComposite.cpp:
29339        (WebCore::FEComposite::apply): Use scaledSubRegion for effect intern calculations.
29340        * platform/graphics/filters/FEGaussianBlur.cpp:
29341        (WebCore::FEGaussianBlur::apply): Use scaledSubRegion for effect intern calculations.
29342        * platform/graphics/filters/Filter.h: Add the abbility to change the quality
29343        of a filter output.
29344        (WebCore::Filter::filterResolution):
29345        (WebCore::Filter::setFilterResolution):
29346        (WebCore::Filter::calculateEffectSubRegion): Calculates the correct subRegion
29347        as well as the scaledSubRegion. It also searches for the biggest effect size.
29348        We have to change the filter resolution, if one intermediate ImageBuffer size
29349        doesn't fit in the maximal image size.
29350        * platform/graphics/filters/FilterEffect.cpp:
29351        (WebCore::FilterEffect::calculateDrawingIntRect): Use scaledSubRegion to get
29352        the right part of a previous effect result.
29353        (WebCore::FilterEffect::calculateDrawingRect): Use scaledSubRegion to get
29354        the right part of a previous effect result.
29355        (WebCore::FilterEffect::getEffectContext): Use scaledSubRegion to create
29356        a new intermediate ImageBuffer for the result of the current effect.
29357        * platform/graphics/filters/FilterEffect.h:
29358        (WebCore::FilterEffect::scaledSubRegion): The scaled subRegion of a the
29359        filter effect.
29360        (WebCore::FilterEffect::setScaledSubRegion):
29361        (WebCore::FilterEffect::effectBoundaries): The original values of the
29362        EffectElement for a second subRegion calculation.
29363        (WebCore::FilterEffect::setEffectBoundaries):
29364        * platform/graphics/filters/ImageBufferFilter.cpp:
29365        (WebCore::ImageBufferFilter::ImageBufferFilter): Set the scale factor to one.
29366        * platform/graphics/filters/ImageBufferFilter.h:
29367        (WebCore::ImageBufferFilter::maxImageSize):
29368        (WebCore::ImageBufferFilter::calculateEffectSubRegion):
29369        * platform/graphics/filters/SourceAlpha.cpp:
29370        (WebCore::SourceAlpha::calculateEffectRect): Use scaledSubRegion for effect
29371        intern calculations.
29372        * platform/graphics/filters/SourceGraphic.cpp:
29373        (WebCore::SourceGraphic::calculateEffectRect): Use scaledSubRegion for effect
29374        intern calculations.
29375        * svg/SVGFilterElement.cpp:
29376        (WebCore::SVGFilterElement::parseMappedAttribute): Parse filterRes attribute.
29377        (WebCore::SVGFilterElement::buildFilter): Give SVGResourceFilter the current
29378        filterResolution.
29379        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
29380        (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes): Save
29381        values to effectBoundaries of the filter effect
29382        * svg/graphics/SVGResourceFilter.cpp:
29383        (WebCore::SVGResourceFilter::SVGResourceFilter):
29384        (WebCore::shouldProcessFilter): Return signal if a neccessary value is zero.
29385        (WebCore::SVGResourceFilter::fitsInMaximumImageSize): Checks if the given size
29386        fits into the maximal image size, modifys scale factors if not and return a
29387        bool: fits.
29388        (WebCore::SVGResourceFilter::prepareFilter): Scale the SourceImage to
29389        filterResolution (given by FilterElement or calculated on to big image sizes).
29390        Set the scale level to SVGFilter.
29391        (WebCore::SVGResourceFilter::applyFilter): Don't apply filters if shouldProcessFilter
29392        is wrong.
29393        * svg/graphics/SVGResourceFilter.h:
29394        (WebCore::SVGResourceFilter::setFilterResolution): FilterResolution of FilterElement.
29395        (WebCore::SVGResourceFilter::setHasFilterResolution): Does FilterElement provides
29396        a FilterResolution?
29397        (WebCore::SVGResourceFilter::scaleX): Current scale factor for horizontal.
29398        (WebCore::SVGResourceFilter::scaleY): Current scale factor for vertical.
29399        * svg/graphics/filters/SVGFEDisplacementMap.cpp:
29400        (WebCore::FEDisplacementMap::apply): Use scaledSubRegion for effect intern calculations.
29401        Kernel values are scaled to current filter resolution too.
29402        * svg/graphics/filters/SVGFEFlood.cpp:
29403        (WebCore::FEFlood::apply): Use scaledSubRegion for effect intern calculations.
29404        * svg/graphics/filters/SVGFEMerge.cpp:
29405        (WebCore::FEMerge::apply): Use scaledSubRegion for effect intern calculations.
29406        Kernel values are scaled to current filter resolution too.
29407        * svg/graphics/filters/SVGFEMorphology.cpp:
29408        (WebCore::FEMorphology::apply): Use scaledSubRegion for effect intern calculations.
29409        Kernel values are scaled to current filter resolution too.
29410        * svg/graphics/filters/SVGFEOffset.cpp:
29411        (WebCore::FEOffset::apply): Use scaledSubRegion for effect intern calculations.
29412        * svg/graphics/filters/SVGFETile.cpp:
29413        (WebCore::FETile::apply): Use scaledSubRegion for effect intern calculations.
29414        * svg/graphics/filters/SVGFilter.cpp:
29415        (WebCore::SVGFilter::calculateEffectSubRegion): Calculate subRegion for LayoutTests,
29416        scaledSubRegion according to the current filterResolution and get the maximal image size.
29417        * svg/graphics/filters/SVGFilter.h:
29418        (WebCore::SVGFilter::effectBoundingBoxMode): Original values of the FilterElement. 
29419        (WebCore::SVGFilter::filterRegion): Use virtual for clarification.
29420        (WebCore::SVGFilter::sourceImageRect): Use virtual for clarification.
29421        (WebCore::SVGFilter::maxImageSize): Get the maximal image size.
29422
294232009-11-23  Simon Hausmann  <simon.hausmann@nokia.com>
29424
29425        Reviewed by Kenneth Rohde Christiansen.
29426
29427        [Qt] Wrong runtime instance objects of wrapped QObjects may be used if
29428        the wrapped object died before the gc removed the instance.
29429
29430        https://bugs.webkit.org/show_bug.cgi?id=31681
29431
29432        Before using a cached instance, verify that its wrapped QObject is
29433        still alive.
29434
29435        * bridge/qt/qt_instance.cpp:
29436        (JSC::Bindings::QtInstance::getQtInstance):
29437        * bridge/qt/qt_instance.h:
29438        (JSC::Bindings::QtInstance::hashKey):
29439
294402009-11-22  Chris Fleizach  <cfleizach@apple.com>
29441
29442        Reviewed by Oliver Hunt.
29443
29444        ARIA: support aria-flowto
29445        https://bugs.webkit.org/show_bug.cgi?id=31762
29446
29447        Test: platform/mac/accessibility/aria-flowto.html
29448
29449        * accessibility/AccessibilityObject.h:
29450        (WebCore::AccessibilityObject::ariaOwnsElements):
29451        (WebCore::AccessibilityObject::supportsARIAFlowTo):
29452        (WebCore::AccessibilityObject::ariaFlowToElements):
29453        * accessibility/AccessibilityRenderObject.cpp:
29454        (WebCore::AccessibilityRenderObject::linkedUIElements):
29455        (WebCore::AccessibilityRenderObject::supportsARIAFlowTo):
29456        (WebCore::AccessibilityRenderObject::ariaFlowToElements):
29457        * accessibility/AccessibilityRenderObject.h:
29458        * html/HTMLAttributeNames.in:
29459
294602009-11-22  Nikolas Zimmermann  <nzimmermann@rim.com>
29461
29462        Not reviewed. Build fix for WML enabled builds.
29463        Adopt WebCore API changes.
29464
29465        * wml/WMLAElement.cpp:
29466        (WebCore::WMLAElement::defaultEventHandler):
29467        * wml/WMLInputElement.cpp:
29468        (WebCore::WMLInputElement::defaultEventHandler):
29469
294702009-11-22  Pavel Feldman  <pfeldman@chromium.org>
29471
29472        Reviewed by Timothy Hatcher.
29473
29474        Web Inspector: Introduce sidebar background on timeline panel in order
29475        to prevent it from flickering on scroll.
29476
29477        https://bugs.webkit.org/show_bug.cgi?id=31789
29478
29479        * inspector/front-end/TimelinePanel.js:
29480        (WebInspector.TimelinePanel):
29481        (WebInspector.TimelinePanel.prototype.setSidebarWidth):
29482        (WebInspector.TimelinePanel.prototype._onScroll):
29483        (WebInspector.TimelinePanel.prototype._scheduleRefresh):
29484        * inspector/front-end/inspector.css:
29485
294862009-11-22  Pavel Feldman  <pfeldman@chromium.org>
29487
29488        Reviewed by Timothy Hatcher.
29489
29490        Web Inspector: Reimplement TimelinePanel to make it fast:
29491        - Extract grid and overview into separate files
29492        - Make timeline create only divs for visible rows
29493
29494        https://bugs.webkit.org/show_bug.cgi?id=31784
29495
29496        * WebCore.gypi:
29497        * WebCore.vcproj/WebCore.vcproj:
29498        * inspector/front-end/AbstractTimelinePanel.js:
29499        (WebInspector.AbstractTimelinePanel.prototype.createInterface):
29500        (WebInspector.AbstractTimelinePanel.prototype.refresh):
29501        (WebInspector.AbstractTimelinePanel.prototype.set calculator):
29502        * inspector/front-end/TimelineGrid.js: Added.
29503        (WebInspector.TimelineGrid):
29504        (WebInspector.TimelineGrid.prototype.get itemsGraphsElement):
29505        (WebInspector.TimelineGrid.prototype.updateDividers):
29506        (WebInspector.TimelineGrid.prototype.addEventDivider):
29507        (WebInspector.TimelineGrid.prototype.setScrollAndDividerTop):
29508        * inspector/front-end/TimelineOverviewPane.js: Added.
29509        (WebInspector.TimelineOverviewPane):
29510        (WebInspector.TimelineOverviewPane.prototype._onCheckboxClicked):
29511        (WebInspector.TimelineOverviewPane.prototype.update):
29512        (WebInspector.TimelineOverviewPane.prototype.setSidebarWidth):
29513        (WebInspector.TimelineOverviewPane.prototype.updateMainViewWidth):
29514        (WebInspector.TimelineOverviewPane.prototype.reset):
29515        (WebInspector.TimelineOverviewPane.prototype._resizeWindow):
29516        (WebInspector.TimelineOverviewPane.prototype._windowResizeDragging):
29517        (WebInspector.TimelineOverviewPane.prototype._dragWindow):
29518        (WebInspector.TimelineOverviewPane.prototype._windowDragging):
29519        (WebInspector.TimelineOverviewPane.prototype._resizeWindowLeft):
29520        (WebInspector.TimelineOverviewPane.prototype._resizeWindowRight):
29521        (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
29522        (WebInspector.TimelineOverviewPane.prototype._endWindowDragging):
29523        (WebInspector.TimelineOverviewCalculator):
29524        (WebInspector.TimelineOverviewCalculator.prototype.computeBarGraphPercentages):
29525        (WebInspector.TimelineOverviewCalculator.prototype.reset):
29526        (WebInspector.TimelineOverviewCalculator.prototype.updateBoundaries):
29527        (WebInspector.TimelineOverviewCalculator.prototype.get boundarySpan):
29528        (WebInspector.TimelineOverviewCalculator.prototype.formatValue):
29529        (WebInspector.TimelineCategoryTreeElement):
29530        (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
29531        (WebInspector.TimelineCategoryGraph):
29532        (WebInspector.TimelineCategoryGraph.prototype.get graphElement):
29533        (WebInspector.TimelineCategoryGraph.prototype.addChunk):
29534        (WebInspector.TimelineCategoryGraph.prototype.clearChunks):
29535        (WebInspector.TimelineCategoryGraph.prototype.set dimmed):
29536        * inspector/front-end/TimelinePanel.js:
29537        (WebInspector.TimelinePanel):
29538        (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
29539        (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
29540        (WebInspector.TimelinePanel.prototype._formatRecord):
29541        (WebInspector.TimelinePanel.prototype.setSidebarWidth):
29542        (WebInspector.TimelinePanel.prototype.updateMainViewWidth):
29543        (WebInspector.TimelinePanel.prototype.resize):
29544        (WebInspector.TimelinePanel.prototype.reset):
29545        (WebInspector.TimelinePanel.prototype.show):
29546        (WebInspector.TimelinePanel.prototype._onScroll):
29547        (WebInspector.TimelinePanel.prototype._scheduleRefresh):
29548        (WebInspector.TimelinePanel.prototype._refresh):
29549        (WebInspector.TimelinePanel.prototype._refreshRecords):
29550        (WebInspector.TimelinePanel.prototype._adjustScrollPosition):
29551        (WebInspector.TimelineCategory):
29552        (WebInspector.TimelineCalculator):
29553        (WebInspector.TimelineCalculator.prototype.get boundarySpan):
29554        (WebInspector.TimelineRecordListRow):
29555        (WebInspector.TimelineRecordListRow.prototype.update):
29556        (WebInspector.TimelineRecordGraphRow):
29557        (WebInspector.TimelineRecordGraphRow.prototype.update):
29558        * inspector/front-end/WebKit.qrc:
29559        * inspector/front-end/inspector.css:
29560        * inspector/front-end/inspector.html:
29561
295622009-11-22  Chris Evans  <cevans@chromium.org>
29563
29564        Reviewed by Adam Barth.
29565
29566        Disable access to file:/// directory listings
29567        https://bugs.webkit.org/show_bug.cgi?id=31329
29568
29569        Deny access to directory listings. This needs doing in WebKit for
29570        WebKit clients that do permit top-level navigation to file:///dir.
29571        This matches Firefox, plus the existing Safari implementation (which
29572        does not support any directory access at all). It will fix the
29573        LayoutTest named below for Chromium.
29574
29575        Test: fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html
29576
29577        * page/SecurityOrigin.cpp: Deny access to directory listings.
29578        (WebCore::SecurityOrigin::SecurityOrigin):
29579        (WebCore::SecurityOrigin::canRequest):
29580
295812009-11-20  Joseph Pecoraro  <joepeck@webkit.org>
29582
29583        Reviewed by Timothy Hatcher.
29584
29585        Web Inspector: Support Ctrl+P and Ctrl+N, Readline keyboard shortcuts in the Console
29586        https://bugs.webkit.org/show_bug.cgi?id=31400
29587
29588        Handle the following when on a Mac:
29589
29590          Ctrl+P = Previous (like Up arrow)
29591          Ctrl+N = Next (like Down arrow)
29592
29593        No longer rerun autocompletion when just pushing a modifier key
29594        like Control, Alt, Shift, or Meta.
29595
29596        Improved arrow key behavior with Multiline code in the Console, with the following behavior:
29597
29598          Up   = Previous Command if on First Line (caret moves to the end of the first line)
29599                 otherwise default caret movement in text.
29600          Down = Next Command if on Last Line (caret naturally moves to the end)
29601                 otherwise default caret movement in text.
29602
29603        * inspector/front-end/TextPrompt.js:
29604        (WebInspector.TextPrompt.prototype.handleKeyEvent): handle new keyboard shortcuts
29605        (WebInspector.TextPrompt.prototype.isCaretOnFirstLine): check if the caret is on the top line
29606        (WebInspector.TextPrompt.prototype.isCaretOnLastLine): check if the caret is on the bottom line
29607        (WebInspector.TextPrompt.prototype._upKeyPressed):
29608        (WebInspector.TextPrompt.prototype._downKeyPressed):
29609        (WebInspector.TextPrompt.prototype._moveBackInHistory):
29610        (WebInspector.TextPrompt.prototype._moveForwardInHistory):
29611
296122009-11-21  Jessie Berlin  <jberlin@webkit.org>
29613
29614        Reviewed by Timothy Hatcher.
29615
29616        Adds a tooltip containing the full url of the resource to each element
29617        in the Resources panel so that it is possible to quickly see the query
29618        parameters.
29619        https://bugs.webkit.org/show_bug.cgi?id=19103
29620
29621        * inspector/front-end/ResourcesPanel.js:
29622        (WebInspector.ResourceSidebarTreeElement.prototype.refresh):
29623        Set the tooltip to be the resource's url.
29624
296252009-11-21  Simon Fraser  <simon.fraser@apple.com>
29626
29627        Reviewed by Dan Bernstein.
29628
29629        CSSKeyframesRule::findRule() and deleteRule() should accept 'from' and 'to' as well as percentages
29630        https://bugs.webkit.org/show_bug.cgi?id=31588
29631        
29632        In WebKitCSSKeyframesRule::findRuleIndex(), map 'from' to 0% an 'to' to 100%
29633        so that findRule() and deleteRule() work with these keywords.
29634
29635        * css/WebKitCSSKeyframesRule.cpp:
29636        (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
29637
296382009-11-21  Daniel Bates  <dbates@webkit.org>
29639
29640        Reviewed by Eric Seidel.
29641
29642        https://bugs.webkit.org/show_bug.cgi?id=31647
29643
29644        Changed KeyboardEvent::m_keyEvent from a raw pointer to an OwnPtr.
29645
29646        No functionality was changed. So, no new tests.
29647
29648        * dom/KeyboardEvent.cpp:
29649        (WebCore::KeyboardEvent::~KeyboardEvent):
29650        * dom/KeyboardEvent.h: Changed m_keyEvent to OwnPtr.
29651        (WebCore::KeyboardEvent::keyEvent):
29652
296532009-11-20  Chris Fleizach  <cfleizach@apple.com>
29654
29655        Reviewed by Beth Dakin.
29656
29657        WAI-ARIA: add support for aria-owns
29658        https://bugs.webkit.org/show_bug.cgi?id=31702
29659
29660        Re-organized how accessibilityAttributeNames are returned so 
29661        that it's possible for an element to add an attribute based on 
29662        a dynamic value. In this case, we only want to add AXOwn if the 
29663        element actually supports aria-owns.
29664  
29665        Test: platform/mac/accessibility/aria-owns.html
29666
29667        * accessibility/AccessibilityObject.h:
29668        (WebCore::AccessibilityObject::supportsARIAOwns):
29669        (WebCore::AccessibilityObject::ariaOwnsElements):
29670        * accessibility/AccessibilityRenderObject.cpp:
29671        (WebCore::AccessibilityRenderObject::ariaOwnsElements):
29672        (WebCore::AccessibilityRenderObject::supportsARIAOwns):
29673        * accessibility/AccessibilityRenderObject.h:
29674        * accessibility/mac/AccessibilityObjectWrapper.mm:
29675        (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
29676        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
29677        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
29678        * html/HTMLAttributeNames.in:
29679
296802009-11-20  Eric Carlson  <eric.carlson@apple.com>
29681
29682        Reviewed by Simon Fraser.
29683
29684        <rdar://problem/7414396> Leopard & Tiger: Support closed caption in <video> element
29685
29686        * css/mediaControls.css:
29687            Define closed caption toggle button.
29688
29689        * rendering/RenderMedia.cpp:
29690        (WebCore::RenderMedia::updateControls):
29691            Create closed caption toggle button in display order.
29692
29693        * rendering/RenderThemeMac.mm:
29694        (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
29695            Don't require MediaControllerThemeQuickTime theme for captions toggle button.
29696            No need to check if the movie has video, a closed captions track is a video
29697            track.
29698
296992009-11-20  Joseph Pecoraro  <joepeck@webkit.org>
29700
29701        Reviewed by Timothy Hatcher.
29702
29703        Web Inspector: Running code in the Console that ends with a
29704        single line comment no longer produces a parse error.
29705
29706        * inspector/front-end/InjectedScript.js:
29707        (InjectedScript._evaluateOn):
29708
297092009-11-20  Chris Fleizach  <cfleizach@apple.com>
29710
29711        Reviewed by Beth Dakin.
29712
29713        WAI-ARIA: add support for 'math' role
29714        https://bugs.webkit.org/show_bug.cgi?id=31706
29715
29716        * accessibility/AccessibilityObject.cpp:
29717        * accessibility/AccessibilityObject.h:
29718        * accessibility/mac/AccessibilityObjectWrapper.mm:
29719
297202009-11-20  Yael Aharon  <yael.aharon@nokia.com>
29721
29722        Reviewed by Kenneth Rohde Christiansen.
29723
29724        NPN_ReloadPlugins does not reload the page even if reloadPages is true.
29725        https://bugs.webkit.org/show_bug.cgi?id=30460
29726
29727        Replace call to PluginDatabase::installedPlugins()->refresh() with Page::refreshPlugins().
29728        It already refreshes plugins and reloads pages when necessary.
29729
29730        Tests: plugins/reloadplugins-and-pages.html
29731               plugins/reloadplugins-no-pages.html
29732
29733        * plugins/PluginInfoStore.cpp:
29734        (WebCore::refreshPlugins):
29735
297362009-11-20  Oliver Hunt  <oliver@apple.com>
29737
29738        Reviewed by Dave Hyatt.
29739
29740        <rdar://7409188> WebKit needs to be able to serialize and deserialize objects.
29741
29742        Expose WebCore object serialization to WebKit.
29743
29744        * WebCore.base.exp:
29745        * bindings/js/SerializedScriptValue.cpp:
29746        (WebCore::SerializedScriptValue::~SerializedScriptValue):
29747        (WebCore::SerializedScriptValue::create):
29748        (WebCore::SerializedScriptValue::deserialize):
29749        * bindings/js/SerializedScriptValue.h:
29750
297512009-11-20  Brian Weinstein  <bweinstein@apple.com>
29752
29753        Reviewed by Tim Hatcher.
29754
29755        Fixes <http://webkit.org/b/31741>.
29756        Web Inspector: User Entered Data on the console should show up no matter what filters.
29757        
29758        Always show .console-user-command-result, no matter what the filter say
29759        we should do with the other classes.
29760
29761        * inspector/front-end/inspector.css:
29762
297632009-11-20  Brian Weinstein  <bweinstein@apple.com>
29764
29765        Reviewed by Tim Hatcher.
29766
29767        Fixes <http://webkit.org/b/31700>.
29768        Web Inspector: isMac should be in one central location + Cached.
29769        
29770        We should cache the value of isMac, and make the indexOf call in one
29771        single location, because we are calling it from multiple places, and saving
29772        the result can save us time, and make the call sites simpler.
29773
29774        * inspector/front-end/AbstractTimelinePanel.js:
29775        (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
29776        * inspector/front-end/ConsoleView.js:
29777        (WebInspector.ConsoleView.prototype._updateFilter):
29778        * inspector/front-end/ElementsPanel.js:
29779        (WebInspector.ElementsPanel.prototype.handleKeyEvent):
29780        * inspector/front-end/ScriptsPanel.js:
29781        (WebInspector.ScriptsPanel):
29782        * inspector/front-end/SourceFrame.js:
29783        (WebInspector.SourceFrame.prototype._loaded):
29784        * inspector/front-end/inspector.js:
29785        (WebInspector.documentKeyDown):
29786        (WebInspector.isMac):
29787
297882009-11-19  Joseph Pecoraro  <joepeck@webkit.org>
29789
29790        Removed .DS_Store accidentally added in last (r51245).
29791
297922009-11-19  Joseph Pecoraro  <joepeck@webkit.org>
29793
29794        Reviewed by Timothy Hatcher.
29795
29796        Web Inspector: Add Console Only Layout Mode
29797        https://bugs.webkit.org/show_bug.cgi?id=30282
29798
29799        Adds a Console Panel, which allows for a Full size Console. This
29800        extends the Drawer to the size of a Panel. This also fixes previous
29801        resize issues with the Drawer.
29802
29803        * inspector/front-end/ConsolePanel.js: added.
29804        (WebInspector.ConsolePanel):
29805        (WebInspector.ConsolePanel.prototype.toolbarItemClass.get toolbarItemLabel):
29806        (WebInspector.ConsolePanel.prototype.show):
29807        (WebInspector.ConsolePanel.prototype.hide):
29808        * inspector/front-end/Drawer.js:
29809        (WebInspector.Drawer):
29810        (WebInspector.Drawer.prototype.set visibleView):
29811        (WebInspector.Drawer.prototype.get savedHeight): access the saved height of the variable console.
29812        (WebInspector.Drawer.prototype.show.animationFinished):
29813        (WebInspector.Drawer.prototype.show):
29814        (WebInspector.Drawer.prototype.hide.animationFinished):
29815        (WebInspector.Drawer.prototype.hide):
29816        (WebInspector.Drawer.prototype.resize): resize appropriately if full/non-full
29817        (WebInspector.Drawer.prototype.enterPanelMode):
29818        (WebInspector.Drawer.prototype.exitPanelMode):
29819        (WebInspector.Drawer.prototype.immediatelyExitPanelMode):
29820        (WebInspector.Drawer.prototype._cancelAnimationIfNeeded):
29821        (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
29822        (WebInspector.Drawer.prototype._animateDrawerHeight):
29823        (WebInspector.Drawer.prototype._animationDuration):
29824        (WebInspector.Drawer.prototype._startStatusBarDragging):
29825        (WebInspector.Drawer.prototype._statusBarDragging):
29826        (WebInspector.Drawer.prototype._endStatusBarDragging):
29827
29828        Miscellaneous changes and cleanup.
29829
29830        * English.lproj/localizedStrings.js: "Console" toolbar title.
29831        * inspector/front-end/ConsoleView.js: removed unnecessary element reordering  
29832        * inspector/front-end/Images/consoleIcon.png: added.
29833        * inspector/front-end/inspector.css: added icon.
29834        * inspector/front-end/inspector.html:
29835        * inspector/front-end/inspector.js:
29836        (WebInspector._createPanels): create console panel
29837        (WebInspector.windowResize): resize drawer if necessary
29838        (WebInspector.documentKeyDown): esc should not toggle the console when in panel mode
29839        (WebInspector.animateStyle): start animation interval, returns the interval key
29840        (WebInspector.toggleAttach): resize drawer if necessary
29841        (WebInspector.showConsolePanel): restore the panel when the inspector restarts
29842        (WebInspector.showProfileForURL): style fix
29843
29844        Restore the panel when the inspector restarts.
29845
29846        * inspector/InspectorController.cpp:
29847        (WebCore::InspectorController::setWindowVisible):
29848        (WebCore::InspectorController::specialPanelForJSName):
29849        * inspector/InspectorFrontend.cpp:
29850        (WebCore::InspectorFrontend::showPanel):
29851
29852        Build files.
29853
29854        * WebCore.gypi:
29855        * WebCore.vcproj/WebCore.vcproj:
29856        * inspector/front-end/WebKit.qrc:
29857
298582009-11-20  Brian Weinstein  <bweinstein@apple.com>
29859
29860        Reviewed by Tim Hatcher.
29861
29862        Fixes <http://webkit.org/b/31699>.
29863        Web Inspector: Should Cache Values of InspectorController.platform() and port().
29864
29865        Refactor the Inspector to cache the value of InspectorController.platform
29866        and InspectorController.port, because those need to call into C++, they are
29867        being called more and more as we add platform specific keyboard shortcuts, and
29868        they shouldn't change in the lifecycle of the Web Inspector.
29869
29870        * inspector/front-end/AbstractTimelinePanel.js:
29871        (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
29872        * inspector/front-end/ConsoleView.js:
29873        (WebInspector.ConsoleView.prototype._updateFilter):
29874        * inspector/front-end/ElementsPanel.js:
29875        (WebInspector.ElementsPanel.prototype.handleKeyEvent):
29876        * inspector/front-end/ScriptsPanel.js:
29877        (WebInspector.ScriptsPanel):
29878        * inspector/front-end/SourceFrame.js:
29879        (WebInspector.SourceFrame.prototype._loaded):
29880        * inspector/front-end/inspector.js:
29881        (WebInspector.get platform):
29882        (WebInspector.get port):
29883        (WebInspector.loaded):
29884        (WebInspector.documentKeyDown):
29885        (WebInspector.toolbarDragStart):
29886
298872009-11-20  Dirk Schulze  <krit@webkit.org>
29888
29889        Unreviewed build fix for filters enabled builds.
29890
29891        * platform/graphics/filters/FEColorMatrix.cpp:
29892        (WebCore::FEColorMatrix::apply):
29893        * platform/graphics/filters/FEComposite.cpp:
29894        (WebCore::FEComposite::apply):
29895        * platform/graphics/filters/SourceGraphic.cpp:
29896        (WebCore::SourceGraphic::apply):
29897        * svg/graphics/SVGResourceFilter.cpp:
29898        (WebCore::SVGResourceFilter::applyFilter):
29899        * svg/graphics/filters/SVGFEMerge.cpp:
29900        (WebCore::FEMerge::apply):
29901        * svg/graphics/filters/SVGFEOffset.cpp:
29902        (WebCore::FEOffset::apply):
29903        * svg/graphics/filters/SVGFETile.cpp:
29904        (WebCore::FETile::apply):
29905
299062009-11-20  Eric Carlson  <eric.carlson@apple.com>
29907
29908        Reviewed by Simon Fraser.
29909
29910        <rdar://problem/7389945> QTKit based media engine should not claim to support 
29911        fullscreen on Leopard
29912
29913        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
29914        (WebCore::MediaPlayerPrivate::supportsFullscreen):
29915            Only return true on SnowLeopard for now.
29916
29917        * rendering/RenderThemeMac.mm:
29918        (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
29919            No need to special case MediaFullscreenButtonPart as the default implementation 
29920            asks the media engine if it supports fullscreen.
29921
299222009-11-18  Girish Ramakrishnan  <girish@forwardbias.in>
29923
29924        Reviewed by Simon Hausmann.
29925
29926        Patch by Yongjun Zhang <yongjun.zhang@nokia.com> and
29927                 Girish Ramakrishnan <girish@forwardbias.in>
29928        
29929        [Qt] Implement support for rendering plugins on Qt/Mac when a page is used
29930        without a QWebView or when inside QGraphicsWebView.
29931        
29932        Currently, the code provides the cgcontext of the PlatformPluginWidget to
29933        the plugin. This approach does not work when we are printing, or using
29934        QWebFrame::render() to render to a QImage/QPixmap since the plugin ends
29935        up drawing on the QWebView (i.e platformPluginWidget's cgcontext) instead
29936        of the QPaintDevice's context.
29937        
29938        To solve all cases and keep the code simple, we render the plugin to an
29939        offscreen pixmap in all cases. This way, the plugin always renders to the
29940        CGContext of the pixmap and we then use QPainter to blit the pixmap into
29941        the QPaintDevice. We also create a fake window and set it's WindowRef in
29942        NPWindow. Only with this WindowRef does Flash paint correctly to the QPixmap.
29943        
29944        Now, that's the theory. In practice, ATM, mouse events do not work when using
29945        the fake window. So, setPlatformPluginWidget() is still called when using QWebView
29946        so that there are no regressions after this patch. Once we get mouse events
29947        working, setPlatformPluginWidget will be removed.
29948        
29949        https://bugs.webkit.org/show_bug.cgi?id=31183
29950
29951        * plugins/PluginView.cpp:
29952        (WebCore::PluginView::PluginView):
29953        * plugins/PluginView.h:
29954        * plugins/mac/PluginViewMac.cpp:
29955        (WebCore::PluginView::platformStart):
29956        (WebCore::PluginView::platformDestroy):
29957        (WebCore::PluginView::setNPWindowIfNeeded):
29958        (WebCore::PluginView::updatePluginWidget):
29959        (WebCore::PluginView::paint):
29960        (WebCore::PluginView::invalidateRect):
29961
299622009-11-19  Joseph Pecoraro  <joepeck@webkit.org>
29963
29964        Reviewed by Timothy Hatcher.
29965
29966        Web Inspector: Resync Resources Backend and Frontend
29967        https://bugs.webkit.org/show_bug.cgi?id=31705
29968
29969        * inspector/front-end/Resource.js: resync enum values with backend
29970        (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType): return false if all else fails, not true in all cases
29971
299722009-11-19  Steve Block  <steveblock@google.com>
29973
29974        Reviewed by Darin Fisher.
29975
29976        Android port lacks configuration in Platform.h and config.h.
29977        https://bugs.webkit.org/show_bug.cgi?id=31671
29978
29979        Build change only. No new tests possible.
29980
29981        * config.h: Modified. Added Android-specific configuration.
29982
299832009-11-20  Roland Steiner  <rolandsteiner@chromium.org>
29984
29985        Reviewed by Darin Adler.
29986
29987        Change default stylesheet to reset text indentation for ruby elements by default.
29988        (https://bugs.webkit.org/show_bug.cgi?id=31247)
29989
29990        Test: fast/ruby/ruby-text-indent.html
29991
29992        * css/html.css: reset text-indent on <ruby> and <rt> elements
29993
299942009-11-19  Brian Weinstein  <bweinstein@apple.com>
29995
29996        Reviewed by Darin Adler.
29997
29998        Fixes <http://webkit.org/b/22754>.
29999        Web Inspector: Keyboard shortcut for Element finder.
30000
30001        Use Command + Shift + C as a shortcut for Node Search, to 
30002        match the Firebug shortcut to do the same thing.
30003
30004        * inspector/front-end/ElementsPanel.js:
30005        (WebInspector.ElementsPanel.prototype.handleKeyEvent):
30006
300072009-11-19  Alexey Proskuryakov  <ap@apple.com>
30008
30009        Reviewed by Darin Adler.
30010
30011        https://bugs.webkit.org/show_bug.cgi?id=31690
30012        Make SocketStreamHandleCFNet work on Windows
30013
30014        * WebCore.vcproj/WebCore.vcproj: Added LoaderRunLoopCF.
30015
30016        * platform/network/ResourceHandle.h: Removed loaderRunLoop().
30017
30018        * platform/network/cf/LoaderRunLoopCF.cpp: Added.
30019        (WebCore::emptyPerform):
30020        (WebCore::runLoaderThread):
30021        (WebCore::loaderRunLoop):
30022        * platform/network/cf/LoaderRunLoopCF.h: Added.
30023        Moved the run loop that we use for CFNetwork from ResourceHandle to its own file, because
30024        it's needed for more than just resource loading.
30025
30026        * platform/network/cf/ResourceHandleCFNet.cpp: Use loaderRunLoop() from its new location.
30027
30028        * platform/network/cf/DNSCFNet.cpp: (WebCore::DNSResolveQueue::resolve): Ditto.
30029
30030        * platform/network/cf/SocketStreamHandle.h: Added static callbacks for forwarding events to
30031        main thread.
30032        * platform/network/cf/SocketStreamHandleCFNet.cpp:
30033        (WebCore::SocketStreamHandle::SocketStreamHandle): Use loaderRunLoop() on Windows instead of
30034        inoperable main run loop.
30035
30036        (WebCore::MainThreadEventCallbackInfo::MainThreadEventCallbackInfo): 
30037        (WebCore::SocketStreamHandle::readStreamCallback):
30038        (WebCore::SocketStreamHandle::writeStreamCallback):
30039        (WebCore::SocketStreamHandle::readStreamCallbackMainThread):
30040        (WebCore::SocketStreamHandle::writeStreamCallbackMainThread):
30041        Forward stream events to main thread on Windows.
30042
300432009-11-19  Avi Drissman  <avi@chromium.org>
30044
30045        Reviewed by Darin Adler.
30046
30047        Quick style fix.
30048        https://bugs.webkit.org/show_bug.cgi?id=27777
30049
30050        * platform/graphics/cg/PDFDocumentImage.cpp:
30051
300522009-11-19  Beth Dakin  <bdakin@apple.com>
30053
30054       Build fix. No review needed.
30055
30056        * platform/chromium/ScrollbarThemeChromium.cpp:
30057        (WebCore::ScrollbarThemeChromium::paintTickmarks):
30058        * rendering/RenderMediaControlsChromium.cpp:
30059        (WebCore::paintMediaButton):
30060
300612009-11-19  Beth Dakin  <bdakin@apple.com>
30062      
30063       Build fix. No review needed.
30064
30065        * rendering/RenderThemeChromiumSkia.cpp:
30066        (WebCore::RenderThemeChromiumSkia::paintCheckbox):
30067        (WebCore::RenderThemeChromiumSkia::paintRadio):
30068        (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
30069        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
30070        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
30071
300722009-11-19  Beth Dakin  <bdakin@apple.com>
30073
30074       Build fix. No review needed.
30075
30076        * platform/graphics/qt/StillImageQt.cpp:
30077        (WebCore::StillImage::draw):
30078        * platform/graphics/qt/StillImageQt.h:
30079
300802009-11-19  Beth Dakin  <bdakin@apple.com>
30081
30082       Build fix. No review needed.
30083
30084        * rendering/RenderThemeWin.cpp:
30085        (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
30086        (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
30087        (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
30088
300892009-11-19  Beth Dakin  <bdakin@apple.com>
30090
30091       Build fix. No review needed.
30092
30093        * plugins/PluginView.cpp:
30094        (WebCore::PluginView::paintMissingPluginIcon):
30095
300962009-11-19  Beth Dakin  <bdakin@apple.com>
30097
30098        Build fix. No review needed.
30099
30100        * platform/graphics/win/ImageCGWin.cpp:
30101        (WebCore::BitmapImage::getHBITMAPOfSize):
30102        (WebCore::BitmapImage::drawFrameMatchingSourceSize):
30103
301042009-11-19  Beth Dakin  <bdakin@apple.com>
30105
30106        Reviewed by Darin Adler.
30107
30108        Fix for https://bugs.webkit.org/show_bug.cgi?id=31321 Make -webkit-
30109        color-correction work with untagged images
30110
30111        Image's draw(), drawPattern(), and fillWithSolidColor() functions 
30112        now take a ColorSpace. A bunch of classes inherit from Image, so 
30113        draw() and drawPattern() functions there must also take a 
30114        ColorSpace.
30115        * platform/graphics/Image.cpp:
30116        (WebCore::Image::fillWithSolidColor):
30117        (WebCore::Image::drawTiled):
30118        * platform/graphics/Image.h:
30119        * platform/graphics/BitmapImage.h:
30120        * platform/graphics/GeneratedImage.cpp:
30121        (WebCore::GeneratedImage::draw):
30122        (WebCore::GeneratedImage::drawPattern):
30123        * platform/graphics/GeneratedImage.h:
30124        * platform/graphics/cg/PDFDocumentImage.cpp:
30125        (WebCore::PDFDocumentImage::draw):
30126        * platform/graphics/cg/PDFDocumentImage.h:
30127        * svg/graphics/SVGImage.cpp:
30128        (WebCore::SVGImage::draw):
30129        * svg/graphics/SVGImage.h:
30130
30131        All of the drawImage() functions and drawTiled() functions of 
30132        GraphicsContext now take a ColorSpace.
30133        * platform/graphics/GraphicsContext.cpp:
30134        (WebCore::GraphicsContext::drawImage):
30135        (WebCore::GraphicsContext::drawTiledImage):
30136        * platform/graphics/GraphicsContext.h:
30137
30138        This is where the actual work is done.
30139        * platform/graphics/cg/ImageCG.cpp:
30140        (WebCore::imageWithColorSpace): New static function that returns a 
30141        copy of the given image in the given ColorSpace *IF* we should use 
30142        the given ColorSpace. We will ignore the color space if the image 
30143        is tagged and return 0. 
30144        (WebCore::BitmapImage::draw): Now takes a ColorSpace and uses it to 
30145        call imageWithColorSpace(). 
30146        (WebCore::Image::drawPattern): Same.
30147
30148        Attempt to keep all ports building. 
30149        * platform/graphics/cairo/ImageCairo.cpp:
30150        (WebCore::BitmapImage::draw):
30151        (WebCore::Image::drawPattern):
30152        * platform/graphics/haiku/ImageHaiku.cpp:
30153        (WebCore::BitmapImage::draw):
30154        (WebCore::Image::drawPattern):
30155        * platform/graphics/qt/ImageQt.cpp:
30156        (WebCore::Image::drawPattern):
30157        (WebCore::BitmapImage::draw):
30158        * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
30159        * platform/graphics/skia/ImageSkia.cpp:
30160        (WebCore::Image::drawPattern):
30161        (WebCore::BitmapImage::draw):
30162        (WebCore::BitmapImageSingleFrameSkia::draw):
30163        * platform/graphics/wx/ImageWx.cpp:
30164        (WebCore::BitmapImage::draw):
30165        (WebCore::BitmapImage::drawPattern):
30166
30167        Callers of GraphicsContext's drawImage() and drawTiled() functions 
30168        now need to send a ColorSpace.
30169        * html/HTMLCanvasElement.cpp:
30170        (WebCore::HTMLCanvasElement::paint):
30171        * html/canvas/CanvasRenderingContext2D.cpp:
30172        (WebCore::CanvasRenderingContext2D::drawImage):
30173        (WebCore::CanvasRenderingContext2D::drawImageFromRect):
30174        * platform/ScrollView.cpp:
30175        (WebCore::ScrollView::wheelEvent):
30176        * platform/graphics/filters/FEColorMatrix.cpp:
30177        (WebCore::FEColorMatrix::apply):
30178        * platform/graphics/filters/FEComposite.cpp:
30179        (WebCore::FEComposite::apply):
30180        * platform/graphics/filters/SourceGraphic.cpp:
30181        (WebCore::SourceGraphic::apply):
30182        * platform/mac/ScrollbarThemeMac.mm:
30183        (WebCore::ScrollbarThemeMac::paint):
30184        * rendering/RenderBoxModelObject.cpp:
30185        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
30186        (WebCore::RenderBoxModelObject::paintNinePieceImage):
30187        * rendering/RenderImage.cpp:
30188        (WebCore::RenderImage::paintReplaced):
30189        * rendering/RenderLayer.cpp:
30190        (WebCore::RenderLayer::paintResizer):
30191        * rendering/RenderListMarker.cpp:
30192        (WebCore::RenderListMarker::paint):
30193        * rendering/RenderSVGImage.cpp:
30194        (WebCore::RenderSVGImage::paint):
30195        * rendering/RenderWidget.cpp:
30196        (WebCore::RenderWidget::paint):
30197        * svg/graphics/SVGPaintServerPattern.cpp:
30198        (WebCore::SVGPaintServerPattern::setup):
30199        * svg/graphics/SVGResourceFilter.cpp:
30200        (WebCore::SVGResourceFilter::applyFilter):
30201        * svg/graphics/filters/SVGFEMerge.cpp:
30202        (WebCore::FEMerge::apply):
30203        * svg/graphics/filters/SVGFEOffset.cpp:
30204        (WebCore::FEOffset::apply):
30205        * svg/graphics/filters/SVGFETile.cpp:
30206        (WebCore::FETile::apply):
30207
302082009-11-19  Avi Drissman  <avi@chromium.org>
30209
30210        Reviewed by Darin Adler.
30211
30212        Properly create a CGImageRef on non-PLATFORM(MAC).
30213        https://bugs.webkit.org/show_bug.cgi?id=27777
30214
30215        * platform/graphics/cg/ImageSourceCG.cpp:
30216        (WebCore::sharedBufferGetBytesAtPosition):
30217        (WebCore::sharedBufferRelease):
30218        (WebCore::ImageSource::setData):
30219        * platform/graphics/cg/ImageSourceCG.h:
30220        * platform/graphics/cg/PDFDocumentImage.cpp:
30221        (WebCore::PDFDocumentImage::dataChanged):
30222
302232009-11-19  Oliver Hunt  <oliver@apple.com>
30224
30225        Reviewed by Dave Hyatt.
30226
30227        -webkit-user-drag: element Drag images include overflow decorations from incorrect nodes
30228        https://bugs.webkit.org/show_bug.cgi?id=31656
30229
30230        Make sure we're a child of the painting root before drawing overflow features.
30231
30232        * manual-tests/user-drag-with-decorations.html: Added.
30233        * rendering/RenderBlock.cpp:
30234        (WebCore::RenderBlock::paint):
30235
302362009-11-19  Dmitry Titov  <dimich@chromium.org>
30237
30238        Not reviewed, attempt to fix Chromium build.
30239
30240        * rendering/RenderMediaControlsChromium.cpp:
30241        (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): Add new enum values for Show/HideClosedCaptionButton to make it compile.
30242
302432009-11-19  Rahul Kuchhal  <kuchhal@chromium.org>
30244
30245        Reviewed by Darin Adler.
30246
30247        Do not assert when a high number is used for roman numerals in lists.
30248        https://bugs.webkit.org/show_bug.cgi?id=31652
30249
30250        Test: fast/lists/ol-start-roman.html
30251
30252        * rendering/RenderListMarker.cpp:
30253        (WebCore::toRoman): Increase the char array size.
30254
302552009-11-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
30256
30257        Rubber-stamped by Oliver Hunt.
30258
30259        Add translatable strings to cover validationMessage, after
30260        r51172. Already covered by existing test.
30261
30262        * platform/gtk/LocalizedStringsGtk.cpp:
30263        (WebCore::validationMessageValueMissingText):
30264        (WebCore::validationMessageTypeMismatchText):
30265        (WebCore::validationMessagePatternMismatchText):
30266        (WebCore::validationMessageTooLongText):
30267        (WebCore::validationMessageRangeUnderflowText):
30268        (WebCore::validationMessageRangeOverflowText):
30269        (WebCore::validationMessageStepMismatchText):
30270
302712009-11-19  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
30272
30273        Reviewed by Darin Adler.
30274
30275        Remove HAVE(FLOAT_H) guard
30276        https://bugs.webkit.org/show_bug.cgi?id=31661
30277
30278        WebCore has a dependency on float.h, there is
30279        no need to guard float.h.
30280
30281        No new tests as there is no functional change.
30282
30283        * html/HTMLInputElement.cpp: Remove include directive
30284        for float.h as it is included in MathExtras.h already.
30285
302862009-11-19  Simon Fraser  <simon.fraser@apple.com>
30287
30288        Reviewed by Pavel Feldman.
30289
30290        Instrumentation should account for painting in compositing layers
30291        https://bugs.webkit.org/show_bug.cgi?id=31674
30292
30293        Add calls to InspectorTimelineAgent for painting into compositing layers,
30294        which is not accounted for in FrameView::paintContents().
30295
30296        * rendering/RenderLayerBacking.cpp:
30297        (WebCore::RenderLayerBacking::paintIntoLayer):
30298        Avoid fetching the FrameView multiple times.
30299        
30300        (WebCore::inspectorTimelineAgent):
30301        (WebCore::RenderLayerBacking::paintContents):
30302
303032009-11-19  Eric Carlson  <eric.carlson@apple.com>
30304
30305        Reviewed by Dan Bernstein.
30306
30307        <rdar://problem/7035231>
30308        Support closed caption in <video> element
30309
30310        Test: media/media-captions.html
30311
30312        * WebCore.base.exp:
30313        * accessibility/AccessibilityMediaControls.cpp:
30314        (WebCore::AccessibilityMediaControl::controlTypeName):
30315            Define ShowClosedCaptionsButton and HideClosedCaptionsButton.
30316
30317        * css/CSSPrimitiveValueMappings.h:
30318        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
30319            Add MediaToggleClosedCaptionsButtonPart.
30320
30321        * css/CSSSelector.cpp:
30322        (WebCore::CSSSelector::extractPseudoType):
30323            Define and match mediaControlsToggleClosedCaptionsButton.
30324
30325        * css/CSSSelector.h:
30326        (WebCore::CSSSelector::):
30327        * css/CSSStyleSelector.cpp:
30328        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
30329            Define and match PseudoMediaControlsToggleClosedCaptions.
30330
30331        * css/CSSValueKeywords.in:
30332            Define and use media-toggle-closed-captions-button.
30333
30334        * css/mediaControls.css:
30335        * css/mediaControlsQuickTime.css:
30336            Add webkit-media-controls-toggle-closed-captions-button.
30337
30338        * html/HTMLMediaElement.cpp:
30339        (WebCore::HTMLMediaElement::HTMLMediaElement): 
30340            Initialize m_closedCaptionsVisible.
30341        (WebCore::HTMLMediaElement::loadInternal): 
30342            Set m_closedCaptionsVisible to false.
30343        (WebCore::HTMLMediaElement::hasClosedCaptions): 
30344        (WebCore::HTMLMediaElement::closedCaptionsVisible): 
30345        (WebCore::HTMLMediaElement::setClosedCaptionsVisible): 
30346            New, captions internal methods.
30347        (WebCore::HTMLMediaElement::setWebkitClosedCaptionsVisible): 
30348        (WebCore::HTMLMediaElement::webkitClosedCaptionsVisible): 
30349        (WebCore::HTMLMediaElement::webkitHasClosedCaptions): 
30350            New, captions DOM API.
30351
30352        * html/HTMLMediaElement.h:
30353        * html/HTMLMediaElement.idl:
30354            Declare methods needed for captions API.
30355
30356        * platform/ThemeTypes.h:
30357            Add MediaToggleClosedCaptionsButtonPart.
30358
30359        * platform/android/LocalizedStringsAndroid.cpp:
30360        (WebCore::localizedMediaControlElementString):
30361        (WebCore::localizedMediaControlElementHelpText):
30362        (WebCore::localizedMediaTimeDescription):
30363            Add empty implmentations.
30364
30365        * platform/graphics/MediaPlayer.cpp:
30366        (WebCore::NullMediaPlayerPrivate::hasClosedCaptions):
30367        (WebCore::NullMediaPlayerPrivate::setClosedCaptionsVisible):
30368            New, empty implementations of media engine closed caption functions.
30369        (WebCore::MediaPlayer::hasClosedCaptions):
30370        (WebCore::MediaPlayer::setClosedCaptionsVisible):
30371            New, call media engine closed caption functions.
30372
30373        * platform/graphics/MediaPlayer.h:
30374        * platform/graphics/MediaPlayerPrivate.h:
30375        (WebCore::MediaPlayerPrivateInterface::hasClosedCaptions):
30376        (WebCore::MediaPlayerPrivateInterface::setClosedCaptionsVisible):
30377            Declare new media engine methods.
30378
30379        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
30380        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
30381        (WebCore::MediaPlayerPrivate::hasClosedCaptions):
30382        (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
30383            New, QTKit implementation of closed caption methods.
30384
30385        * platform/gtk/LocalizedStringsGtk.cpp:
30386        (WebCore::localizedMediaControlElementString):
30387        (WebCore::localizedMediaControlElementHelpText):
30388            Add help text for ShowClosedCaptionsButton and HideClosedCaptionsButton.
30389
30390        * platform/mac/WebCoreSystemInterface.h:
30391        * platform/mac/WebCoreSystemInterface.mm:
30392            Declare and initialize wkQTMovieHasClosedCaptions and wkQTMovieSetShowClosedCaptions.
30393
30394        * rendering/MediaControlElements.cpp:
30395        (WebCore::MediaControlInputElement::MediaControlInputElement):
30396            Deal with MEDIA_CONTROLS_TOGGLE_CLOSED_CAPTIONS_BUTTON.
30397        (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
30398        (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
30399        (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
30400            New, implement the closed caption toggle button,
30401
30402        * rendering/MediaControlElements.h:
30403            Define MediaShowClosedCaptionsButton and MediaHideClosedCaptionsButton,
30404            declare MediaControlToggleClosedCaptionsButtonElement.
30405
30406        * rendering/RenderMedia.cpp:
30407        (WebCore::RenderMedia::styleDidChange):
30408        (WebCore::RenderMedia::createToggleClosedCaptionsButton):
30409        (WebCore::RenderMedia::createStatusDisplay):
30410        (WebCore::RenderMedia::updateControls):
30411        (WebCore::RenderMedia::forwardEvent):
30412        * rendering/RenderMedia.h:
30413            Deal with m_toggleClosedCaptionsButton.
30414
30415        * rendering/RenderTheme.cpp:
30416        (WebCore::RenderTheme::paint):
30417            Deal with MediaToggleClosedCaptionsButtonPart.
30418
30419        * rendering/RenderTheme.h:
30420        * rendering/RenderThemeMac.h:
30421            Declare paintMediaToggleClosedCaptionsButton.
30422
30423        * rendering/RenderThemeMac.mm:
30424        (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton):
30425            New.
30426        (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
30427            Don't render captions toggle button unless we are using the new theme, the
30428            movie has captions, and the movie is in a <video> element since we currently
30429            rely on QTKit to render the captions.
30430
30431        * rendering/style/RenderStyleConstants.h:
30432            Define MEDIA_CONTROLS_TOGGLE_CLOSED_CAPTIONS_BUTTON.
30433
304342009-11-19  Kevin Ollivier  <kevino@theolliviers.com>
30435
30436        wx build fix. Add missing header.
30437
30438        * platform/wx/LocalizedStringsWx.cpp:
30439
304402009-11-19  Alexey Proskuryakov  <ap@apple.com>
30441
30442        Reviewed by Darin Adler.
30443
30444        https://bugs.webkit.org/show_bug.cgi?id=31634
30445        Ignore realm for proxy protection spaces
30446
30447        Only affects WebSocket proxy authentication, cannot be tested in DRT.
30448
30449        * platform/network/ProtectionSpace.cpp:
30450        (WebCore::operator==):
30451        * platform/network/ProtectionSpaceHash.h:
30452        (WebCore::ProtectionSpaceHash::hash):
30453
304542009-11-19  Olivier Goffart  <ogoffart@trolltech.com>
30455
30456        Reviewed by Simon Hausmann.
30457
30458        [Qt] Normalize signal and slot signatures.
30459
30460        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
30461        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
30462
304632009-11-19  Alexander Pavlov  <apavlov@chromium.org>
30464
30465        Reviewed by Pavel Feldman.
30466
30467        Store cookie domains in the WebInspector object
30468
30469        The cookie domains have been moved from StoragePanel into WebInspector.
30470        Also, the document URLs are now passed inside the WebInspector.addResource()
30471        payload rather than pushed directly from InspectorController.
30472        https://bugs.webkit.org/show_bug.cgi?id=31627
30473
30474        * inspector/InspectorController.cpp:
30475        (WebCore::InspectorController::populateScriptObjects):
30476        (WebCore::InspectorController::didFinishLoading):
30477        * inspector/InspectorFrontend.cpp:
30478        * inspector/InspectorFrontend.h:
30479        * inspector/InspectorResource.cpp:
30480        (WebCore::InspectorResource::createScriptObject):
30481        (WebCore::InspectorResource::updateScriptObject):
30482        * inspector/front-end/StoragePanel.js:
30483        (WebInspector.StoragePanel.prototype.reset):
30484        (WebInspector.StoragePanel.prototype.addCookieDomain):
30485        * inspector/front-end/inspector.js:
30486        (WebInspector.addResource):
30487        (WebInspector.addCookieDomain):
30488        (WebInspector.reset):
30489
304902009-11-19  Zoltan Horvath  <zoltan@webkit.org>
30491
30492        Reviewed by Darin Adler.
30493
30494        Allow custom memory allocation control for the other part of platform directory in WebCore
30495        https://bugs.webkit.org/show_bug.cgi?id=31585
30496
30497        Inherits the following classes from FastAllocBase because these are
30498        instantiated by 'new':
30499
30500        class RegularExpression    - instantiated at: WebCore/page/Frame.cpp:415
30501        class TransformationMatrix - instantiated at: WebCore/rendering/TransformState.cpp:62
30502        class Path                 - instantiated at: WebCore/html/HTMLAreaElement.cpp:73
30503        class FontPlatformData     - instantiated at: WebCore/platform/graphics/qt/FontCacheQt.cpp:188
30504
30505        Inherits the following classes from Noncopyable because these are
30506        instantiated by 'new' and no need to be copyable:
30507
30508        class Cursors                         - instantiated at: WebCore/platform/qt/CursorQt.cpp:146
30509        class NetworkStateNotifier            - instantiated at: WebCore/platform/network/NetworkStateNotifier.cpp:37
30510        struct CrossThreadResourceRequestData - instantiated at: WebCore/platform/network/ResourceRequestBase.cpp:71
30511
30512        class ImageDecoder - its child class is instantiated at: WebCore/platform/graphics/qt/ImageDecoderQt.cpp:46
30513        class MediaPlayerPrivateInterface - its child class is instantiated at: WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:119
30514
30515        * platform/graphics/MediaPlayerPrivate.h:
30516        * platform/graphics/Path.h:
30517        * platform/graphics/qt/FontPlatformData.h:
30518        * platform/graphics/transforms/TransformationMatrix.h:
30519        * platform/image-decoders/ImageDecoder.h:
30520        * platform/network/NetworkStateNotifier.h:
30521        * platform/network/ResourceRequestBase.h:
30522        * platform/qt/CursorQt.cpp:
30523        * platform/text/RegularExpression.h:
30524
305252009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
30526
30527        Unreviewed.
30528
30529        [Qt] Build fix for QtWebKit after r51172.
30530
30531        * platform/qt/Localizations.cpp:
30532        (WebCore::validationMessageValueMissingText):
30533        (WebCore::validationMessageTypeMismatchText):
30534        (WebCore::validationMessagePatternMismatchText):
30535        (WebCore::validationMessageTooLongText):
30536        (WebCore::validationMessageRangeUnderflowText):
30537        (WebCore::validationMessageRangeOverflowText):
30538        (WebCore::validationMessageStepMismatchText):
30539
305402009-11-18  Dan Bernstein  <mitz@apple.com>
30541
30542        Reviewed by Simon Fraser.
30543
30544        Fixed <rdar://problem/7398987> Assertion failure in
30545        RenderLayer::updateClipRects when a plug-in’s enclosing layer is
30546        enclosed by a transformed layer
30547
30548        Tests: fast/layers/clip-rects-transformed-2.html
30549               fast/layers/clip-rects-transformed.html
30550
30551        * rendering/RenderLayer.cpp:
30552        (WebCore::RenderLayer::clippingRoot): Added. Finds the nearest ancestor
30553        that is either transformed or composited. During painting and hit
30554        testing, when a transformed or composited layer is hit, it becomes the
30555        new root layer, which ultimately gets passed to calculateRects().
30556        (WebCore::RenderLayer::childrenClipRect): Pass the clipping root as the
30557        root layer to calculateRects(), and return the bounding box of the
30558        transformed rectangle.
30559        (WebCore::RenderLayer::selfClipRect): Ditto.
30560        * rendering/RenderLayer.h:
30561
305622009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
30563
30564        Reviewed by Kenneth Rohde Christiansen.
30565
30566        [Qt] Remove support for Qt v4.3 or older versions
30567        https://bugs.webkit.org/show_bug.cgi?id=29469
30568
30569        No new tests as there is no change if compiled with 
30570        Qt v4.4 or later version.
30571
30572        * WebCore.pro:
30573        * dom/XMLTokenizerQt.cpp:
30574        (WebCore::EntityResolver::resolveUndeclaredEntity):
30575        (WebCore::XMLTokenizer::XMLTokenizer):
30576        (WebCore::XMLTokenizer::~XMLTokenizer):
30577        (WebCore::XMLTokenizer::doWrite):
30578        (WebCore::XMLTokenizer::startDocument):
30579        (WebCore::XMLTokenizer::parseDtd):
30580        * platform/graphics/qt/FontQt.cpp:
30581        * platform/graphics/qt/FontQt43.cpp: Removed.
30582        * platform/graphics/qt/ImageQt.cpp:
30583        * platform/network/ResourceHandleInternal.h:
30584        * platform/network/qt/QNetworkReplyHandler.cpp:
30585        * platform/network/qt/QNetworkReplyHandler.h:
30586        * platform/network/qt/ResourceHandleQt.cpp:
30587        (WebCore::ResourceHandle::start):
30588        (WebCore::ResourceHandle::cancel):
30589        (WebCore::ResourceHandle::loadResourceSynchronously):
30590        (WebCore::ResourceHandle::setDefersLoading):
30591        * platform/network/qt/ResourceRequest.h:
30592        * platform/network/qt/ResourceRequestQt.cpp:
30593        * platform/qt/ClipboardQt.cpp:
30594        (WebCore::ClipboardQt::clearData):
30595        * platform/qt/CookieJarQt.cpp:
30596        (WebCore::cookieJar):
30597        (WebCore::setCookies):
30598        (WebCore::cookies):
30599        (WebCore::cookiesEnabled):
30600        * platform/qt/PlatformKeyboardEventQt.cpp:
30601        (WebCore::keyIdentifierForQtKeyCode):
30602        (WebCore::windowsKeyCodeForKeyEvent):
30603        * platform/text/qt/TextBoundaries.cpp:
30604        * platform/text/qt/TextBreakIteratorQt.cpp:
30605        * plugins/qt/PluginDataQt.cpp:
30606        (WebCore::PluginData::initPlugins):
30607
306082009-11-18  Michelangelo De Simone  <micdesim@gmail.com>
30609
30610        Reviewed by Darin Adler.
30611
30612        Fix for <https://bugs.webkit.org/show_bug.cgi?id=27959>.
30613        Support for validationMessage attribute, as per HTML5 specs.
30614
30615        Test: fast/forms/validationMessage.html
30616
30617        * html/HTMLButtonElement.idl: validationMessage attribute
30618        * html/HTMLFieldSetElement.idl: validationMessage attribute
30619        * html/HTMLFormControlElement.cpp:
30620        * html/HTMLFormControlElement.h:
30621        * html/HTMLInputElement.idl: validationMessage attribute
30622        * html/HTMLSelectElement.idl: validationMessage attribute
30623        * html/HTMLTextAreaElement.idl: validationMessage attribute
30624        * html/ValidityState.cpp: new method to retrieve pertinent localized text
30625        * html/ValidityState.h:
30626        * page/mac/WebCoreViewFactory.h:
30627        * platform/LocalizedStrings.h:
30628        * platform/android/LocalizedStringsAndroid.cpp:
30629        * platform/gtk/LocalizedStringsGtk.cpp:
30630        * platform/haiku/LocalizedStringsHaiku.cpp:
30631        * platform/mac/LocalizedStringsMac.mm:
30632        * platform/wx/LocalizedStringsWx.cpp:
30633
306342009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
30635
30636        Unreviewed.
30637
30638        Fix a typo. Remove the trailing semicolon
30639        from an include directive after r51137.
30640
30641        No new tests as there is no functional change.
30642
30643        * platform/qt/QWebPageClient.h:
30644
306452009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
30646
30647        Unreviewed.
30648
30649        [Qt] Build fix for QtWebKit after r51159.
30650
30651        Include float.h for DBL_MANT_DIG. Not sure why this
30652        is not a problem for other ports.
30653
30654        * html/HTMLInputElement.cpp:
30655
306562009-11-19  Roland Steiner  <rolandsteiner@chromium.org>
30657
30658        Reviewed by Darin Adler.
30659
30660        Bug 31574 -  Crashing bug when removing <ruby> element
30661        (https://bugs.webkit.org/show_bug.cgi?id=31574)
30662
30663        Cause of the bug:
30664        1.) RenderBlock::destroy() of the RenderRubyRun called destroyLeftoverChildren()
30665        2.) that called destroy() of the RenderRubyBase(), which in RenderObject::destroy() calls remove()
30666        3.) remove() is being redirected as parent()->removeChild() in RenderObject.h
30667        4.) this triggers the special handling of child removal in RenderRubyRun that
30668            causes it to destroy itself
30669        5.) On returning from all this the renderer crashes when accessing a member
30670            or virtual function on this now illegal object.
30671
30672        I therefore added a flag that tracks if the ruby run is being destroyed.
30673        If so, avoid doing the special handling in removeChild that caused this.
30674        It's not the most elegant solution, but the easiest to implement without
30675        touching unrelated code. Also, it's self-documenting.
30676
30677        Test: fast/ruby/ruby-remove.html
30678
30679        * rendering/RenderRubyRun.cpp:
30680        (WebCore::RenderRubyRun::RenderRubyRun):
30681        (WebCore::RenderRubyRun::destroy):
30682        (WebCore::RenderRubyRun::removeChild):
30683        * rendering/RenderRubyRun.h:
30684
306852009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
30686
30687        Reviewed by Kenneth Rohde Christiansen.
30688
30689        [Qt] Remove WTF_USE_JAVASCRIPTCORE_BINDINGS as it is no longer used
30690        https://bugs.webkit.org/show_bug.cgi?id=31643
30691
30692        No new tests as there is no functional change.
30693
30694        * WebCore.pro:
30695
306962009-11-18  Yong Li  <yong.li@torchmobile.com>
30697
30698        Reviewed by Eric Seidel.
30699
30700        Implement TextBoundaries for WINCE port.
30701        https://bugs.webkit.org/show_bug.cgi?id=27371
30702
30703        * platform/text/wince/TextBoundariesWince.cpp: Added.
30704
307052009-11-18  Yong Li  <yong.li@torchmobile.com>
30706
30707        Reviewed by Eric Seidel.
30708
30709        Implement TextBreakIterator for WINCE port.
30710        https://bugs.webkit.org/show_bug.cgi?id=27371
30711
30712        * platform/text/wince/TextBreakIteratorWince.cpp: Added.
30713
307142009-11-18  Kent Tamura  <tkent@chromium.org>
30715
30716        Reviewed by Darin Adler.
30717
30718        Add support for ValidityState.typeMismatch for the following INPUT types:
30719          date datetime datetime-local month time week
30720        https://bugs.webkit.org/show_bug.cgi?id=31342
30721
30722        Tests: fast/forms/ValidityState-typeMismatch-date.html
30723               fast/forms/ValidityState-typeMismatch-datetime.html
30724               fast/forms/ValidityState-typeMismatch-datetimelocal.html
30725               fast/forms/ValidityState-typeMismatch-month.html
30726               fast/forms/ValidityState-typeMismatch-time.html
30727               fast/forms/ValidityState-typeMismatch-week.html
30728
30729        * html/HTMLInputElement.cpp:
30730        (WebCore::HTMLInputElement::formStringToISODateTime): Check the type
30731          validity of the specified type and string using the ISODateTime class.
30732        * html/HTMLInputElement.h:
30733        * html/ValidityState.cpp:
30734        (WebCore::ValidityState::typeMismatch): Check the type validity
30735          for date, datetime, datetime-local, month, time and week with
30736          HTMLInputElemtn::formStringToISODateTime()
30737
307382009-11-18  Maciej Stachowiak  <mjs@apple.com>
30739
30740        Reviewed by Oliver Hunt.
30741
30742        Fix REGRESSION (r47022): Performance of DocumentFragment.appendChild is 1000x slower sometimes
30743        https://bugs.webkit.org/show_bug.cgi?id=31237
30744        
30745        Also speeds up Dromaeo DOM Core tests by 1.31x.
30746
30747        * bindings/js/JSNodeCustom.cpp:
30748        (WebCore::JSNode::markChildren): Change marking algorithm to avoid O(N^2) behavior. The subtree
30749        mark bit was no longer effective; instead I changed things so only a node that has no ancestors
30750        with wrappers would do marking; there should be only one in the typical case (the root of the
30751        detached subtree).
30752        * dom/Node.cpp:
30753        (WebCore::Node::Node): Remove now useless m_inSubtreeMark bit and related functions.
30754        * dom/Node.h: ditto
30755
307562009-11-18  Darin Adler  <darin@apple.com>
30757
30758        Reviewed by Sam Weinig.
30759
30760        Get rid of the redundant strokeType and fillType data members on
30761        a GraphicsContext as well as the FillOrStrokeType enum. Use
30762        null pointers instead.
30763
30764        * platform/graphics/GraphicsContext.cpp:
30765        (WebCore::GraphicsContext::setStrokeColor): Null out the pattern
30766        and gradient.
30767        (WebCore::GraphicsContext::setFillColor): Ditto.
30768        (WebCore::GraphicsContext::setStrokePattern): Null out the graident.
30769        (WebCore::GraphicsContext::setFillPattern): Ditto.
30770        (WebCore::GraphicsContext::setStrokeGradient): Null out the pattern.
30771        (WebCore::GraphicsContext::setFillGradient): Ditto.
30772
30773        * platform/graphics/GraphicsContextPrivate.h: Remove all that stuff.
30774
30775        * platform/graphics/cairo/GraphicsContextCairo.cpp:
30776        (WebCore::setPlatformFill): Use null checks on fillPattern and
30777        fillGraident instead of a switch statement.
30778        (WebCore::setPlatformStroke): Ditto.
30779
30780        * platform/graphics/cg/GraphicsContextCG.cpp:
30781        (WebCore::GraphicsContext::applyStrokePattern): Removed unneeded get.
30782        (WebCore::GraphicsContext::applyFillPattern): Ditto.
30783        (WebCore::calculateDrawingMode): Use fillPattern and strokePattern
30784        to see if there is a pattern instead of fillType and strokeType.
30785        (WebCore::GraphicsContext::drawPath): Use fillGradient, strokeGradient,
30786        fillPattern, and strokePattern instead of fillType and strokeType.
30787        (WebCore::GraphicsContext::fillPath): Added FIXME about color space that
30788        is used in the pattern and gradient case probably erroneously. Moved
30789        gradient code inside an if statement. Streamlined pattern code and
30790        use an if statement. No switch any more.
30791        (WebCore::GraphicsContext::strokePath): Ditto.
30792        (WebCore::GraphicsContext::fillRect): Ditto.
30793        (WebCore::GraphicsContext::strokeRect): Ditto.
30794
30795        * platform/graphics/qt/GraphicsContextQt.cpp:
30796        (WebCore::GraphicsContext::fillPath): Use null checks on fillPattern and
30797        fillGraident instead of a switch statement.
30798        (WebCore::GraphicsContext::strokePath): Ditto.
30799        (WebCore::GraphicsContext::fillRect): Ditto.
30800
30801        * platform/graphics/wince/GraphicsContextWince.cpp:
30802        (WebCore::GraphicsContext::fillPath): Removed unneeded check of fillType.
30803        (WebCore::GraphicsContext::fillRect): Ditto.
30804
308052009-11-18  Kent Tamura  <tkent@chromium.org>
30806
30807        Reviewed by Darin Adler.
30808
30809        Support for step attribute and ValidityStae.stepMismatch for
30810        type=number and range.  stepMismatch will be false if the
30811        difference between the current value and a multiple of the step
30812        value is very small.
30813
30814        Change the behavior of RenderSlider so that it always has a value
30815        rounded to the step attribute value.
30816
30817        https://bugs.webkit.org/show_bug.cgi?id=31331
30818
30819        Tests: fast/forms/ValidityState-stepMismatch-number.html
30820               fast/forms/ValidityState-stepMismatch-range.html
30821               fast/forms/ValidityState-stepMismatch-unsupported.html
30822               fast/forms/input-step.html
30823
30824        * html/HTMLAttributeNames.in: Add "step".
30825        * html/HTMLInputElement.cpp:
30826        (WebCore::HTMLInputElement::stepMismatch):
30827        (WebCore::HTMLInputElement::getStepParameters):
30828        (WebCore::HTMLInputElement::getAllowedValueStep):
30829        * html/HTMLInputElement.h:
30830        * html/HTMLInputElement.idl: Add "step".
30831        * html/ValidityState.cpp:
30832        (WebCore::ValidityState::stepMismatch): Forward to HTMLInputElement::stepMismatch().
30833        * html/ValidityState.h:
30834        * rendering/RenderSlider.cpp:
30835        (WebCore::SliderRange::SliderRange):
30836        (WebCore::SliderRange::clampValue):
30837
308382009-11-18  Dmitry Titov  <dimich@chromium.org>
30839
30840        Reviewed by Darin Adler.
30841
30842        Need to ASSERT(isMainThread()) in ThreadShared methods.
30843        https://bugs.webkit.org/show_bug.cgi?id=31637
30844
30845        Added ASSERT(IsMainThread()) to all following methods:
30846        * platform/TreeShared.h:
30847        (WebCore::TreeShared::TreeShared):
30848        (WebCore::TreeShared::~TreeShared):
30849        (WebCore::TreeShared::ref):
30850        (WebCore::TreeShared::deref):
30851        (WebCore::TreeShared::setParent):
30852        (WebCore::TreeShared::parent):
30853
308542009-11-18  Girish Ramakrishnan  <girish@forwardbias.in>
30855
30856        Reviewed by Eric Seidel.
30857
30858        Add plugin visibility manual test
30859
30860        https://bugs.webkit.org/show_bug.cgi?id=31542
30861
30862        * manual-tests/plugins/windowed.html:
30863        * manual-tests/plugins/windowless.html:
30864
308652009-11-18  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
30866
30867        Reviewed by Pavel Feldman.
30868
30869        Web Inspector - remember last script displayed in Scripts panel
30870        https://bugs.webkit.org/show_bug.cgi?id=27552
30871
30872        Manual test added
30873        
30874        * inspector/front-end/ScriptsPanel.js:
30875        (WebInspector.ScriptsPanel.prototype.showScript):
30876        (WebInspector.ScriptsPanel.prototype.showResource):
30877        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
30878        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
30879        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
30880        (WebInspector.ScriptsPanel.prototype._goBack):
30881        (WebInspector.ScriptsPanel.prototype._goForward):
30882        * manual-tests/inspector/remember-last-script.html: Added.
30883
308842009-11-18  Shinichiro Hamaji  <hamaji@chromium.org>
30885
30886        Reviewed by Dimitri Glazkov.
30887
30888        Win chromium is slow to draw transparent texts
30889        https://bugs.webkit.org/show_bug.cgi?id=31258
30890
30891        Create bounded transparency layers instead of just clipping.
30892
30893        No new tests because this is just a performance improvement.
30894
30895        * platform/graphics/chromium/FontChromiumWin.cpp:
30896        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
30897
308982009-11-18  Shu Chang  <Chang.Shu@nokia.com>
30899
30900        Reviewed by Eric Seidel.
30901
30902        [Qt] Add support for displaying deleteButton.
30903        https://bugs.webkit.org/show_bug.cgi?id=31560
30904
30905        Test: LayoutTests/editing/deleting/5408255.html
30906
30907        * WebCore.qrc:
30908        * platform/graphics/qt/ImageQt.cpp:
30909        (loadResourcePixmap):
30910
309112009-11-18  Mikhail Naganov  <mnaganov@chromium.org>
30912
30913        Reviewed by Eric Seidel.
30914
30915        Fix Qt build without JavaScript debugger.
30916
30917        https://bugs.webkit.org/show_bug.cgi?id=31575
30918
30919        * page/Console.idl:
30920
309212009-11-18  Daniel Bates  <dbates@webkit.org>
30922
30923        Reviewed by Dave Hyatt.
30924
30925        https://bugs.webkit.org/show_bug.cgi?id=24971
30926        And
30927        <rdar://problem/7138265>
30928
30929        Fixes an issue where setting the height of a table row programmatically
30930        (via JavaScript) causes the table to be improperly rendered because the
30931        height of each row in the table is not recalculated with respect to the
30932        CSS height property.
30933
30934        In particular, programmatically setting the height of some table row causes
30935        the rows of that table to be rendered with a height equal to the minimum
30936        height required by the cells in that row, regardless of any specified cell
30937        heights. Instead, when RenderTableSection::recalcCells is called, the height
30938        of each row should be set to the CSS height property just as we do in
30939        RenderTableSection::addChild.
30940
30941        Test: fast/table/row-height-recalc2.html
30942
30943        * rendering/RenderTableSection.cpp:
30944        (WebCore::setRowHeightToRowStyleHeightIfNotRelative): Added.
30945        (WebCore::RenderTableSection::addChild): Moved code that set row height into
30946        method WebCore::setRowHeightToRowStyleHeightIfNotRelative.
30947        (WebCore::RenderTableSection::recalcCells): Modified to call
30948        WebCore::setRowHeightToRowStyleHeightIfNotRelative.
30949
309502009-11-18  Zoltan Horvath  <zoltan@webkit.org>
30951
30952        Reviewed by Darin Adler.
30953
30954        Allow custom memory allocation control for the part of platform directory in WebCore
30955        https://bugs.webkit.org/show_bug.cgi?id=31473
30956
30957        Inherits the following classes from FastAllocBase because these are
30958        instantiated by 'new':
30959
30960        class  AnimationList         - instantiated at WebCore/rendering/style/StyleRareNonInheritedData.cpp:85
30961        class  Color                 - instantiated at WebCore/rendering/RenderTheme.cpp:48
30962        struct Length                - instantiated at WebCore/platform/Length.cpp:103
30963        class  PlatformKeyboardEvent - instantiated at WebCore/dom/KeyboardEvent.cpp:63
30964        class  ContextMenuItem       - instantiated at WebCore/platform/ContextMenu.cpp:70
30965        class  DeprecatedPtrList     - instantiated at WebCore/rendering/RenderBlock.cpp:2284
30966
30967        Inherits the following classes from Noncopyable because these are
30968        instantiated by 'new' and no need to be copyable:
30969
30970        class  GraphicsContextPrivate - instantiated at WebCore/platform/graphics/GraphicsContext.cpp:78
30971        class  FontCache              - instantiated at WebCore/platform/graphics/qt/FontCacheQt.cpp:43
30972        struct MediaPlayerFactory     - instantiated at WebCore/platform/graphics/MediaPlayer.cpp:163
30973        class  DeprecatedPtrListNode  - instantiated at WebCore/platform/DeprecatedPtrListImpl.cpp:53
30974
30975        * platform/ContextMenuItem.h:
30976        * platform/DeprecatedPtrList.h:
30977        * platform/DeprecatedPtrListImpl.cpp:
30978        * platform/Length.h:
30979        * platform/PlatformKeyboardEvent.h:
30980        * platform/animation/AnimationList.h:
30981        * platform/graphics/Color.h:
30982        * platform/graphics/FontCache.h:
30983        * platform/graphics/GraphicsContextPrivate.h:
30984        * platform/graphics/MediaPlayer.cpp:
30985
309862009-11-18  Daniel Bates  <dbates@webkit.org>
30987
30988        Reviewed by Darin Adler.
30989
30990        https://bugs.webkit.org/show_bug.cgi?id=31186
30991
30992        Renames RenderTextControl::m_edited and RenderTextControl::m_userEdited to
30993        m_wasChangedSinceLastChangeEvent and m_lastChangeWasUserEdit, respectively.
30994        These are more descriptive names so as to clear an ambiguity surrounding
30995        their usage. Also, renames associated setters and getters so that they
30996        coincide with the renamed fields.
30997
30998        No functionality was changed. So, no tests were included.
30999
31000        * bindings/objc/DOMHTML.mm:
31001        (-[DOMHTMLInputElement _isEdited]):
31002        (-[DOMHTMLTextAreaElement _isEdited]):
31003        * dom/Document.cpp:
31004        (WebCore::Document::setFocusedNode):
31005        * html/HTMLInputElement.cpp:
31006        (WebCore::HTMLInputElement::defaultEventHandler):
31007        * rendering/RenderTextControl.cpp:
31008        (WebCore::RenderTextControl::RenderTextControl):
31009        (WebCore::RenderTextControl::setInnerTextValue):
31010        (WebCore::RenderTextControl::setLastChangeWasUserEdit): Formerly named setUserEdited.
31011        (WebCore::RenderTextControl::subtreeHasChanged):
31012        * rendering/RenderTextControl.h:
31013        (WebCore::RenderTextControl::wasChangedSinceLastChangeEvent): Formerly named isEdited.
31014        (WebCore::RenderTextControl::setChangedSinceLastChangeEvent): Formerly named setEdited.
31015        (WebCore::RenderTextControl::lastChangeWasUserEdit): Formerly named setUserEdited.
31016        * rendering/RenderTextControlSingleLine.cpp:
31017        (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
31018        * wml/WMLInputElement.cpp:
31019        (WebCore::WMLInputElement::defaultEventHandler):
31020
310212009-11-18  Tony Chang  <tony@chromium.org>
31022
31023        Reviewed by Adam Barth.
31024
31025        Remove V8CanvasPixelArrayCustom.cpp because it is no longer used by V8.
31026        https://bugs.webkit.org/show_bug.cgi?id=31499
31027
31028        No new tests, just a build cleanup.
31029
31030        * WebCore.gypi:
31031        * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Removed.
31032        * bindings/v8/custom/V8CustomBinding.h:
31033
310342009-11-18  Kevin Watters  <kevinwatters@gmail.com>
31035
31036        Reviewed by Kevin Ollivier.
31037
31038        Enable wx plugin support using the Windows implementation as a base.
31039        
31040        https://bugs.webkit.org/show_bug.cgi?id=31636
31041
31042        * platform/graphics/GraphicsContext.h:
31043        (WebCore::GraphicsContext::inTransparencyLayer):
31044        * platform/graphics/wx/GraphicsContextWx.cpp:
31045        (WebCore::GraphicsContext::getWindowsContext):
31046        (WebCore::GraphicsContext::releaseWindowsContext):
31047        * platform/wx/FileSystemWx.cpp:
31048        (WebCore::unloadModule):
31049        (WebCore::listDirectory):
31050        * plugins/PluginDatabase.cpp:
31051        * plugins/PluginView.cpp:
31052        (WebCore::PluginView::stop):
31053        (WebCore::PluginView::PluginView):
31054        * plugins/PluginView.h:
31055        * plugins/win/PluginViewWin.cpp:
31056        (windowHandleForPageClient):
31057        (WebCore::PluginView::handleMouseEvent):
31058        (WebCore::PluginView::platformStart):
31059        (WebCore::PluginView::snapshot):
31060        * wscript:
31061
310622009-11-18  Andrei Popescu  <andreip@google.com>
31063
31064        Reviewed by Dimitri Glazkov.
31065
31066        [Android] Add shared timer and sound utilities to platform/android
31067        https://bugs.webkit.org/show_bug.cgi?id=31584
31068
31069        No new tests required, this is platform specific code.
31070
31071        * platform/android/SharedTimerAndroid.cpp: Added.
31072        (WebCore::setSharedTimerFiredFunction):
31073        (WebCore::setSharedTimerFireTime):
31074        (WebCore::stopSharedTimer):
31075        * platform/android/SoundAndroid.cpp: Added.
31076        (WebCore::systemBeep):
31077
310782009-11-18  Mikhail Naganov  <mnaganov@chromium.org>
31079
31080        Reviewed by Timothy Hatcher.
31081
31082        Fix profile tree nodes loss after focus / restore actions.
31083
31084        Focusing on a node is currently implemented via nodes reattaching
31085        with some caching involved. It seems that not all code was updated
31086        to handle this scenario correctly.
31087
31088        https://bugs.webkit.org/show_bug.cgi?id=31553
31089
31090        * inspector/front-end/BottomUpProfileDataGridTree.js:
31091        (WebInspector.BottomUpProfileDataGridNode):
31092        (WebInspector.BottomUpProfileDataGridNode.prototype._restore):
31093        (WebInspector.BottomUpProfileDataGridNode.prototype._sharedPopulate):
31094        (WebInspector.BottomUpProfileDataGridNode.prototype._willHaveChildren):
31095        * inspector/front-end/DataGrid.js:
31096        (WebInspector.DataGrid.prototype.insertChild):
31097        (WebInspector.DataGridNode.prototype._detach):
31098        (WebInspector.DataGridNode.prototype.savePosition):
31099        (WebInspector.DataGridNode.prototype.restorePosition):
31100        * inspector/front-end/TopDownProfileDataGridTree.js:
31101        (WebInspector.TopDownProfileDataGridTree.prototype.focus):
31102        (WebInspector.TopDownProfileDataGridTree.prototype.restore):
31103
311042009-11-18  Carol Szabo  <carol.szabo@nokia.com>
31105
31106        Reviewed by Kenneth Rohde Christiansen.
31107
31108        [Qt] QWebPageClient.h needs in some cases QCursor, but it does not
31109        include it 
31110        https://bugs.webkit.org/show_bug.cgi?id=31527
31111
31112        No new tests as this is just a coding style fix that affects the 
31113        build of some not yet submitted patches (i.e. for bug 30173).
31114
31115        * platform/qt/QWebPageClient.h:
31116
311172009-11-18  Nicolas Roard   <nicolas@roard.com>
31118
31119        Reviewed by Dimitri Glazkov.
31120
31121        InspectorTimelineAgent.h should be guarded by ENABLE(INSPECTOR)
31122        https://bugs.webkit.org/show_bug.cgi?id=31504
31123
31124        * inspector/InspectorTimelineAgent.h:Added the guard.
31125
311262009-11-18  Jens Alfke  <snej@chromium.org>
31127
31128        Build fix to my previous checkin, for Windows Chromium
31129
31130        * svg/SVGAnimatedProperty.h:
31131        (WebCore::PropertySynchronizer::synchronize): Fix implicit-conversion error on AtomicString.
31132
311332009-11-18  Joseph Pecoraro  <joepeck@webkit.org>
31134
31135        Reviewed by Pavel Feldman.
31136
31137        Web Inspector: Directly Access <head> Instead of Searching for It
31138        https://bugs.webkit.org/show_bug.cgi?id=31641
31139        
31140        Changed old access of the head element (document.getElementsByTagName)
31141        to just use the document.head accessor.
31142
31143        * inspector/front-end/FontView.js:
31144        (WebInspector.FontView):
31145        * inspector/front-end/InjectedScript.js:
31146        (InjectedScript.addStyleSelector):
31147        * inspector/front-end/SourceFrame.js:
31148        (WebInspector.SourceFrame.prototype._loaded):
31149        * inspector/front-end/inspector.js:
31150        (windowLoaded):
31151
311522009-11-18  Sam Weinig  <sam@webkit.org>
31153
31154        Reviewed by Anders Carlsson.
31155
31156        Fix two Geolocation assertions.
31157
31158        * page/Chrome.cpp:
31159        (WebCore::Chrome::requestGeolocationPermissionForFrame): No need to use PageGroupLoadDeferrer since this
31160        is not called from JS. 
31161        * page/Geolocation.cpp:
31162        (WebCore::Geolocation::Watchers::set): The PassRefPtr was getting nulled out, so we need to put it in
31163        a RefPtr first.
31164
311652009-11-18  Alexey Proskuryakov  <ap@apple.com>
31166
31167        Case sensitive file system build fix.
31168
31169        * platform/network/Credential.h: It's not WTF, just wtf.
31170
311712009-11-18  Aaron Golden  <agolden@apple.com>
31172
31173        Reviewed by Alexey Proskuryakov.
31174
31175        Add support for certificates to WebCore::Credential so we can convert between NSURLCredential
31176        objects and WebCore::Credential objects without losing certificate information.
31177
31178        * platform/network/Credential.cpp:
31179        (WebCore::Credential::Credential):  Adding a constructor that takes an identity argument and a certificate chain argument
31180        (WebCore::Credential::isEmpty):  Modifying isEmpty to support certificate based credentials (which don't have a username or password)
31181        (WebCore::Credential::identity): Accessor for the m_identity property
31182        (WebCore::Credential::certificates): Accessor for the m_certificates property
31183        (WebCore::Credential::type):  Accessor for the m_type property
31184        (WebCore::operator==):  Modifying == to compare the identity and certificate chains of certificate based credentials.
31185        * platform/network/Credential.h:  Adding new fields to WebCore::Credential to support certificate based credentials.
31186        * platform/network/mac/AuthenticationMac.mm:
31187        (WebCore::mac):  Modifying the mac() conversion method to correctly convert certificate based WebCore::Credential objects.
31188        (WebCore::core):  Modifying the core() conversion method to correctly convert certificate based NSURLCredential objects.
31189
311902009-11-18  Dmitry Titov  <dimich@chromium.org>
31191
31192        Reviewed by Eric Seidel.
31193
31194        Reverting r50919 that has introduced a non-thread-safe refcounting in ScriptExecutionContext::postTaskToMainThread.
31195        https://bugs.webkit.org/show_bug.cgi?id=31615
31196
31197        * dom/Document.cpp:
31198        (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
31199        (WebCore::ScriptExecutionContextTaskTimer::fired):
31200        (WebCore::PerformTaskContext::PerformTaskContext):
31201        (WebCore::performTask):
31202        (WebCore::Document::postTask):
31203        * dom/ScriptExecutionContext.cpp:
31204        * dom/ScriptExecutionContext.h:
31205
312062009-11-18  Jens Alfke  <snej@chromium.org>
31207
31208        Reviewed by Darin Adler.
31209
31210        Eliminate unnecessary String-->AtomicString conversions from generated V8 bindings,
31211        by causing the right v8-to-WebCore conversion function to be called for every parameter.
31212        This no longer requires any IDL metadata, so I've removed the [HintAtomic] annotations.
31213        To enforce correctness, I added a mode that disables implicit
31214        String-->AtomicString conversions while compiling the generated bindings.
31215        https://bugs.webkit.org/show_bug.cgi?id=31168
31216
31217        * bindings/scripts/CodeGeneratorV8.pm:  Generate usage of V8Parameter class.
31218        * bindings/v8/DerivedSourcesAllInOne.cpp:  Enable NO_IMPLICIT_ATOMICSTRING.
31219        * bindings/v8/V8Binding.h:  Add V8Parameter class.
31220        * css/WebKitCSSKeyframesRule.h:  Make AtomicString conversions explicit.
31221        * dom/Document.idl:  Remove obsolete [HintAtomic] annotation.
31222        * platform/text/AtomicString.h:  Added NO_IMPLICIT_ATOMICSTRING option.
31223        * svg/SVGAnimatedTemplate.h:  Change some return types to String to avoid implicit conversion.
31224        * svg/SVGAnimatedProperty.h: Adapt to changed return types in SVGAnimatedTemplate.
31225
312262009-11-18  Darin Adler  <darin@apple.com>
31227
31228        Reviewed by Dan Bernstein.
31229
31230        Move FillOrStrokeType out of public header.
31231
31232        * platform/graphics/GraphicsContext.h: Updated copyright date to cover
31233        some years we published Apple changes, sorted forward declarations,
31234        removed FillOrStrokeType enum.
31235        * platform/graphics/GraphicsContextPrivate.h: Updated copyright date
31236        to cover some years we published Apple changes, sorted includes,
31237        moved FillOrStrokeType enum here.
31238
312392009-11-18  Chris Marrin  <cmarrin@apple.com>
31240
31241        Reviewed by Simon Fraser.
31242
31243        Add Settings for WebKitShowDebugBorders and WebKitShowRepaintCounter
31244        https://bugs.webkit.org/show_bug.cgi?id=31601
31245
31246        These are used to debug accelerated compositing layers. I removed
31247        the platform specific code from GraphicsLayerCA.mm and added calls
31248        to GraphicsLayerClient to get it from the higher levels. The values 
31249        now get cached in RenderLayerCompositing and are queried from there
31250        by RenderLayerBacking (which implements the GraphicsLayerClient interface).
31251
31252        * WebCore.base.exp:
31253        * page/FrameView.cpp:
31254        (WebCore::FrameView::updateCompositingLayers):
31255        * page/Settings.cpp:
31256        (WebCore::Settings::Settings):
31257        (WebCore::Settings::setShowDebugBorders):
31258        (WebCore::Settings::setShowRepaintCounter):
31259        * page/Settings.h:
31260        (WebCore::Settings::showDebugBorders):
31261        (WebCore::Settings::showRepaintCounter):
31262        * platform/graphics/GraphicsLayer.h:
31263        (WebCore::GraphicsLayer::showDebugBorders):
31264        (WebCore::GraphicsLayer::showRepaintCounter):
31265        * platform/graphics/GraphicsLayerClient.h:
31266        * platform/graphics/mac/GraphicsLayerCA.mm:
31267        * rendering/RenderLayerBacking.cpp:
31268        (WebCore::RenderLayerBacking::showDebugBorders):
31269        (WebCore::RenderLayerBacking::showRepaintCounter):
31270        * rendering/RenderLayerBacking.h:
31271        * rendering/RenderLayerCompositor.cpp:
31272        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
31273        (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
31274        * rendering/RenderLayerCompositor.h:
31275        (WebCore::RenderLayerCompositor::showDebugBorders):
31276        (WebCore::RenderLayerCompositor::showRepaintCounter):
31277
312782009-11-18  Pavel Feldman  <pfeldman@chromium.org>
31279
31280        Reviewed by Timothy Hatcher.
31281
31282        Web Inspector: Get rid of metrics and properties sidebars'
31283        flickering.
31284
31285        https://bugs.webkit.org/show_bug.cgi?id=31629
31286
31287        * inspector/front-end/MetricsSidebarPane.js:
31288        * inspector/front-end/PropertiesSidebarPane.js:
31289
312902009-11-17  Brian Weinstein  <bweinstein@apple.com>
31291
31292        Reviewed by Pavel Feldman.
31293
31294        Fixes <http://webkit.org/b/31606>.
31295        Web Inspector: Enter/Return key should enter edit mode for Editable Fields.
31296        
31297        This implements Enter starting editing mode in an editable DataGrid. If the
31298        DataGrid is editable and the user hits return, startEditing the first child
31299        of the selected node. Also refactored some editing functions to take an 
31300        event target instead of the event itself, because the functions only needed
31301        the target. Lastly, added had return in editing mode stop propogation, because
31302        when enter was hit to confirm text, it would propagate back to the datagrid
31303        and try to start editing again.
31304
31305        * inspector/front-end/DataGrid.js:
31306        (WebInspector.DataGrid.prototype._ondblclick):
31307        (WebInspector.DataGrid.prototype._startEditing):
31308        (WebInspector.DataGrid.prototype.handleKeyEvent):
31309        (WebInspector.DataGrid.prototype.dataGridNodeFromEvent):
31310        (WebInspector.DataGrid.prototype._mouseDownInDataTable):
31311        (WebInspector.DataGrid.prototype._clickInDataTable):
31312        * inspector/front-end/inspector.js:
31313        (WebInspector.startEditing.element.handleKeyEvent):
31314        (WebInspector.startEditing):
31315
313162009-11-18  Ben Murdoch  <benm@google.com>
31317
31318        Reviewed by Darin Adler.
31319
31320        HTMLAnchorElement is inconsistent with its internal handling of the value returned for the href attribute.
31321        https://bugs.webkit.org/show_bug.cgi?id=31593
31322
31323        Test: fast/dom/HTMLAnchorElement/set-href-attribute-whitespace.html
31324
31325        * html/HTMLAnchorElement.cpp:
31326        (WebCore::HTMLAnchorElement::href): Add call to deprecatedParseURL.
31327
313282009-11-18  Pavel Feldman  <pfeldman@chromium.org>
31329
31330        Not reviewed. Touch InspectorController so that frontend
31331        JS files are deployed on Windows.
31332
31333        * inspector/InspectorController.cpp:
31334
313352009-11-18  Pavel Feldman  <pfeldman@chromium.org>
31336
31337        Reviewed by Timothy Hatcher.
31338
31339        Web Inspector: clone timeline records array instead of
31340        copying reference on invalidate all.
31341
31342        https://bugs.webkit.org/show_bug.cgi?id=31596
31343
31344        * inspector/front-end/AbstractTimelinePanel.js:
31345        (WebInspector.AbstractTimelinePanel.prototype.invalidateAllItems):
31346
313472009-11-18  Simon Fraser  <simon.fraser@apple.com>
31348
31349        Reviewed by Dan Bernstein.
31350
31351        Elements don't drop out of compositing layers when animation ends
31352        https://bugs.webkit.org/show_bug.cgi?id=31613
31353        <rdar://problem/7402913>
31354
31355        Avoid setting the mustOverlapCompositedLayers flag on RenderLayers which
31356        are compositing anyway for other reasons. Doing so can cause those layers
31357        to stay in compositing mode even after animations finish, because needsToBeComposited()
31358        continues to return true.
31359        
31360        No new tests because it's not possible to determine which elements are in
31361        compositing layers from DRT output.
31362
31363        * rendering/RenderLayerCompositor.cpp:
31364        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
31365
313662009-11-18  Girish Ramakrishnan  <girish@forwardbias.in>
31367
31368        Reviewed by Tor Arne Vestbø.
31369
31370        [Qt] Mac Plugins: Remove null timer
31371        
31372        A null timer was used to send mouse move events. Instead, we now use
31373        move events to send nullEvent. This brings down CPU usage by 20-30%.
31374        
31375        https://bugs.webkit.org/show_bug.cgi?id=31624
31376
31377        * plugins/PluginView.h:
31378        * plugins/mac/PluginViewMac.cpp:
31379        (WebCore::PluginView::platformStart):
31380        (WebCore::PluginView::handleMouseEvent):
31381
313822009-11-18  Benjamin Poulain  <benjamin.poulain@nokia.com>
31383
31384        Reviewed by Simon Hausmann.
31385
31386        [Qt] WebKit crashes when loading certain SVG images
31387
31388        Check if the familly exist before creating the PlatformData from it.
31389
31390        https://bugs.webkit.org/show_bug.cgi?id=29443
31391
31392        Test: svg/text/text-font-invalid.html
31393
31394        * platform/graphics/qt/FontFallbackListQt.cpp:
31395        (WebCore::FontFallbackList::fontDataAt):
31396
313972009-11-17  Nicolas Weber  <thakis@chromium.org>
31398
31399        Reviewed by Darin Fisher.
31400
31401        Fix crash in Chromium/Mac where dropdowns weren't dismissed correctly
31402        after navigation.
31403        https://bugs.webkit.org/show_bug.cgi?id=31609
31404
31405        * platform/chromium/PopupMenuChromium.cpp:
31406        (WebCore::PopupContainer::showExternal): Set parent for external
31407        dropdowns, so that |PopupListBox::hidePopup()| can successfully notify
31408        its parent's client.
31409
314102009-11-17  Hayato Ito  <hayato@google.com>
31411
31412        Reviewed by Darin Adler.
31413
31414        Avoid infinite mutual recursion when deeply nested tags are loaded
31415        https://bugs.webkit.org/show_bug.cgi?id=30651
31416
31417        Test: fast/parser/block-nesting-cap-table.html
31418
31419        * html/HTMLParser.cpp:
31420        (WebCore::HTMLParser::parseToken):
31421        (WebCore::tagPriorityOfNode):
31422        (WebCore::HTMLParser::limitBlockDepth):
31423        (WebCore::HTMLParser::insertNodeAfterLimitBlockDepth):
31424        (WebCore::HTMLParser::insertNode):
31425        * html/HTMLParser.h:
31426
314272009-11-17  Brent Fulgham  <bfulgham@webkit.org>
31428
31429        Rubber-stamped by Alexey Proskuryakov.
31430
31431        Final clean-ups for minor coding standard violations.
31432        https://bugs.webkit.org/show_bug.cgi?id=26102.
31433
31434        * platform/graphics/cairo/GraphicsContextCairo.cpp:
31435
314362009-11-17  Johnny Ding  <jnd@chromium.org>
31437
31438        Reviewed by Darin Adler.
31439
31440        In all valid script tags for JavaScript, the event handler in <script...for> should not get executed.
31441        https://bugs.webkit.org/show_bug.cgi?id=31567
31442
31443        * dom/ScriptElement.cpp:
31444        (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
31445
314462009-11-17  Pavel Feldman  <pfeldman@chromium.org>
31447
31448        Reviewed by Timothy Hatcher.
31449
31450        Web Inspector: Make DRT show web inspector for tests in inspector/ folder.
31451        - Updated DRT to show/close inspector for all tests under /inspector
31452        - Introduced LayoutTestController::setTimelineProfilingEnabled and
31453          WebInspector::setTimelineProfilingEnabled beside setJavaScriptProfilingEnabled
31454        - Removed reload on each inspector test
31455        - Renamed fast/inspector to fast/inspector-support in order not to trigger
31456        inspector for those.
31457        - Reimplemented timeline tests in order to get rid of reload there.
31458        - Moved tests that don't require harness into the fast group.
31459
31460        https://bugs.webkit.org/show_bug.cgi?id=31472
31461
31462        * WebCore.Inspector.exp:
31463        * inspector/front-end/TimelinePanel.js:
31464        (WebInspector.TimelinePanel.prototype._formatRecord):
31465
314662009-11-17  Andrei Popescu  <andreip@google.com>
31467
31468        Reviewed by Dimitri Glazkov.
31469
31470        [Android] Android is missing the implementation of the GeolocationService iface.
31471        https://bugs.webkit.org/show_bug.cgi?id=31554
31472
31473        No new tests required as this is platform specific code.
31474
31475        * platform/android/GeolocationServiceAndroid.cpp: Added.
31476        (WebCore::GeolocationServiceAndroid::create):
31477        (WebCore::GeolocationServiceAndroid::GeolocationServiceAndroid):
31478        (WebCore::GeolocationServiceAndroid::startUpdating):
31479        (WebCore::GeolocationServiceAndroid::stopUpdating):
31480        (WebCore::GeolocationServiceAndroid::suspend):
31481        (WebCore::GeolocationServiceAndroid::resume):
31482        (WebCore::GeolocationServiceAndroid::newPositionAvailable):
31483        (WebCore::GeolocationServiceAndroid::newErrorAvailable):
31484        (WebCore::GeolocationServiceAndroid::timerFired):
31485        (WebCore::GeolocationServiceAndroid::isPositionMovement):
31486        (WebCore::GeolocationServiceAndroid::isPositionMoreAccurate):
31487        (WebCore::GeolocationServiceAndroid::isPositionMoreTimely):
31488        * platform/android/GeolocationServiceAndroid.h: Added.
31489        (WebCore::GeolocationServiceAndroid::~GeolocationServiceAndroid):
31490        (WebCore::GeolocationServiceAndroid::lastPosition):
31491        (WebCore::GeolocationServiceAndroid::lastError):
31492        * platform/android/GeolocationServiceBridge.cpp: Added.
31493        (WebCore::):
31494        (WebCore::GeolocationServiceBridge::GeolocationServiceBridge):
31495        (WebCore::GeolocationServiceBridge::~GeolocationServiceBridge):
31496        (WebCore::GeolocationServiceBridge::start):
31497        (WebCore::GeolocationServiceBridge::stop):
31498        (WebCore::GeolocationServiceBridge::setEnableGps):
31499        (WebCore::GeolocationServiceBridge::newLocationAvailable):
31500        (WebCore::GeolocationServiceBridge::newErrorAvailable):
31501        (WebCore::GeolocationServiceBridge::toGeoposition):
31502        (WebCore::GeolocationServiceBridge::startJavaImplementation):
31503        (WebCore::GeolocationServiceBridge::stopJavaImplementation):
31504        * platform/android/GeolocationServiceBridge.h: Added.
31505
315062009-11-16  Kent Tamura  <tkent@chromium.org>
31507
31508        Unreviewd build fix.
31509
31510        - Fix typo in WebCore.vcproj.
31511        - Intlude limits.h for INT_MAX.
31512        - Enclose with parenthesis to suspress warning.
31513
31514        * WebCore.vcproj/WebCore.vcproj:
31515        * html/ISODateTime.cpp:
31516        (WebCore::ISODateTime::addDay):
31517
315182009-11-16  Robin Dunn  <robin@alldunn.com>
31519
31520        Reviewed by Kevin Ollivier.
31521
31522        Make sure wx scrollbar drawing code factors in transforms when switching backends,
31523        fix calcs for scrollbar length, and tweak the Mac scrollbar tracking rects.
31524        
31525        https://bugs.webkit.org/show_bug.cgi?id=31570
31526
31527        * platform/wx/ScrollbarThemeWx.cpp:
31528        (WebCore::ScrollbarThemeWx::minimumThumbLength):
31529        (WebCore::ScrollbarThemeWx::splitTrack):
31530        (WebCore::ScrollbarThemeWx::forwardButtonRect):
31531        * platform/wx/ScrollbarThemeWx.h:
31532        * platform/wx/wxcode/gtk/scrollbar_render.cpp:
31533        (wxRenderer_DrawScrollbar):
31534        * platform/wx/wxcode/scrollbar_render.h:
31535        (calcThumbStartAndLength):
31536        * platform/wx/wxcode/win/scrollbar_render.cpp:
31537        (wxRenderer_DrawScrollbar):
31538
315392009-11-16  Kent Tamura  <tkent@chromium.org>
31540
31541        Reviewed by David Levin.
31542
31543        Introduce WebCore::ISODateTime class.
31544        https://bugs.webkit.org/show_bug.cgi?id=31340
31545
31546        This class represents a value of date/time types of the HTML5 INPUT
31547        element, and has some parsing methods for ISO 8601.
31548
31549        This change has no tests because the class is not used yet.
31550
31551        * GNUmakefile.am: Add ISODateTime.cpp and ISODateTime.h.
31552        * WebCore.gypi: ditto.
31553        * WebCore.pro: ditto.
31554        * WebCore.vcproj/WebCore.vcproj: ditto.
31555        * WebCore.xcodeproj/project.pbxproj: ditto.
31556        * WebCoreSources.bkl: ditto.
31557        * html/ISODateTime.cpp: Added. Implementation of WebCore::ISODateTime class.
31558        (WebCore::isLeapYear):
31559        (WebCore::maxDayOfMonth):
31560        (WebCore::dayOfWeek):
31561        (WebCore::ISODateTime::maxWeekNumberInYear):
31562        (WebCore::countDigits):
31563        (WebCore::toInt):
31564        (WebCore::ISODateTime::parseYear): Private helper for parseDate() and parseWeek().
31565        (WebCore::ISODateTime::addDay): Private helper for parseTimeZone().
31566        (WebCore::ISODateTime::addMinute): ditto.
31567        (WebCore::ISODateTime::parseTimeZone): Private helper for parseDateTime().
31568        (WebCore::ISODateTime::parseMonth): Parser for <input type=month>.
31569        (WebCore::ISODateTime::parseDate): Parser for <input type=date>.
31570        (WebCore::ISODateTime::parseWeek): Parser for <input type=week>.
31571        (WebCore::ISODateTime::parseTime): Parser for <input type=time>.
31572        (WebCore::ISODateTime::parseDateTimeLocal): Parser for <input type=datetime-local>.
31573        (WebCore::ISODateTime::parseDateTime): Parser for <input type=datetime>.
31574        * html/ISODateTime.h: Added.  Declare WebCore::ISODateTime class.
31575        (WebCore::ISODateTime::ISODateTime):
31576        (WebCore::ISODateTime::millisecond):
31577        (WebCore::ISODateTime::second):
31578        (WebCore::ISODateTime::minute):
31579        (WebCore::ISODateTime::hour):
31580        (WebCore::ISODateTime::monthDay):
31581        (WebCore::ISODateTime::month):
31582        (WebCore::ISODateTime::fullYear):
31583        (WebCore::ISODateTime::week):
31584
315852009-11-16  Alexey Proskuryakov  <ap@apple.com>
31586
31587        Fix a typo in previous commit.
31588
31589        * platform/network/cf/SocketStreamHandleCFNet.cpp: #ifdef, not #if.
31590
315912009-11-16  Alexey Proskuryakov  <ap@apple.com>
31592
31593        Fix a typo in previous commit.
31594
31595        * platform/network/cf/SocketStreamHandleCFNet.cpp:
31596
315972009-11-16  Alexey Proskuryakov  <ap@apple.com>
31598
31599        Tiger build fix.
31600
31601        * platform/network/cf/SocketStreamHandleCFNet.cpp: Define CFN_EXPORT, as this macro was named
31602        differently in Tiger CFNetwork.
31603
316042009-11-16  Dimitri Glazkov  <dglazkov@chromium.org>
31605
31606        Reviewed by Darin Fisher.
31607
31608        [KURLGoogle] setHostAndPort doesn't handle arguments without port correctly.
31609
31610        Fix a bug in the code that was dormant until http://trac.webkit.org/changeset/50784.
31611
31612        Covered by existing test: LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-host.html
31613
31614        * platform/KURLGoogle.cpp:
31615        (WebCore::KURL::setHostAndPort): Added handling of arguments without port specified.
31616
316172009-11-16  Alexey Proskuryakov  <ap@apple.com>
31618
31619        Rubber-stamped by Jon Honeycutt.
31620
31621        A better Windows build fix
31622
31623        * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::createStreams):
31624        Use a macro that inserts __declspec(dllimport) when appropriate for CFNetwork imports.
31625
316262009-11-16  Yael Aharon  <yael.aharon@nokia.com>
31627
31628        Reviewed by Darin Adler.
31629
31630        Rename protocolIsValid to isValidProtocol.
31631        https://bugs.webkit.org/show_bug.cgi?id=31503
31632
31633        This name change was suggested in https://bugs.webkit.org/show_bug.cgi?id=29972#c19.
31634
31635        No new tests since no new functionality was introduced.
31636
31637        * html/HTMLAnchorElement.cpp:
31638        (WebCore::HTMLAnchorElement::setProtocol):
31639        * platform/KURL.cpp:
31640        (WebCore::isValidProtocol):
31641        * platform/KURL.h:
31642        * platform/KURLGoogle.cpp:
31643        (WebCore::isValidProtocol):
31644
316452009-11-16  Chris Fleizach  <cfleizach@apple.com>
31646
31647        Reviewed by Beth Dakin.
31648
31649        AX: aria-labelledby duplicates some of its WAI-ARIA label
31650        https://bugs.webkit.org/show_bug.cgi?id=31565
31651
31652        Test: accessibility/aria-labelledby-overrides-label.html
31653
31654        * accessibility/AccessibilityRenderObject.cpp:
31655        (WebCore::AccessibilityRenderObject::hasTextAlternative):
31656        (WebCore::AccessibilityRenderObject::exposesTitleUIElement):
31657        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
31658        * accessibility/AccessibilityRenderObject.h:
31659
316602009-11-16  Nate Chapin  <japhet@chromium.org>
31661
31662        Reviewed by Darin Fisher.
31663
31664        Handle the case of a null NPObject* in NPN_SetException in
31665        the V8 bindings.  This allow out of process plugins calling
31666        NPN_SetException to just send null instead of sending an
31667        NPObject* that would be an address in a different 
31668        process's memory space.
31669
31670        https://bugs.webkit.org/show_bug.cgi?id=31561
31671
31672        * bindings/v8/NPV8Object.cpp:
31673        (_NPN_SetException): Allow null NPObject* and just throw a general error.
31674
316752009-11-16  Alexey Proskuryakov  <ap@apple.com>
31676
31677        Windows build fix.
31678
31679        * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::createStreams):
31680        Disable CONNECT proxies on Windows until WebKitSupportLibrary includes support for those.
31681
316822009-11-14  Yael Aharon  <yael.aharon@nokia.com>
31683
31684        Reviewed by Kenneth Rohde Christiansen.
31685
31686        [Qt] ASSERT failure while running DRT
31687        https://bugs.webkit.org/show_bug.cgi?id=30978
31688
31689        Add needed Structure typeInfo flags to QtRuntimeObjectImpl and QtRuntimeMethod.
31690        These flags are needed after r49649, where HasDefaultmark was changed to OverrideMarkChildren.
31691
31692        * bridge/qt/qt_instance.cpp:
31693        (JSC::Bindings::QtRuntimeObjectImp::createStructure):
31694        * bridge/qt/qt_runtime.h:
31695        (JSC::Bindings::QtRuntimeMethod::createStructure):
31696
316972009-11-16  Mark Rowe  <mrowe@apple.com>
31698
31699        Attempt to fix the build.  Land a file that was missing from r51049.
31700
31701        * bindings/js/JSWebGLArrayHelper.h: Copied from WebCore/html/canvas/WebGLByteArray.idl.
31702        (WebCore::setWebGLArrayFromArray):
31703
317042009-11-16  Kenneth Russell  <kbr@google.com>
31705
31706        Reviewed by Oliver Hunt.
31707
31708        Update API of WebGLArray and friends
31709        https://bugs.webkit.org/show_bug.cgi?id=31175
31710
31711        * bindings/js/JSWebGLArrayCustom.cpp:
31712        (WebCore::toJS):
31713        * bindings/js/JSWebGLArrayHelper.h: Added.
31714        (WebCore::setWebGLArrayFromArray):
31715        * bindings/js/JSWebGLByteArrayCustom.cpp:
31716        (WebCore::JSWebGLByteArray::set):
31717        * bindings/js/JSWebGLFloatArrayCustom.cpp:
31718        (WebCore::JSWebGLFloatArray::set):
31719        * bindings/js/JSWebGLIntArrayCustom.cpp:
31720        (WebCore::JSWebGLIntArray::set):
31721        * bindings/js/JSWebGLShortArrayCustom.cpp:
31722        (WebCore::JSWebGLShortArray::set):
31723        * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp:
31724        (WebCore::JSWebGLUnsignedByteArray::set):
31725        * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp:
31726        (WebCore::JSWebGLUnsignedIntArray::set):
31727        * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp:
31728        (WebCore::JSWebGLUnsignedShortArray::set):
31729        * bindings/scripts/CodeGeneratorV8.pm:
31730        * bindings/v8/V8DOMWrapper.cpp:
31731        (WebCore::V8DOMWrapper::convertToV8Object):
31732        * bindings/v8/custom/V8CustomBinding.h:
31733        * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
31734        (WebCore::CALLBACK_FUNC_DECL):
31735        * bindings/v8/custom/V8WebGLArrayCustom.h:
31736        (WebCore::constructWebGLArray):
31737        (WebCore::getWebGLArrayElement):
31738        (WebCore::setWebGLArrayFromArray):
31739        (WebCore::setWebGLArray):
31740        * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
31741        (WebCore::CALLBACK_FUNC_DECL):
31742        * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
31743        (WebCore::CALLBACK_FUNC_DECL):
31744        * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
31745        (WebCore::CALLBACK_FUNC_DECL):
31746        * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
31747        (WebCore::CALLBACK_FUNC_DECL):
31748        * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
31749        (WebCore::CALLBACK_FUNC_DECL):
31750        * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
31751        (WebCore::CALLBACK_FUNC_DECL):
31752        * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
31753        (WebCore::CALLBACK_FUNC_DECL):
31754        * html/canvas/WebGLArray.cpp:
31755        (WebCore::WebGLArray::WebGLArray):
31756        (WebCore::WebGLArray::~WebGLArray):
31757        (WebCore::WebGLArray::setImpl):
31758        * html/canvas/WebGLArray.h:
31759        (WebCore::WebGLArray::isByteArray):
31760        (WebCore::WebGLArray::isUnsignedByteArray):
31761        (WebCore::WebGLArray::isShortArray):
31762        (WebCore::WebGLArray::isUnsignedShortArray):
31763        (WebCore::WebGLArray::isIntArray):
31764        (WebCore::WebGLArray::isUnsignedIntArray):
31765        (WebCore::WebGLArray::isFloatArray):
31766        (WebCore::WebGLArray::buffer):
31767        (WebCore::WebGLArray::baseAddress):
31768        (WebCore::WebGLArray::byteOffset):
31769        * html/canvas/WebGLArray.idl:
31770        * html/canvas/WebGLArrayBuffer.cpp:
31771        (WebCore::WebGLArrayBuffer::create):
31772        (WebCore::WebGLArrayBuffer::WebGLArrayBuffer):
31773        (WebCore::WebGLArrayBuffer::data):
31774        (WebCore::WebGLArrayBuffer::byteLength):
31775        (WebCore::WebGLArrayBuffer::~WebGLArrayBuffer):
31776        * html/canvas/WebGLArrayBuffer.h:
31777        * html/canvas/WebGLByteArray.cpp:
31778        (WebCore::WebGLByteArray::create):
31779        (WebCore::WebGLByteArray::byteLength):
31780        (WebCore::WebGLByteArray::slice):
31781        (WebCore::WebGLByteArray::set):
31782        * html/canvas/WebGLByteArray.h:
31783        (WebCore::WebGLByteArray::isByteArray):
31784        (WebCore::WebGLByteArray::data):
31785        (WebCore::WebGLByteArray::set):
31786        (WebCore::WebGLByteArray::get):
31787        (WebCore::WebGLByteArray::item):
31788        * html/canvas/WebGLByteArray.idl:
31789        * html/canvas/WebGLFloatArray.cpp:
31790        (WebCore::WebGLFloatArray::create):
31791        (WebCore::WebGLFloatArray::WebGLFloatArray):
31792        (WebCore::WebGLFloatArray::length):
31793        (WebCore::WebGLFloatArray::byteLength):
31794        (WebCore::WebGLFloatArray::slice):
31795        (WebCore::WebGLFloatArray::set):
31796        * html/canvas/WebGLFloatArray.h:
31797        (WebCore::WebGLFloatArray::isFloatArray):
31798        (WebCore::WebGLFloatArray::data):
31799        (WebCore::WebGLFloatArray::set):
31800        (WebCore::WebGLFloatArray::get):
31801        (WebCore::WebGLFloatArray::item):
31802        * html/canvas/WebGLFloatArray.idl:
31803        * html/canvas/WebGLIntArray.cpp:
31804        (WebCore::WebGLIntArray::create):
31805        (WebCore::WebGLIntArray::WebGLIntArray):
31806        (WebCore::WebGLIntArray::length):
31807        (WebCore::WebGLIntArray::byteLength):
31808        (WebCore::WebGLIntArray::slice):
31809        (WebCore::WebGLIntArray::set):
31810        * html/canvas/WebGLIntArray.h:
31811        (WebCore::WebGLIntArray::isIntArray):
31812        (WebCore::WebGLIntArray::data):
31813        (WebCore::WebGLIntArray::set):
31814        (WebCore::WebGLIntArray::get):
31815        (WebCore::WebGLIntArray::item):
31816        * html/canvas/WebGLIntArray.idl:
31817        * html/canvas/WebGLShortArray.cpp:
31818        (WebCore::WebGLShortArray::create):
31819        (WebCore::WebGLShortArray::WebGLShortArray):
31820        (WebCore::WebGLShortArray::length):
31821        (WebCore::WebGLShortArray::byteLength):
31822        (WebCore::WebGLShortArray::slice):
31823        (WebCore::WebGLShortArray::set):
31824        * html/canvas/WebGLShortArray.h:
31825        (WebCore::WebGLShortArray::isShortArray):
31826        (WebCore::WebGLShortArray::data):
31827        (WebCore::WebGLShortArray::set):
31828        (WebCore::WebGLShortArray::get):
31829        (WebCore::WebGLShortArray::item):
31830        * html/canvas/WebGLShortArray.idl:
31831        * html/canvas/WebGLUnsignedByteArray.cpp:
31832        (WebCore::WebGLUnsignedByteArray::create):
31833        (WebCore::WebGLUnsignedByteArray::WebGLUnsignedByteArray):
31834        (WebCore::WebGLUnsignedByteArray::length):
31835        (WebCore::WebGLUnsignedByteArray::byteLength):
31836        (WebCore::WebGLUnsignedByteArray::slice):
31837        (WebCore::WebGLUnsignedByteArray::set):
31838        * html/canvas/WebGLUnsignedByteArray.h:
31839        (WebCore::WebGLUnsignedByteArray::isUnsignedByteArray):
31840        (WebCore::WebGLUnsignedByteArray::data):
31841        (WebCore::WebGLUnsignedByteArray::set):
31842        (WebCore::WebGLUnsignedByteArray::get):
31843        (WebCore::WebGLUnsignedByteArray::item):
31844        * html/canvas/WebGLUnsignedByteArray.idl:
31845        * html/canvas/WebGLUnsignedIntArray.cpp:
31846        (WebCore::WebGLUnsignedIntArray::create):
31847        (WebCore::WebGLUnsignedIntArray::WebGLUnsignedIntArray):
31848        (WebCore::WebGLUnsignedIntArray::length):
31849        (WebCore::WebGLUnsignedIntArray::byteLength):
31850        (WebCore::WebGLUnsignedIntArray::slice):
31851        (WebCore::WebGLUnsignedIntArray::set):
31852        * html/canvas/WebGLUnsignedIntArray.h:
31853        (WebCore::WebGLUnsignedIntArray::isUnsignedIntArray):
31854        (WebCore::WebGLUnsignedIntArray::data):
31855        (WebCore::WebGLUnsignedIntArray::set):
31856        (WebCore::WebGLUnsignedIntArray::get):
31857        (WebCore::WebGLUnsignedIntArray::item):
31858        * html/canvas/WebGLUnsignedIntArray.idl:
31859        * html/canvas/WebGLUnsignedShortArray.cpp:
31860        (WebCore::WebGLUnsignedShortArray::create):
31861        (WebCore::WebGLUnsignedShortArray::WebGLUnsignedShortArray):
31862        (WebCore::WebGLUnsignedShortArray::length):
31863        (WebCore::WebGLUnsignedShortArray::byteLength):
31864        (WebCore::WebGLUnsignedShortArray::slice):
31865        (WebCore::WebGLUnsignedShortArray::set):
31866        * html/canvas/WebGLUnsignedShortArray.h:
31867        (WebCore::WebGLUnsignedShortArray::isUnsignedShortArray):
31868        (WebCore::WebGLUnsignedShortArray::data):
31869        (WebCore::WebGLUnsignedShortArray::set):
31870        (WebCore::WebGLUnsignedShortArray::get):
31871        (WebCore::WebGLUnsignedShortArray::item):
31872        * html/canvas/WebGLUnsignedShortArray.idl:
31873        * platform/graphics/mac/GraphicsContext3DMac.cpp:
31874        (WebCore::GraphicsContext3D::bufferData):
31875        (WebCore::GraphicsContext3D::bufferSubData):
31876
318772009-11-16  Alexey Proskuryakov  <ap@apple.com>
31878
31879        Windows build fix.
31880
31881        * platform/network/cf/SocketStreamHandleCFNet.cpp: Declare constants as extern "C".
31882
318832009-11-15  Brent Fulgham  <bfulgham@webkit.org>
31884
31885        Reviewed by Oliver Hunt.
31886
31887        Enable support for webkit-box-shadow in Cairo builds.
31888        https://bugs.webkit.org/show_bug.cgi?id=26102.
31889
31890        Covered by existing fast/box-shadow tests.
31891
31892        * platform/graphics/cairo/GraphicsContextCairo.cpp:  Add
31893          support for fillRect shadows.
31894
318952009-11-16  Alexey Proskuryakov  <ap@apple.com>
31896
31897        Windows build fix.
31898
31899        * platform/network/cf/SocketStreamHandleCFNet.cpp: Don't try to include a file that's not
31900        in WebKitSupportLibrary.
31901
319022009-11-16  Alexey Proskuryakov  <ap@apple.com>
31903
31904        Reviewed by Darin Adler.
31905
31906        https://bugs.webkit.org/show_bug.cgi?id=31494
31907        Add unauthenticated proxy support to SocketStreamHandleCFNet
31908
31909        Cannot be tested in DRT.
31910
31911        * platform/network/cf/SocketStreamHandleCFNet.cpp:
31912        (WebCore::SocketStreamHandle::chooseProxy): Fetch proxy information from OS.
31913        (WebCore::SocketStreamHandle::createStreams): Apply it to the newly created streams.
31914
319152009-11-14  Antonio Gomes  <tonikitoo@webkit.org>
31916
31917        Reviewed by Antti Koivisto.
31918
31919        [Qt] Broken back/forward after using ErrorPageExtension to set error page
31920        https://bugs.webkit.org/show_bug.cgi?id=30573
31921
31922        Make FrameLoader::checkLoadCompleteForThisFrame method
31923        to check for any working DocumentLoader instance (through
31924        activeDocumentLoader()) instead of only checking for
31925        'm_provisionalDocumentLoader' in order to decide to if
31926        it is going to reset of not the back and forward history.
31927        after an error page has been loaded.
31928
31929        Test: LayoutTests/fast/history/back-forward-reset-after-error-handling.html
31930
31931        * loader/FrameLoader.cpp:
31932        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
31933
319342009-11-14  Chris Fleizach  <cfleizach@apple.com>
31935
31936        Reviewed by Darin Adler.
31937
31938        Need to implement ARIA role="directory"
31939        https://bugs.webkit.org/show_bug.cgi?id=31516
31940
31941        Test: platform/mac/accessibility/aria-directory.html
31942
31943        * accessibility/AXObjectCache.cpp:
31944        (WebCore::AXObjectCache::getOrCreate):
31945        * accessibility/AccessibilityList.cpp:
31946        (WebCore::AccessibilityList::isOrderedList):
31947        * accessibility/AccessibilityRenderObject.cpp:
31948        (WebCore::createARIARoleMap):
31949
319502009-11-15  Dave Tapuska  <dtapuska@rim.com>
31951
31952        Reviewed by George Staikos.
31953        
31954        Compare UChars single unit at a time as opposed to the uint32_t
31955        approach as casting to unaligned addresses may cause a bus failure
31956        on ARMv5 and below. This change replicates the same defines that
31957        exists in AtomicString.cpp
31958
31959        https://bugs.webkit.org/show_bug.cgi?id=31475
31960        
31961        * platform/text/StringHash.h:
31962        (WebCore::StringHash::equal):
31963
319642009-11-15  Evan Martin  <evan@chromium.org>
31965
31966        Reviewed by Adam Barth.
31967
31968        Wrap some SVG code in V8DOMWrapper with an ENABLE(SVG) test.
31969
31970        https://bugs.webkit.org/show_bug.cgi?id=31490
31971
31972        * bindings/v8/V8DOMWrapper.cpp:
31973
319742009-11-15  Maxime Simon  <simon.maxime@gmail.com>
31975
31976        Reviewed by Adam Barth.
31977
31978        [Haiku] Build fix. The FileChooser constructor doesn't need to be redefined.
31979
31980        * platform/haiku/FileChooserHaiku.cpp:
31981
319822009-11-15  Maxime Simon  <simon.maxime@gmail.com>
31983
31984        Reviewed by Adam Barth.
31985
31986        [Haiku] Build fix. ColorSpace name had a wrong CamelCase.
31987
31988        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
31989        (WebCore::GraphicsContext::setPlatformStrokeColor):
31990
319912009-11-15  Daniel Bates  <dbates@webkit.org>
31992
31993        No review, rolling out r50999.
31994        http://trac.webkit.org/changeset/50999
31995
31996        Need to fix some issues in the Windows build. Missed some places where
31997        RenderTextControl::isEdited is called.
31998
31999        * bindings/objc/DOMHTML.mm:
32000        (-[DOMHTMLInputElement _isEdited]):
32001        (-[DOMHTMLTextAreaElement _isEdited]):
32002        * dom/Document.cpp:
32003        (WebCore::Document::setFocusedNode):
32004        * html/HTMLInputElement.cpp:
32005        (WebCore::HTMLInputElement::defaultEventHandler):
32006        * rendering/RenderTextControl.cpp:
32007        (WebCore::RenderTextControl::RenderTextControl):
32008        (WebCore::RenderTextControl::setInnerTextValue):
32009        (WebCore::RenderTextControl::setUserEdited):
32010        (WebCore::RenderTextControl::subtreeHasChanged):
32011        * rendering/RenderTextControl.h:
32012        (WebCore::RenderTextControl::isEdited):
32013        (WebCore::RenderTextControl::setEdited):
32014        (WebCore::RenderTextControl::isUserEdited):
32015        * rendering/RenderTextControlSingleLine.cpp:
32016        (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
32017        * wml/WMLInputElement.cpp:
32018        (WebCore::WMLInputElement::defaultEventHandler):
32019
320202009-11-15  Daniel Bates  <dbates@webkit.org>
32021
32022        Reviewed by Darin Adler.
32023
32024        https://bugs.webkit.org/show_bug.cgi?id=31186
32025
32026        Renames RenderTextControl::m_edited and RenderTextControl::m_userEdited to
32027        m_wasChangedSinceLastChangeEvent and m_lastChangeWasUserEdit, respectively.
32028        These are more descriptive names so as to clear an ambiguity surrounding
32029        their usage. Also, renames associated setters and getters so that they
32030        coincide with the renamed fields.
32031
32032        No functionality was changed. So, no tests were included.
32033
32034        * bindings/objc/DOMHTML.mm:
32035        (-[DOMHTMLInputElement _isEdited]):
32036        (-[DOMHTMLTextAreaElement _isEdited]):
32037        * dom/Document.cpp:
32038        (WebCore::Document::setFocusedNode):
32039        * html/HTMLInputElement.cpp:
32040        (WebCore::HTMLInputElement::defaultEventHandler):
32041        * rendering/RenderTextControl.cpp:
32042        (WebCore::RenderTextControl::RenderTextControl):
32043        (WebCore::RenderTextControl::setInnerTextValue):
32044        (WebCore::RenderTextControl::setLastChangeWasUserEdit): Formerly named setUserEdited.
32045        (WebCore::RenderTextControl::subtreeHasChanged):
32046        * rendering/RenderTextControl.h:
32047        (WebCore::RenderTextControl::wasChangedSinceLastChangeEvent): Formerly named isEdited.
32048        (WebCore::RenderTextControl::setChangedSinceLastChangeEvent): Formerly named setEdited.
32049        (WebCore::RenderTextControl::lastChangeWasUserEdit): Formerly named setUserEdited.
32050        * rendering/RenderTextControlSingleLine.cpp:
32051        (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
32052        * wml/WMLInputElement.cpp:
32053        (WebCore::WMLInputElement::defaultEventHandler):
32054
320552009-11-14  Adele Peterson  <adele@apple.com>
32056
32057        Reviewed by Dan Bernstein.
32058
32059        Fix for <rdar://problem/6946165> Would like to be able to specify the number of visible lines when using -webkit-line-clamp
32060
32061        Test: fast/overflow/line-clamp.html
32062
32063        * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Updated to handle different types of values.
32064        * css/CSSParser.cpp: (WebCore::CSSParser::parseValue): ditto.
32065        * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): ditto.
32066
32067        * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox):
32068        Use the line count value if available.  Otherwise, convert the percentage to the line count, as we did before.  Also,
32069        if there is anchor as the last child box, still allow adding the ellipsis.
32070
32071        * rendering/RenderLayer.cpp:
32072        (WebCore::RenderLayer::scrollByRecursively): Call isNone on the LineClampValue to see if the line-clamp property has been set.
32073        (WebCore::RenderLayer::scrollRectToVisible): ditto.
32074
32075        * WebCore.xcodeproj/project.pbxproj: Added LineClampValue.h
32076        * rendering/style/LineClampValue.h: Added.
32077        (WebCore::LineClampValue::LineClampValue):
32078        (WebCore::LineClampValue::value):
32079        (WebCore::LineClampValue::isPercentage):
32080        (WebCore::LineClampValue::isNone):
32081        (WebCore::LineClampValue::operator==):
32082        (WebCore::LineClampValue::operator!=):
32083        * rendering/style/RenderStyleConstants.h: (WebCore::): Define ELineClampType enum for percentage or line count.
32084
32085        * rendering/style/RenderStyle.h: Use LineClampValue.
32086        (WebCore::InheritedFlags::lineClamp):
32087        (WebCore::InheritedFlags::setLineClamp):
32088        (WebCore::InheritedFlags::initialLineClamp):
32089        * rendering/style/StyleRareNonInheritedData.h:
32090
320912009-11-14  Eric Carlson  <eric.carlson@apple.com>
32092
32093        Reviewed by Oliver Hunt.
32094
32095        <rdar://problem/7287487> 
32096        Do not use QuickTime version to detect media controller theme
32097
32098        * WebCore.base.exp: Export wkMediaControllerThemeAvailable
32099        * platform/mac/WebCoreSystemInterface.h: Ditto.
32100        * platform/mac/WebCoreSystemInterface.mm: Ditto.
32101
32102        * rendering/RenderThemeMac.mm:
32103        (WebCore::mediaControllerTheme): Use wkMediaControllerThemeAvailable instead of the
32104        QuickTime version to see if it is possible to use MediaControllerThemeQuickTime.
32105
321062009-11-14  Kent Tamura  <tkent@chromium.org>
32107
32108        Reviewed by Darin Adler.
32109
32110        - Recognizes date/datetime/datetime-local/month/time/week types of INPUT element.
32111          They have no dedicated UI and no type validation for now.
32112        - Clean up setInputType() and formControlType() of HTMLInputElement.
32113        https://bugs.webkit.org/show_bug.cgi?id=29004
32114
32115        Test: fast/forms/input-type-change3.html
32116
32117        * html/HTMLInputElement.cpp:
32118        (WebCore::HTMLInputElement::valueMissing):
32119        (WebCore::HTMLInputElement::patternMismatch):
32120        (WebCore::HTMLInputElement::tooLong):
32121        (WebCore::createTypeMap):
32122        (WebCore::HTMLInputElement::setInputType):
32123        (WebCore::createFormControlTypes):
32124        (WebCore::HTMLInputElement::formControlType):
32125        (WebCore::HTMLInputElement::saveFormControlState):
32126        (WebCore::HTMLInputElement::restoreFormControlState):
32127        (WebCore::HTMLInputElement::accessKeyAction):
32128        (WebCore::HTMLInputElement::rendererIsNeeded):
32129        (WebCore::HTMLInputElement::createRenderer):
32130        (WebCore::HTMLInputElement::appendFormData):
32131        (WebCore::HTMLInputElement::isTextField):
32132        (WebCore::HTMLInputElement::valueWithDefault):
32133        (WebCore::HTMLInputElement::storesValueSeparateFromAttribute):
32134        (WebCore::HTMLInputElement::defaultEventHandler):
32135        (WebCore::HTMLInputElement::isRequiredFormControl):
32136        (WebCore::HTMLInputElement::dataList):
32137        * html/HTMLInputElement.h:
32138        (WebCore::HTMLInputElement::):
32139
321402009-11-13  Chris Fleizach  <cfleizach@apple.com>
32141
32142        Reviewed by Darin Adler.
32143
32144        WAI-ARIA: checkbox does not determine its label from text content
32145        https://bugs.webkit.org/show_bug.cgi?id=31456
32146
32147        Test: accessibility/aria-checkbox-text.html
32148
32149        * accessibility/AccessibilityRenderObject.cpp:
32150        (WebCore::AccessibilityRenderObject::title):
32151
321522009-11-13  Dimitri Glazkov  <dglazkov@chromium.org>
32153
32154        Unreviewed, build fix.
32155
32156        [Chromium] Fix build to catch up with http://trac.webkit.org/changeset/50973.
32157        This is just enough changes to unbreak the port.
32158
32159        * bindings/v8/ScriptController.cpp:
32160        (WebCore::mainThreadNormalWorld):
32161        * bindings/v8/V8Proxy.cpp:
32162        (WebCore::V8Proxy::initContextIfNeeded):
32163        * loader/FrameLoaderClient.h:
32164
321652009-11-13  Aaron Boodman  <aa@chromium.org>
32166
32167        Unreviewed fix for Chromium build.
32168
32169        * loader/FrameLoaderClient.h:
32170        (WebCore::FrameLoaderClient::dispatchDidClearWindowObjectInWorld):
32171        Provide an empty implementation of this method because I don't know
32172        what it is supposed to do on Chromium.
32173
321742009-11-13  Aaron Boodman  <aa@chromium.org>
32175
32176        Unreviewed fix for Chromium build.
32177
32178        * loader/FrameLoader.h: Make dispatchDidClearWindowObjectsInAllWorlds()
32179        public, as Chromium's V8Proxy calls it.
32180
321812009-11-13  Aaron Boodman  <aa@chromium.org>
32182
32183        Unreviewed fix to Chromium build.
32184
32185        * bindings/v8/ScriptController.cpp:
32186        (WebCore::ScriptController::getAllWorlds): 
32187
321882009-11-13  Aaron Boodman  <aa@chromium.org>
32189
32190        Unreviewed fix for Chromium build.
32191
32192        * platform/text/TextBoundaries.cpp: Use longer path to refer to Unicode.h.
32193
321942009-11-13  Adam Barth  <abarth@webkit.org>
32195
32196        Unreviewed partial build fix for Chromium.  Should fix failure #4.
32197
32198        * bindings/v8/ScriptController.cpp:
32199        (WebCore::ScriptController::getAllWorlds):
32200        * bindings/v8/ScriptController.h:
32201        * bindings/v8/V8Proxy.cpp:
32202        (WebCore::V8Proxy::initContextIfNeeded):
32203
322042009-11-13  Adam Barth  <abarth@webkit.org>
32205
32206        Unreviewed partial build fix for Chromium.
32207
32208        * bindings/v8/ScriptController.h:
32209        (WebCore::ScriptController::getAllWorlds):
32210
322112009-11-13  Eric Seidel  <eric@webkit.org>
32212
32213        No review, build fix only.
32214
32215        Fix Windows and Chromium builds after http://trac.webkit.org/changeset/50977.
32216
32217        Unify TextBoundaries implementations by only relying on WTF Unicode abstractions
32218        https://bugs.webkit.org/show_bug.cgi?id=31468
32219
32220        * WebCore.gypi: Rename TextBoundariesICU -> TextBoundaries
32221        * WebCore.vcproj/WebCore.vcproj: Rename TextBoundariesICU -> TextBoundaries
32222
322232009-11-12  Jeremy Orlow  <jorlow@chromium.org>
32224
32225        Reviewed by Dmitry Titov.
32226
32227        LocalStorage quota should include key sizes in its count
32228        https://bugs.webkit.org/show_bug.cgi?id=31451
32229
32230        * storage/StorageMap.cpp:
32231        (WebCore::StorageMap::setItem):
32232            Count keys in the quota when adding a new item.
32233        (WebCore::StorageMap::removeItem):
32234            Remove the key's length from the quota if we're removing the item.
32235        (WebCore::StorageMap::importItem):
32236            Assume that we're adding things for the first time.
32237            Count keys in the quota.
32238
322392009-11-13  Dominik Röttsches  <dominik.roettsches@access-company.com>
32240
32241        Reviewed by Eric Seidel.
32242
32243        Unify TextBoundaries implementations by only relying on WTF Unicode abstractions
32244        https://bugs.webkit.org/show_bug.cgi?id=31468
32245
32246        Moving TextBoundariesICU.cpp to TextBoundaries.cpp
32247        by removing the direct ICU dependency and replacing it
32248        with WTF functions and WebCore's own TextBreakIterator
32249        abstractions.
32250
32251        * GNUmakefile.am:
32252        * platform/graphics/gtk/SimpleFontDataGtk.cpp:
32253        * platform/text/TextBoundaries.cpp: Added.
32254        (WebCore::findNextWordFromIndex):
32255        (WebCore::findWordBoundary):
32256        * platform/text/TextBoundariesICU.cpp: Removed.
32257        * platform/text/TextBreakIterator.h:
32258        * platform/text/TextBreakIteratorICU.cpp:
32259        (WebCore::textBreakLast):
32260        (WebCore::textBreakPrevious):
32261
322622009-11-13  Shinichiro Hamaji  <hamaji@chromium.org>
32263
32264        Reviewed by Darin Adler.
32265
32266        WebCore::externalRepresentation should update layout before getting render object
32267        https://bugs.webkit.org/show_bug.cgi?id=31459
32268
32269        * rendering/RenderTreeAsText.cpp:
32270        (WebCore::externalRepresentation):
32271
322722009-11-13  Adam Roben  <aroben@apple.com>
32273
32274        Tell FrameLoaderClient when window objects in isolated worlds are
32275        cleared
32276
32277        Fixes <http://webkit.org/b/31124> Tell the WebFrameLoadDelegate when
32278        window objects in isolated worlds are cleared
32279
32280        Test: http/tests/security/isolatedWorld/didClearWindowObject.html
32281
32282        Reviewed by Dave Hyatt.
32283
32284        * bindings/js/JSDOMBinding.h:
32285        (WebCore::WebCoreJSClientData::getAllWorlds): Added. Copies all the
32286        worlds in m_worldSet to the passed-in Vector.
32287
32288        * bindings/js/ScriptController.cpp:
32289        (WebCore::ScriptController::getAllWorlds): Added. Calls through to
32290        WebCoreJSClientData.
32291        (WebCore::ScriptController::initScript): Changed to call
32292        FrameLoader::dispatchDidClearWindowObjectInWorld.
32293
32294        * bindings/js/ScriptController.h: Added getAllWorlds.
32295
32296        * loader/EmptyClients.h:
32297        (WebCore::EmptyFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
32298        Updated for FrameLoaderClient change.
32299
32300        * loader/FrameLoader.cpp:
32301        (WebCore::FrameLoader::receivedFirstData):
32302        (WebCore::FrameLoader::begin):
32303        Changed to call dispatchDidClearWindowObjectsInAllWorlds.
32304
32305        (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
32306        Added. Retrieves all the worlds, then calls through to
32307        dispatchDidClearWindowObjectInWorld for each one.
32308        (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld): Replaces
32309        dispatchWindowObjectAvailable. Calls up to the client, then, if the
32310        world is the mainThreadNormalWorld(), tells the Inspector about it,
32311        too.
32312
32313        * loader/FrameLoader.h: Replaced dispatchWindowObjectAvailable with
32314        dispatchDidClearWindowObjectInWorld. Added
32315        dispatchDidClearWindowObjectsInAllWorlds.
32316
32317        * loader/FrameLoaderClient.h: Replaced windowObjectCleared with
32318        dispatchDidClearWindowObjectForWorld.
32319
323202009-11-13  Vitaly Repeshko  <vitalyr@chromium.org>
32321
32322        Reviewed by Dimitri Glazkov.
32323
32324        [V8] Fix SVG context assignment for pod types.
32325        https://bugs.webkit.org/show_bug.cgi?id=31497
32326
32327        I broke this in r50958.
32328
32329        Tested by svg/custom/viewport-update2.svg.
32330
32331        * bindings/scripts/CodeGeneratorV8.pm:
32332
323332009-11-13  Andrei Popescu  <andreip@google.com>
32334
32335        Reviewed by Dmitry Titov.
32336
32337        Bring the platform/android files inline with Android 2.0
32338        https://bugs.webkit.org/show_bug.cgi?id=31423
32339
32340        No new tests required: these are all Android-specific files.
32341
32342        * platform/android/ClipboardAndroid.cpp:
32343        (WebCore::ClipboardAndroid::files):
32344        * platform/android/ClipboardAndroid.h:
32345        * platform/android/FileChooserAndroid.cpp:
32346        (WebCore::FileChooser::basenameForWidth):
32347        (WebCore::fileButtonChooseFileLabel):
32348        * platform/android/KeyEventAndroid.cpp:
32349        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
32350        * platform/android/LocalizedStringsAndroid.cpp:
32351        (WebCore::contextMenuItemTagOpenLinkInNewWindow):
32352        (WebCore::contextMenuItemTagDownloadLinkToDisk):
32353        (WebCore::contextMenuItemTagCopyLinkToClipboard):
32354        (WebCore::contextMenuItemTagOpenImageInNewWindow):
32355        (WebCore::contextMenuItemTagDownloadImageToDisk):
32356        (WebCore::contextMenuItemTagCopyImageToClipboard):
32357        (WebCore::contextMenuItemTagOpenFrameInNewWindow):
32358        (WebCore::contextMenuItemTagCopy):
32359        (WebCore::contextMenuItemTagGoBack):
32360        (WebCore::contextMenuItemTagGoForward):
32361        (WebCore::contextMenuItemTagStop):
32362        (WebCore::contextMenuItemTagReload):
32363        (WebCore::contextMenuItemTagCut):
32364        (WebCore::contextMenuItemTagPaste):
32365        (WebCore::contextMenuItemTagNoGuessesFound):
32366        (WebCore::contextMenuItemTagIgnoreSpelling):
32367        (WebCore::contextMenuItemTagLearnSpelling):
32368        (WebCore::contextMenuItemTagSearchWeb):
32369        (WebCore::contextMenuItemTagLookUpInDictionary):
32370        (WebCore::contextMenuItemTagOpenLink):
32371        (WebCore::contextMenuItemTagIgnoreGrammar):
32372        (WebCore::contextMenuItemTagSpellingMenu):
32373        (WebCore::contextMenuItemTagShowSpellingPanel):
32374        (WebCore::contextMenuItemTagCheckSpelling):
32375        (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
32376        (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
32377        (WebCore::contextMenuItemTagFontMenu):
32378        (WebCore::contextMenuItemTagBold):
32379        (WebCore::contextMenuItemTagItalic):
32380        (WebCore::contextMenuItemTagUnderline):
32381        (WebCore::contextMenuItemTagOutline):
32382        (WebCore::contextMenuItemTagWritingDirectionMenu):
32383        (WebCore::contextMenuItemTagTextDirectionMenu):
32384        (WebCore::contextMenuItemTagDefaultDirection):
32385        (WebCore::contextMenuItemTagLeftToRight):
32386        (WebCore::contextMenuItemTagRightToLeft):
32387        (WebCore::mediaElementLoadingStateText):
32388        (WebCore::mediaElementLiveBroadcastStateText):
32389        (WebCore::searchableIndexIntroduction):
32390        (WebCore::resetButtonDefaultLabel):
32391        (WebCore::submitButtonDefaultLabel):
32392        (WebCore::inputElementAltText):
32393        * platform/android/RenderThemeAndroid.cpp:
32394        (WebCore::RenderTheme::themeForPage):
32395        (WebCore::RenderThemeAndroid::baselinePosition):
32396        (WebCore::RenderThemeAndroid::paintButton):
32397        (WebCore::adjustMenuListStyleCommon):
32398        (WebCore::RenderThemeAndroid::paintCombo):
32399        * platform/android/ScreenAndroid.cpp:
32400        * platform/android/ScrollViewAndroid.cpp:
32401        (WebCore::ScrollView::platformOffscreenContentRectangle):
32402        * platform/android/TemporaryLinkStubs.cpp:
32403        (JSC::Bindings::dispatchJNICall):
32404        * platform/android/WidgetAndroid.cpp:
32405        (WebCore::Widget::setFrameRect):
32406
324072009-11-13  Norbert Leser  <norbert.leser&nokia.com>
32408
32409        Reviewed by Eric Seidel.
32410
32411        Added macros for USERINCLUDE paths within symbian blocks
32412        to guarantee inclusion of respective header files from local path
32413        first (to avoid clashes with same names of header files in system include path).
32414
32415        * WebCore.pro:
32416
324172009-11-13  Hironori Bono  <hbono@chromium.org>
32418
32419        Reviewed by Oliver Hunt.
32420
32421        Implement composition events introduced in DOM Level 3.
32422        This change adds a new IDL which defines the composition events, adds a class which
32423        implements the composition events, and sends the composition events according to
32424        the specification.
32425        https://bugs.webkit.org/show_bug.cgi?id=26310
32426
32427        Test: fast/events/ime-composition-events-001.html
32428
32429        * DerivedSources.make: Added CompositionEvent so we can compile "CompositionEvent.idl".
32430        * GNUmakefile.am: Added "CompositionEvent.{cpp,h,idl}".
32431        * WebCore.gypi: ditto.
32432        * WebCore.pro: ditto
32433        * WebCore.vcproj/WebCore.vcproj: ditto.
32434        * WebCore.xcodeproj/project.pbxproj: Added "CompositionEvent.{cpp,h,idl}" and "JSCompositionEvent.{cpp,h}".
32435        * WebCoreSources.bkl: Added "JSCompositionEvent.{cpp,h}".
32436        * bindings/js/JSEventCustom.cpp:
32437        (WebCore::toJS): Call isCompositionEvent() to create the CompositionEvent wrapper.
32438        * bindings/v8/DOMObjectsInclude.h: Added "JSCompositionEvent.h".
32439        * bindings/v8/DerivedSourcesAllInOne.cpp: Added "JSCompositionEvent.cpp".
32440        * bindings/v8/V8DOMWrapper.cpp: Call isCompositionEvent() to identify an event as a CompositionEvent.
32441        (WebCore::V8DOMWrapper::convertEventToV8Object):
32442        * bindings/v8/V8Index.cpp: Added "V8CompositionEvent.h".
32443        * bindings/v8/V8Index.h: Added V8Index::COMPOSITIONEVENT.
32444        * dom/CompositionEvent.cpp: Implements the CompositionEvent class.
32445        (WebCore::CompositionEvent::CompositionEvent):
32446        (WebCore::CompositionEvent::~CompositionEvent):
32447        (WebCore::CompositionEvent::initCompositionEvent):
32448        (WebCore::CompositionEvent::isCompositionEvent):
32449        * dom/CompositionEvent.h: Declares the CompositionEvent class.
32450        (WebCore::CompositionEvent::create):
32451        (WebCore::CompositionEvent::data):
32452        * dom/CompositionEvent.idl: Added the IDL of DOM CompositionEvent.
32453        * dom/Event.cpp:
32454        (WebCore::Event::isCompositionEvent): Added a method to identify an event is a CompositionEvent.
32455        * dom/Event.h:
32456        * dom/EventNames.h: Added composition{start,update,end} to eventNames.
32457        * editing/Editor.cpp:
32458        (WebCore::Editor::confirmComposition): Sent a CompositionEnd event.
32459        (WebCore::Editor::setComposition): Sent a Composition{Start,Update,End} event.
32460
324612009-11-13  Jens Alfke  <snej@chromium.org>
32462
32463        Reviewed by Dimitri Glazkov.
32464
32465        Fix a link error in unofficial GCC 4.4 builds on Linux.
32466        https://bugs.webkit.org/show_bug.cgi?id=31477
32467
32468        * bindings/v8/V8Binding.cpp:  Add explicit instantiations of v8StringToWebCoreString template.
32469
324702009-11-13  Eric Seidel  <eric@webkit.org>
32471
32472        No review, build fix only.
32473
32474        Fix Debug build after http://trac.webkit.org/changeset/50960.
32475
32476        The CounterNode class does not support all methods necessary to efficiently update the counter tree as needed per CSS2.1
32477        https://bugs.webkit.org/show_bug.cgi?id=31213
32478
32479        * rendering/CounterNode.cpp:
32480        (WebCore::showTreeAndMark):
32481        * rendering/RenderCounter.cpp:
32482        (WebCore::destroyCounterNodeChildren):
32483
324842009-11-13  Dirk Schulze  <krit@webkit.org>
32485
32486        Reviewed by Gustavo Noronha.
32487
32488        [CAIRO] shadow support for Canvas and SVG
32489        [https://bugs.webkit.org/show_bug.cgi?id=30960]
32490
32491        We currently fill a path with solid color instead of filling
32492        a clipping path. This causes problems on some composite operators,
32493        since Cairo modifies the area outside the path.
32494        This fixes the behavior of WebKitGtk on fast/canvas/canvas-composite-alpha.html
32495
32496        Thanks to Benjamin Otte for tracking the bug down.
32497
32498        * platform/graphics/cairo/GraphicsContextCairo.cpp:
32499        (WebCore::setPlatformFill):
32500
325012009-11-12  Dumitru Daniliuc  <dumi@chromium.org>
32502
32503        Reviewed by Dimitri Glazkov.
32504
32505        Adding Chromium's DatabaseTracker implementation.
32506
32507        https://bugs.webkit.org/show_bug.cgi?id=31440
32508
32509        * WebCore.gyp/WebCore.gyp:
32510        * WebCore.gypi:
32511        * storage/DatabaseTracker.h:
32512        * storage/chromium/DatabaseTrackerChromium.cpp:
32513        (WebCore::DatabaseTracker::fullPathForDatabase):
32514        (WebCore::DatabaseTracker::getMaxSizeForDatabase):
32515        * storage/chromium/QuotaTracker.cpp:
32516        (WebCore::QuotaTracker::updateDatabaseSize):
32517        * storage/chromium/QuotaTracker.h:
32518
325192009-11-13  Carol Szabo  <carol.szabo@nokia.com>
32520
32521        Reviewed by Darin Adler.
32522
32523        The CounterNode class is missing some basic tree navigation methods common in other WebKit trees such as the rendering tree
32524        https://bugs.webkit.org/show_bug.cgi?id=31213
32525        Added tree navigation methods that permit full implementation of CSS2.1
32526        counter feature without using recursion proportional to the counter
32527        tree depth.
32528        No new tests because I did not find any bug that is fixed by this
32529        commit yet, this just reduces the size of the patch for 11031 and
32530        helps respond to some concerns regarding that patch.
32531
32532        * rendering/CounterNode.cpp:
32533        (WebCore::CounterNode::CounterNode):
32534
32535        (WebCore::CounterNode::nextInPreOrderAfterChildren):
32536        (WebCore::CounterNode::nextInPreOrder):
32537        Added to support non-recursive tree traversal necessary for
32538        efficient full implementation of CSS2.1 counters.
32539
32540        (WebCore::CounterNode::lastDescendant):
32541        (WebCore::CounterNode::previousInPreOrder):
32542        Moved this methods such that they occupy a place similar to that of
32543        identically named methods on the render tree. This allows for their
32544        broader use needed in full implementation of CSS2.1 counters.
32545
32546        (WebCore::CounterNode::resetRenderer):
32547        (WebCore::CounterNode::resetRenderers):
32548        (WebCore::CounterNode::recount):
32549        (WebCore::CounterNode::insertAfter):
32550        (WebCore::CounterNode::removeChild):
32551        Changed such that insertion/removal of a counter, triggers not only
32552        recalculation of PrefixWidths, but also reassesment of values in
32553        counter nodes. This is the basis full implementation of CSS2.1
32554        counters. It does not change current behavior by much because of
32555        changes needed to the recalculation algorithm, but those are comming
32556        in the patch for 11031.
32557        (WebCore::showTreeAndMark):
32558        * rendering/CounterNode.h:
32559        * rendering/RenderCounter.cpp:
32560        (WebCore::counter):
32561        Only changed argument type to prepare for implementation of Darin
32562        Adler's recommendation for the patch to 11031.
32563
32564        (WebCore::RenderCounter::invalidate):
32565        (WebCore::destroyCounterNodeChildren):
32566        (WebCore::RenderCounter::destroyCounterNodes):
32567        * rendering/RenderCounter.h:
32568        * rendering/RenderObjectChildList.cpp:
32569        (WebCore::invalidateCountersInContainer):
32570        (WebCore::RenderObjectChildList::invalidateCounters):
32571        * rendering/RenderObjectChildList.h:
32572        Added the ability to restrict invalidation to counters with a given
32573        identifier.
32574        Also invalidated counters that are on the child container itself
32575        which were missed by the previous algorithm, but were a valid case.
32576
325772009-11-13  Vitaly Repeshko  <vitalyr@chromium.org>
32578
32579        Reviewed by Dimitri Glazkov.
32580
32581        [V8] Protect SVG animated properties from destruction in bindings.
32582        https://bugs.webkit.org/show_bug.cgi?id=31474
32583
32584        See http://crbug.com/26719.
32585
32586        Tested by LayoutTests/svg/custom/js-update-transform-addition.svg
32587        under Valgrind.
32588
32589        Made sure we keep a reference to SVG properties while setting a
32590        context:
32591        * bindings/scripts/CodeGeneratorV8.pm:
32592        * bindings/v8/V8Proxy.h:
32593        (WebCore::V8Proxy::withSVGContext):
32594
325952009-11-13  Brent Fulgham  <bfulgham@webkit.org>
32596
32597        Reviewed by Alexey Proskuryakov.
32598
32599        [CAIRO] shadow support for Canvas and SVG.
32600        [https://bugs.webkit.org/show_bug.cgi?id=30960]
32601
32602        Incorporate Benjamin Otte's recommendations to avoid
32603        a buffer overrun, and small performance improvement.
32604
32605        * platform/graphics/cairo/GraphicsContextCairo.cpp:
32606        (WebCore::copyContextProperties): Correctly size output
32607         storage for cairo_get_dash to avoid buffer overrun.
32608        (WebCore::drawPathShadow): Prefer cairo_fill_extents
32609         to slower cairo_stroke_extents when not drawing shadows.
32610
326112009-11-13  Dumitru Daniliuc  <dumi@chromium.org>
32612
32613        Reviewed by Dimitri Glazkov.
32614
32615        Do not register Chromium's HTML5 DB VFS as the default
32616        VFS. Otherwise, other sqlite DB users in the same process will
32617        stop working.
32618
32619        https://bugs.webkit.org/show_bug.cgi?id=31462
32620
32621        * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
32622        (WebCore::SQLiteFileSystem::openDatabase):
32623        * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
32624        (WebCore::SQLiteFileSystem::registerSQLiteVFS):
32625        * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
32626        (WebCore::SQLiteFileSystem::registerSQLiteVFS):
32627
326282009-11-13  Alexey Proskuryakov  <ap@apple.com>
32629
32630        Windows build fix
32631
32632        * platform/network/cf/SocketStreamHandleCFNet.cpp:
32633        (WebCore::SocketStreamHandle::SocketStreamHandle): Explicitly cast "-1" to CFOptionFlags,
32634        avoiding a sign mismatch warning.
32635
326362009-11-13  Alexey Proskuryakov  <ap@apple.com>
32637
32638        Release build fix.
32639
32640        * platform/network/cf/SocketStreamHandleCFNet.cpp:
32641        (WebCore::SocketStreamHandle::readStreamCallback):
32642        (WebCore::SocketStreamHandle::writeStreamCallback):
32643        Use ASSERT_UNUSED for unused stream parameter.
32644
326452009-11-12  Alexey Proskuryakov  <ap@apple.com>
32646
32647        Reviewed by Darin Adler.
32648
32649        https://bugs.webkit.org/show_bug.cgi?id=31441
32650        Implement SocketStreamHandleCFNet
32651
32652        Existing WebSocket tests now pass on Mac. No proxy support yet.
32653
32654        * platform/network/SocketStreamHandleClient.h:
32655        * platform/network/cf/SocketStreamHandle.h:
32656        (WebCore::SocketStreamHandle::shouldUseSSL):
32657        (WebCore::SocketStreamHandle::refAuthenticationClient):
32658        (WebCore::SocketStreamHandle::derefAuthenticationClient):
32659        (WebCore::SocketStreamHandle::):
32660        * platform/network/cf/SocketStreamHandleCFNet.cpp:
32661        (WebCore::SocketStreamHandle::SocketStreamHandle):
32662        (WebCore::SocketStreamHandle::chooseProxy):
32663        (WebCore::SocketStreamHandle::createStreams):
32664        (WebCore::SocketStreamHandle::copyCFStreamDescription):
32665        (WebCore::SocketStreamHandle::readStreamCallback):
32666        (WebCore::SocketStreamHandle::writeStreamCallback):
32667        (WebCore::SocketStreamHandle::~SocketStreamHandle):
32668        (WebCore::SocketStreamHandle::platformSend):
32669        (WebCore::SocketStreamHandle::platformClose):
32670        (WebCore::SocketStreamHandle::receivedCredential):
32671        (WebCore::SocketStreamHandle::receivedRequestToContinueWithoutCredential):
32672        (WebCore::SocketStreamHandle::receivedCancellation):
32673
326742009-11-12  Pavel Feldman  <pfeldman@chromium.org>
32675
32676        Reviewed by Timothy Hatcher.
32677
32678        Web Inspector: preload status bar button glyphs
32679        in order to prevent them from flickering (take 2).
32680
32681        https://bugs.webkit.org/show_bug.cgi?id=31439
32682
32683        * inspector/front-end/inspector.js:
32684        (preloadImages):
32685
326862009-11-13  Pavel Feldman  <pfeldman@chromium.org>
32687
32688        Reviewed by Adam Barth.
32689
32690        Chromium: [REGRESSION] Crash while stopping on a breakpoint.
32691        Rolling back r50890.
32692
32693        https://bugs.webkit.org/show_bug.cgi?id=31467
32694
32695        * bindings/v8/V8Proxy.cpp:
32696        (WebCore::V8Proxy::canAccessPrivate):
32697
326982009-11-13  Dirk Schulze  <krit@webkit.org>
32699
32700        Reviewed by Gustavo Noronha.
32701
32702        [CAIRO] shadow support for Canvas and SVG
32703        [https://bugs.webkit.org/show_bug.cgi?id=30960]
32704        
32705        This is the fix of a regression, caused by the shadow patch
32706        from the bug above. Reinserted the save and restore calls
32707        that were accidently removed by the previous patch.
32708
32709        * platform/graphics/cairo/GraphicsContextCairo.cpp:
32710        (WebCore::setPlatformFill):
32711        (WebCore::setPlatformStroke):
32712
327132009-11-13  Pavel Feldman  <pfeldman@chromium.org>
32714
32715        Not reviewed. Reverting r50908 since it makes inspector tests
32716        time out.
32717
32718        https://bugs.webkit.org/show_bug.cgi?id=31439
32719
32720        * inspector/front-end/inspector.js:
32721
327222009-11-13  Mikhail Naganov  <mnaganov@chromium.org>
32723
32724        Reviewed by Timothy Hatcher.
32725
32726        Enable 'console.profile()' and 'console.profileEnd()'
32727        regardless of JAVASCRIPT_DEBUGGER.
32728
32729        https://bugs.webkit.org/show_bug.cgi?id=31293
32730
32731        * WebCore.gypi:
32732        * bindings/js/JSConsoleCustom.cpp:
32733        (WebCore::JSConsole::profile):
32734        (WebCore::JSConsole::profileEnd):
32735        * bindings/v8/custom/V8ConsoleCustom.cpp: Added.
32736        (WebCore::CALLBACK_FUNC_DECL):
32737        * bindings/v8/custom/V8CustomBinding.h:
32738        * page/Console.idl:
32739
327402009-11-12  David Levin  <levin@chromium.org>
32741
32742        Reviewed by NOBODY.
32743
32744        Chromium build fix.
32745
32746        * bindings/v8/ScriptController.h:
32747        (WebCore::ScriptController::evaluateInWorld): Add a dummy
32748         method which isn't called in chromium to make things compile.
32749
327502009-11-12  Anantanarayanan G Iyengar  <ananta@chromium.org>
32751
32752        Reviewed by Adam Barth.
32753        
32754        The document-open.html test was flaky at times. The test invokes the layout test plugin
32755        which in its destroy stream handler opens a new document. This basically tears down the
32756        stream and the associated plugin instance, which causes a crash when the plugin stream
32757        dereferences an invalid m_client pointer which points to the PluginView instance which
32758        is invalid at this time. Fix is to set the m_client pointer to NULL in the stop function
32759        and check for the same.
32760       
32761        https://bugs.webkit.org/show_bug.cgi?id=31067
32762
32763        * plugins/PluginStream.cpp:
32764        (WebCore::PluginStream::stop):
32765        (WebCore::PluginStream::destroyStream):
32766
327672009-11-12  Dumitru Daniliuc  <dumi@chromium.org>
32768
32769        Reviewed by Dimitri Glazkov.
32770
32771        Renaming some parameters passed to DB-related methods to better
32772        indicate their purpose.
32773
32774        https://bugs.webkit.org/show_bug.cgi?id=31449
32775
32776        * platform/chromium/ChromiumBridge.h:
32777
327782009-11-12  Simon Fraser  <simon.fraser@apple.com>
32779
32780        Reviewed by Dan Bernstein.
32781
32782        Transformed reflected elements are clipped inside element with opacity
32783        https://bugs.webkit.org/show_bug.cgi?id=30957
32784        
32785        transparencyClipBox() attemped to minimize the size of the transparency layer by mapping
32786        each clip rect into painting space before taking the unions. This, however, did not work
32787        correctly with combinations of reflections and transforms. Fixed by unioning the
32788        clipRect and mapping through transforms along the way.
32789        
32790        Also leave some #ifdeffed code in beginTransparencyLayers() that makes it easy to see
32791        where the transparency layers are.
32792
32793        Test: fast/reflections/opacity-reflection-transform.html
32794
32795        * rendering/RenderLayer.cpp:
32796        (WebCore::expandClipRectForDescendantsAndReflection):
32797        (WebCore::transparencyClipBox):
32798        (WebCore::RenderLayer::beginTransparencyLayers):
32799
328002009-11-12  Adam Barth  <abarth@webkit.org>
32801
32802        Reviewed by Darin Fisher.
32803
32804        Improve SecurityOrigin::toString comment
32805        https://bugs.webkit.org/show_bug.cgi?id=31041
32806
32807        * page/SecurityOrigin.h:
32808
328092009-11-12  Shinichiro Hamaji  <hamaji@chromium.org>
32810
32811        Reviewed by Darin Adler.
32812
32813        externalRepresentation should take Frame as the argument
32814        https://bugs.webkit.org/show_bug.cgi?id=31393
32815
32816        No new tests as this is just a refactoring.
32817
32818        * WebCore.base.exp:
32819        * rendering/RenderTreeAsText.cpp:
32820        (WebCore::externalRepresentation):
32821        * rendering/RenderTreeAsText.h:
32822
328232009-11-12  Ben Murdoch  <benm@google.com>
32824
32825        Reviewed by Dimitri Glazkov.
32826
32827        [Android] The Android specific files in page/Android are out of date.
32828        https://bugs.webkit.org/show_bug.cgi?id=31437
32829
32830        No tests required.
32831
32832        * page/android/DragControllerAndroid.cpp:
32833        (WebCore::DragController::dragOperation): Added.
32834        (WebCore::DragController::cleanupAfterSystemDrag):
32835        * page/android/EventHandlerAndroid.cpp:
32836        (WebCore::EventHandler::accessKeyModifiers): Added.
32837        * page/android/InspectorControllerAndroid.cpp: Removed.
32838
328392009-11-12  Brent Fulgham  <bfulgham@webkit.org>
32840
32841        Reviewed by Simon Fraser.
32842
32843        [CAIRO] shadow support for Canvas and SVG.
32844        [https://bugs.webkit.org/show_bug.cgi?id=30960]
32845
32846        Implement Canvas/SVG shadow support for Cairo.  This patch
32847        uses the filter code from SVG Filters.  That means that it is
32848        necessary to activate filters to see the shadows.
32849
32850        Test: fast/canvas/canvas-shadow.html
32851
32852        * GNUmakefile.am:
32853        * WebCore.vcproj/WebCore.vcproj: Add new ImageBufferFilter files.
32854        * platform/graphics/GraphicsContext.h:
32855        * platform/graphics/cairo/GraphicsContextCairo.cpp:
32856        (GraphicsContext::calculateShadowBufferDimensions): New helper routine.
32857        (WebCore::setPlatformFill):
32858        (WebCore::setPlatformStroke):
32859        (WebCore::copyContextProperties):
32860        (WebCore::drawPathShadow):
32861        (WebCore::GraphicsContext::fillPath):
32862        (WebCore::GraphicsContext::strokePath):
32863        (WebCore::GraphicsContext::drawPath):
32864        (WebCore::GraphicsContext::setPlatformShadow):
32865        (WebCore::GraphicsContext::createPlatformShadow):
32866        * platform/graphics/cairo/ImageCairo.cpp:
32867        (WebCore::BitmapImage::draw): Add filter effect.
32868        * platform/graphics/filters/Filter.h: Correct 'const' signatures.
32869        * platform/graphics/filters/ImageBufferFilter.cpp: Added.
32870        * platform/graphics/filters/ImageBufferFilter.h: Added.
32871        * svg/graphics/filters/SVGFilter.cpp: Correct 'const' signatures.
32872        * svg/graphics/filters/SVGFilter.h: Correct 'const' signatures.
32873
328742009-11-12  Dmitry Titov  <dimich@chromium.org>
32875
32876        Reviewed by Alexey Proskuryakov.
32877
32878        Add postTaskToMainThread to ScriptExecutionContext.
32879        Move the code to post task to the main thread into a new method on ScriptExecutionContext,
32880        to use as a helper implementation of the virtual ScriptExecutionContext::postTask(Task) in
32881        contexts that live on the main thread.
32882        https://bugs.webkit.org/show_bug.cgi?id=31427
32883
32884        No new tests - simply moving the code.
32885
32886        * dom/Document.cpp:
32887        (WebCore::Document::postTask):
32888        * dom/ScriptExecutionContext.cpp:
32889        (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
32890        (WebCore::ScriptExecutionContextTaskTimer::fired):
32891        (WebCore::PerformTaskData::PerformTaskData):
32892        (WebCore::PerformTaskData::performTask):
32893        (WebCore::ScriptExecutionContext::postTaskToMainThread):
32894        * dom/ScriptExecutionContext.h:
32895
328962009-11-12  Simon Fraser  <simon.fraser@apple.com>
32897
32898        Reviewed by Darin Adler.
32899
32900        Fix crash when removing compositing layers when GC is enabled
32901        https://bugs.webkit.org/show_bug.cgi?id=31429
32902
32903        Workaround <rdar://problem/7390716> by special-casing the removal
32904        of all sublayers when GC is enabled.
32905
32906        * platform/graphics/mac/GraphicsLayerCA.mm:
32907        (WebCore::safeSetSublayers):
32908        (WebCore::GraphicsLayerCA::updateSublayerList):
32909        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
32910
329112009-11-12  Jens Alfke  <snej@chromium.org>
32912
32913        Reviewed by Dimitri Glazkov.
32914
32915        The last of the V8 binding optimizations.
32916        - Replace string-valued element accessors with a shared getter/setter function.
32917        - Change error handling flow of control to avoid extra branches and function calls.
32918        https://bugs.webkit.org/show_bug.cgi?id=31443
32919        
32920        * bindings/scripts/CodeGeneratorV8.pm:
32921        * bindings/v8/V8Binding.cpp:
32922        (WebCore::getElementStringAttr):  Body of string-valued Element getter function.
32923        (WebCore::setElementStringAttr):  Body of string-valued Element setter function.
32924        * bindings/v8/V8Binding.h:
32925
329262009-11-12  Sam Weinig  <sam@webkit.org>
32927
32928        Reviewed by Oliver Hunt.
32929
32930        Fix for <rdar://problem/7267951>
32931        Canvas methods should reject uses of NaN and Infinity.
32932
32933        Test: fast/canvas/canvas-with-illegal-args.html
32934
32935        * html/canvas/CanvasRenderingContext2D.cpp:
32936        (WebCore::CanvasRenderingContext2D::scale):
32937        (WebCore::CanvasRenderingContext2D::rotate):
32938        (WebCore::CanvasRenderingContext2D::translate):
32939        (WebCore::CanvasRenderingContext2D::transform):
32940        (WebCore::CanvasRenderingContext2D::setTransform):
32941
329422009-11-12  Pavel Feldman  <pfeldman@chromium.org>
32943
32944        Reviewed by Timothy Hatcher.
32945
32946        Web Inspector: profile timeline panel, fix obvious problems.
32947
32948        https://bugs.webkit.org/show_bug.cgi?id=31432
32949
32950        * inspector/front-end/AbstractTimelinePanel.js:
32951        (WebInspector.AbstractTimelinePanel.prototype.updateGraphDividersIfNeeded):
32952        * inspector/front-end/TimelinePanel.js:
32953        (WebInspector.TimelinePanel.prototype._setWindowPosition):
32954        (WebInspector.TimelineCalculator):
32955        (WebInspector.TimelineCalculator.prototype.get minimumBoundary):
32956        (WebInspector.TimelineCalculator.prototype.get maximumBoundary):
32957        (WebInspector.TimelineCalculator.prototype.reset):
32958        (WebInspector.TimelineCalculator.prototype.updateBoundaries):
32959        (WebInspector.TimelineCalculator.prototype.formatValue):
32960        (WebInspector.TimelineGraph):
32961        (WebInspector.TimelineGraph.prototype.refresh):
32962        * inspector/front-end/utilities.js:
32963        (Element.prototype.hasStyleClass):
32964
329652009-11-12  Pavel Feldman  <pfeldman@chromium.org>
32966
32967        Reviewed by Timothy Hatcher.
32968
32969        Web Inspector: preload status bar button glyphs
32970        in order to prevent them from flickering.
32971
32972        https://bugs.webkit.org/show_bug.cgi?id=31439
32973
32974        * inspector/front-end/inspector.js:
32975        (preloadImages):
32976
329772009-11-12  Adam Roben  <aroben@apple.com>
32978
32979        Replace worldIDs with world objects
32980
32981        Part of <http://webkit.org/b/31414> Implement new SPI for dealing with
32982        user scripts/stylesheets and isolated worlds
32983
32984        Reviewed by Sam Weinig.
32985
32986        Covered by existing tests.
32987
32988        * WebCore.base.exp: Update exported symbols to match what now exists
32989        and is needed by WebKit.
32990
32991        * bindings/js/ScheduledAction.cpp:
32992        (WebCore::ScheduledAction::execute): Updated for function rename.
32993
32994        * bindings/js/ScriptController.cpp: Removed code that dealt with
32995        worldIDs.
32996        (WebCore::ScriptController::createWorld): Added. Returns a new world
32997        suitable for use on the main thread.
32998        (WebCore::ScriptController::executeScriptInWorld): Renamed from
32999        executeScriptInIsolatedWorld, since this works just fine with a
33000        "normal" world.
33001
33002        * bindings/js/ScriptController.h: Added createWorld, removed functions
33003        that took worldIDs, renamed executeScriptInIsolatedWorld to
33004        executeScriptInWorld.
33005
33006        * page/Frame.cpp:
33007        (WebCore::Frame::injectUserScripts):
33008        (WebCore::Frame::injectUserScriptsForWorld):
33009        Updated for changes to UserScriptMap and ScriptController.
33010
33011        * page/Frame.h: Changed injectUserScriptsForWorld to take a
33012        DOMWrapperWorld* instead of a worldID.
33013
33014        * page/PageGroup.cpp:
33015        (WebCore::PageGroup::addUserScriptToWorld):
33016        (WebCore::PageGroup::addUserStyleSheetToWorld):
33017        (WebCore::PageGroup::removeUserScriptFromWorld):
33018        (WebCore::PageGroup::removeUserStyleSheetFromWorld):
33019        (WebCore::PageGroup::removeUserScriptsFromWorld):
33020        (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
33021        * page/PageGroup.h:
33022        Changed these functions to take a DOMWrapperWorld* instead of a
33023        worldID. Also updated for changes to UserScript and UserStyleSheet.
33024
33025        * page/UserScript.h:
33026        * page/UserStyleSheet.h: Changed not to hold a worldID, since it was
33027        never used.
33028
33029        * page/UserScriptTypes.h:
33030        * page/UserStyleSheetTypes.h: Changed UserScriptMap and
33031        UserStyleSheetMap to use a RefPtr<DOMWrapperWorld> instead of a
33032        worldID as their key type.
33033
33034
330352009-11-12  Brian Weinstein  <bweinstein@apple.com>
33036
33037        Reviewed by Tim Hatcher.
33038
33039        Fixes <http://webkit.org/b/31260>.
33040        Web Inspector: Main Resources Other than HTML are mis-detected.
33041        
33042        Even if the resource is a main resource, look at its CachedResource type, 
33043        because it might be an image, stylesheet, or JavaScript file, and we
33044        want to show them all correctly.
33045
33046        * inspector/InspectorResource.cpp:
33047        (WebCore::InspectorResource::cachedResourceType): Move this method out so it can be called in multiple places.
33048        (WebCore::InspectorResource::type): 
33049        * inspector/InspectorResource.h:
33050
330512009-11-12  Jens Alfke  <snej@chromium.org>
33052
33053        Reviewed by Dimitri Glazkov.
33054
33055        Table-driven setup for V8 binding template callback functions. 100k in code savings.
33056        https://bugs.webkit.org/show_bug.cgi?id=31420
33057
33058        * bindings/scripts/CodeGeneratorV8.pm:  Change generated ConfigureXXXTemplate fn
33059            to call configureTemplate().
33060        * bindings/v8/V8Binding.cpp:
33061        (WebCore::configureTemplate):  New function; does all the standard configuration work.
33062        (WebCore::createCallback):  De-inlined wrapper for FunctionTemplate creation.
33063        * bindings/v8/V8Binding.h:
33064        * bindings/v8/V8Proxy.cpp:
33065        (WebCore::batchConfigureAttributes):  Just wrapped the very long fn parameter list.
33066        (WebCore::batchConfigureCallbacks):  New function, used by configureTemplate.
33067        (WebCore::batchConfigureConstants):  Just wrapped the very long fn parameter list.
33068        * bindings/v8/V8Proxy.h:
33069
330702009-11-12  Dumitru Daniliuc  <dumi@chromium.org>
33071
33072        Unreviewed, fix Chromium build after http://trac.webkit.org/changeset/50876.
33073
33074        * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
33075
330762009-11-12  Eric Carlson  <eric.carlson@apple.com>
33077
33078        Reviewed by Dan Bernstein.
33079
33080        <rdar://problem/7388969> Add DOM API for fullscreen video
33081        
33082        DOM API for fullscreen <video>.
33083
33084        Tests: media/media-fullscreen-inline.html
33085               media/media-fullscreen-not-in-document.html
33086
33087        * dom/EventNames.h:
33088            Add webkitbeginfullscreen and webkitendfullscreen.
33089
33090        * html/HTMLAttributeNames.in:
33091            Add onwebkitbeginfullscreen and onwebkitendfullscreen.
33092
33093        * html/HTMLMediaElement.cpp:
33094        (WebCore::HTMLMediaElement::parseMappedAttribute):
33095            Deal with onwebkitbeginfullscreen and onwebkitendfullscreen.
33096        (WebCore::HTMLMediaElement::enterFullscreen):
33097            Schedule webkitbeginfullscreenEvent event, don't set m_isFullscreen unless we
33098            actually do enter fullscreen.
33099        (WebCore::HTMLMediaElement::exitFullscreen):
33100            Schedule webkitendfullscreenEvent event.
33101        (WebCore::HTMLMediaElement::webkitEnterFullScreen):
33102        (WebCore::HTMLMediaElement::webkitExitFullScreen):
33103        (WebCore::HTMLMediaElement::webkitSupportsFullscreen):
33104        (WebCore::HTMLMediaElement::webkitDisplayingFullscreen):
33105            New, access to fullscreen properties and methods.
33106
33107        * html/HTMLMediaElement.h:
33108        * html/HTMLMediaElement.idl:
33109            Declare methods needed for fullscreen API.
33110
33111        * html/HTMLVideoElement.cpp:
33112        (WebCore::HTMLVideoElement::supportsFullscreen):
33113            Return false if a movie does not have video.
33114
33115        * page/DOMWindow.h:
33116            Add webkitbeginfullscreen and webkitendfullscreen.
33117
331182009-11-12  Adam Barth  <abarth@webkit.org>
33119
33120        Reviewed by Dimitri Glazkov.
33121
33122        [Chromium] Sify compose button alerts error
33123        https://bugs.webkit.org/show_bug.cgi?id=31394
33124
33125        Test: http/tests/security/calling-versus-current.html
33126
33127        We're supposed to use the calling context for security checks.  In JSC
33128        land, this is the lexicalGlobalObject.
33129
33130        * bindings/v8/V8Proxy.cpp:
33131        (WebCore::V8Proxy::canAccessPrivate):
33132
331332009-11-12  Daniel Bates  <dbates@webkit.org>
33134
33135        Reviewed by Darin Adler.
33136
33137        https://bugs.webkit.org/show_bug.cgi?id=30291
33138
33139        Fixes an issue where the returned drop effect is incorrect when
33140        effectAllowed == "uninitialized".
33141
33142        According to section 7.9.2 of the HTML 5 spec.
33143        <http://dev.w3.org/html5/spec/Overview.html#the-dragevent-and-datatransfer-interfaces>
33144        when effectAllowed = "uninitialized" the resulting dropEffect should be the
33145        user-specified dropEffect (i.e. "copy", "move", "link") and "none" for any
33146        other case.
33147        
33148        No test cases are included because we have an existing test case from
33149        bug #24731.
33150
33151        * dom/Clipboard.cpp:
33152        (WebCore::dragOpFromIEOp): Added case for op == "uninitialized".
33153
331542009-11-12  Pavel Feldman  <pfeldman@chromium.org>
33155
33156        Reviewed by Timothy Hatcher.
33157
33158        Web Inspector: Do not highlight node on refresh.
33159
33160        https://bugs.webkit.org/show_bug.cgi?id=31419
33161
33162        * inspector/front-end/ElementsPanel.js:
33163        (WebInspector.ElementsPanel.prototype.reset):
33164
331652009-11-12  Pavel Feldman  <pfeldman@chromium.org>
33166
33167        Reviewed by Timothy Hatcher.
33168
33169        Web Inspector: Minor timeline fixes.
33170
33171        https://bugs.webkit.org/show_bug.cgi?id=31417
33172
33173        * inspector/front-end/TimelinePanel.js:
33174        (WebInspector.TimelinePanel.prototype._getRecordDetails):
33175        (WebInspector.TimelineRecordTreeElement.prototype.onattach):
33176        (WebInspector.TimelineRecordTreeElement.prototype._updateDetails):
33177        (WebInspector.TimelineRecordTreeElement.prototype.refresh):
33178
331792009-11-12  Alexey Proskuryakov  <ap@apple.com>
33180
33181        SnowLeopard build fix.
33182
33183        Renamed initWithClient to initWithAuthenticationClient.
33184
33185        * platform/network/mac/AuthenticationMac.mm:
33186        (-[WebCoreAuthenticationClientAsChallengeSender initWithAuthenticationClient:]):
33187        (WebCore::AuthenticationChallenge::setAuthenticationClient):
33188
331892009-11-12  Chris Fleizach  <cfleizach@apple.com>
33190
33191        Reviewed by Darin Adler.
33192
33193        ARIA: add alert type roles
33194        https://bugs.webkit.org/show_bug.cgi?id=31392
33195
33196        Test: platform/mac/accessibility/aria-alerts.html
33197
33198        * accessibility/AccessibilityObject.h:
33199        * accessibility/AccessibilityRenderObject.cpp:
33200        * accessibility/mac/AccessibilityObjectWrapper.mm:
33201
332022009-11-11  Alexey Proskuryakov  <ap@apple.com>
33203
33204        Reviewed by Darin Adler.
33205
33206        https://bugs.webkit.org/show_bug.cgi?id=31386
33207        Make Mac AuthenticationChallenge usable from cross-platform code
33208
33209        No change in behavior, so no tests.
33210
33211        * platform/network/ResourceHandle.cpp:
33212        (WebCore::ResourceHandle::clearAuthentication):
33213        * platform/network/ResourceHandleInternal.h:
33214        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
33215        Don't store m_currentCFChallenge, which was only used for a single assertion. Unlike the
33216        NSURLConnection case, CF challenge doesn't carry a sender with it, so the copy in web challenge
33217        is identical.
33218
33219        * platform/network/cf/AuthenticationChallenge.h:
33220        (WebCore::AuthenticationChallenge::setAuthenticationClient): Added a setter to match the new
33221        Mac interface. Previously, one had to create a new AuthenticationChallenge to replace client.
33222
33223        * platform/network/cf/ResourceHandleCFNet.cpp:
33224        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Fixed assertions after removal
33225        of m_currentCFChallenge. Also, there is no need to set client now, as it's guaranteed to
33226        be already set.
33227
33228        * platform/network/mac/AuthenticationChallenge.h:
33229        (WebCore::AuthenticationChallenge::m_sender): Explained the existence of this member to the
33230        best of my understanding.
33231        (WebCore::AuthenticationChallenge::m_nsChallenge): Renamed from m_macChallenge to prevent
33232        confusion with "mac" and "web" challenges in ResourceHandleInternal.
33233
33234        * platform/network/mac/AuthenticationMac.mm:
33235        (WebCoreAuthenticationClientAsChallengeSender): Added a Obj-C wrapper for AuthenticationClient,
33236        making it possible to use the latter with NSURLAuthenticationChallenge.
33237        (WebCore::AuthenticationChallenge::AuthenticationChallenge): Updated for m_macChallenge ->
33238        m_nsChallenge renaming.
33239        (WebCore::AuthenticationChallenge::setAuthenticationClient): Wrap the client in Obj-C and
33240        set it as sender (or unset, if client is null).
33241
33242        * platform/network/mac/ResourceHandleMac.mm:
33243        (WebCoreResourceHandleAsDelegate) WebCoreResourceHandleAsDelegate no longer doubles as
33244        authentication challenge sender.
33245        (WebCore::ResourceHandle::~ResourceHandle): A navigation can happen underneath an
33246        authentication sheet.
33247        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Form m_currentWebChallenge
33248        using the new setAuthenticationClient() method.
33249        (WebCore::ResourceHandle::didCancelAuthenticationChallenge): Fixed an incorrect assertion.
33250        Since didCancelAuthenticationChallenge is called by connection, the passed challenge is
33251        the original Mac one, not the one we created for use with authentication sheet. I don't
33252        know when a connection would cancel authentication in practice, so I haven't tested this.
33253
332542009-11-12  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
33255
33256        Reviewed by Timothy Hatcher.
33257
33258        Web Inspector: breakpoint sidebar entries should allow click over entire list item
33259        https://bugs.webkit.org/show_bug.cgi?id=31411
33260
33261        No new tests; no new functionality, small usability change. 
33262
33263        * inspector/front-end/BreakpointsSidebarPane.js:
33264        (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement):
33265        (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement.breakpointClicked):
33266
332672009-11-12  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
33268
33269        Reviewed by Timothy Hatcher.
33270
33271        Web Inspector: breakpoints in named evals are not restored after a reload
33272        https://bugs.webkit.org/show_bug.cgi?id=31375
33273
33274        Manual test added
33275
33276        * inspector/front-end/ScriptsPanel.js:
33277        (WebInspector.ScriptsPanel.prototype.addScript):
33278        * manual-tests/inspector/bp-in-named-eval-after-reload.html: Added.
33279
332802009-11-12  Benjamin Poulain  <benjamin.poulain@nokia.com>
33281
33282        Reviewed by Kenneth Rohde Christiansen.
33283
33284        Custom printing shrink factors
33285        https://bugs.webkit.org/show_bug.cgi?id=29042
33286
33287        This reverts commit r49769. The public API for this needs to be reviewed
33288        before its inclusion in Qt.
33289
33290        * page/PrintContext.cpp:
33291        (WebCore::PrintContext::begin):
33292        * page/Settings.cpp:
33293        (WebCore::Settings::Settings):
33294        * page/Settings.h:
33295
332962009-11-12  Alexander Pavlov  <apavlov@chromium.org>
33297
33298        Reviewed by Pavel Feldman.
33299
33300        Web Inspector: Resource errors/warnings not shown in the Resource tree.
33301
33302        Error/Warning bubbles are not displayed next to the resource in the 
33303        Resources panel if those occur before the resource is attached to the tree.
33304        https://bugs.webkit.org/show_bug.cgi?id=31404
33305
33306        Test: manual-tests/inspector/styled-error-bubbles-in-scripts.html
33307
33308        * inspector/front-end/AbstractTimelinePanel.js:
33309        (WebInspector.AbstractTimelinePanel.prototype.removeItem):
33310        * inspector/front-end/ResourcesPanel.js:
33311        (WebInspector.ResourceSidebarTreeElement.prototype.onattach):
33312
333132009-11-12  Philippe Normand  <pnormand@igalia.com>
33314
33315        Reviewed by Jan Alonzo.
33316
33317        https://bugs.webkit.org/show_bug.cgi?id=31047
33318        [GTK] Failing test media/video-played-ranges-1.html
33319
33320        Follow-up of r50726, don't block the UI thread when calling
33321        gst_element_get_state(). Also fixed a compilation warning and some
33322        static casts.
33323
33324        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
33325        (WebCore::playbackPosition):
33326        (WebCore::MediaPlayerPrivate::seek):
33327        (WebCore::MediaPlayerPrivate::setRate):
33328
333292009-11-12  Philippe Normand  <pnormand@igalia.com>
33330
33331        Reviewed by Jan Alonzo.
33332
33333        https://bugs.webkit.org/show_bug.cgi?id=31047
33334        [GTK] Failing test media/video-played-ranges-1.html
33335
33336        don't pause pipeline if already paused, same for play()
33337
33338        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
33339        (WebCore::MediaPlayerPrivate::play):
33340        (WebCore::MediaPlayerPrivate::pause):
33341
333422009-11-12  Kinuko Yasuda  <kinuko@google.com>
33343
33344        Reviewed by David Levin.
33345
33346        Support Gtk scrollwheel behavior for horizontal scrollbars on Linux
33347        Chromium too.
33348        https://bugs.webkit.org/show_bug.cgi?id=31292
33349
33350        No new tests. (Corresponding test for Gtk+ is
33351        platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll.html)
33352
33353        * page/EventHandler.cpp:
33354        * page/chromium/EventHandlerChromium.cpp:
33355
333562009-11-12  Yuta Kitamura  <yutak@chromium.org>
33357
33358        Reviewed by Eric Seidel.
33359
33360        Prevent text inside a multi-column block from being split into columns.
33361        
33362        If the tentative height of a multi-column block was too small, we need to
33363        expand the block height and try to layout again, in order to prevent text
33364        from being split into different columns.
33365
33366        CSS Multicolumn text is split awkwardly
33367        https://bugs.webkit.org/show_bug.cgi?id=22249
33368
33369        Test: fast/multicol/single-line.html
33370
33371        * rendering/RenderBlock.cpp:
33372        (WebCore::RenderBlock::layoutColumns):
33373        * rendering/RenderBlock.h:
33374        * rendering/RenderLineBoxList.cpp:
33375        (WebCore::RenderLineBoxList::paint):
33376        * rendering/RenderView.h:
33377        (WebCore::RenderView::setTruncatedAt):
33378        (WebCore::RenderView::setMinimumColumnHeight):
33379        (WebCore::RenderView::minimumColumnHeight):
33380
333812009-11-11  Kent Tamura  <tkent@chromium.org>
33382
33383        Reviewed by Darin Adler.
33384
33385        Fix a bug that RenderFileUploadControl isn't initialized with multiple files.
33386        https://bugs.webkit.org/show_bug.cgi?id=31195
33387
33388        Test: fast/forms/input-file-re-render.html
33389
33390        * rendering/RenderFileUploadControl.cpp:
33391        (WebCore::RenderFileUploadControl::RenderFileUploadControl):
33392
333932009-11-09  Dumitru Daniliuc  <dumi@chromium.org>
33394
33395        Reviewed by Dimitri Glazkov.
33396
33397        Fixing Chromium's POSIX VFS implementation, by adding the required
33398        "used file descriptors" logic.
33399
33400        https://bugs.webkit.org/show_bug.cgi?id=31275
33401
33402        * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
33403
334042009-11-11  Chris Fleizach  <cfleizach@apple.com>
33405
33406        Reviewed by Oliver Hunt.
33407
33408        need to implement aria tree roles
33409        https://bugs.webkit.org/show_bug.cgi?id=31284
33410
33411        Tests: platform/mac/accessibility/aria-multiselectable.html
33412               platform/mac/accessibility/aria-tree.html
33413
33414        * accessibility/AccessibilityList.cpp:
33415        (WebCore::AccessibilityList::accessibilityIsIgnored):
33416        * accessibility/AccessibilityObject.cpp:
33417        (WebCore::AccessibilityObject::ariaTreeRows):
33418        (WebCore::AccessibilityObject::ariaTreeItemContent):
33419        (WebCore::AccessibilityObject::ariaTreeItemDisclosedRows):
33420        * accessibility/AccessibilityObject.h:
33421        (WebCore::):
33422        (WebCore::AccessibilityObject::isTree):
33423        (WebCore::AccessibilityObject::isTreeItem):
33424        (WebCore::AccessibilityObject::setIsExpanded):
33425        (WebCore::AccessibilityObject::canSetExpandedAttribute):
33426        (WebCore::AccessibilityObject::hierarchicalLevel):
33427        (WebCore::AccessibilityObject::setSelectedRows):
33428        (WebCore::AccessibilityObject::performDefaultAction):
33429        * accessibility/AccessibilityRenderObject.cpp:
33430        (WebCore::AccessibilityRenderObject::hierarchicalLevel):
33431        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
33432        (WebCore::AccessibilityRenderObject::isExpanded):
33433        (WebCore::AccessibilityRenderObject::setElementAttributeValue):
33434        (WebCore::AccessibilityRenderObject::elementAttributeValue):
33435        (WebCore::AccessibilityRenderObject::setIsExpanded):
33436        (WebCore::AccessibilityRenderObject::isSelected):
33437        (WebCore::AccessibilityRenderObject::setSelected):
33438        (WebCore::AccessibilityRenderObject::setSelectedRows):
33439        (WebCore::createARIARoleMap):
33440        (WebCore::AccessibilityRenderObject::canSetExpandedAttribute):
33441        (WebCore::AccessibilityRenderObject::ariaTreeSelectedRows):
33442        (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
33443        (WebCore::AccessibilityRenderObject::selectedChildren):
33444        * accessibility/AccessibilityRenderObject.h:
33445        * accessibility/mac/AccessibilityObjectMac.mm:
33446        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
33447        * accessibility/mac/AccessibilityObjectWrapper.mm:
33448        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
33449        (RoleEntry::):
33450        (-[AccessibilityObjectWrapper subrole]):
33451        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
33452        (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
33453        (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
33454        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
33455        (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
33456        * html/HTMLAttributeNames.in:
33457
334582009-11-11  Brent Fulgham  <bfulgham@webkit.org>
33459
33460        Build fix after @r50760 with ENABLE_FILTERS.
33461
33462        * platform/graphics/filters/SourceAlpha.cpp:
33463        (WebCore::SourceAlpha::apply): Supply ColorSpace to fillRect.
33464        * svg/graphics/filters/SVGFEFlood.cpp: Supply ColorSpace argument
33465          to fillRect.
33466
334672009-11-11  Fumitoshi Ukai  <ukai@chromium.org>
33468
33469        Reviewed by Alexey Proskuryakov.
33470
33471        Fix WebSocket frame parser of frame_type with high-order bit set.
33472        https://bugs.webkit.org/show_bug.cgi?id=30668
33473
33474        If buffer is smaller than frame's length, it should break the loop
33475        instead of reading next byte.
33476
33477        Tests: websocket/tests/frame-length-longer-than-buffer.html
33478               websocket/tests/frame-length-skip.html
33479
33480        * websockets/WebSocketChannel.cpp:
33481        (WebCore::WebSocketChannel::didReceiveData):
33482
334832009-11-11  Yusuke Sato  <yusukes@chromium.org>
33484
33485        Reviewed by Adam Barth.
33486
33487        [chromium] Remove t2embed.dll functions from FontCustomPlatformData.cpp for Chromium
33488        https://bugs.webkit.org/show_bug.cgi?id=31345
33489
33490        Remove dependency on t2embed.dll so that Chromium for Windows can start even if t2embed.dll cannot be accessed.
33491
33492        * platform/graphics/chromium/FontCustomPlatformData.cpp:
33493        (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Remove TTDeleteEmbeddedFont() call. Always use RemoveFontMemResourceEx().
33494        (WebCore::FontCustomPlatformData::fontPlatformData): Remove TTGetNewFontName() call.
33495        (WebCore::createFontCustomPlatformData): Remove TTLoadEmbeddedFont() call. Always use AddFontMemResourceEx() via renameAndActivateFont() in opentype/OpenTypeUtility.h. Remove EOTStream class as well.
33496
334972009-11-11  Beth Dakin  <bdakin@apple.com>
33498
33499        Build fix. No review needed.
33500
33501        * platform/graphics/gtk/FontGtk.cpp:
33502        (WebCore::Font::drawComplexText):
33503
335042009-11-11  Beth Dakin  <bdakin@apple.com>
33505
33506        Build fix. No review needed.
33507
33508        * platform/graphics/cairo/FontCairo.cpp:
33509        (WebCore::Font::drawGlyphs):
33510
335112009-11-11  Beth Dakin  <bdakin@apple.com>
33512
33513        Windows build fix. No review needed. 
33514
33515        * platform/graphics/win/FontCGWin.cpp:
33516        (WebCore::Font::drawGlyphs):
33517
335182009-11-11  Beth Dakin  <bdakin@apple.com>
33519
33520        Reviewed by Simon Fraser.
33521
33522        Fix for https://bugs.webkit.org/show_bug.cgi?id=31382
33523        Make -webkit-color-correction work with shadows
33524
33525        From canvas, just send DeviceColorSpace to setShadow() for now. 
33526        Will fix soon when I address https://bugs.webkit.org/show_bug.cgi?id=31319
33527        * html/canvas/CanvasRenderingContext2D.cpp:
33528        (WebCore::CanvasRenderingContext2D::setShadow):
33529        (WebCore::CanvasRenderingContext2D::applyShadow):
33530
33531        setShadow() and setPlatformShadow() now take a ColorSpace.
33532        * platform/graphics/GraphicsContext.cpp:
33533        (WebCore::GraphicsContext::setShadow):
33534        * platform/graphics/GraphicsContext.h:
33535        * platform/graphics/cg/GraphicsContextCG.cpp:
33536        (WebCore::createCGColorWithColorSpace): New helper to create a 
33537        color in a ColorSpace.
33538        (WebCore::setCGFillColor): Call new helper.
33539        (WebCore::setCGStrokeColor): Call new helper.
33540        (WebCore::GraphicsContext::setPlatformShadow): Call new helper.
33541        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
33542        (WebCore::GraphicsContext::setPlatformShadow):
33543
33544        Send appropriate ColorSpace to setShadow().
33545        * platform/graphics/mac/FontMac.mm:
33546        (WebCore::Font::drawGlyphs):
33547        * rendering/EllipsisBox.cpp:
33548        (WebCore::EllipsisBox::paint):
33549        * rendering/InlineFlowBox.cpp:
33550        (WebCore::InlineFlowBox::paintTextDecorations):
33551        * rendering/InlineTextBox.cpp:
33552        (WebCore::paintTextWithShadows):
33553        (WebCore::InlineTextBox::paintDecoration):
33554        * rendering/RenderBoxModelObject.cpp:
33555        (WebCore::RenderBoxModelObject::paintBoxShadow):
33556        * rendering/SVGInlineTextBox.cpp:
33557        (WebCore::SVGInlineTextBox::paintCharacters):
33558        * rendering/SVGRenderSupport.cpp:
33559        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
33560
33561        Attempt to keep ports building.
33562        * platform/graphics/cairo/GraphicsContextCairo.cpp:
33563        (WebCore::GraphicsContext::setPlatformShadow):
33564        * platform/graphics/qt/GraphicsContextQt.cpp:
33565        (WebCore::GraphicsContext::setPlatformShadow):
33566        * platform/graphics/skia/GraphicsContextSkia.cpp:
33567        (WebCore::GraphicsContext::setPlatformShadow):
33568        * platform/graphics/wince/GraphicsContextWince.cpp:
33569        (WebCore::GraphicsContext::setPlatformShadow):
33570        * platform/graphics/wx/GraphicsContextWx.cpp:
33571        (WebCore::GraphicsContext::setPlatformShadow):
33572
335732009-11-11  Kent Tamura  <tkent@chromium.org>
33574
33575        Reviewed by Darin Adler.
33576
33577        Print the file text of a file upload control in DumpRenderTree for ease of tests.
33578        https://bugs.webkit.org/show_bug.cgi?id=31195
33579
33580        * rendering/RenderFileUploadControl.cpp:
33581        (WebCore::RenderFileUploadControl::paintObject):
33582        (WebCore::RenderFileUploadControl::fileTextValue):
33583        * rendering/RenderFileUploadControl.h:
33584        (WebCore::RenderFileUploadControl::isFileUploadControl):
33585        (WebCore::toRenderFileUploadControl):
33586        * rendering/RenderObject.h:
33587        (WebCore::RenderObject::isFileUploadControl):
33588        * rendering/RenderTreeAsText.cpp:
33589        (WebCore::operator<<):
33590
335912009-11-11  Gavin Barraclough  <barraclough@apple.com>
33592
33593        Reviewed by Sam Weinig.
33594
33595        DOM Wrappers for some nodes may not be marked.
33596        https://bugs.webkit.org/show_bug.cgi?id=31380
33597
33598        Some markChildren methods are calling getCachedDOMNodeWrapper, which will find
33599        the wrapper for the current world only.  This means that wrappers may be GC'ed
33600        prematurely, and properties lost.
33601
33602        Move to a model more like markDOMObjectWrapper, mark wrappers for all worlds.
33603
33604        * bindings/js/JSAttrCustom.cpp:
33605        (WebCore::JSAttr::markChildren):
33606        * bindings/js/JSDOMBinding.cpp:
33607        (WebCore::markDOMNodeWrapper):
33608        * bindings/js/JSDOMBinding.h:
33609        * bindings/js/JSNamedNodeMapCustom.cpp:
33610        (WebCore::JSNamedNodeMap::markChildren):
33611        * bindings/js/JSNodeCustom.cpp:
33612        (WebCore::JSNode::markChildren):
33613        * bindings/js/JSSVGElementInstanceCustom.cpp:
33614        (WebCore::JSSVGElementInstance::markChildren):
33615        * bindings/js/JSStyleSheetCustom.cpp:
33616        (WebCore::JSStyleSheet::markChildren):
33617
336182009-11-11  Ben Murdoch  <benm@google.com>
33619
33620        Reviewed by Darin Adler.
33621
33622        bindings/js/ScriptObject.cpp is missing and ENABLE(INSPECTOR) guard.
33623        https://bugs.webkit.org/show_bug.cgi?id=31384
33624
33625        No functionality change so no tests required.
33626
33627        * bindings/js/ScriptObject.cpp: Add ENABLE(INSPECTOR) guard around the JSInspectorBackend.h include.
33628
336292009-11-11  Jens Alfke  <snej@chromium.org>
33630
33631        Reviewed by Dimitri Glazkov.
33632
33633        The Big De-Inlining. 450k code size reduction (32-bit x86.)
33634        - Various inline functions in V8Binding.h made non-inline.
33635        - Some renaming for consistency.
33636        - New function createRawTemplate().
33637        https://bugs.webkit.org/show_bug.cgi?id=31383
33638
33639        * bindings/scripts/CodeGeneratorV8.pm:
33640        * bindings/v8/V8Binding.cpp:
33641        (WebCore::v8DOMWrapperToNative):
33642        (WebCore::v8ValueToWebCoreString):
33643        (WebCore::v8ValueToAtomicWebCoreString):
33644        (WebCore::toInt32):
33645        (WebCore::toWebCoreString):
33646        (WebCore::toWebCoreStringWithNullCheck):
33647        (WebCore::toAtomicWebCoreStringWithNullCheck):
33648        (WebCore::toWebCoreStringWithNullOrUndefinedCheck):
33649        (WebCore::isUndefinedOrNull):
33650        (WebCore::v8Boolean):
33651        (WebCore::v8UndetectableString):
33652        (WebCore::v8StringOrNull):
33653        (WebCore::v8StringOrUndefined):
33654        (WebCore::v8StringOrFalse):
33655        (WebCore::v8StringToWebCoreString):
33656        (WebCore::v8ExternalString):
33657        (WebCore::createRawTemplate):  New function.
33658        * bindings/v8/V8Binding.h:
33659        (WebCore::v8DOMWrapperTo):
33660        (WebCore::v8DOMWrapperToNode):
33661        (WebCore::v8StringToWebCoreString):
33662        (WebCore::v8StringToAtomicWebCoreString):
33663
336642009-11-11  Jens Alfke  <snej@chromium.org>
33665
33666        Reviewed by Dimitri Glazkov.
33667
33668        More V8 de-inlining (outlining?) Abstracted a chunk of boilerplate code from every
33669        event-listener setter into a new subroutine transferHiddenDependency().
33670        https://bugs.webkit.org/show_bug.cgi?id=31377
33671
33672        * bindings/scripts/CodeGeneratorV8.pm:  Replace boilerplate with call to transferHiddenDependency().
33673        * bindings/v8/V8Utilities.cpp:
33674        (WebCore::transferHiddenDependency):  New.
33675        * bindings/v8/V8Utilities.h:  Declaration of transferHiddenDependency.
33676
336772009-11-11  Brian Weinstein  <bweinstein@apple.com>
33678
33679        Reviewed by Beth Dakin.
33680
33681        If we are on Windows, don't try and get the kCGColorSpaceSRGB ColorSpace,
33682        because there is a CG bug preventing this from working.
33683
33684        * platform/graphics/cg/GraphicsContextCG.cpp:
33685        (WebCore::sRGBColorSpaceRef):
33686
336872009-11-11  Pavel Feldman  <pfeldman@chromium.org>
33688
33689        Reviewed by Timothy Hatcher.
33690
33691        Check that if Storage panel exists before calling its methods
33692
33693        https://bugs.webkit.org/show_bug.cgi?id=31343
33694
33695        * inspector/front-end/inspector.js:
33696        (WebInspector.addDatabase):
33697        (WebInspector.addCookieDomain):
33698        (WebInspector.addDOMStorage):
33699        (WebInspector.updateDOMStorage):
33700
337012009-11-11  Jens Alfke  <snej@chromium.org>
33702
33703        Reviewed by Dimitri Glazkov.
33704
33705        De-inline convertNodeToV8Object(), which expands to a lot of asm code and is inlined 136
33706        times in the generated V8 bindings.
33707        https://bugs.webkit.org/show_bug.cgi?id=31368
33708
33709        * bindings/v8/V8DOMWrapper.cpp:
33710        (WebCore::V8DOMWrapper::convertNodeToV8Object):  Moved body here from .h file
33711        * bindings/v8/V8DOMWrapper.h:  Removed inline method body.
33712
337132009-11-11  Jessie Berlin  <jberlin@webkit.org>
33714
33715        Reviewed by Timothy Hatcher.
33716
33717        Display the correct summary in the web inspector for the shorthands
33718        border-color, border-width, border-style, margin, and padding.
33719        https://bugs.webkit.org/show_bug.cgi?id=7987
33720
33721        Test: fast/css/shorthands-four-values.html
33722
33723        * css/CSSMutableStyleDeclaration.cpp:
33724        (WebCore::CSSMutableStyleDeclaration::get4Values):
33725        Display the summary information in the same way the shorthand would be
33726        specified in a css rule.
33727
337282009-11-11  Jens Alfke  <snej@chromium.org>
33729
33730        Reviewed by Dimitri Glazkov.
33731
33732        Make V8 bindings return NULL handles instead of calling v8::Undefined(). This has equivalent
33733        meaning to the caller, saves code, and appears to save a few cycles at runtime too.
33734        https://bugs.webkit.org/show_bug.cgi?id=31367
33735
33736        * bindings/scripts/CodeGeneratorV8.pm: Change "v8::Undefined()" to "v8::Handle<v8::Value>()"
33737
337382009-11-11  Jens Alfke  <snej@chromium.org>
33739
33740        Reviewed by Dimitri Glazkov.
33741
33742        Optimize V8 getDOMNodeMap(), a hot function in Dromaeo DOM tests, by increasing inlining.
33743
33744        * bindings/v8/DOMData.cpp:
33745        (WebCore::DOMData::getCurrent):  Moved getCurrentMainThread to MainThreadDOMData::getCurrent
33746            so it can be inlined by its caller.
33747        * bindings/v8/DOMData.h:
33748        * bindings/v8/MainThreadDOMData.cpp:
33749        (WebCore::MainThreadDOMData::getCurrent):  Moved here from DOMData.cpp.
33750        (WebCore::MainThreadDOMData::getMainThreadStore):  Added UNLIKELY macro to improve codegen.
33751        (WebCore::MainThreadDOMData::getCurrentMainThreadStore):  Combination of getCurrentMainThread
33752            and getStore, which inline both calls together.
33753        * bindings/v8/MainThreadDOMData.h:
33754        (WebCore::MainThreadDOMData::getStore):  Broke out nonvirtual getMainThreadStore for inlineability.
33755        * bindings/v8/V8DOMMap.cpp:
33756        (WebCore::getDOMNodeMap):  Call new getCurrentMainThreadStore, which is faster.
33757
337582009-11-11  Nate Chapin  <japhet@chromium.org>
33759
33760        Reviewed by Dimitri Glazkov.
33761
33762        Add methods to KURLGoogle.cpp declared in http://trac.webkit.org/changeset/50784 but not defined when using KURLGoogle.
33763
33764        https://bugs.webkit.org/show_bug.cgi?id=31357
33765
33766        * platform/KURLGoogle.cpp:
33767        (WebCore::isSchemeFirstChar):
33768        (WebCore::isSchemeChar):
33769        (WebCore::KURL::hasPort):
33770        (WebCore::KURL::removePort):
33771        (WebCore::protocolIsValid):
33772
337732009-11-11  Brent Fulgham  <bfulgham@webkit.org>
33774
33775        Build fix, no reviewed.
33776
33777        Correct setPlatformFillColor and setPlatformStrokeColor calls
33778        to match new ColorSpace-supporting signatures.
33779
33780        * platform/graphics/win/GraphicsContextCairoWin.cpp:  Add the
33781          color space to the set[...]Color calls.
33782
337832009-11-10  Alexey Proskuryakov  <ap@apple.com>
33784
33785        Reviewed by Sam Weinig.
33786
33787        https://bugs.webkit.org/show_bug.cgi?id=31327
33788        Clean up SocketStreamHandleClient interface
33789
33790        No change in behavior.
33791
33792        * platform/network/SocketStreamHandleClient.h: Removed willOpenStream and willSendData.
33793        (WebCore::SocketStreamHandleClient::willOpenStream): Removed. This is currently not used by
33794        the only client (WebSocketChannel), and it's not clear what this callback's semantics
33795        should be.
33796        (WebCore::SocketStreamHandleClient::willSendData): Ditto.
33797        (WebCore::SocketStreamHandleClient::receivedCancellation): Removed, because it was misplaced.
33798        For ResourceHandle, this method is called when the user cancels authentication sheet,
33799        not when something happens with the stream.
33800
33801        * websockets/WebSocketChannel.h: Some WebSocketChannel methods were virtual without any
33802        reason. Also, added didReceiveAuthenticationChallenge/didCancelAuthenticationChallenge.
33803
33804        * websockets/WebSocketChannel.cpp: Adjusted for the above change. Authentication-related
33805        callbacks have no real implementation yet.
33806
338072009-11-11  Zoltan Horvath  <zoltan@webkit.org>
33808
33809        Reviewed by Eric Seidel.
33810
33811        Allow custom memory allocation control for the part of page directory in WebCore
33812        https://bugs.webkit.org/show_bug.cgi?id=31350
33813
33814        Inherits the following classes from Noncopyable because these are instantiated
33815        by 'new' and these are no need to be copyable:
33816
33817        class DragController         - instantiated at: WebCore/page/Page.cpp:107
33818        class FocusController        - instantiated at: WebCore/page/Page.cpp:109
33819        class Settings               - instantiated at: WebCore/page/Page.cpp:116
33820        class PluginHalter           - instantiated at: WebCore/page/Page.cpp:160
33821        struct ScheduledEvent        - instantiated at: WebCore/page/FrameView.cpp:1275
33822        class UserScript             - instantiated at: WebCore/page/PageGroup.cpp:208
33823        struct EventHandlerDragState - instantiated at: WebCore/page/EventHandler.cpp:182
33824        class XSSAuditor             - instantiated at: WebCore/bindings/js/ScriptController.cpp:70
33825        class UserStyleSheet         - instantiated at: WebCore/page/PageGroup.cpp:222
33826
33827        Inherits PropertyWrapperBase class from Noncopyable because (its child class) 
33828        PropertyWrapper is instantiated by 'new' in 
33829        WebCore/page/animation/AnimationBase.cpp:564 it is no need to be copyable.
33830
33831        * page/DragController.h:
33832        * page/EventHandler.h:
33833        * page/FocusController.h:
33834        * page/FrameView.cpp:
33835        * page/PluginHalter.h:
33836        * page/Settings.h:
33837        * page/UserScript.h:
33838        * page/UserStyleSheet.h:
33839        * page/XSSAuditor.h:
33840        * page/animation/AnimationBase.cpp:
33841
338422009-11-11  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
33843
33844        Reviewed by Kenneth Rohde Christiansen.
33845
33846        https://bugs.webkit.org/show_bug.cgi?id=31323
33847        Fix a few compiler warnings
33848
33849        No new tests as there is no new functionality.
33850
33851        * editing/htmlediting.cpp:
33852        (WebCore::isRenderedAsNonInlineTableImageOrHR): Use explicit
33853        parentheses to silence gcc 4.4 -Wparentheses warnings
33854
338552009-11-11  Kenneth Rohde Christiansen  <kenneth@webkit.org>
33856
33857        Reviewed by Mark Rowe.
33858
33859        Set m_hasPendingGeometryChange to true by default, so that
33860        at least one call to NPP_SetWindow is executed, which is
33861        needed by the DRT plugin testing framework.
33862
33863        * plugins/PluginView.cpp:
33864        (WebCore::PluginView::PluginView):
33865
338662009-11-11  Csaba Osztrogonác  <ossy@webkit.org>
33867
33868        Rubber-stamped by Kenneth Rohde Christiansen.
33869
33870        https://bugs.webkit.org/show_bug.cgi?id=31348
33871        [Qt] Remove unnecessary LUT creator from WebCore.pro
33872
33873        * WebCore.pro:
33874
338752009-11-11  Simon Hausmann  <simon.hausmann@nokia.com>
33876
33877        Reviewed by Tor Arne Vestbø.
33878
33879        Introduce a function for querying the input method status
33880        in QWebPageClient.
33881
33882        * platform/qt/QWebPageClient.h:
33883
338842009-11-11  Benjamin Otte  <otte@gnome.org>
33885
33886        Reviewed by Jan Alonzo.
33887
33888        [GTK] Black artifacts in youtube.com/html5
33889
33890        Paint the video to the given size. It's the job of the callers to keep
33891        track of aspect ratio. RenderVideo.cpp does it for the <video>
33892        element.
33893        https://bugs.webkit.org/show_bug.cgi?id=30925
33894
33895        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
33896        (WebCore::MediaPlayerPrivate::paint):
33897
338982009-11-11  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
33899
33900        Reviewed by Reviewed by Jan Alonzo.
33901
33902        https://bugs.webkit.org/show_bug.cgi?id=30901
33903        [Gtk] Need to de-lint the Atk a11y code
33904
33905        Cleaned up some missed capitalization style-guideline violations.
33906
33907        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
33908
339092009-11-11  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
33910
33911        Reviewed by Eric Seidel.
33912
33913        [Qt] Make the default style background color valid.
33914        Currently the color is transparent but invalid, this causes
33915        list boxes in QtWebKit to be drawn with a black background
33916        since r49242.
33917        https://bugs.webkit.org/show_bug.cgi?id=31295
33918
33919        * rendering/style/RenderStyle.h:
33920        (WebCore::InheritedFlags::initialBackgroundColor):
33921        * rendering/style/StyleBackgroundData.cpp:
33922        (WebCore::StyleBackgroundData::StyleBackgroundData):
33923
339242009-11-10  Gavin Barraclough  <barraclough@apple.com>
33925
33926        Reviewed by Geoff Garen.
33927
33928        Simplify the ownership model for worlds - rather than having a pair of weak references
33929        between DOMWrapperWorld and ScriptController/ScriptCachedFrameData, give the latter an
33930        ref pointer to the former.  This reduces complexity & cost of the caching entries in the
33931        back forward cache.
33932
33933        * WebCore.base.exp:
33934        * bindings/js/JSDOMBinding.cpp:
33935        (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
33936        * bindings/js/JSDOMBinding.h:
33937        (WebCore::DOMWrapperWorld::forgetDocument):
33938        * bindings/js/ScriptCachedFrameData.cpp:
33939        (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
33940        (WebCore::ScriptCachedFrameData::restore):
33941        (WebCore::ScriptCachedFrameData::clear):
33942        * bindings/js/ScriptCachedFrameData.h:
33943        * bindings/js/ScriptController.cpp:
33944        (WebCore::ScriptController::~ScriptController):
33945        (WebCore::ScriptController::clearWindowShell):
33946        (WebCore::ScriptController::initScript):
33947        (WebCore::ScriptController::updateDocument):
33948        * bindings/js/ScriptController.h:
33949
339502009-11-10  Shinichiro Hamaji  <hamaji@chromium.org>
33951
33952        Reviewed by Darin Adler.
33953
33954        rename counter to makeCounterNode in RenderCounter.cpp
33955        https://bugs.webkit.org/show_bug.cgi?id=31289
33956
33957        No new test because this is just a small refactoring.
33958
33959        * rendering/RenderCounter.cpp:
33960        (WebCore::findPlaceForCounter):
33961        (WebCore::makeCounterNode):
33962        (WebCore::RenderCounter::originalText):
33963
339642009-11-10  Daniel Bates  <dbates@webkit.org>
33965
33966        Reviewed by Oliver Hunt.
33967
33968        https://bugs.webkit.org/show_bug.cgi?id=30754
33969
33970        Patch 2 of 2.
33971
33972        Removed method EventHandler::dragSourceMovedTo, since it is no longer
33973        needed. This method fired a drag event whenever the mouse moved, but
33974        section 7.9.4 of the HTML 5 spec. defines the drag-and-drop processing
33975        model independent of when the mouse moves. See "Among other changes..."
33976        in the change log for patch 1 for more details.
33977
33978        * WebCore.DragSupport.exp:
33979        * page/EventHandler.cpp: Removed method EventHandler::dragSourceMovedTo.
33980        (WebCore::EventHandler::handleDrag): Updated comment about reentrancy issue.
33981        * page/EventHandler.h:
33982
339832009-11-10  Daniel Bates  <dbates@webkit.org>
33984
33985        Reviewed by Oliver Hunt.
33986
33987        https://bugs.webkit.org/show_bug.cgi?id=30754
33988
33989        Patch 1 of 2.
33990
33991        As per Section 7.9.4 of the HTML 5 spec. <http://dev.w3.org/html5/spec/Overview.html#drag-and-drop-processing-model>,
33992        the drag event should always fire before the dragover event.
33993
33994        In fixing this bug, this patch also makes our drag processing model
33995        conform to the HTML 5 spec.
33996
33997        Among the changes, this patch ensures that the drag event isn't fired outside
33998        of the drag-and-drop processing loop, WebCore::EventHandler::updateDragAndDrop.
33999        Currently, the drag event is fired whenever the mouse button is down and the OS
34000        detects the mouse moved. But, as per the spec, the drag event should
34001        fire approx. every 350ms so long as the mouse button is down.
34002
34003        Test: fast/events/drag-and-drop-fire-drag-dragover.html
34004
34005        * page/EventHandler.cpp:
34006        (WebCore::EventHandler::clear):
34007        (WebCore::EventHandler::canHandleDragAndDropForTarget): Formerly named handleDragAndDropForTarget.
34008        Modified to determine when we are in the correct instance of EventHandler to service the drag
34009        and drop operation.
34010        (WebCore::EventHandler::updateDragAndDrop): Moved code from WebCore::EventHandler::dragSourceMovedTo
34011        into this method.
34012        (WebCore::EventHandler::cancelDragAndDrop):
34013        (WebCore::EventHandler::performDragAndDrop):
34014        (WebCore::EventHandler::clearDragState):
34015        * page/EventHandler.h: Added field m_shouldOnlyFireDragOverEvent to determine whether
34016        we should fire both drag and dragover events or only the dragover event.
34017
340182009-11-10  Vitaly Repeshko  <vitalyr@chromium.org>
34019
34020        Reviewed by Dimitri Glazkov.
34021
34022        [V8] Fix crash in V8CustomXPathNSResolver (http://crbug.com/26726).
34023        https://bugs.webkit.org/show_bug.cgi?id=31301
34024
34025        Tested by new fast/xpath/xpath-detached-iframe-resolver-crash.html.
34026
34027        Allowed passing V8Proxy for the calling JS context:
34028        * bindings/v8/V8DOMWrapper.h:
34029        (WebCore::V8DOMWrapper::getXPathNSResolver):
34030        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
34031        (WebCore::V8CustomXPathNSResolver::create):
34032        (WebCore::V8CustomXPathNSResolver::V8CustomXPathNSResolver):
34033        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
34034        * bindings/v8/custom/V8CustomXPathNSResolver.h:
34035        * bindings/v8/custom/V8DocumentCustom.cpp:
34036        (WebCore::CALLBACK_FUNC_DECL):
34037
340382009-11-10  Yael Aharon  <yael.aharon@nokia.com>
34039
34040        Reviewed by Timothy Hatcher.
34041
34042        Implement URL decomposition IDL attributes for HTMLAnchorElement.
34043        https://bugs.webkit.org/show_bug.cgi?id=29972.
34044
34045        Add methods for setting different parts of the URL in href attribute.
34046
34047        Tests: fast/dom/HTMLAnchorElement/set-href-attribute-hash.html
34048               fast/dom/HTMLAnchorElement/set-href-attribute-host.html
34049               fast/dom/HTMLAnchorElement/set-href-attribute-hostname.html
34050               fast/dom/HTMLAnchorElement/set-href-attribute-pathname.html
34051               fast/dom/HTMLAnchorElement/set-href-attribute-port.html
34052               fast/dom/HTMLAnchorElement/set-href-attribute-protocol.html
34053               fast/dom/HTMLAnchorElement/set-href-attribute-search.html
34054
34055        * bindings/js/JSLocationCustom.cpp:
34056        (WebCore::JSLocation::setPort):
34057        * html/HTMLAnchorElement.cpp:
34058        (WebCore::parsePortFromStringPosition):
34059        (WebCore::HTMLAnchorElement::setHash):
34060        (WebCore::HTMLAnchorElement::setHost):
34061        (WebCore::HTMLAnchorElement::setHostname):
34062        (WebCore::HTMLAnchorElement::setPathname):
34063        (WebCore::HTMLAnchorElement::setPort):
34064        (WebCore::HTMLAnchorElement::setProtocol):
34065        (WebCore::HTMLAnchorElement::setSearch):
34066        * html/HTMLAnchorElement.h:
34067        * html/HTMLAnchorElement.idl:
34068        * loader/FrameLoader.cpp:
34069        (WebCore::FrameLoader::iconURL):
34070        * platform/KURL.cpp:
34071        (WebCore::KURL::removePort):
34072        (WebCore::KURL::setPort):
34073        (WebCore::KURL::prettyURL):
34074        (WebCore::protocolIsValid):
34075        * platform/KURL.h:
34076        (WebCore::KURL::canSetHostOrPort):
34077        (WebCore::KURL::canSetPathname):
34078        (WebCore::KURL::hasPort):
34079        * platform/network/soup/ResourceHandleSoup.cpp:
34080        (WebCore::):
34081
340822009-11-10  Nate Chapin  <japhet@chromium.org>
34083
34084        Unreviewed, fix Chromium build after http://trac.webkit.org/changeset/50760.
34085
34086        * platform/chromium/PopupMenuChromium.cpp:
34087        (WebCore::PopupContainer::paintBorder):
34088        (WebCore::PopupListBox::paint):
34089        (WebCore::PopupListBox::paintRow):
34090        * platform/graphics/chromium/TransparencyWin.cpp:
34091        (WebCore::TransparencyWin::setupLayerForWhiteLayer):
34092        * platform/graphics/skia/GraphicsContextSkia.cpp:
34093        (WebCore::GraphicsContext::fillRect):
34094        (WebCore::GraphicsContext::fillRoundedRect):
34095        (WebCore::GraphicsContext::setPlatformFillColor):
34096        (WebCore::GraphicsContext::setPlatformStrokeColor):
34097        * rendering/RenderMediaControlsChromium.cpp:
34098        (WebCore::paintMediaSlider):
34099        (WebCore::paintMediaVolumeSlider):
34100        (WebCore::paintMediaTimelineContainer):
34101        * rendering/RenderThemeChromiumMac.mm:
34102        (WebCore::RenderThemeChromiumMac::paintMenuListButton):
34103
341042009-11-10  Brady Eidson  <beidson@apple.com>
34105
34106        Reviewed by Sam Weinig.
34107
34108        Repro crash saving pcmag.com article as a webarchive.
34109        <rdar://problem/7381219> and https://webkit.org/b/31322
34110
34111        Test: http/tests/webarchive/cross-origin-stylesheet-crash.html
34112
34113        * css/CSSStyleSheet.cpp:
34114        (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Walk the stylesheet itself instead
34115          of creating a CSSRuleList (and subjecting ourselves to the security origin check)
34116
341172009-11-10  Beth Dakin  <bdakin@apple.com>
34118
34119        Attempt 2 to fix Tiger build. No review needed.
34120
34121        * platform/graphics/cg/GraphicsContextCG.cpp:
34122        (WebCore::deviceRGBColorSpaceRef):
34123        (WebCore::sRGBColorSpaceRef):
34124
341252009-11-10  Kevin Ollivier  <kevino@theolliviers.com>
34126
34127        wx build fix. Changes needed after r50760.
34128
34129        * platform/graphics/wx/GraphicsContextWx.cpp:
34130        (WebCore::GraphicsContext::GraphicsContext):
34131        * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
34132        (WebCore::drawTextWithSpacing):
34133
341342009-11-10  Alexey Proskuryakov  <ap@apple.com>
34135
34136        Qt build fix.
34137
34138        * platform/network/ResourceHandle.h: Only inherit from AuthenticationClient on platforms
34139        that use ResourceHandle as a delegate (Mac, CFNetwork, Curl).
34140
341412009-11-10  Beth Dakin  <bdakin@apple.com>
34142
34143        Tiger build fix. No review needed.
34144
34145        * platform/graphics/cg/GraphicsContextCG.cpp:
34146        (WebCore::sRGBColorSpaceRef):
34147
341482009-11-10  Alexey Proskuryakov  <ap@apple.com>
34149
34150        Reviewed by Dan Bernstein.
34151
34152        https://bugs.webkit.org/show_bug.cgi?id=31312
34153        Decouple authentication panel callbacks from ResourceHandle
34154
34155        No change in functionality.
34156
34157        SocketStreamHandle also needs to request credentials, so it's not appropriate to store
34158        ResourceHandle as delegate.
34159
34160        * WebCore.vcproj/WebCore.vcproj:
34161        * platform/network/AuthenticationClient.h: Added.
34162        Added a new interface for listening to authentication panel notifications.
34163
34164        * WebCore.xcodeproj/project.pbxproj: Added AuthenticationClient.h. Let Visual Studio do what
34165        it wants with the project file.
34166
34167        (WebCore::AuthenticationClient::ref): Using our usual method of exposing refcounting on an
34168        interface class.
34169        (WebCore::AuthenticationClient::deref): Ditto.
34170
34171        * platform/network/ResourceHandle.h:
34172        (WebCore::ResourceHandle::refAuthenticationClient): Ditto.
34173        (WebCore::ResourceHandle::derefAuthenticationClient): Ditto.
34174
34175        * platform/network/cf/AuthenticationCF.cpp:
34176        (WebCore::AuthenticationChallenge::AuthenticationChallenge):
34177        (WebCore::AuthenticationChallenge::platformCompare):
34178        * platform/network/cf/AuthenticationChallenge.h:
34179        (WebCore::AuthenticationChallenge::authenticationClient):
34180        * platform/network/chromium/AuthenticationChallenge.h:
34181        (WebCore::AuthenticationChallenge::authenticationClient):
34182        * platform/network/curl/AuthenticationChallenge.h:
34183        (WebCore::AuthenticationChallenge::authenticationClient):
34184        Keeping a reference to AuthenticationClient, not to ResourceHandle.
34185
341862009-11-10  Beth Dakin  <bdakin@apple.com>
34187
34188       Second attempted gtk build fix. No review needed.
34189
34190        * html/canvas/CanvasStyle.cpp:
34191        (WebCore::CanvasStyle::applyStrokeColor):
34192
34193
341942009-11-10  Gavin Barraclough  <barraclough@apple.com>
34195
34196        Reviewed by Geoff Garen.
34197
34198        Fix back/forwards cache with JSC isolated worlds.
34199        https://bugs.webkit.org/show_bug.cgi?id=31310
34200        <rdar://problem/7328111> Cached back navigation doesn't restore global object in extension isolated world
34201
34202        Store the global object for all worlds, not just the normal world.
34203        Also maintain bidirectional weak references between the ScriptCachedFrameData and the DOMWrapperWorld,
34204        so we can forget global objects if a world goes away.
34205
34206        * bindings/js/JSDOMBinding.cpp:
34207        (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
34208        * bindings/js/JSDOMBinding.h:
34209        (WebCore::DOMWrapperWorld::rememberScriptCachedFrameData):
34210        (WebCore::DOMWrapperWorld::forgetScriptCachedFrameData):
34211        * bindings/js/ScriptCachedFrameData.cpp:
34212        (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
34213        (WebCore::ScriptCachedFrameData::forgetWorld):
34214        (WebCore::ScriptCachedFrameData::domWindow):
34215        (WebCore::ScriptCachedFrameData::restore):
34216        (WebCore::ScriptCachedFrameData::clear):
34217        * bindings/js/ScriptCachedFrameData.h:
34218        * bindings/js/ScriptController.h:
34219
342202009-11-10  Csaba Osztrogonác  <ossy@webkit.org>
34221
34222        [Qt] Unreviewed buildfix after r50760.
34223
34224        * platform/graphics/qt/GraphicsContextQt.cpp:
34225        (WebCore::GraphicsContext::GraphicsContext):
34226
342272009-11-10  Beth Dakin  <bdakin@apple.com>
34228
34229        Attempted build fix. (No review needed.)
34230
34231        * GNUmakefile.am: Adding ColorSpace.h
34232
342332009-11-10  Brian Weinstein  <bweinstein@apple.com>
34234
34235        Reviewed by NOBODY - Build Fix.
34236
34237        Updated function calls to take a ColorSpace argument, passing
34238        in DeviceColorSpace for now - this should be fixed. Also added
34239        ColorSpace.h to WebCore project.
34240
34241        * WebCore.vcproj/WebCore.vcproj:
34242        * platform/graphics/win/FontCGWin.cpp:
34243        (WebCore::Font::drawGlyphs):
34244        * platform/graphics/win/GraphicsContextCGWin.cpp:
34245        (WebCore::GraphicsContext::GraphicsContext):
34246        * platform/win/PopupMenuWin.cpp:
34247        (WebCore::PopupMenu::paint):
34248        * platform/win/WebCoreTextRenderer.cpp:
34249        (WebCore::doDrawTextAtPoint):
34250        * rendering/RenderThemeSafari.cpp:
34251        (WebCore::RenderThemeSafari::paintMenuListButton):
34252
342532009-11-10  Jens Alfke  <snej@chromium.org>
34254
34255        Reviewed by Darin Adler.
34256
34257        Optimizations to Element::getAttribute
34258        https://bugs.webkit.org/show_bug.cgi?id=30926
34259
34260        * dom/Element.cpp:
34261        (WebCore::Element::getAttribute):  User case-insensitive compare instead of lowercasing the name.
34262        * dom/NamedAttrMap.cpp:
34263        (WebCore::NamedNodeMap::getAttributeItem):  Avoid redundant compares, and do fast/likely compares first.
34264        * platform/text/PlatformString.h:
34265        (WebCore::equalPossiblyIgnoringCase):  New inline method, used by both of the above.
34266
342672009-11-10  Beth Dakin  <bdakin@apple.com>
34268
34269        Reviewed by Darin Adler.
34270
34271        Fix for <rdar://problem/7059710> 
34272        -and corresponding-
34273        https://bugs.webkit.org/show_bug.cgi?id=31196 Implement -webkit-
34274        color-correction for CSS colors
34275
34276        New exported symbol for GraphicsContext::fillColor() which now 
34277        accepts a ColorSpace as an optional parameter.
34278        * WebCore.base.exp:
34279
34280        Added a new file, ColorSpace.h, to define the ColorSpace enum.
34281        * WebCore.xcodeproj/project.pbxproj:
34282
34283        Computed Style for -webkit-color-correction
34284        * css/CSSComputedStyleDeclaration.cpp:
34285        (WebCore::):
34286        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
34287
34288        Parse -webkit-color-correction
34289        * css/CSSParser.cpp:
34290        (WebCore::CSSParser::parseValue):
34291
34292       Map CSS identifiers to the appropriate values of the ColorSpace enum
34293        * css/CSSPrimitiveValueMappings.h:
34294        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
34295        (WebCore::CSSPrimitiveValue::operator ColorSpace):
34296
34297        New property -webkit-color-correction
34298        * css/CSSPropertyNames.in:
34299
34300        Map -webkit-color-correction into the RenderStyle.
34301        * css/CSSStyleSelector.cpp:
34302        (WebCore::CSSStyleSelector::applyProperty):
34303
34304        Add new value sRGB.
34305        * css/CSSValueKeywords.in:
34306
34307        Comment out the reference to sRGB since it will now be inherited as 
34308        a value from CSSValueKeywords.
34309        * css/SVGCSSValueKeywords.in:
34310
34311        Definition of the ColorSpace enum.
34312        * platform/graphics/ColorSpace.h: Added.
34313        (WebCore::):
34314
34315        These functions all now take a ColorSpace as a parameter.
34316        * platform/graphics/GraphicsContext.cpp:
34317        (WebCore::GraphicsContext::setStrokeColor):
34318        (WebCore::GraphicsContext::setFillColor):
34319        (WebCore::GraphicsContext::drawHighlightForText):
34320
34321        Return the appropriate ColorSpace.
34322        (WebCore::GraphicsContext::strokeColorSpace):
34323        (WebCore::GraphicsContext::fillColorSpace):
34324
34325        These functions all call other functions which require a ColorSpace 
34326        as a parameter.
34327        (WebCore::GraphicsContext::setStrokePattern):
34328        (WebCore::GraphicsContext::setFillPattern):
34329        (WebCore::GraphicsContext::setStrokeGradient):
34330        (WebCore::GraphicsContext::setFillGradient):
34331
34332        All of the GraphicsContext functions that take a Color should now 
34333        also take a ColorSpace.
34334        * platform/graphics/GraphicsContext.h:
34335
34336        Added new member variables stokeColorSpace and fillColorSpace.
34337        * platform/graphics/GraphicsContextPrivate.h:
34338        (WebCore::GraphicsContextState::GraphicsContextState):
34339
34340        Attempt to keep the Cairo port building with all of the massive 
34341        changes to GraphicsContext.        
34342        * platform/graphics/cairo/GraphicsContextCairo.cpp:
34343        (WebCore::GraphicsContext::fillRect):
34344        (WebCore::GraphicsContext::setPlatformFillColor):
34345        (WebCore::GraphicsContext::setPlatformStrokeColor):
34346        (WebCore::GraphicsContext::fillRoundedRect):
34347
34348        
34349        * platform/graphics/cg/GraphicsContextCG.cpp:
34350        (WebCore::sRGBColorSpaceRef): New static function that returns a 
34351        CGColorSpaceRef for the sRGB color space.
34352        (WebCore::deviceRGBColorSpaceRef): New static function that returns 
34353        a CGColorSpaceRef for the device RGB color space.
34354
34355        (WebCore::setCGFillColor): Now takes a ColorSpace parameter and 
34356        sets the fill color to the specified color in the given ColorSpace.
34357        (WebCore::setCGStrokeColor): Same, but for stroke.
34358
34359        (WebCore::setCGFillColorSpace): New static to set the 
34360        CGFillColorSpace to the given ColorSpace
34361        (WebCore::setCGStrokeColorSpace): Same, but for stroke.
34362
34363        Send ColorSpaces when appropriate, set ColorSpaces when 
34364        appropriate, and check ColorSpaces when appropriate.
34365        (WebCore::GraphicsContext::GraphicsContext):
34366        (WebCore::GraphicsContext::drawRect):
34367        (WebCore::GraphicsContext::drawLine):
34368        (WebCore::GraphicsContext::fillPath):
34369        (WebCore::GraphicsContext::strokePath):
34370        (WebCore::GraphicsContext::fillRect):
34371        (WebCore::GraphicsContext::fillRoundedRect):
34372        (WebCore::GraphicsContext::strokeRect):
34373        (WebCore::GraphicsContext::drawLineForText):
34374        (WebCore::GraphicsContext::setPlatformStrokeColor):
34375        (WebCore::GraphicsContext::setPlatformFillColor):
34376
34377        Attempt to keep Haiku building.
34378        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
34379        (WebCore::GraphicsContext::fillRect):
34380        (WebCore::GraphicsContext::fillRoundedRect):
34381        (WebCore::GraphicsContext::setPlatformStrokeColor):
34382        (WebCore::GraphicsContext::setPlatformFillColor):
34383
34384        Attempt to keep QT building.
34385        * platform/graphics/qt/GraphicsContextQt.cpp:
34386        (WebCore::GraphicsContext::fillRect):
34387        (WebCore::GraphicsContext::fillRoundedRect):
34388        (WebCore::GraphicsContext::setPlatformStrokeColor):
34389        (WebCore::GraphicsContext::setPlatformFillColor):
34390
34391        Attempt to keep Wince building.
34392        * platform/graphics/wince/GraphicsContextWince.cpp:
34393        (WebCore::GraphicsContext::fillRect):
34394        (WebCore::GraphicsContext::setPlatformFillColor):
34395        (WebCore::GraphicsContext::setPlatformStrokeColor):
34396        (WebCore::GraphicsContext::clearRect):
34397        (WebCore::GraphicsContext::fillRoundedRect):
34398        (WebCore::GraphicsContext::setPlatformShadow):
34399
34400        Attempt to keep WX building.
34401        * platform/graphics/wx/GraphicsContextWx.cpp:
34402        (WebCore::GraphicsContext::fillRect):
34403        (WebCore::GraphicsContext::fillRoundedRect):
34404        (WebCore::GraphicsContext::setPlatformStrokeColor):
34405        (WebCore::GraphicsContext::setPlatformFillColor):
34406
34407        Added functions colorSpace() and setColorSpace()
34408        * rendering/style/RenderStyle.h:
34409        (WebCore::InheritedFlags::colorSpace):
34410        (WebCore::InheritedFlags::setColorSpace):
34411
34412        The ColorSpace is stored here.
34413        * rendering/style/StyleRareInheritedData.cpp:
34414        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
34415        (WebCore::StyleRareInheritedData::operator==):
34416        * rendering/style/StyleRareInheritedData.h:
34417
34418        All of these call sites call GraphicsContext functions which now 
34419        require ColorSpaces.
34420        * editing/SelectionController.cpp:
34421        (WebCore::SelectionController::paintCaret):
34422        * html/canvas/CanvasRenderingContext2D.cpp:
34423        (WebCore::CanvasRenderingContext2D::drawTextInternal):
34424        * html/canvas/CanvasStyle.cpp:
34425        (WebCore::CanvasStyle::applyStrokeColor):
34426        (WebCore::CanvasStyle::applyFillColor):
34427        * inspector/InspectorController.cpp:
34428        (WebCore::drawOutlinedQuad):
34429        * page/FrameView.cpp:
34430        (WebCore::FrameView::paintContents):
34431        * platform/ScrollbarTheme.h:
34432        (WebCore::ScrollbarTheme::paintScrollCorner):
34433        * platform/ScrollbarThemeComposite.cpp:
34434        (WebCore::ScrollbarThemeComposite::paintScrollCorner):
34435        * platform/graphics/Image.cpp:
34436        (WebCore::Image::fillWithSolidColor):
34437        * platform/graphics/mac/FontMac.mm:
34438        (WebCore::Font::drawGlyphs):
34439        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
34440        (WebCore::MediaPlayerPrivate::paint):
34441        * rendering/EllipsisBox.cpp:
34442        (WebCore::EllipsisBox::paint):
34443        * rendering/InlineFlowBox.cpp:
34444        (WebCore::InlineFlowBox::paintTextDecorations):
34445        * rendering/InlineTextBox.cpp:
34446        (WebCore::updateGraphicsContext):
34447        (WebCore::paintTextWithShadows):
34448        (WebCore::InlineTextBox::paint):
34449        (WebCore::InlineTextBox::paintSelection):
34450        (WebCore::InlineTextBox::paintCompositionBackground):
34451        (WebCore::InlineTextBox::paintDecoration):
34452        (WebCore::InlineTextBox::paintTextMatchMarker):
34453        (WebCore::InlineTextBox::paintCompositionUnderline):
34454        * rendering/InlineTextBox.h:
34455        * rendering/RenderBlock.cpp:
34456        (WebCore::RenderBlock::fillHorizontalSelectionGap):
34457        (WebCore::RenderBlock::fillVerticalSelectionGap):
34458        (WebCore::RenderBlock::fillLeftSelectionGap):
34459        (WebCore::RenderBlock::fillRightSelectionGap):
34460        * rendering/RenderBoxModelObject.cpp:
34461        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
34462        (WebCore::RenderBoxModelObject::paintBoxShadow):
34463        * rendering/RenderFileUploadControl.cpp:
34464        (WebCore::RenderFileUploadControl::paintObject):
34465        * rendering/RenderFrameSet.cpp:
34466        (WebCore::RenderFrameSet::paintColumnBorder):
34467        (WebCore::RenderFrameSet::paintRowBorder):
34468        * rendering/RenderImage.cpp:
34469        (WebCore::RenderImage::paintReplaced):
34470        * rendering/RenderLayer.cpp:
34471        (WebCore::RenderLayer::paintScrollCorner):
34472        (WebCore::RenderLayer::paintResizer):
34473        * rendering/RenderListBox.cpp:
34474        (WebCore::RenderListBox::paintItemForeground):
34475        (WebCore::RenderListBox::paintItemBackground):
34476        * rendering/RenderListMarker.cpp:
34477        (WebCore::RenderListMarker::paint):
34478        * rendering/RenderObject.cpp:
34479        (WebCore::RenderObject::drawLineForBoxSide):
34480        (WebCore::RenderObject::drawArcForBoxSide):
34481        * rendering/RenderReplaced.cpp:
34482        (WebCore::RenderReplaced::paint):
34483        * rendering/RenderScrollbarTheme.cpp:
34484        (WebCore::RenderScrollbarTheme::paintScrollCorner):
34485        * rendering/RenderThemeMac.mm:
34486        (WebCore::RenderThemeMac::paintMenuListButton):
34487        * rendering/RenderView.cpp:
34488        (WebCore::RenderView::paintBoxDecorations):
34489        * rendering/RenderWidget.cpp:
34490        (WebCore::RenderWidget::paint):
34491        * rendering/SVGInlineTextBox.cpp:
34492        (WebCore::SVGInlineTextBox::paintSelection):
34493        * svg/graphics/SVGPaintServerGradient.cpp:
34494        (WebCore::SVGPaintServerGradient::setup):
34495        * svg/graphics/SVGPaintServerSolid.cpp:
34496        (WebCore::SVGPaintServerSolid::setup):
34497
344982009-11-10  Keishi Hattori  <casey.hattori@gmail.com>
34499
34500        Reviewed by Timothy Hatcher.
34501
34502        Web Inspector: Speed up syntax highlighter
34503        https://bugs.webkit.org/show_bug.cgi?id=31291
34504
34505        * inspector/front-end/SourceFrame.js:
34506        (WebInspector.SourceFrame.prototype._loaded):
34507        (WebInspector.SourceSyntaxHighlighter.prototype.process.moveToNextLine): Replace the line content node.
34508        (WebInspector.SourceSyntaxHighlighter.prototype.process):
34509        (WebInspector.SourceSyntaxHighlighter.prototype.appendNonToken):
34510        (WebInspector.SourceSyntaxHighlighter.prototype.syntaxHighlightNode):
34511        (WebInspector.CSSSourceSyntaxHighlighter):
34512        (WebInspector.JavaScriptSourceSyntaxHighlighter):
34513
345142009-11-09  Jeremy Orlow  <jorlow@chromium.org>
34515
34516        Reviewed by Eric Seidel.
34517
34518        Remove session storage setting
34519        https://bugs.webkit.org/show_bug.cgi?id=31279
34520
34521        Remove session storage from Settings.  It was added temporarily so we could
34522        disable it by default at runtime in Chromium.  We now disable these things in a
34523        different way, so it's time to remove it.  Qt also depended on this setting for
34524        a short period of time, but after talking to them we agreed that it should be
34525        removed.
34526
34527        This bug is the second half of https://bugs.webkit.org/show_bug.cgi?id=30602
34528
34529        * page/DOMWindow.cpp:
34530        (WebCore::DOMWindow::sessionStorage):
34531        * page/Settings.cpp:
34532        (WebCore::Settings::Settings):
34533        * page/Settings.h:
34534
345352009-11-10  Dan Bernstein  <mitz@apple.com>
34536
34537        Reviewed by Eric Carlson and Darin Adler.
34538
34539        WebCore part of making full-screen video pause during scrubbing.
34540
34541        * WebCore.Video.exp: Sorted and added HTMLMediaElement::beginScrubbing()
34542        and HTMLMediaElement::endScrubbing().
34543
345442009-11-10  Anton Muhin  <antonm@chromium.org>
34545
34546        Reviewed by Adam Barth.
34547
34548        Reapply 50562 reverted by 50588 due to issues with sandboxing (should be fine now).
34549        https://bugs.webkit.org/show_bug.cgi?id=31051
34550
34551        * bindings/v8/V8GCController.cpp:
34552        (WebCore::V8GCController::gcEpilogue):
34553        (WebCore::V8GCController::checkMemoryUsage):
34554        * bindings/v8/V8GCController.h:
34555        * bindings/v8/V8Proxy.cpp:
34556        (WebCore::V8Proxy::evaluate):
34557        (WebCore::V8Proxy::runScript):
34558        (WebCore::V8Proxy::callFunction):
34559
345602009-11-10  Zoltan Horvath  <zoltan@webkit.org>
34561
34562        Reviewed by Darin Adler.
34563
34564        Allow custom memory allocation control for the part of loader directory in WebCore
34565        https://bugs.webkit.org/show_bug.cgi?id=31161
34566
34567        Inherits the following classes from Noncopyable because these are instantiated
34568        by 'new' and these are no need to be copyable:
34569
34570        class Request - WebCore/loader/loader.cpp:100
34571        struct ScheduledRedirection - WebCore/loader/RedirectScheduler.cpp:164
34572        class ApplicationCacheStorage - WebCore/loader/appcache/ApplicationCacheStorage.cpp:1121
34573        class ApplicationCacheHost -  WebCore/loader/DocumentLoader.cpp:151
34574        class ImageEventSender - WebCore/loader/ImageLoader.cpp:54
34575        struct ProgressItem - WebCore/loader/ProgressTracker.cpp:169
34576
34577        Inherits ThreadableLoaderClient class from Noncopyable because (its child class) 
34578        MainThreadBridge is instantiated by 'new' in 
34579        WebCore/loader/WorkerThreadableLoader.cpp:59 it is no need to be copyable.
34580
34581        ThreadableLoaderClient's inheriting has been changed to public.
34582
34583        * loader/ImageLoader.cpp:
34584        * loader/ProgressTracker.cpp:
34585        * loader/RedirectScheduler.cpp:
34586        * loader/Request.h:
34587        * loader/ThreadableLoaderClient.h:
34588        * loader/WorkerThreadableLoader.h:
34589        * loader/appcache/ApplicationCacheHost.h:
34590        * loader/appcache/ApplicationCacheStorage.h:
34591
345922009-11-10  Philippe Normand  <pnormand@igalia.com>
34593
34594        Reviewed by Eric Seidel.
34595
34596        https://bugs.webkit.org/show_bug.cgi?id=31047
34597        [GTK] Failing test media/video-played-ranges-1.html
34598
34599        WebKit coding style fixes.
34600
34601        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
34602        (WebCore::mediaPlayerPrivateMessageCallback):
34603        (WebCore::MediaPlayerPrivate::naturalSize):
34604        (WebCore::MediaPlayerPrivate::paint):
34605        (WebCore::mimeTypeCache):
34606
346072009-11-10  Oliver Hunt  <oliver@apple.com>
34608
34609        Remove build failure introduced by earlier build fix.
34610
34611        * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
34612
346132009-11-10  Oliver Hunt  <oliver@apple.com>
34614
34615        Is this the last build fix? grep tells me yes.
34616
34617        * bindings/v8/custom/V8DocumentCustom.cpp:
34618        (WebCore::CALLBACK_FUNC_DECL):
34619
346202009-11-10  Oliver Hunt  <oliver@apple.com>
34621
34622        Hopefully the last one.  Why aren't these autogenerated?
34623
34624        * bindings/v8/V8DOMWrapper.cpp:
34625        (WebCore::V8DOMWrapper::setIndexedPropertiesToExternalArray):
34626        (WebCore::V8DOMWrapper::getTemplate):
34627        (WebCore::V8DOMWrapper::convertToV8Object):
34628
346292009-11-10  Oliver Hunt  <oliver@apple.com>
34630
34631        Another chrome build fix.
34632
34633        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
34634        (WebCore::CALLBACK_FUNC_DECL):
34635
346362009-11-10  Oliver Hunt  <oliver@apple.com>
34637
34638        Yet another chrome buildfix
34639
34640        * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
34641        (WebCore::CALLBACK_FUNC_DECL):
34642        * bindings/v8/custom/V8WebGLArrayCustom.h:
34643        (WebCore::constructCanvasArray):
34644        * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
34645        (WebCore::CALLBACK_FUNC_DECL):
34646        (WebCore::INDEXED_PROPERTY_GETTER):
34647        (WebCore::INDEXED_PROPERTY_SETTER):
34648        * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
34649        (WebCore::CALLBACK_FUNC_DECL):
34650        (WebCore::INDEXED_PROPERTY_GETTER):
34651        (WebCore::INDEXED_PROPERTY_SETTER):
34652        * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
34653        (WebCore::CALLBACK_FUNC_DECL):
34654        (WebCore::INDEXED_PROPERTY_GETTER):
34655        (WebCore::INDEXED_PROPERTY_SETTER):
34656        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
34657        (WebCore::CALLBACK_FUNC_DECL):
34658        (WebCore::vertexAttribAndUniformHelperf):
34659        (WebCore::uniformHelperi):
34660        (WebCore::uniformMatrixHelper):
34661        * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
34662        (WebCore::CALLBACK_FUNC_DECL):
34663        (WebCore::INDEXED_PROPERTY_GETTER):
34664        (WebCore::INDEXED_PROPERTY_SETTER):
34665        * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
34666        (WebCore::CALLBACK_FUNC_DECL):
34667        (WebCore::INDEXED_PROPERTY_GETTER):
34668        (WebCore::INDEXED_PROPERTY_SETTER):
34669        * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
34670        (WebCore::CALLBACK_FUNC_DECL):
34671        (WebCore::INDEXED_PROPERTY_GETTER):
34672        (WebCore::INDEXED_PROPERTY_SETTER):
34673        * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
34674        (WebCore::CALLBACK_FUNC_DECL):
34675        (WebCore::INDEXED_PROPERTY_GETTER):
34676        (WebCore::INDEXED_PROPERTY_SETTER):
34677
346782009-11-10  Oliver Hunt  <oliver@apple.com>
34679
34680        Chrome build fix.
34681
34682        * bindings/v8/V8Index.h:
34683
346842009-11-10  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
34685
34686        Reviewed by Reviewed by Jan Alonzo.
34687
34688        https://bugs.webkit.org/show_bug.cgi?id=30901
34689        [Gtk] Need to de-lint the Atk a11y code
34690
34691        Removal of various and sundry style-violating nits.
34692
34693        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
34694
346952009-11-10  Philippe Normand  <pnormand@igalia.com>
34696
34697        Reviewed by Jan Alonzo.
34698
34699        https://bugs.webkit.org/show_bug.cgi?id=31047
34700        [GTK] Failing test media/video-played-ranges-1.html
34701
34702        Fix playback rate setter by remembering the rate was changed. Also
34703        correctly handle reverse playback by doing a seek from end to
34704        beginning of the media.
34705
34706        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
34707        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
34708        (WebCore::MediaPlayerPrivate::currentTime):
34709        (WebCore::MediaPlayerPrivate::seek):
34710        (WebCore::MediaPlayerPrivate::hasAudio):
34711        (WebCore::MediaPlayerPrivate::setVolume):
34712        (WebCore::MediaPlayerPrivate::setRate):
34713        (WebCore::MediaPlayerPrivate::updateStates):
34714        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
34715
347162009-11-10  Oliver Hunt  <oliver@apple.com>
34717
34718        Reviewed by Maciej Stachowiak.
34719
34720        Rename 3D Canvas related classes to use WebGL prefix
34721        https://bugs.webkit.org/show_bug.cgi?id=29095
34722
34723        Automatic rename of all WebGL related types from Canvas* to
34724        WebGL* per more recent version of the WebGL spec.
34725
34726        Due to the automatic rename I've removed the 600+ line change list.
34727
347282009-11-09  Dirk Schulze  <krit@webkit.org>
34729
34730        Reviewed by Oliver Hunt.
34731
34732        SVG feDisplacementMap is not implemented
34733        [https://bugs.webkit.org/show_bug.cgi?id=31255]
34734
34735        This is the implementation of the SVG filter effect
34736        feDisplacementMap. 
34737
34738        Test: svg/filters/feDisplacementMap.svg
34739
34740        * svg/graphics/filters/SVGFEDisplacementMap.cpp:
34741        (WebCore::FEDisplacementMap::apply):
34742
347432009-11-09  Kent Tamura  <tkent@chromium.org>
34744
34745        Reviewed by Darin Adler.
34746
34747        Add a comment about null strings and hash functions.
34748        https://bugs.webkit.org/show_bug.cgi?id=29118
34749
34750        * platform/text/StringHash.h:
34751
347522009-11-09  Martin Robinson  <martin.james.robinson@gmail.com>
34753
34754        Reviewed by Darin Adler.
34755
34756        Compiler warnings in InspectorResource.h
34757        https://bugs.webkit.org/show_bug.cgi?id=29231
34758
34759        Fix compilation warnings by removing addition operation on an enum type.
34760
34761        * inspector/InspectorResource.h:
34762        (WebCore::InspectorResource::):
34763        (WebCore::InspectorResource::Changes::hasChange):
34764        (WebCore::InspectorResource::Changes::set):
34765        (WebCore::InspectorResource::Changes::setAll):
34766
347672009-11-09  Anders Carlsson  <andersca@apple.com>
34768
34769        Reviewed by Darin Adler and Dan Bernstein.
34770
34771        <rdar://problem/7328395>
34772        https://bugs.webkit.org/show_bug.cgi?id=31277
34773
34774        When an object tag's style changes (for example when child nodes are added/removed),
34775        reuse its Frame (if it has one) instead of creating multiple Frames.
34776
34777        Test: fast/dom/HTMLObjectElement/children-changed.html
34778
34779        * loader/FrameLoader.cpp:
34780        (WebCore::FrameLoader::requestObject):
34781
347822009-11-09  Norbert Leser  <norbert.leser@nokia.com>
34783
34784        Reviewed by Kenneth Rohde Christiansen.
34785
34786        Moved macro MMP_RULES (LINKEROPTION) into symbian instead of symbian-sbsv2,
34787        since adjustment of RW-section base address will be needed for all new symbian
34788        tool chains, specifically for arm and gcc compilation targets.
34789        Also, change target address to 0xE00000 to be sufficient for all targets.
34790
34791        * WebCore.pro:
34792
347932009-11-09  Pavel Feldman  <pfeldman@chromium.org>
34794
34795        Reviewed by Timothy Hatcher.
34796
34797        Web Inspector: Crash when inspecting
34798        WebCore\manual-tests\inspector\dom-mutation.html
34799
34800        https://bugs.webkit.org/show_bug.cgi?id=31259
34801
34802        * inspector/InspectorDOMAgent.cpp:
34803        (WebCore::InspectorDOMAgent::handleEvent):
34804
348052009-11-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
34806
34807        Reviewed by Kenneth Rohde Christiansen.
34808
34809        [Qt] Few classes have virtual functions but non-virtual destructor
34810        https://bugs.webkit.org/show_bug.cgi?id=31269
34811
34812        No new tests as there is no functional change.
34813
34814        * platform/qt/QWebPageClient.h:
34815        (QWebPageClient::~QWebPageClient): Add virtual destructor.
34816
348172009-11-09  Yael Aharon  <yael.aharon@nokia.com>
34818
34819        Reviewed by Kenneth Rohde Christiansen.
34820
34821        [Qt] Allow setting HTTP headers with empty value in XMLHTTPRequest
34822        https://bugs.webkit.org/show_bug.cgi?id=31140
34823
34824        QtNetwork interprets null string as request to remove the header, not add it.
34825        Replace null values with empty values before passing them to QtNetwork.
34826
34827        Test: http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-value.html
34828
34829        * platform/network/qt/ResourceRequestQt.cpp:
34830        (WebCore::ResourceRequest::toNetworkRequest):
34831
348322009-11-09  Vadim Zeitlin  <vadim@wxwidgets.org>
34833
34834        Reviewed by Kevin Ollivier.
34835
34836        [wx] Fix handling of alpha channel when using wxWidgets 2.9: it was
34837        simply ignored before resulting in transparent areas being black in PNG
34838        images for example.
34839        
34840        https://bugs.webkit.org/show_bug.cgi?id=30823
34841
34842        * platform/image-decoders/wx/ImageDecoderWx.cpp:
34843        (WebCore::RGBA32Buffer::asNewNativeImage):
34844
348452009-11-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
34846
34847        Reviewed by Kenneth Rohde Christiansen.
34848
34849        Use explicit parentheses to silence gcc 4.4 -Wparentheses warnings
34850        https://bugs.webkit.org/show_bug.cgi?id=31040
34851
34852        No new tests as there is no functional change.
34853
34854        * dom/Document.cpp:
34855        (WebCore::Document::recalcStyleSelector):
34856        * editing/TextIterator.cpp:
34857        (WebCore::pushFullyClippedState):
34858        * editing/VisibleSelection.cpp:
34859        (WebCore::VisibleSelection::appendTrailingWhitespace):
34860        * html/HTMLLinkElement.cpp:
34861        (WebCore::HTMLLinkElement::process):
34862        * loader/RedirectScheduler.cpp:
34863        (WebCore::RedirectScheduler::mustLockBackForwardList):
34864        * loader/appcache/ApplicationCacheGroup.cpp:
34865        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
34866        * platform/graphics/qt/FontCacheQt.cpp:
34867        (WebCore::FontPlatformDataCacheKey::computeHash):
34868        * rendering/RenderBlock.cpp:
34869        (WebCore::RenderBlock::handleRunInChild):
34870        * rendering/RenderBox.cpp:
34871        (WebCore::RenderBox::calcHeight):
34872        * rendering/RenderTextControlMultiLine.cpp:
34873        (WebCore::RenderTextControlMultiLine::nodeAtPoint):
34874        * rendering/style/RenderStyle.cpp:
34875        (WebCore::RenderStyle::diff):
34876        * svg/SVGAnimateElement.cpp:
34877        (WebCore::parseNumberValueAndUnit):
34878        * svg/SVGAnimationElement.cpp:
34879        (WebCore::SVGAnimationElement::startedActiveInterval):
34880        * svg/SVGPreserveAspectRatio.cpp:
34881        (WebCore::SVGPreserveAspectRatio::getCTM):
34882
348832009-11-09  Shinichiro Hamaji  <hamaji@chromium.org>
34884
34885        Reviewed by Dimitri Glazkov.
34886
34887        Win chromium is slow to draw transparent texts
34888        https://bugs.webkit.org/show_bug.cgi?id=31258
34889
34890        Clip graphics context to reduce calculation.
34891
34892        No new tests because this change only affects performance.
34893
34894        * platform/graphics/chromium/FontChromiumWin.cpp:
34895        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
34896        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
34897
348982009-11-09  Carol Szabo  <carol.szabo@nokia.com>
34899
34900        Reviewed by Darin Adler.
34901
34902        showTree(CounterNode*) generates too little info and has too many spaces.
34903        https://bugs.webkit.org/show_bug.cgi?id=31212
34904
34905        No new tests as the change has no functional effect it is just for
34906        improved debugging.
34907
34908        * rendering/CounterNode.cpp:
34909        (WebCore::showTreeAndMark):
34910        Changed to also show addresses of parent, next and previous
34911        siblings.
34912
349132009-11-09  Stuart Morgan  <stuartmorgan@chromium.org>
34914
34915        Reviewed by Darin Adler.
34916
34917        Moves Mac implementation of setUseSecureKeyboardEntry to Frame.cpp and
34918        enables it PLATFORM(CHROMIUM) in addition to PLATFORM(MAC).
34919
34920        https://bugs.webkit.org/show_bug.cgi?id=31083
34921
34922        No new tests; implementation is unchanged.
34923
34924        * page/Frame.cpp:
34925        (WebCore::Frame::setUseSecureKeyboardEntry):
34926        * page/mac/FrameMac.mm:
34927
349282009-11-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
34929
34930        Reviewed by Jan Alonzo.
34931
34932        Make XP_UNIX tests consistent
34933        https://bugs.webkit.org/show_bug.cgi?id=31250
34934
34935        No new tests as there is no functional change.
34936
34937        * plugins/PluginView.cpp:
34938        (WebCore::PluginView::setFrameRect): Test if XP_UNIX is defined
34939        instead of the value of the macro
34940
34941        * plugins/gtk/PluginViewGtk.cpp:
34942        (WebCore::PluginView::setNPWindowIfNeeded): Test if the XP_UNIX is
34943        defined instead of using the PLATFORM macro to be consistent
34944        (WebCore::PluginView::getValue): Ditto.
34945
349462009-11-09  Kevin Watters  <kevinwatters@gmail.com>
34947
34948        Reviewed by Darin Adler.
34949
34950        Thunk to the main thread from ~Database to deref Database's m_document.
34951
34952        If the Database was the Document's last referrer, then ~Document occurs on the
34953        Database thread, and ASSERT(!m_styleRecalcTimer.isActive()) hits a main thread
34954        ASSERT in debug builds.
34955
34956        * storage/Database.cpp:
34957        (WebCore::derefDocument):
34958        (WebCore::Database::~Database):
34959
349602009-11-09  Mark Mentovai  <mark@chromium.org>
34961
34962        Reviewed by Dan Bernstein.
34963
34964        Track "can have scrollbar" state within FrameView independently of the
34965        individual scrollbar states in ScrollView.
34966
34967        rdar://problem/7215132, https://bugs.webkit.org/show_bug.cgi?id=29167
34968        REGRESSION (r48064): mint.com loses scrollbars after coming out of
34969        edit mode.
34970
34971        rdar://problem/7314421, https://bugs.webkit.org/show_bug.cgi?id=30517
34972        REGRESSION (r48064): Extra scroll bars in GarageBand Lesson Store.
34973
34974        Test: fast/overflow/scrollbar-restored.html
34975
34976        * WebCore.base.exp:
34977        * page/FrameView.cpp:
34978        (WebCore::FrameView::FrameView):
34979        (WebCore::FrameView::resetScrollbars):
34980        (WebCore::FrameView::setCanHaveScrollbars):
34981        (WebCore::FrameView::updateCanHaveScrollbars):
34982        (WebCore::FrameView::layout):
34983        * page/FrameView.h:
34984        * platform/ScrollView.h:
34985
349862009-11-09  Keishi Hattori  <casey.hattori@gmail.com>
34987
34988        Reviewed by Timothy Hatcher.
34989
34990        Web Inspector: CSS syntax highlighter doesn't recognize negative numbers
34991        https://bugs.webkit.org/show_bug.cgi?id=31257
34992
34993        * inspector/front-end/SourceFrame.js:
34994
349952009-11-09  Alexander Pavlov  <apavlov@chromium.org>
34996
34997        Reviewed by Timothy Hatcher.
34998
34999        Web Inspector: Debugger shortcuts (F8, F10, F11) have no effect if the Console view is open
35000        https://bugs.webkit.org/show_bug.cgi?id=31252
35001
35002        Route F1-F12 keypresses in the Console view to the current panel if there is one.
35003
35004        Test: manual-tests/inspector/debugger-shortcuts-with-console-opened.html
35005
35006        * inspector/front-end/ConsoleView.js:
35007        (WebInspector.ConsoleView.prototype._promptKeyDown):
35008        * inspector/front-end/utilities.js:
35009        ():
35010        * manual-tests/inspector/debugger-shortcuts-with-console-opened.html: Added.
35011
350122009-11-09  Yael Aharon  <yael.aharon@nokia.com>
35013
35014        Reviewed by Kenneth Rohde Christiansen.
35015
35016        [Qt] Pass credentials provided by XMLHTTPRequest to the network request.
35017        https://bugs.webkit.org/show_bug.cgi?id=31208
35018
35019        After r42483, the credentials are no longer passed to the network request
35020        in the URL of the request.
35021        Pass the credentials from XMLHTTPRequest to the network request, the same
35022        way that other ports do.
35023
35024        After this patch LayoutTests/http/xmlhttprequest/basic-auth.html passes.
35025
35026        * platform/network/qt/ResourceHandleQt.cpp:
35027        (WebCore::ResourceHandle::start):
35028        (WebCore::ResourceHandle::loadResourceSynchronously):
35029
350302009-11-09  Zoltan Horvath  <zoltan@webkit.org>
35031
35032        Unreviewed.
35033
35034        https://bugs.webkit.org/show_bug.cgi?id=31161
35035
35036        Roll back r50657 because it breaks the MAC builds.
35037
35038        * loader/ImageLoader.cpp:
35039        * loader/ProgressTracker.cpp:
35040        * loader/RedirectScheduler.cpp:
35041        * loader/Request.h:
35042        * loader/ThreadableLoaderClient.h:
35043        * loader/WorkerThreadableLoader.h:
35044        * loader/appcache/ApplicationCacheHost.h:
35045        * loader/appcache/ApplicationCacheStorage.h:
35046        * loader/icon/IconDatabaseClient.h:
35047
350482009-11-09  Zoltan Horvath  <zoltan@webkit.org>
35049
35050        Reviewed by Darin Adler.
35051
35052        Allow custom memory allocation control for the part of loader directory in WebCore
35053        https://bugs.webkit.org/show_bug.cgi?id=31161
35054
35055        Inherits the following classes from Noncopyable because these are instantiated
35056        by 'new' and these are no need to be copyable:
35057
35058        class Request - WebCore/loader/loader.cpp:100
35059        struct ScheduledRedirection - WebCore/loader/RedirectScheduler.cpp:164
35060        class IconDatabaseClient - WebCore/loader/icon/IconDatabase.cpp:89
35061        class ApplicationCacheStorage - WebCore/loader/appcache/ApplicationCacheStorage.cpp:1121
35062        class ApplicationCacheHost -  WebCore/loader/DocumentLoader.cpp:151
35063        class ImageEventSender - WebCore/loader/ImageLoader.cpp:54
35064        struct ProgressItem - WebCore/loader/ProgressTracker.cpp:169
35065
35066        Inherits ThreadableLoaderClient class from Noncopyable because (its child class) 
35067        MainThreadBridge is instantiated by 'new' in 
35068        WebCore/loader/WorkerThreadableLoader.cpp:59 it is no need to be copyable.
35069
35070        ThreadableLoaderClient's inheriting has been changed to public.
35071
35072        * loader/ImageLoader.cpp:
35073        * loader/ProgressTracker.cpp:
35074        * loader/RedirectScheduler.cpp:
35075        * loader/Request.h:
35076        * loader/ThreadableLoaderClient.h:
35077        * loader/WorkerThreadableLoader.h:
35078        * loader/appcache/ApplicationCacheHost.h:
35079        * loader/appcache/ApplicationCacheStorage.h:
35080        * loader/icon/IconDatabaseClient.h:
35081
350822009-11-09  Zoltan Horvath  <zoltan@webkit.org>
35083
35084        Reviewed by Darin Adler.
35085
35086        Allow custom memory allocation control for WebCore's DocLoader
35087        https://bugs.webkit.org/show_bug.cgi?id=31163
35088
35089        Inherits DocLoader class from Noncopyable because it is
35090        instantiated by 'new' in WebCore/dom/Document.cpp:370 and 
35091        it is no need to be copyable.
35092
35093        * loader/DocLoader.h:
35094
350952009-11-09  Zoltan Horvath  <zoltan@webkit.org>
35096
35097        Reviewed by Darin Adler.
35098
35099        Allow custom memory allocation control for WebCore's Tokenizer
35100        https://bugs.webkit.org/show_bug.cgi?id=31162
35101
35102        Inherits Tokenizer class from Noncopyable because (its child class)
35103        ImageTokenizer instantiated by 'new' in WebCore/loader/ImageDocument.cpp:178 
35104        and it is no need to be copyable.
35105
35106        * dom/Tokenizer.h:
35107
351082009-11-09  Zoltan Horvath  <zoltan@webkit.org>
35109
35110        Reviewed by Darin Adler.
35111
35112        Allow custom memory allocation control for WebCore's DeleteButtonController
35113        https://bugs.webkit.org/show_bug.cgi?id=31105
35114
35115        Inherits DeleteButtonController class from Noncopyable because it is 
35116        instantiated by 'new' in WebCore/editing/Editor.cpp:919 and
35117        it is no need to be copyable.  
35118
35119        * editing/DeleteButtonController.h:
35120
351212009-11-09  Martin Robinson  <martin.james.robinson@gmail.com>
35122
35123        Reviewed by Jan Alonzo.
35124
35125        [GTK] Expose Page::tabKeyCyclesThroughElements in the API
35126        https://bugs.webkit.org/show_bug.cgi?id=30482
35127
35128        Expose Page::tabKeyCyclesThroughElements as a property of
35129        WebKitWebView.
35130
35131        No new tests; fast/events/keypress-insert-tab.html is no longer skipped.
35132
35133        * platform/gtk/KeyEventGtk.cpp: Correct m_text for tab key presses.
35134        (WebCore::singleCharacterString):
35135
351362009-11-09  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
35137
35138        Reviewed by Xan Lopez.
35139
35140        https://bugs.webkit.org/show_bug.cgi?id=25415
35141        [GTK][ATK] Please implement support for get_text_at_offset
35142
35143        Fix a crasher that occurred with text which included newline
35144        chars in the markup.
35145
35146        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
35147        (convertUniCharToUTF8):
35148
351492009-11-05  Jakub Wieczorek  <faw217@gmail.com>
35150
35151        Reviewed by Holger Freyther.
35152
35153        [Qt] The XML tokenizer reports a parse error twice if it occurs before the document element is found.
35154        https://bugs.webkit.org/show_bug.cgi?id=31144
35155
35156        XMLTokenizer::doEnd() uses an additional logic to report a parse failure in
35157        documents that end prematurely but are not considered invalid by QXmlStream.
35158        This is to stay compatible with the libxml2 implementation.
35159        However, that code path would be also hit in situations when it should not,
35160        i.e. the error would have already been caught and handled. As a result, the
35161        same error would be reported twice.
35162
35163        No new tests, because the problem is already covered by
35164        fast/parser/xml-declaration-missing-ending-mark.html.
35165
35166        * dom/XMLTokenizerQt.cpp:
35167        (WebCore::XMLTokenizer::doEnd):
35168
351692009-11-08  Keishi Hattori  <casey.hattori@gmail.com>
35170
35171        Reviewed by Pavel Feldman.
35172
35173        Web Inspector: Inspector should support copy() in the command line
35174        https://bugs.webkit.org/show_bug.cgi?id=31238
35175
35176        * inspector/InspectorBackend.cpp:
35177        (WebCore::InspectorBackend::copyText): Added.
35178        * inspector/InspectorBackend.h: Added copyText
35179        * inspector/InspectorBackend.idl: Added copyText
35180        * inspector/front-end/InjectedScript.js:
35181        (InjectedScript._copy): Added.
35182        (InjectedScript._ensureCommandLineAPIInstalled):
35183
351842009-11-08  Drew Wilson  <atwilson@chromium.org>
35185
35186        Reviewed by Dimitri Glazkov.
35187
35188        V8 WorkerContextExecutionProxy does not handle SharedWorkers
35189        https://bugs.webkit.org/show_bug.cgi?id=31226
35190
35191        Now checks to see what type of context is active and creates the
35192        appropriate wrapper (DEDICATEDWORKERCONTEXT vs SHAREDWORKERCONTEXT).
35193
35194        Added support for converting to SharedWorkers and SharedWorkerContexts.
35195
35196        Test: Existing layout tests cover this case (start passing in Chrome).
35197
35198        * bindings/v8/WorkerContextExecutionProxy.cpp:
35199        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
35200        Now generates the right type of DOMWrapper for SharedWorkerContexts.
35201        (WebCore::WorkerContextExecutionProxy::convertToV8Object):
35202        Added support for SHAREDWORKERCONTEXT.
35203        (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
35204        Added support for SharedWorker and SharedWorkerContext.
35205
352062009-11-08  Johnny Ding  <johnnyding.webkit@gmail.com>
35207
35208        Reviewed by Dimitri Glazkov.
35209
35210        https://bugs.webkit.org/show_bug.cgi?id=31224
35211        [V8] Return StyleSheet object instead of HTMLStyleElement w/document.styleSheets named property getter.
35212
35213        Test: fast/dom/StyleSheet/get-stylesheet-byname.html
35214
35215        * bindings/v8/custom/V8StyleSheetListCustom.cpp:
35216        (WebCore::NAMED_PROPERTY_GETTER):
35217
352182009-11-08  Pavel Feldman  <pfeldman@chromium.org>
35219
35220        Reviewed by Timothy Hatcher.
35221
35222        Web Inspector: "Search again" on scripts panel switches
35223        to the script this search started with.
35224
35225        https://bugs.webkit.org/show_bug.cgi?id=31243
35226
35227        * inspector/front-end/Panel.js:
35228        (WebInspector.Panel.prototype.jumpToNextSearchResult):
35229
352302009-11-08  Kent Tamura  <tkent@chromium.org>
35231
35232        Reviewed by Darin Adler.
35233
35234        Simplify Icon interface.
35235        https://bugs.webkit.org/show_bug.cgi?id=31154
35236
35237        - Remove Icon::createIconForFile().  createIconForFiles() covers
35238          createIconForFile()'s role.
35239        - Remove FileChooser::chooseIcon()
35240        - Change the parameter types of FileChooser constructor and the
35241          factory method, String -> const Vector<String>&, in order to
35242          support initialization with multiple files.
35243        - Remove the icon loading code in IconChromiumWin.cpp, which
35244          doesn't work because of the sandbox.
35245
35246        No tests because it's just a refactoring.
35247
35248        * platform/FileChooser.cpp:
35249        (WebCore::FileChooser::FileChooser):
35250        (WebCore::FileChooser::create):
35251        (WebCore::FileChooser::chooseFile):
35252        (WebCore::FileChooser::chooseFiles):
35253        * platform/FileChooser.h:
35254        * platform/graphics/Icon.h:
35255        * platform/graphics/chromium/IconChromiumLinux.cpp:
35256        * platform/graphics/chromium/IconChromiumMac.cpp:
35257        * platform/graphics/chromium/IconChromiumWin.cpp:
35258        (WebCore::Icon::createIconForFiles):
35259        * platform/graphics/gtk/IconGtk.cpp:
35260        (WebCore::Icon::createIconForFiles):
35261        * platform/graphics/haiku/IconHaiku.cpp:
35262        * platform/graphics/mac/IconMac.mm:
35263        (WebCore::Icon::createIconForFiles):
35264        * platform/graphics/qt/IconQt.cpp:
35265        (WebCore::Icon::createIconForFiles):
35266        * platform/graphics/win/IconWin.cpp:
35267        (WebCore::Icon::createIconForFiles):
35268        * platform/graphics/wx/IconWx.cpp:
35269        * rendering/RenderFileUploadControl.cpp:
35270        (WebCore::RenderFileUploadControl::RenderFileUploadControl):
35271
352722009-11-08  Daniel Bates  <dbates@webkit.org>
35273
35274        Reviewed by Adam Barth.
35275
35276        https://bugs.webkit.org/show_bug.cgi?id=31098
35277
35278        Allows same-origin plugin-based content to load.
35279
35280        Test: http/tests/security/xssAuditor/object-src-inject.html
35281
35282        * page/XSSAuditor.cpp:
35283        (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): Modified to call XSSAuditor::isSameOriginResource.
35284        (WebCore::XSSAuditor::canLoadObject): Ditto.
35285        (WebCore::XSSAuditor::canSetBaseElementURL): Ditto. 
35286        (WebCore::XSSAuditor::isSameOriginResource): Added.
35287        * page/XSSAuditor.h:
35288
352892009-11-08  David Levin  <levin@chromium.org>
35290
35291        Reviewed by NOBODY (chromium build fix).
35292
35293        * platform/network/HTTPParsers.cpp:
35294        (WebCore::parseDate): Changed this to not
35295        use a date parser that needs ExecState passed.
35296        
352972009-11-08  David Levin  <levin@chromium.org>
35298
35299        Unreviewed build fix for chromium.
35300
35301        * platform/graphics/skia/GraphicsContextSkia.cpp:
35302        (WebCore::GraphicsContext::fillPath):
35303        (WebCore::GraphicsContext::fillRect):
35304        (WebCore::GraphicsContext::strokePath):
35305        (WebCore::GraphicsContext::strokeRect):
35306
353072009-11-08  David Levin  <levin@chromium.org>
35308
35309        Unreviewed build fix for chromium.
35310
35311        Build fix for https://bugs.webkit.org/show_bug.cgi?id=31219
35312        Clean up GraphicsContext's current concept of ColorSpace
35313
35314        * platform/graphics/skia/GraphicsContextSkia.cpp:
35315        (WebCore::GraphicsContext::fillPath):
35316        (WebCore::GraphicsContext::fillRect):
35317        (WebCore::GraphicsContext::strokePath):
35318        (WebCore::GraphicsContext::strokeRect):
35319
353202009-11-08  Pavel Feldman  <pfeldman@chromium.org>
35321
35322        Reviewed by Timothy Hatcher.
35323
35324        Web Inspector: [REGRESSION] committing style edit
35325        clears elements panel selection.
35326
35327        https://bugs.webkit.org/show_bug.cgi?id=31242
35328
35329        * inspector/front-end/ElementsTreeOutline.js:
35330        (WebInspector.ElementsTreeOutline.prototype.update):
35331        * inspector/front-end/StylesSidebarPane.js:
35332        (WebInspector.StylePropertyTreeElement.prototype.):
35333        (WebInspector.StylePropertyTreeElement.prototype):
35334
353352009-11-08  Janne Koskinen  <janne.p.koskinen@digia.com>
35336
35337        Reviewed by Holger Freyther.
35338
35339        ResourceRequest to be class instead of struct
35340        https://bugs.webkit.org/show_bug.cgi?id=30670
35341
35342        Started as a compilation fix for Symbian where the compiler makes a distinction between
35343        class and struct in function argument signatures.
35344        Changed all forward declarations of ResourceRequest to have class in the forward
35345        declaration instead of struct and changed the definition of ResourceRequest to be class
35346        and added access qualifiers where missing. Additionally two references of friend
35347        struct ResourceRequestBase changed to class instead.
35348
35349        * history/HistoryItem.h:
35350        * inspector/InspectorController.h:
35351        * inspector/InspectorResource.h:
35352        * loader/DocumentThreadableLoader.h:
35353        * loader/FrameLoaderClient.h:
35354        * loader/MainResourceLoader.h:
35355        * loader/ResourceLoadNotifier.h:
35356        * loader/SubresourceLoader.h:
35357        * loader/SubresourceLoaderClient.h:
35358        * loader/ThreadableLoader.h:
35359        * loader/WorkerThreadableLoader.h:
35360        * loader/appcache/ApplicationCache.h:
35361        * loader/appcache/ApplicationCacheHost.h:
35362        * platform/CrossThreadCopier.h:
35363        * platform/network/ResourceHandle.h:
35364        * platform/network/ResourceHandleClient.h:
35365        * platform/network/ResourceRequestBase.h:
35366        * platform/network/cf/ResourceRequest.h:
35367        * platform/network/cf/ResourceRequestCFNet.h:
35368        * platform/network/chromium/ResourceRequest.h:
35369        * platform/network/curl/ResourceRequest.h:
35370        * platform/network/qt/ResourceRequest.h:
35371        * platform/network/soup/ResourceRequest.h:
35372        * xml/XMLHttpRequest.h:
35373
353742009-11-08  Dan Bernstein  <mitz@apple.com>
35375
35376        Reviewed by Simon Fraser.
35377
35378        <rdar://problem/7363434> Crash inside RenderObject::localToAbsolute
35379        below FrameView::layout
35380        https://bugs.webkit.org/show_bug.cgi?id=31093
35381
35382        Test: fast/block/positioning/relative-positioned-inline-container.html
35383
35384        In <http://trac.webkit.org/changeset/19148>, setStaticY() was changed
35385        to mark the object for layout, doing so without marking its ancestors.
35386        However, RenderBlock::skipLeadingWhitespace and
35387        RenderBlock::skipTrailingWhitespace() call setStaticY() on a relative-
35388        positioned inline container, causing it to be marked for layout without
35389        ever going back to give it layout, and thus layout could end with a
35390        dirty object still in the tree, leading to all sorts of badness.
35391
35392        The fix is to revert setStaticY() to not marking the object dirty, and
35393        instead do it in the call sites that require it, which are in
35394        RenderBlock and RenderFlexibleBox.
35395
35396        * rendering/RenderBlock.cpp:
35397        (WebCore::RenderBlock::adjustPositionedBlock):
35398        * rendering/RenderFlexibleBox.cpp:
35399        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
35400        (WebCore::RenderFlexibleBox::layoutVerticalBox):
35401        * rendering/RenderLayer.cpp:
35402        * rendering/RenderLayer.h:
35403        (WebCore::RenderLayer::setStaticY):
35404
354052009-11-07  Daniel Bates  <dbates@webkit.org>
35406
35407        Reviewed by Darin Adler.
35408
35409        https://bugs.webkit.org/show_bug.cgi?id=20780
35410        
35411        Fixes an issue where the onchange event handler is not fired when the 
35412        input field is autocompleted.
35413        
35414        We cannot test this using DRT since DRT cannot emulate autocompletion.
35415        So, a manual-test is included.
35416
35417        Tests: manual-tests/autocompletion-fire-onchange.html
35418
35419        * manual-tests/autocompletion-fire-onchange.html: Added.
35420        * rendering/RenderTextControl.cpp:
35421        (WebCore::RenderTextControl::setInnerTextValue):
35422
354232009-11-07  Benjamin Otte  <otte@gnome.org>
35424
35425        Reviewed by Holger Freyther.
35426
35427        Mark redrawn areas on image surfaces as dirty.
35428
35429        This is required to conform to the Cairo API, but is currently only
35430        used by debugging tools like cairo-trace.
35431
35432        * platform/graphics/cairo/ImageBufferCairo.cpp:
35433        (WebCore::ImageBuffer::platformTransformColorSpace):
35434        (WebCore::putImageData):
35435
354362009-11-07  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
35437
35438        Reviewed by Xan Lopez.
35439
35440        https://bugs.webkit.org/show_bug.cgi?id=30878
35441        [Gtk] atk_text_get_text() fails in entries when the end_offset is -1
35442
35443        If the end_offset is -1, use the String length as the end_offset.
35444
35445        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
35446        (webkit_accessible_text_get_text):
35447
354482009-11-06  Beth Dakin  <bdakin@apple.com>
35449
35450        Reviewed by Adele Peterson.
35451
35452        Fix for https://bugs.webkit.org/show_bug.cgi?id=31219 Clean up 
35453        GraphicsContext's current concept of ColorSpace
35454
35455        ColorSpace is now called ColorType. The variables on the state we 
35456        appropriately re-named as well. I removed strokeColorSpace() and 
35457        fillColorSpace() from GraphicsContext since they were never called. 
35458
35459        * platform/graphics/GraphicsContext.cpp:
35460        (WebCore::GraphicsContext::setStrokeColor):
35461        (WebCore::GraphicsContext::setFillColor):
35462        (WebCore::GraphicsContext::setStrokePattern):
35463        (WebCore::GraphicsContext::setFillPattern):
35464        (WebCore::GraphicsContext::setStrokeGradient):
35465        (WebCore::GraphicsContext::setFillGradient):
35466        * platform/graphics/GraphicsContext.h:
35467        (WebCore::):
35468        * platform/graphics/GraphicsContextPrivate.h:
35469        (WebCore::GraphicsContextState::GraphicsContextState):
35470        * platform/graphics/cairo/GraphicsContextCairo.cpp:
35471        (WebCore::GraphicsContext::fillPath):
35472        (WebCore::GraphicsContext::strokePath):
35473        * platform/graphics/cg/GraphicsContextCG.cpp:
35474        (WebCore::calculateDrawingMode):
35475        (WebCore::GraphicsContext::drawPath):
35476        (WebCore::GraphicsContext::fillPath):
35477        (WebCore::GraphicsContext::strokePath):
35478        (WebCore::GraphicsContext::fillRect):
35479        (WebCore::GraphicsContext::strokeRect):
35480        * platform/graphics/qt/GraphicsContextQt.cpp:
35481        (WebCore::GraphicsContext::fillPath):
35482        (WebCore::GraphicsContext::strokePath):
35483        (WebCore::GraphicsContext::fillRect):
35484        * platform/graphics/wince/GraphicsContextWince.cpp:
35485        (WebCore::GraphicsContext::fillPath):
35486        (WebCore::GraphicsContext::fillRect):
35487
354882009-11-06  Brian Weinstein  <bweinstein@apple.com>
35489
35490        Reviewed by Tim Hatcher.
35491
35492        Fixes <http://webkit.org/b/31177>.
35493        Web Inspector: Bind backspace to delete cookies and DOM Storage.
35494        
35495        Refactor editing code from DOMStorageDataGrid to DataGrid, so other
35496        places in the inspector can use editing in DataGrid (added a FIXME for
35497        some stuff that needs to be generalized).
35498        
35499        Also added deleting functionality to DataGrid, and implemented it for
35500        Cookies and DOM Storage. The reason this patch is so big is because of
35501        the refactoring of editing code, which won't be used yet in a cross-datagrid
35502        way, but should be able to.
35503        
35504        Additionally, moved the callbacks members from DOMStorageDataGrid to
35505        DOMStorageItemsView, which allowed us to delete DOMStorageDataGrid, to 
35506        make the architecture of DOM Storage look a lot more like the Cookies view.
35507        
35508        Lastly, added a preventDefault call in ElementsTreeOutline to prevent the 
35509        inspector from beeping at you when you delete an element.
35510
35511        * WebCore.gypi: Removed DOMStorageDataGrid.
35512        * WebCore.vcproj/WebCore.vcproj: Removed DOMStorageDataGrid.
35513        * inspector/front-end/CookieItemsView.js:
35514        (WebInspector.CookieItemsView.prototype.dataGridForCookies):
35515        (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
35516        (WebInspector.CookieItemsView.prototype._deleteCookieCallback):
35517        * inspector/front-end/DOMStorageDataGrid.js: Removed.
35518        * inspector/front-end/DOMStorageItemsView.js:
35519        (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
35520        (WebInspector.DOMStorageItemsView.prototype._deleteButtonClicked):
35521        (WebInspector.DOMStorageItemsView.prototype._refreshButtonClicked):
35522        (WebInspector.DOMStorageItemsView.prototype._editingCallback):
35523        (WebInspector.DOMStorageItemsView.prototype.deleteSelectedRow):
35524        (WebInspector.DOMStorageItemsView.prototype._deleteCallback):
35525        * inspector/front-end/DataGrid.js:
35526        (WebInspector.DataGrid):
35527        (WebInspector.DataGrid.prototype._ondblclick): Moved from DOMStorageDataGrid to DataGrid + Refactoring.
35528        (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode): Ditto.
35529        (WebInspector.DataGrid.prototype._startEditing): Ditto.
35530        (WebInspector.DataGrid.prototype._editingCommitted.moveToNextIfNeeded): Ditto.
35531        (WebInspector.DataGrid.prototype._editingCommitted): Ditto.
35532        (WebInspector.DataGrid.prototype._editingCancelled): Ditto.
35533        (WebInspector.DataGrid.prototype.handleKeyEvent): Added case for delete/backspace.
35534        * inspector/front-end/ElementsTreeOutline.js:
35535        (WebInspector.ElementsTreeOutline.prototype.handleKeyEvent): Added preventDefault call.
35536        * inspector/front-end/WebKit.qrc: Removed DOMStorageDataGrid.
35537        * inspector/front-end/inspector.html: Removed DOMStorageDataGrid.
35538
355392009-11-06  Geoffrey Garen  <ggaren@apple.com>
35540
35541        Qt build fix: added an ExecState parameter.
35542
35543        * bridge/qt/qt_runtime.cpp:
35544        (JSC::Bindings::convertValueToQVariant):
35545        (JSC::Bindings::convertQVariantToValue):
35546
355472009-11-06  Geoffrey Garen  <ggaren@apple.com>
35548
35549        https://bugs.webkit.org/show_bug.cgi?id=31197
35550        Implemented a timezone cache not based on Mac OS X's notify_check API.
35551
35552        Updated for JavaScriptCore internal API change.
35553
35554        * bridge/qt/qt_runtime.cpp:
35555        (JSC::Bindings::convertValueToQVariant):
35556        (JSC::Bindings::convertQVariantToValue): Updated for namespace change.
35557
35558        * platform/network/HTTPParsers.cpp:
35559        (WebCore::parseDate): Pass 0 for ExecState, since we don't have one.
35560        (This function probably shouldn't be using a JavaScript date parser
35561        to begin with, but oh well.)
35562
355632009-11-06  Anantanarayanan G Iyengar  <ananta@chromium.org>
35564
35565        Reviewed by Adam Barth.
35566
35567        The associated webkit bug is https://bugs.webkit.org/show_bug.cgi?id=31067,
35568        which affects Chromium only.
35569        
35570        Changes to V8HTMLDocumentCustom.cpp are as below:-
35571        1. The HTMLDocumentOpen function would cause a crash in Chromium if
35572           there was no calling javascript context. We now check for this case
35573           and pass in NULL to the HTMLDocument::open function which can handle
35574           a NULL document parameter.
35575        2. The other functions like HTMLDocumentWrite, HTMLDocumentWriteln, etc
35576           had ASSERTS for a NULL caller frame, which was bogus as it would crash
35577           anyway. We now check for this case and return a failure.
35578           
35579        Changes to V8DOMWindowCustom.cpp are as below:-
35580        1. Instead of failing the window.open call made by NPAPI for lack of a
35581           calling javascript context, we now use the entered context as the calling
35582           context.
35583
35584        Tests: plugins/document-open.html
35585               plugins/window-open.html
35586
35587        * bindings/v8/custom/V8DOMWindowCustom.cpp:
35588        (WebCore::CALLBACK_FUNC_DECL):
35589        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
35590        (WebCore::CALLBACK_FUNC_DECL):
35591
355922009-11-06  Steve Block  <steveblock@google.com>
35593
35594        Reviewed by Eric Seidel.
35595
35596        Geolocation error code UNKNOWN_ERROR is deprecated.
35597        https://bugs.webkit.org/show_bug.cgi?id=31184
35598
35599        Remove this error code from PositionError, both for use from C++ code and from the JS object.
35600
35601        Updated fast/dom/Geolocation/error.html to test this.
35602
35603        * page/PositionError.h: Modified.
35604        (WebCore::PositionError::): Remove ErrorCode::UNKNOWN_ERROR.
35605        * page/PositionError.idl: Modified. Remove UNKNOWN_ERROR constant.
35606        * page/Geolocation.cpp: Modified.
35607        (WebCore::Geolocation::startRequest): Replace UNKNOWN_ERROR with POSITION_UNAVAILABLE.
35608        * platform/gtk/GeolocationServiceGtk.cpp: Modified.
35609        (WebCore::GeolocationServiceGtk::startUpdating): Replace UNKNOWN_ERROR with POSITION_UNAVAILABLE.
35610
356112009-11-06  Dirk Schulze  <krit@webkit.org>
35612
35613        Reviewed by Nikolas Zimmermann.
35614
35615        feMorphology filter is not implemented
35616        [https://bugs.webkit.org/show_bug.cgi?id=5863]
35617
35618        The Implementation of feMorphology.
35619        
35620        Test: We have allready a test for feMorphology
35621              svg/W3C-SVG-1.1/filters-morph-01-f.svg
35622
35623        * svg/graphics/filters/SVGFEMorphology.cpp:
35624        (WebCore::FEMorphology::apply):
35625
356262009-11-06  Steve Block  <steveblock@google.com>
35627
35628        Reviewed by Eric Seidel.
35629
35630        V8DOMWindowCustom.cpp is missing WEB_SOCKETS guard on include.
35631        https://bugs.webkit.org/show_bug.cgi?id=31209
35632
35633        Build fix only. No new tests possible.
35634
35635        * bindings/v8/custom/V8DOMWindowCustom.cpp: Modified. Added WEB_SOCKETS guard on inclue of WebSockets.h.
35636
356372009-11-06  Drew Wilson  <atwilson@chromium.org>
35638
35639        Reviewed by David Levin.
35640
35641        V8 bindings do not support SharedWorkers as event targets
35642        https://bugs.webkit.org/show_bug.cgi?id=31199
35643
35644        No new tests because existing layout tests suffice (they currently
35645        crash on Chromium)
35646
35647        * bindings/v8/V8DOMWrapper.cpp:
35648        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
35649        Added clause to create a DOM wrapper for SharedWorkers.
35650
356512009-11-06  Anton Muhin  <antonm@chromium.org>
35652
35653        Reviewed by Adam Barth.
35654
35655        Do not unnecessarly synchronzie in weak reference callbacks.
35656        https://bugs.webkit.org/show_bug.cgi?id=31191
35657
35658        * bindings/v8/DOMData.h:
35659        (WebCore::DOMData::handleWeakObject):
35660
356612009-11-06  Alexander Pavlov  <apavlov@chromium.org>
35662
35663        Reviewed by Pavel Feldman.
35664
35665        Fix resource content search.
35666        https://bugs.webkit.org/show_bug.cgi?id=31202
35667
35668        * inspector/front-end/AbstractTimelinePanel.js:
35669        (WebInspector.AbstractTimelinePanel.prototype.refresh):
35670        (WebInspector.AbstractTimelinePanel.prototype.removeItem):
35671        * inspector/front-end/TimelinePanel.js:
35672        (WebInspector.TimelineGraph.prototype.refresh):
35673
356742009-11-05  Yuta Kitamura  <yutak@chromium.org>
35675
35676        Reviewed by Eric Seidel.
35677
35678        Fix ASSERT(currentStyle = renderStyle()).
35679        https://bugs.webkit.org/show_bug.cgi?id=31152
35680
35681        * dom/Element.cpp:
35682        (WebCore::Element::pseudoStyleCacheIsInvalid): We should have used "==" instead of "=".
35683
356842009-11-05  Alpha Lam  <hclam@chromium.org>
35685
35686        Revert 50562 because it broke Chromium. Not reviewed since this is a build fix and revert.
35687
35688        * bindings/v8/V8GCController.cpp:
35689        (WebCore::V8GCController::gcEpilogue):
35690        * bindings/v8/V8GCController.h:
35691        * bindings/v8/V8Proxy.cpp:
35692        (WebCore::V8Proxy::evaluate):
35693        (WebCore::V8Proxy::runScript):
35694        (WebCore::V8Proxy::callFunction):
35695
356962009-11-05  Adam Barth  <abarth@webkit.org>
35697
35698        Reviewed by Sam Weinig.
35699
35700        Cross-domain access to stylesheet text should not be allowed
35701        https://bugs.webkit.org/show_bug.cgi?id=20527
35702
35703        Check whether whether the current document can read the cssRules from
35704        the style sheet.  Firefox throws a security error here, but we return
35705        null instead because that's what we usually do in these cases.
35706
35707        Test: http/tests/security/cannot-read-cssrules-redirect.html
35708              http/tests/security/cannot-read-cssrules.html
35709
35710        * css/CSSStyleSheet.cpp:
35711        (WebCore::CSSStyleSheet::cssRules):
35712
357132009-11-05  Steve Block  <steveblock@google.com>
35714
35715        Reviewed by Eric Seidel.
35716
35717        If the Geolocation service fails to start, invoke the error callback asynchronously.
35718        https://bugs.webkit.org/show_bug.cgi?id=28276
35719
35720        All Geolocation callbacks must be invoked asynchronously.
35721        See http://www.w3.org/TR/geolocation-API/#geolocation_interface
35722
35723        No new tests possible with current LayoutTestController.
35724
35725        * page/Geolocation.cpp:
35726        (WebCore::Geolocation::getCurrentPosition): Modified. Asserts that startRequest returned a notifier.
35727        (WebCore::Geolocation::watchPosition): Modified. Asserts that startRequest returned a notifier.
35728        (WebCore::Geolocation::startRequest): Modified. If the Geolocation service fails to start, set a fatal error on the notifier.
35729
357302009-11-05  Chris Jerdonek  <chris.jerdonek@gmail.com>
35731
35732        Reviewed by Eric Seidel.
35733
35734        Removed the "this is part of the KDE project" comments from 
35735        all *.h, *.cpp, *.idl, and *.pm files.
35736        
35737        https://bugs.webkit.org/show_bug.cgi?id=31167
35738        
35739        The maintenance and architecture page in the project wiki lists
35740        this as a task.
35741        
35742        This change includes no changes or additions to test cases 
35743        since the change affects only comments.
35744
35745        * bindings/scripts/CodeGeneratorV8.pm:
35746        * bindings/scripts/IDLParser.pm:
35747        * bindings/scripts/IDLStructure.pm:
35748        * css/CSSInheritedValue.cpp:
35749        * css/CSSInitialValue.cpp:
35750        * css/CSSMediaRule.cpp:
35751        * css/CSSNamespace.h:
35752        * css/CSSProperty.cpp:
35753        * css/CSSProperty.h:
35754        * css/CSSRuleList.cpp:
35755        * css/CSSRuleList.h:
35756        * css/CSSSelector.h:
35757        * css/CSSValueList.cpp:
35758        * css/FontValue.cpp:
35759        * css/MediaFeatureNames.cpp:
35760        * css/MediaFeatureNames.h:
35761        * css/Pair.h:
35762        * css/SVGCSSStyleSelector.cpp:
35763        * css/ShadowValue.cpp:
35764        * css/StyleSheet.cpp:
35765        * css/StyleSheetList.cpp:
35766        * css/maketokenizer:
35767        * dom/BeforeUnloadEvent.cpp:
35768        * dom/BeforeUnloadEvent.h:
35769        * dom/CSSMappedAttributeDeclaration.cpp:
35770        * dom/EventNames.cpp:
35771        * dom/EventTarget.cpp:
35772        * dom/MappedAttributeEntry.h:
35773        * dom/MouseRelatedEvent.h:
35774        * dom/RangeException.h:
35775        * dom/StyleElement.h:
35776        * dom/Tokenizer.h:
35777        * html/HTMLHeadElement.h:
35778        * html/HTMLHeadingElement.cpp:
35779        * html/HTMLHeadingElement.h:
35780        * html/HTMLHtmlElement.h:
35781        * html/HTMLImageLoader.h:
35782        * html/HTMLMetaElement.h:
35783        * html/HTMLModElement.cpp:
35784        * html/HTMLModElement.h:
35785        * html/HTMLOptionsCollection.cpp:
35786        * html/HTMLPlugInElement.cpp:
35787        * html/HTMLPreElement.cpp:
35788        * html/HTMLPreElement.h:
35789        * html/HTMLTableCellElement.cpp:
35790        * html/HTMLTableCellElement.h:
35791        * html/HTMLTableColElement.cpp:
35792        * html/HTMLTableColElement.h:
35793        * html/HTMLTablePartElement.cpp:
35794        * html/HTMLTablePartElement.h:
35795        * html/HTMLTitleElement.h:
35796        * page/MouseEventWithHitTestResults.h:
35797        * platform/StaticConstructors.h:
35798        * platform/text/AtomicStringImpl.h:
35799        * platform/text/qt/TextBreakIteratorQt.cpp:
35800        * rendering/AutoTableLayout.h:
35801        * rendering/CounterNode.cpp:
35802        * rendering/EllipsisBox.cpp:
35803        * rendering/EllipsisBox.h:
35804        * rendering/FixedTableLayout.cpp:
35805        * rendering/FixedTableLayout.h:
35806        * rendering/HitTestRequest.h:
35807        * rendering/HitTestResult.h:
35808        * rendering/InlineRunBox.h:
35809        * rendering/PointerEventsHitRules.cpp:
35810        * rendering/PointerEventsHitRules.h:
35811        * rendering/RenderBR.cpp:
35812        * rendering/RenderBR.h:
35813        * rendering/RenderButton.cpp:
35814        * rendering/RenderButton.h:
35815        * rendering/RenderFieldset.cpp:
35816        * rendering/RenderFrameSet.cpp:
35817        * rendering/RenderListItem.cpp:
35818        * rendering/RenderTableRow.cpp:
35819        * rendering/RenderView.h:
35820        * rendering/RootInlineBox.h:
35821        * rendering/SVGInlineTextBox.cpp:
35822        * rendering/SVGInlineTextBox.h:
35823        * rendering/TableLayout.h:
35824        * rendering/break_lines.h:
35825        * rendering/style/SVGRenderStyle.cpp:
35826        * rendering/style/SVGRenderStyle.h:
35827        * rendering/style/SVGRenderStyleDefs.cpp:
35828        * rendering/style/SVGRenderStyleDefs.h:
35829        * svg/GradientAttributes.h:
35830        * svg/LinearGradientAttributes.h:
35831        * svg/PatternAttributes.h:
35832        * svg/RadialGradientAttributes.h:
35833        * svg/SVGAElement.cpp:
35834        * svg/SVGAngle.idl:
35835        * svg/SVGAnimateColorElement.cpp:
35836        * svg/SVGAnimateColorElement.h:
35837        * svg/SVGAnimateElement.cpp:
35838        * svg/SVGAnimateElement.h:
35839        * svg/SVGAnimateTransformElement.h:
35840        * svg/SVGAnimatedPathData.cpp:
35841        * svg/SVGAnimatedPathData.h:
35842        * svg/SVGAnimatedPoints.cpp:
35843        * svg/SVGAnimatedPoints.h:
35844        * svg/SVGAnimationElement.cpp:
35845        * svg/SVGCircleElement.cpp:
35846        * svg/SVGClipPathElement.cpp:
35847        * svg/SVGColor.cpp:
35848        * svg/SVGColor.idl:
35849        * svg/SVGComponentTransferFunctionElement.cpp:
35850        * svg/SVGComponentTransferFunctionElement.h:
35851        * svg/SVGCursorElement.cpp:
35852        * svg/SVGDefsElement.cpp:
35853        * svg/SVGDescElement.cpp:
35854        * svg/SVGDescElement.h:
35855        * svg/SVGDocument.idl:
35856        * svg/SVGElement.idl:
35857        * svg/SVGElementInstanceList.cpp:
35858        * svg/SVGElementInstanceList.h:
35859        * svg/SVGEllipseElement.cpp:
35860        * svg/SVGExternalResourcesRequired.cpp:
35861        * svg/SVGFEBlendElement.cpp:
35862        * svg/SVGFEBlendElement.h:
35863        * svg/SVGFEColorMatrixElement.cpp:
35864        * svg/SVGFEColorMatrixElement.h:
35865        * svg/SVGFEComponentTransferElement.cpp:
35866        * svg/SVGFEComponentTransferElement.h:
35867        * svg/SVGFECompositeElement.cpp:
35868        * svg/SVGFECompositeElement.h:
35869        * svg/SVGFEFloodElement.cpp:
35870        * svg/SVGFEFloodElement.h:
35871        * svg/SVGFEFuncAElement.cpp:
35872        * svg/SVGFEFuncAElement.h:
35873        * svg/SVGFEFuncBElement.cpp:
35874        * svg/SVGFEFuncBElement.h:
35875        * svg/SVGFEFuncGElement.cpp:
35876        * svg/SVGFEFuncGElement.h:
35877        * svg/SVGFEFuncRElement.cpp:
35878        * svg/SVGFEFuncRElement.h:
35879        * svg/SVGFEGaussianBlurElement.cpp:
35880        * svg/SVGFEGaussianBlurElement.h:
35881        * svg/SVGFEImageElement.cpp:
35882        * svg/SVGFEMergeElement.cpp:
35883        * svg/SVGFEMergeElement.h:
35884        * svg/SVGFEMergeNodeElement.cpp:
35885        * svg/SVGFEOffsetElement.cpp:
35886        * svg/SVGFEOffsetElement.h:
35887        * svg/SVGFETileElement.cpp:
35888        * svg/SVGFETileElement.h:
35889        * svg/SVGFETurbulenceElement.cpp:
35890        * svg/SVGFETurbulenceElement.h:
35891        * svg/SVGFilterElement.cpp:
35892        * svg/SVGGElement.cpp:
35893        * svg/SVGGradientElement.cpp:
35894        * svg/SVGHKernElement.idl:
35895        * svg/SVGLangSpace.cpp:
35896        * svg/SVGLangSpace.h:
35897        * svg/SVGLength.cpp:
35898        * svg/SVGLength.h:
35899        * svg/SVGLength.idl:
35900        * svg/SVGLengthList.cpp:
35901        * svg/SVGLengthList.h:
35902        * svg/SVGLineElement.cpp:
35903        * svg/SVGLinearGradientElement.h:
35904        * svg/SVGList.h:
35905        * svg/SVGListTraits.h:
35906        * svg/SVGLocatable.h:
35907        * svg/SVGMaskElement.cpp:
35908        * svg/SVGMatrix.idl:
35909        * svg/SVGMetadataElement.cpp:
35910        * svg/SVGMetadataElement.h:
35911        * svg/SVGMetadataElement.idl:
35912        * svg/SVGNumber.idl:
35913        * svg/SVGNumberList.cpp:
35914        * svg/SVGNumberList.h:
35915        * svg/SVGPaint.cpp:
35916        * svg/SVGPathElement.cpp:
35917        * svg/SVGPathSeg.h:
35918        * svg/SVGPathSegArc.cpp:
35919        * svg/SVGPathSegArc.h:
35920        * svg/SVGPathSegClosePath.cpp:
35921        * svg/SVGPathSegClosePath.h:
35922        * svg/SVGPathSegCurvetoCubic.cpp:
35923        * svg/SVGPathSegCurvetoCubic.h:
35924        * svg/SVGPathSegCurvetoCubicSmooth.cpp:
35925        * svg/SVGPathSegCurvetoCubicSmooth.h:
35926        * svg/SVGPathSegCurvetoQuadratic.cpp:
35927        * svg/SVGPathSegCurvetoQuadratic.h:
35928        * svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
35929        * svg/SVGPathSegCurvetoQuadraticSmooth.h:
35930        * svg/SVGPathSegLineto.cpp:
35931        * svg/SVGPathSegLineto.h:
35932        * svg/SVGPathSegLinetoHorizontal.cpp:
35933        * svg/SVGPathSegLinetoHorizontal.h:
35934        * svg/SVGPathSegLinetoVertical.cpp:
35935        * svg/SVGPathSegLinetoVertical.h:
35936        * svg/SVGPathSegMoveto.cpp:
35937        * svg/SVGPathSegMoveto.h:
35938        * svg/SVGPatternElement.cpp:
35939        * svg/SVGPoint.idl:
35940        * svg/SVGPointList.cpp:
35941        * svg/SVGPointList.h:
35942        * svg/SVGPolyElement.cpp:
35943        * svg/SVGPolygonElement.cpp:
35944        * svg/SVGPolygonElement.h:
35945        * svg/SVGPolylineElement.cpp:
35946        * svg/SVGPolylineElement.h:
35947        * svg/SVGPreserveAspectRatio.cpp:
35948        * svg/SVGPreserveAspectRatio.h:
35949        * svg/SVGRadialGradientElement.h:
35950        * svg/SVGRect.idl:
35951        * svg/SVGRectElement.cpp:
35952        * svg/SVGRenderingIntent.h:
35953        * svg/SVGSVGElement.idl:
35954        * svg/SVGScriptElement.cpp:
35955        * svg/SVGSetElement.cpp:
35956        * svg/SVGSetElement.h:
35957        * svg/SVGStopElement.cpp:
35958        * svg/SVGStringList.cpp:
35959        * svg/SVGStringList.h:
35960        * svg/SVGStylable.cpp:
35961        * svg/SVGStylable.h:
35962        * svg/SVGStyleElement.cpp:
35963        * svg/SVGStyleElement.h:
35964        * svg/SVGStyledElement.h:
35965        * svg/SVGStyledLocatableElement.cpp:
35966        * svg/SVGStyledLocatableElement.h:
35967        * svg/SVGStyledTransformableElement.cpp:
35968        * svg/SVGStyledTransformableElement.h:
35969        * svg/SVGSwitchElement.cpp:
35970        * svg/SVGSymbolElement.cpp:
35971        * svg/SVGTRefElement.cpp:
35972        * svg/SVGTSpanElement.cpp:
35973        * svg/SVGTSpanElement.h:
35974        * svg/SVGTests.h:
35975        * svg/SVGTextElement.cpp:
35976        * svg/SVGTextElement.h:
35977        * svg/SVGTextPathElement.cpp:
35978        * svg/SVGTextPositioningElement.cpp:
35979        * svg/SVGTextPositioningElement.h:
35980        * svg/SVGTitleElement.cpp:
35981        * svg/SVGTitleElement.h:
35982        * svg/SVGTransform.cpp:
35983        * svg/SVGTransform.h:
35984        * svg/SVGTransform.idl:
35985        * svg/SVGTransformList.cpp:
35986        * svg/SVGTransformList.h:
35987        * svg/SVGTransformable.h:
35988        * svg/SVGURIReference.h:
35989        * svg/SVGUnitTypes.h:
35990        * svg/SVGUseElement.cpp:
35991        * svg/SVGViewElement.cpp:
35992        * svg/SVGZoomAndPan.cpp:
35993        * svg/SVGZoomAndPan.h:
35994        * svg/SVGZoomEvent.cpp:
35995
359962009-11-05  Jeremy Orlow  <jorlow@chromium.org>
35997
35998        Reviewed by Dimitri Glazkov.
35999
36000        REGRESSION Clean up security origin usage in DOM Storage.
36001        https://bugs.webkit.org/show_bug.cgi?id=31188
36002
36003        Clean up security origin usage in DOM Storage.  This fixes a bug in my
36004        refactoring here: https://bugs.webkit.org/show_bug.cgi?id=31149
36005
36006        Instead of having StorageAreaSync's constructor (which is called in the
36007        constructor for StorageAreaImpl) calling a method on StoargeAreaImpl to get the
36008        database identifier, simply have StorageAreaImpl pass the identifier into
36009        StorageAreaSync.
36010
36011        No test because there's no change in externally observable behavior.
36012
36013        * storage/StorageAreaImpl.cpp:
36014        (WebCore::StorageAreaImpl::StorageAreaImpl):
36015        * storage/StorageAreaImpl.h:
36016        * storage/StorageAreaSync.cpp:
36017        (WebCore::StorageAreaSync::create):
36018        (WebCore::StorageAreaSync::StorageAreaSync):
36019        * storage/StorageAreaSync.h:
36020
360212009-11-05  Scott Violet  <sky@google.com>
36022
36023        Reviewed by Dimitri Glazkov.
36024
36025        Need notification of scrolling frame
36026        https://bugs.webkit.org/show_bug.cgi?id=31145
36027
36028        Adds FrameLoaderClient::didChangeScrollOffset that is called when
36029        the frame scrolls. This will be used to know when history state
36030        needs to be updated.
36031
36032        * loader/FrameLoaderClient.h:
36033        (WebCore::FrameLoaderClient::didChangeScrollOffset):
36034        * page/FrameView.cpp:
36035        (WebCore::FrameView::valueChanged):
36036
360372009-11-05  Kenneth Russell  <kbr@google.com>
36038
36039        Reviewed by Dimitri Glazkov.
36040
36041        [V8] Update bindings to use new API for external arrays
36042        https://bugs.webkit.org/show_bug.cgi?id=31181
36043
36044        No new tests; covered by existing WebGL tests.
36045
36046        * bindings/v8/V8DOMWrapper.cpp:
36047        (WebCore::V8DOMWrapper::setIndexedPropertiesToExternalArray):
36048        (WebCore::V8DOMWrapper::getTemplate):
36049        (WebCore::V8DOMWrapper::convertToV8Object):
36050        * bindings/v8/V8DOMWrapper.h:
36051        * bindings/v8/custom/V8CanvasArrayCustom.h:
36052        (WebCore::constructCanvasArray):
36053
360542009-11-05  Alpha Lam  <hclam@chromium.org>
36055
36056        Not reviewed, Chromium build fix.
36057
36058        50561 introduces a custom method for SVGMatrix, we need to implement
36059        this in V8.
36060
36061        * bindings/v8/custom/V8CustomBinding.h:
36062        Adding definition for V8SVGMatrixMultiply.
36063        * bindings/v8/custom/V8SVGMatrixCustom.cpp:
36064        (WebCore::CALLBACK_FUNC_DECL):
36065        Implement V8SVGMatrixMultiply according to the same method in JSC.
36066
360672009-11-05  Jeremy Orlow  <jorlow@chromium.org>
36068
36069        Revert 50569 since it broke QT.  Build fix and just a revert, so no review.
36070
36071        * page/DOMWindow.cpp:
36072        (WebCore::DOMWindow::sessionStorage):
36073        * page/Settings.cpp:
36074        (WebCore::Settings::Settings):
36075        (WebCore::Settings::setSessionStorageEnabled):
36076        * page/Settings.h:
36077        (WebCore::Settings::sessionStorageEnabled):
36078
360792009-11-05  Pavel Feldman  <pfeldman@chromium.org>
36080
36081        Reviewed by Timothy Hatcher.
36082
36083        REGRESSION: Web Inspector doesn't show CSS rules properly for iframes
36084
36085        https://bugs.webkit.org/show_bug.cgi?id=30884
36086
36087        Test: inspector/styles-iframe.html
36088
36089        * inspector/front-end/DOMAgent.js:
36090        (WebInspector.DOMNode):
36091        * inspector/front-end/InjectedScript.js:
36092        (InjectedScript.getStyles):
36093        (InjectedScript.getComputedStyle):
36094        (InjectedScript.addStyleSelector):
36095        * inspector/front-end/TestController.js:
36096        (WebInspector.TestController.prototype.notifyDone):
36097        (WebInspector.TestController.prototype.runAfterPendingDispatches):
36098        (WebInspector.evaluateForTestInFrontend.invokeMethod):
36099        (WebInspector.evaluateForTestInFrontend):
36100
361012009-11-05  Vitaly Repeshko  <vitalyr@chromium.org>
36102
36103        Reviewed by Geoffrey Garen and Dimitri Glazkov.
36104
36105        Rehashing of EventListenerMap leads to loss of EvenListenerList.
36106        https://bugs.webkit.org/show_bug.cgi?id=31027
36107
36108        Tested by new fast/events/event-listener-map-rehash-crash.html.
36109
36110        EventListenerMap modified to store pointers to listener vectors:
36111        * dom/EventTarget.cpp:
36112        (WebCore::EventTargetData::~EventTargetData):
36113        (WebCore::EventTarget::addEventListener):
36114        (WebCore::EventTarget::removeEventListener):
36115        (WebCore::EventTarget::fireEventListeners):
36116        (WebCore::EventTarget::getEventListeners):
36117        (WebCore::EventTarget::removeAllEventListeners):
36118        * dom/EventTarget.h:
36119
36120        Usages updated after interface changes:
36121        * inspector/InspectorDOMAgent.cpp:
36122        (WebCore::InspectorDOMAgent::getEventListenersForNode):
36123        * svg/SVGUseElement.cpp:
36124        (WebCore::SVGUseElement::transferEventListenersToShadowTree):
36125
361262009-11-05  Dan Kegel  <dank@chromium.org>
36127
36128        Reviewed by Dmitri Titov.
36129
36130        Add missing initialization for m_createdByParser.
36131        https://bugs.webkit.org/show_bug.cgi?id=31089
36132
36133        Test: fast/dom/beforeload/pi-before-load.xhtml in Valgrind
36134
36135        * dom/ProcessingInstruction.cpp:
36136        (WebCore::ProcessingInstruction::ProcessingInstruction):
36137
361382009-11-04  Jeremy Orlow  <jorlow@chromium.org>
36139
36140        Reviewed by Adam Barth.
36141
36142        DOM Storage runtime flag changes
36143        https://bugs.webkit.org/show_bug.cgi?id=30602
36144
36145        Part 2/2.
36146
36147        Revert my changes to Settings and instead implement DOM Storage enabling via
36148        the methods agreed upon in https://bugs.webkit.org/show_bug.cgi?id=30240
36149
36150        This stuff was (intentionally) never exposed to web pages or DRT, so there's no
36151        LayoutTest visible changes and thus no tests.
36152
36153        * bindings/v8/custom/V8CustomBinding.h:
36154        * bindings/v8/custom/V8DOMWindowCustom.cpp:
36155        (WebCore::ACCESSOR_RUNTIME_ENABLER):
36156        * page/DOMWindow.cpp:
36157        (WebCore::DOMWindow::sessionStorage):
36158        * page/DOMWindow.idl:
36159        * page/Settings.cpp:
36160        (WebCore::Settings::Settings):
36161        * page/Settings.h:
36162        * storage/Storage.cpp:
36163        (WebCore::Storage::setLocalStorageAvailable):
36164        (WebCore::Storage::localStorageAvailable):
36165        (WebCore::Storage::setSessionStorageAvailable):
36166        (WebCore::Storage::sessionStorageAvailable):
36167        * storage/Storage.h:
36168
361692009-11-05  Jian Li  <jianli@chromium.org>
36170
36171        Reviewed by Pavel Feldman.
36172
36173        Bug 31108 - [V8] REGRESSION: Pause on exception is broken
36174        https://bugs.webkit.org/show_bug.cgi?id=31108
36175
36176        * bindings/v8/V8AbstractEventListener.cpp:
36177        (WebCore::V8AbstractEventListener::invokeEventHandler):
36178        * bindings/v8/V8Utilities.cpp:
36179        (WebCore::reportException):
36180
361812009-11-05  Jian Li  <jianli@chromium.org>
36182
36183        Reviewed by Dmitri Titov.
36184
36185        We should not bubble up events if we drag something to an iframe that
36186        has an invalid source.
36187        https://bugs.webkit.org/show_bug.cgi?id=30469
36188
36189        Test: http/tests/misc/bubble-drag-events.html
36190
36191        * page/EventHandler.cpp:
36192        (WebCore::EventHandler::handleDragAndDropForTarget):
36193        (WebCore::EventHandler::updateDragAndDrop):
36194        (WebCore::EventHandler::cancelDragAndDrop):
36195        (WebCore::EventHandler::performDragAndDrop):
36196        * page/EventHandler.h:
36197        (WebCore::EventHandler::):
36198
361992009-11-05  Pavel Feldman  <pfeldman@chromium.org>
36200
36201        Reviewed by Timothy Hatcher.
36202
36203        Web Inspector: speed up Timelines Clear by a factor of thousands.
36204
36205        https://bugs.webkit.org/show_bug.cgi?id=31160
36206
36207        * inspector/front-end/utilities.js:
36208        (Element.prototype.removeChildren):
36209
362102009-11-05  Anton Muhin  <antonm@chromium.org>
36211
36212        Reviewed by Adam Barth.
36213
36214        If high memory usage is detected, hint to V8 that it might be due
36215        to external objects retained by V8 objects.
36216        https://bugs.webkit.org/show_bug.cgi?id=31051
36217
36218        * bindings/v8/V8GCController.cpp:
36219        (WebCore::GetMemoryUsageInMB):
36220        (WebCore::V8GCController::gcEpilogue):
36221        (WebCore::V8GCController::checkMemoryUsage):
36222        * bindings/v8/V8GCController.h:
36223        * bindings/v8/V8Proxy.cpp:
36224        (WebCore::V8Proxy::evaluate):
36225        (WebCore::V8Proxy::runScript):
36226        (WebCore::V8Proxy::callFunction):
36227
362282009-11-05  Jeff Schiller  <codedread@gmail.com>
36229
36230        Reviewed by Simon Fraser.
36231
36232        Correct order of matrix multiplication for SVGMatrix.
36233        https://bugs.webkit.org/show_bug.cgi?id=16062
36234
36235        Test: svg/dom/SVGMatrix-interface.xhtml
36236
36237        * bindings/js/JSSVGMatrixCustom.cpp:
36238        (WebCore::JSSVGMatrix::multiply):
36239        * svg/SVGMatrix.idl:
36240
362412009-11-04  Pavel Feldman  <pfeldman@chromium.org>
36242
36243        Reviewed by Timothy Hatcher.
36244
36245        Web Inspector: Make resource-related records in timeline
36246        actually take some time.
36247
36248        https://bugs.webkit.org/show_bug.cgi?id=31139
36249
36250        * English.lproj/localizedStrings.js:
36251        * inspector/front-end/TimelinePanel.js:
36252        (WebInspector.TimelinePanel):
36253        (WebInspector.TimelinePanel.prototype._formatRecord):
36254        (WebInspector.TimelinePanel.prototype._getRecordDetails):
36255        (WebInspector.TimelinePanel.prototype.reset):
36256
362572009-11-04  Jeremy Orlow  <jorlow@chromium.org>
36258
36259        Reviewed by Darin Fisher.
36260
36261        Simplify LocalStorageThread
36262        https://bugs.webkit.org/show_bug.cgi?id=30935
36263
36264        This is a re-submit of 50519.  LocalStorageTask should have never been ref
36265        counted.  I've removed that and switched a PassRefPtr over to a PassOwnPtr.
36266
36267        On LocalStoragethread: Remove reference counting. Get rid of locking. Make some
36268        of the method names a bit more clear. Assert proper thread usage. Join rather
36269        than detaching the thread and doing an ad-hoc form of join. Avoid touching
36270        variables on the background thread when simple to do so.  Also create a generic
36271        scheduleTask function rather than one for each task.
36272
36273        No behavior should have changed.
36274
36275        * storage/LocalStorageTask.h:
36276        * storage/LocalStorageThread.cpp:
36277        (WebCore::LocalStorageThread::create):
36278        (WebCore::LocalStorageThread::LocalStorageThread):
36279        (WebCore::LocalStorageThread::~LocalStorageThread):
36280        (WebCore::LocalStorageThread::start):
36281        (WebCore::LocalStorageThread::threadEntryPointCallback):
36282        (WebCore::LocalStorageThread::threadEntryPoint):
36283        (WebCore::LocalStorageThread::scheduleTask):
36284        (WebCore::LocalStorageThread::terminate):
36285        (WebCore::LocalStorageThread::performTerminate):
36286        * storage/LocalStorageThread.h:
36287        * storage/StorageSyncManager.cpp:
36288        (WebCore::StorageSyncManager::StorageSyncManager):
36289        (WebCore::StorageSyncManager::~StorageSyncManager):
36290        (WebCore::StorageSyncManager::scheduleImport):
36291        (WebCore::StorageSyncManager::scheduleSync):
36292        * storage/StorageSyncManager.h:
36293
362942009-11-04  Jeremy Orlow  <jorlow@chromium.org>
36295
36296        Reviewed by Darin Fisher.
36297
36298        Calling databaseIdentifier on LocalStorage's background thread is not safe.
36299        https://bugs.webkit.org/show_bug.cgi?id=31149
36300
36301        Calling SecurityOrigin::databaseIdentifier on LocalStorage's background thread
36302        is not safe.  databaseIdentifier does a bunch of string concatenation which
36303        ref-counts StringImpls in some cases.  This was caught by valgrind thread
36304        sanitizer: http://code.google.com/p/chromium/issues/detail?id=25645
36305
36306        There's no way to test for such racyness, unfortunately.
36307
36308        * storage/StorageAreaSync.cpp:
36309        (WebCore::StorageAreaSync::StorageAreaSync):
36310        (WebCore::StorageAreaSync::performImport):
36311        * storage/StorageAreaSync.h:
36312        * storage/StorageSyncManager.cpp:
36313        (WebCore::StorageSyncManager::fullDatabaseFilename):
36314        * storage/StorageSyncManager.h:
36315
363162009-11-03  Jeremy Orlow  <jorlow@chromium.org>
36317
36318        Reviewed by Darin Fisher.
36319
36320        Clean up StorageAreaSync
36321        https://bugs.webkit.org/show_bug.cgi?id=31100
36322
36323        Major fixes: Break the ref count cycle for StorageArea on the main
36324        thread, not the background thread since the latter is not safe.
36325        Length() needs to block on the import completing.
36326
36327        Small fixes: setItem needs to handle the copy on write case even if it
36328        has an exception.  setItem and removeItem should just bail from the
36329        the function if the value hasn't changed rather than wrapping the end
36330        in an if block.  Clear should only send an event if it wasn't already
36331        cleared.  StorageAreaSync should assert that the final sync was
36332        scheduled.
36333
36334        * storage/StorageAreaImpl.cpp:
36335        (WebCore::StorageAreaImpl::length):
36336          Forgot to block on the import.
36337        (WebCore::StorageAreaImpl::key):
36338        (WebCore::StorageAreaImpl::setItem):
36339          Handle the copy on write case even when there's an exception.
36340        (WebCore::StorageAreaImpl::removeItem):
36341        (WebCore::StorageAreaImpl::clear):
36342        * storage/StorageAreaSync.cpp:
36343        (WebCore::StorageAreaSync::~StorageAreaSync):
36344        (WebCore::StorageAreaSync::scheduleFinalSync):
36345        (WebCore::StorageAreaSync::performImport):
36346        (WebCore::StorageAreaSync::markImported):
36347        (WebCore::StorageAreaSync::blockUntilImportComplete):
36348        * storage/StorageAreaSync.h:
36349
363502009-11-05  Zoltan Horvath  <zoltan@webkit.org>
36351
36352        Reviewed by Eric Seidel.
36353
36354        Allow custom memory allocation control for WebCore's CachedResource
36355        https://bugs.webkit.org/show_bug.cgi?id=31114
36356
36357        Inherits CachedResource class from Noncopyable because its (its child
36358        class) CachedCSSStyleSheet instantiated by 'new' in WebCore/loader/Cache.cpp:75 
36359        and it is no need to be copyable.
36360
36361        * loader/CachedResource.h:
36362
363632009-11-04  Mark Mentovai  <mark@chromium.org>
36364
36365        Reviewed by Mark Rowe.
36366
36367        Separate the difference between HAVE(CGINTERPOLATION_MEDIUM), which
36368        is true when building on 10.6 or later, and USE(CGINTERPOLATION_MEDIUM)
36369        which is true when targeting 10.6 or later.
36370
36371        HAVE(CGINTERPOLATION_MEDIUM) indicates that kCGInterpolationMedium
36372        is present in the CGInterpolationQuality enum, and must be handled
36373        by a switch that has cases for each enumerated value.
36374
36375        USE(CGINTERPOLATION_MEDIUM) indicates that the product will only run
36376        on 10.6 or later, and that CoreGraphics will understand when
36377        InterpolationMedium is mapped to kCGInterpolationMedium at runtime.
36378
36379        * platform/graphics/cg/GraphicsContextCG.cpp:
36380        (WebCore::GraphicsContext::setImageInterpolationQuality):
36381        (WebCore::GraphicsContext::imageInterpolationQuality):
36382
363832009-11-04  Dan Kegel  <dank@chromium.org>
36384
36385        Reviewed by Alexey Proskuryakov.
36386
36387        Fix buffer overrun in WebCore::Page::userStyleSheetLocationChanged()
36388        https://bugs.webkit.org/show_bug.cgi?id=31138
36389
36390        Test: LayoutTests/platform/mac/fast/loader/user-stylesheet-fast-path.html in Valgrind
36391
36392        * page/Page.cpp:
36393        (WebCore::Page::userStyleSheetLocationChanged):
36394
363952009-11-04  Timothy Hatcher  <timothy@apple.com>
36396
36397        Update the Web Inspector Timeline panel to better match the mock-up.
36398
36399        https://bugs.webkit.org/show_bug.cgi?id=31150
36400
36401        Reviewed by Pavel Feldman.
36402
36403        * inspector/front-end/TimelinePanel.js:
36404        (WebInspector.TimelinePanel.prototype._getRecordDetails):
36405        (WebInspector.TimelinePanel.prototype._dragWindow):
36406        (WebInspector.TimelinePanel.prototype._resizeWindowLeft):
36407        (WebInspector.TimelinePanel.prototype._resizeWindowRight):
36408        (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
36409        (WebInspector.TimelineRecordTreeElement.prototype.onattach):
36410        (WebInspector.TimelineRecordTreeElement.prototype.refresh):
36411        (WebInspector.TimelineCategoryGraph):
36412        * inspector/front-end/inspector.css:
36413
364142009-11-05  Justin Garcia  <justin.garcia@apple.com>
36415
36416        Reviewed by Adele Peterson.
36417
36418        https://bugs.webkit.org/show_bug.cgi?id=25439
36419        Deleting when in front of a block image removes character from previous paragraph
36420
36421        Added editing/deleting/25439-{1,2,3}.html
36422
36423        * editing/DeleteSelectionCommand.cpp:
36424        (WebCore::DeleteSelectionCommand::mergeParagraphs): Block images, tables and HRs cannot 
36425        be made inline with other content.  Instead of merging, just move the caret to just before 
36426        the selection we deleted.
36427        * editing/htmlediting.cpp:
36428        (WebCore::firstInSpecialElement): Added a FIXME.  This function begins iterating up from pos.node(), which 
36429        doesn't necessarily contain pos (suppose pos was [img, 0]).
36430        (WebCore::lastInSpecialElement): Ditto.
36431        (WebCore::isRenderedAsNonInlineTableImageOrHR): Moved from visible_units.cpp.  Added a check for non-inline images.
36432        * editing/htmlediting.h:
36433        * editing/visible_units.cpp:
36434        (WebCore::startOfParagraph): Use moved/renamed function.  Removed FIXME.  The problem causing 
36435        5027702 is now squarely in first/lastInSpecialElement
36436        (WebCore::endOfParagraph): Ditto.
36437        
364382009-11-04  Enrica Casucci  <enrica@apple.com>
36439
36440        Reviewed by Adele Peterson.
36441
36442        Hang in Mail on attempting to change indent level.
36443        <rdar://problem/7131805>
36444        https://bugs.webkit.org/show_bug.cgi?id=31127
36445
36446        The hang was caused by an infinite loop inside outdentRegion.
36447        The code did not account for the fact that, when a list item
36448        contains multiple paragraphs, outdent moves all paragraphs at
36449        once, invalidating some of the positions we keep track of in the loop.
36450        Some code refactoring has also been done to minimize duplicated code.
36451        
36452        Test: editing/execCommand/outdent-multiparagraph-list.html
36453
36454        * editing/IndentOutdentCommand.cpp:
36455        (WebCore::IndentOutdentCommand::indentRegion): Moved code in common with
36456        outdentRegion to doApply.
36457        (WebCore::IndentOutdentCommand::outdentRegion): Fixed endless loop.
36458        (WebCore::IndentOutdentCommand::doApply): Some code refactoring.
36459        * editing/IndentOutdentCommand.h: Added VisiblePosition parameters to
36460        indentRegion and outdentRegion.
36461
364622009-11-04  Alpha Lam  <hclam@chromium.org>
36463
36464        Reviewed by Eric Carlson.
36465
36466        Volume slider doesn't have a thumb
36467        https://bugs.webkit.org/show_bug.cgi?id=31135
36468
36469        Fixed an incorrect if statement that prevents volume slider
36470        being updated.
36471
36472        The statement checks if the slider value equals to the current
36473        volume value of the media control to avoid updating the volume
36474        slider. Updating the volume slider control shouldn't be within
36475        this condition because we explicitly set them to be equals
36476        during creation of the controls and also when mouse events are
36477        received on the volume control.
36478
36479        No new tests because existing code breaks:
36480        LayoutTests/media/video-volume-slider.html
36481
36482        It should now start passing on Chromium.
36483
36484        * rendering/MediaControlElements.cpp:
36485        (WebCore::MediaControlVolumeSliderElement::update):
36486        Update the volume slider regardless of the current volume value
36487        of the media control.
36488
364892009-11-04  Jenn Braithwaite  <jennb@chromium.org>
36490
36491        Reviewed by David Levin.
36492
36493        Need to properly disable applicationCache at runtime
36494        https://bugs.webkit.org/show_bug.cgi?id=30417
36495
36496        Adding applicationCacheEnabled bit to V8 RuntimeEnabledFeatures.
36497
36498        No new exposed functionality, so no new tests.
36499
36500        * bindings/v8/RuntimeEnabledFeatures.cpp:
36501        * bindings/v8/RuntimeEnabledFeatures.h:
36502        (WebCore::RuntimeEnabledFeatures::setApplicationCacheEnabled):
36503        (WebCore::RuntimeEnabledFeatures::applicationCacheEnabled):
36504        * bindings/v8/custom/V8CustomBinding.h:
36505        * bindings/v8/custom/V8DOMWindowCustom.cpp:
36506        (WebCore::ACCESSOR_RUNTIME_ENABLER):
36507        * page/DOMWindow.idl:
36508
365092009-11-04  Alexey Proskuryakov  <ap@apple.com>
36510
36511        Reviewed by Dan Bernstein.
36512
36513        https://bugs.webkit.org/show_bug.cgi?id=31143
36514        Assertion failure in CredentialStorage::set() when proxy credentials are being set
36515
36516        No test, cannot test proxy behavior.
36517
36518        * platform/network/CredentialStorage.cpp: (WebCore::CredentialStorage::set): Account for the
36519        possibility of null url. Release mode changes are likely inconsequential - e.g. we used to
36520        add "://" to origin set, which is weird, but safe.
36521
365222009-11-04  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
36523
36524        Reviewed by Timothy Hatcher.
36525
36526        Web Inspector: Leftover Breakpoints in the Sidebar Pane
36527        https://bugs.webkit.org/show_bug.cgi?id=30659
36528
36529        No new tests.
36530
36531        * inspector/front-end/ScriptsPanel.js:
36532        (WebInspector.ScriptsPanel.prototype.addScript):
36533
365342009-11-04  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
36535
36536        Reviewed by Timothy Hatcher.
36537
36538        WebInspector: Use a different method to identify the webkit port in
36539        InspectorBackent::platform().
36540        This corrects the inspector expected behavior with Qt on Windows.
36541        https://bugs.webkit.org/show_bug.cgi?id=31116
36542
36543        * inspector/InspectorBackend.cpp:
36544        (WebCore::InspectorBackend::platform):
36545        (WebCore::InspectorBackend::port):
36546        * inspector/InspectorBackend.h:
36547        * inspector/InspectorBackend.idl:
36548        * inspector/front-end/InspectorControllerStub.js:
36549        (.WebInspector.InspectorControllerStub.prototype.port):
36550        * inspector/front-end/inspector.css:
36551        * inspector/front-end/inspector.js:
36552        (WebInspector.loaded):
36553        (WebInspector.toolbarDragStart):
36554
365552009-11-04  Benjamin Otte  <otte@gnome.org>
36556
36557        Reviewed by Gustavo Noronha.
36558
36559        Update Cairo requirement to 1.6.
36560
36561        Also remove all conditional code and workarounds for older versions of
36562        Cairo.
36563        In particular, gain image quality by removing the use of
36564        CAIRO_FILTER_NEAREST when rendering images and use the default
36565        bilinear filter instead.
36566        https://bugs.webkit.org/show_bug.cgi?id=19266
36567
36568        * platform/graphics/cairo/GraphicsContextCairo.cpp:
36569        (WebCore::GraphicsContext::clipOut):
36570        * platform/graphics/cairo/ImageCairo.cpp:
36571        (WebCore::BitmapImage::draw):
36572        (WebCore::BitmapImage::drawPattern):
36573        * platform/graphics/cairo/PathCairo.cpp:
36574        (WebCore::Path::isEmpty):
36575        (WebCore::Path::boundingRect):
36576        * platform/gtk/RenderThemeGtk.cpp:
36577        (WebCore::paintMozWidget):
36578
365792009-11-04  Kevin Ollivier  <kevino@theolliviers.com>
36580
36581        wx build fix. Restore removed string conversion after cleanup.
36582
36583        * platform/graphics/wx/FontPlatformDataWx.cpp:
36584        (WebCore::FontPlatformData::computeHash):
36585
365862009-11-04  Chris Fleizach  <cfleizach@apple.com>
36587
36588        Reviewed by Beth Dakin.
36589
36590        Need to implement ARIA role="combobox"
36591        https://bugs.webkit.org/show_bug.cgi?id=31096
36592
36593        Test: accessibility/aria-combobox.html
36594
36595        * accessibility/AccessibilityObject.h:
36596        (WebCore::AccessibilityObject::isComboBox):
36597        (WebCore::AccessibilityObject::isExpanded):
36598        (WebCore::AccessibilityObject::expandObject):
36599        (WebCore::AccessibilityObject::increment):
36600        (WebCore::AccessibilityObject::decrement):
36601        * accessibility/AccessibilityRenderObject.cpp:
36602        (WebCore::AccessibilityRenderObject::expandObject):
36603        (WebCore::AccessibilityRenderObject::isExpanded):
36604        (WebCore::createARIARoleMap):
36605        * accessibility/AccessibilityRenderObject.h:
36606        * accessibility/mac/AccessibilityObjectWrapper.mm:
36607        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
36608        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
36609        (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
36610        * html/HTMLAttributeNames.in:
36611
366122009-11-04  Kelly Norton  <knorton@google.com>
36613
36614        Reviewed by Pavel Feldman.
36615
36616        Fixes naming inconsistencies in TimelineRecordFactory.
36617        https://bugs.webkit.org/show_bug.cgi?id=31132
36618
36619        * inspector/InspectorTimelineAgent.cpp:
36620        (WebCore::InspectorTimelineAgent::willPaint):
36621        (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
36622        (WebCore::InspectorTimelineAgent::willLoadXHR):
36623        (WebCore::InspectorTimelineAgent::willEvaluateScript):
36624        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
36625        (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
36626        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
36627        * inspector/TimelineRecordFactory.cpp:
36628        (WebCore::TimelineRecordFactory::createXHRReadyStateChangeRecord):
36629        (WebCore::TimelineRecordFactory::createXHRLoadRecord):
36630        (WebCore::TimelineRecordFactory::createEvaluateScriptRecord):
36631        (WebCore::TimelineRecordFactory::createMarkTimelineRecord):
36632        (WebCore::TimelineRecordFactory::createResourceSendRequestRecord):
36633        (WebCore::TimelineRecordFactory::createResourceReceiveResponseRecord):
36634        (WebCore::TimelineRecordFactory::createResourceFinishRecord):
36635        (WebCore::TimelineRecordFactory::createPaintRecord):
36636        * inspector/TimelineRecordFactory.h:
36637
366382009-11-04  Eric Z. Ayers  <zundel@google.com>
36639
36640        Reviewed by Pavel Feldman.
36641
36642        Followon to bug 31080, which protects Timeline
36643        instrumentation in the case where InspectorTimelineAgent
36644        is enabled or disabled during an event dispatch.
36645        
36646        https://bugs.webkit.org/show_bug.cgi?id=31121
36647
36648        * bindings/v8/V8Proxy.cpp:
36649        (WebCore::V8Proxy::evaluate):
36650        * dom/Document.cpp:
36651        (WebCore::Document::recalcStyle):
36652        * dom/Node.cpp:
36653        (WebCore::Node::dispatchGenericEvent):
36654        * html/HTMLTokenizer.cpp:
36655        (WebCore::HTMLTokenizer::write):
36656        * page/DOMWindow.cpp:
36657        (WebCore::DOMWindow::inspectorTimelineAgent):
36658        (WebCore::DOMWindow::dispatchEvent):
36659        * page/DOMWindow.h:
36660        * page/FrameView.cpp:
36661        (WebCore::FrameView::layout):
36662        (WebCore::FrameView::paintContents):
36663        * xml/XMLHttpRequest.cpp:
36664        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
36665
366662009-11-04  Jeremy Orlow  <jorlow@chromium.org>
36667
36668        Revert 50519 while I work out what went wrong.
36669
36670        * storage/LocalStorageThread.cpp:
36671        (WebCore::LocalStorageThread::create):
36672        (WebCore::LocalStorageThread::LocalStorageThread):
36673        (WebCore::LocalStorageThread::start):
36674        (WebCore::LocalStorageThread::localStorageThreadStart):
36675        (WebCore::LocalStorageThread::localStorageThread):
36676        (WebCore::LocalStorageThread::scheduleImport):
36677        (WebCore::LocalStorageThread::scheduleSync):
36678        (WebCore::LocalStorageThread::terminate):
36679        (WebCore::LocalStorageThread::performTerminate):
36680        * storage/LocalStorageThread.h:
36681        * storage/StorageSyncManager.cpp:
36682        (WebCore::StorageSyncManager::StorageSyncManager):
36683        (WebCore::StorageSyncManager::~StorageSyncManager):
36684        (WebCore::StorageSyncManager::scheduleImport):
36685        (WebCore::StorageSyncManager::scheduleSync):
36686        * storage/StorageSyncManager.h:
36687
366882009-11-04  Pavel Feldman  <pfeldman@chromium.org>
36689
36690        Reviewed by Timothy Hatcher.
36691
36692        Web Inspector: Add basic support for resource events and marks.
36693        Couple of drive-by fixes. Enabling the panel!
36694
36695        https://bugs.webkit.org/show_bug.cgi?id=31130
36696
36697        * English.lproj/localizedStrings.js:
36698        * inspector/front-end/TimelinePanel.js:
36699        (WebInspector.TimelinePanel):
36700        (WebInspector.TimelinePanel.prototype._formatRecord):
36701        (WebInspector.TimelinePanel.prototype._getRecordDetails):
36702        (WebInspector.TimelinePanel.prototype.reset):
36703        (WebInspector.TimelineCategoryTreeElement.prototype._onCheckboxClicked):
36704        (WebInspector.TimelineRecordTreeElement.prototype.onattach):
36705        * inspector/front-end/inspector.js:
36706        (WebInspector._createPanels):
36707
367082009-11-03  Jeremy Orlow  <jorlow@chromium.org>
36709
36710        Reviewed by Darin Fisher.
36711
36712        Simplify LocalStorageThread
36713        https://bugs.webkit.org/show_bug.cgi?id=30935
36714
36715        On LocalStoragethread: Remove reference counting. Get rid of locking. Make some
36716        of the method names a bit more clear. Assert proper thread usage. Join rather
36717        than detaching the thread and doing an ad-hoc form of join. Avoid touching
36718        variables on the background thread when simple to do so.  Also create a generic
36719        scheduleTask function rather than one for each task.
36720
36721        No behavior should have changed.
36722
36723        * storage/LocalStorageThread.cpp:
36724        (WebCore::LocalStorageThread::create):
36725        (WebCore::LocalStorageThread::LocalStorageThread):
36726        (WebCore::LocalStorageThread::~LocalStorageThread):
36727        (WebCore::LocalStorageThread::start):
36728        (WebCore::LocalStorageThread::threadEntryPointCallback):
36729        (WebCore::LocalStorageThread::threadEntryPoint):
36730        (WebCore::LocalStorageThread::scheduleTask):
36731        (WebCore::LocalStorageThread::terminate):
36732        (WebCore::LocalStorageThread::performTerminate):
36733        * storage/LocalStorageThread.h:
36734        * storage/StorageSyncManager.cpp:
36735        (WebCore::StorageSyncManager::StorageSyncManager):
36736        (WebCore::StorageSyncManager::~StorageSyncManager):
36737        (WebCore::StorageSyncManager::scheduleImport):
36738        (WebCore::StorageSyncManager::scheduleSync):
36739        * storage/StorageSyncManager.h:
36740
367412009-11-04  Vadim Zeitlin  <vadim@wxwidgets.org>
36742
36743        Reviewed by Eric Seidel.
36744
36745        [wx] Small cleanup: avoid unnecessary wxString::mb_str() calls.
36746
36747        * platform/graphics/wx/FontPlatformDataWx.cpp:
36748        (WebCore::FontPlatformData::computeHash):
36749
367502009-11-04  Kelly Norton  <knorton@google.com>
36751
36752        Reviewed by Pavel Feldman.
36753
36754        Adds lightweight network resources to InspectorTimelineAgent.
36755        https://bugs.webkit.org/show_bug.cgi?id=31065
36756
36757        * inspector/InspectorController.cpp:
36758        (WebCore::InspectorController::willSendRequest):
36759        (WebCore::InspectorController::didReceiveResponse):
36760        (WebCore::InspectorController::didFinishLoading):
36761        (WebCore::InspectorController::didFailLoading):
36762        * inspector/InspectorTimelineAgent.cpp:
36763        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
36764        (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
36765        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
36766        * inspector/InspectorTimelineAgent.h:
36767        (WebCore::):
36768        * inspector/TimelineRecordFactory.cpp:
36769        (WebCore::TimelineRecordFactory::createResourceSendRequestTimelineRecord):
36770        (WebCore::TimelineRecordFactory::createResourceReceiveResponseTimelineRecord):
36771        (WebCore::TimelineRecordFactory::createResourceFinishTimelineRecord):
36772        * inspector/TimelineRecordFactory.h:
36773        * inspector/front-end/TimelineAgent.js:
36774
367752009-11-04  Yael Aharon  <yael.aharon@nokia.com>
36776
36777        Reviewed by Tor Arne Vestbø.
36778
36779        [Qt] ASSERT failure when receiving 401 HTTP Authentication response.
36780        https://bugs.webkit.org/show_bug.cgi?id=31077
36781
36782        Allow sending the response body under the same conditions that we
36783        allow it to finish without reporting an error.
36784
36785        * platform/network/qt/QNetworkReplyHandler.cpp:
36786        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
36787
367882009-11-04  Adam Roben  <aroben@apple.com>
36789
36790        Sort WebCore.base.exp
36791
36792        Rubber-stamped by Dan Bernstein.
36793
36794        * WebCore.base.exp: Sorted.
36795
367962009-11-04  Csaba Osztrogonác  <ossy@webkit.org>
36797
36798        Unreviewed rollout.
36799
36800        Revert r50496 because it broke all layout tests on QtBuildBot.
36801
36802        * WebCore.pro:
36803        * platform/graphics/qt/FontCacheQt.cpp:
36804        (WebCore::fontCache):
36805        (WebCore::FontCache::FontCache):
36806        (WebCore::FontCache::getTraitsInFamily):
36807        (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
36808        (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue):
36809        (WebCore::FontPlatformDataCacheKey::):
36810        (WebCore::FontPlatformDataCacheKey::operator==):
36811        (WebCore::FontPlatformDataCacheKey::hash):
36812        (WebCore::FontPlatformDataCacheKey::computeHash):
36813        (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize):
36814        (WebCore::FontPlatformDataCacheKeyHash::hash):
36815        (WebCore::FontPlatformDataCacheKeyHash::equal):
36816        (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
36817        (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue):
36818        (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue):
36819        (WebCore::FontCache::getCachedFontPlatformData):
36820        (WebCore::FontCache::getCachedFontData):
36821        (WebCore::FontCache::getLastResortFallbackFont):
36822        (WebCore::FontCache::releaseFontData):
36823        (WebCore::FontCache::purgeInactiveFontData):
36824        (WebCore::FontCache::addClient):
36825        (WebCore::FontCache::removeClient):
36826        (WebCore::FontCache::invalidate):
36827        * platform/graphics/qt/FontFallbackListQt.cpp: Added.
36828        (WebCore::FontFallbackList::FontFallbackList):
36829        (WebCore::FontFallbackList::invalidate):
36830        (WebCore::FontFallbackList::releaseFontData):
36831        (WebCore::FontFallbackList::determinePitch):
36832        (WebCore::FontFallbackList::fontDataAt):
36833        (WebCore::FontFallbackList::fontDataForCharacters):
36834        (WebCore::FontFallbackList::setPlatformFont):
36835        * platform/graphics/qt/FontPlatformData.h:
36836        (WebCore::FontPlatformData::pixelSize):
36837        * platform/graphics/qt/FontPlatformDataQt.cpp:
36838        (WebCore::FontPlatformData::FontPlatformData):
36839
368402009-11-04  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
36841
36842        Reviewed by Jan Alonzo.
36843
36844        https://bugs.webkit.org/show_bug.cgi?id=31044
36845        [Gtk] assertion when webkit_accessible_get_index_in_parent attempts to get parent of the web view
36846
36847        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
36848        (atkParentOfWebView):
36849        (webkit_accessible_get_index_in_parent):
36850        (webkit_accessible_get_parent):
36851
368522009-11-04  Dominik Röttsches  <dominik.roettsches@access-company.com>
36853
36854        Reviewed by Eric Seidel.
36855
36856        https://bugs.webkit.org/show_bug.cgi?id=15914
36857        [GTK] Implement Unicode functionality using GLib
36858
36859        Initial version of this patch by Jürg Billeter and Naiem Shaik.
36860        Patch 2/4 - Moving TextCodecs to GLib
36861        
36862        Added probing for a hard-coded lists of text encodings.
36863        The basis of this list is taken from the encodings supported by iconv,
36864        then extended by e.g. tis-620, windows-1251, euc-kr, windows-1253 and
36865        a number of Chinese ones.
36866
36867        Probing is necessary with the current design of text codecs
36868        as iconv/GLib do not support enumerating available encodings.
36869
36870        * GNUmakefile.am:
36871        * platform/ThreadGlobalData.cpp:
36872        (WebCore::ThreadGlobalData::ThreadGlobalData):
36873        (WebCore::ThreadGlobalData::~ThreadGlobalData):
36874        * platform/text/TextEncoding.cpp:
36875        (WebCore::TextEncoding::encode):
36876        * platform/text/TextEncodingRegistry.cpp:
36877        (WebCore::buildBaseTextCodecMaps):
36878        (WebCore::extendTextCodecMaps):
36879        * platform/text/gtk/TextCodecGtk.cpp: Added.
36880        (WebCore::):
36881        (WebCore::newTextCodecGtk):
36882        (WebCore::TextCodecGtk::isEncodingAvailable):
36883        (WebCore::TextCodecGtk::registerEncodingNames):
36884        (WebCore::TextCodecGtk::registerCodecs):
36885        (WebCore::TextCodecGtk::registerBaseEncodingNames):
36886        (WebCore::TextCodecGtk::registerBaseCodecs):
36887        (WebCore::TextCodecGtk::registerExtendedEncodingNames):
36888        (WebCore::TextCodecGtk::registerExtendedCodecs):
36889        (WebCore::TextCodecGtk::TextCodecGtk):
36890        (WebCore::TextCodecGtk::~TextCodecGtk):
36891        (WebCore::TextCodecGtk::releaseIConv):
36892        (WebCore::TextCodecGtk::createIConvDecoder):
36893        (WebCore::TextCodecGtk::createIConvEncoder):
36894        (WebCore::TextCodecGtk::decode):
36895        (WebCore::TextCodecGtk::encode):
36896        * platform/text/gtk/TextCodecGtk.h: Added.
36897
368982009-11-04  Martin Robinson  <martin.james.robinson@gmail.com>
36899
36900        Reviewed by Jan Alonzo.
36901
36902        [GTK] Enable DOM clipboard and drag-and-drop access
36903        https://bugs.webkit.org/show_bug.cgi?id=30623
36904
36905        Unify redudant methods which will always return the same value.
36906
36907        * platform/gtk/PasteboardGtk.cpp:
36908        (WebCore::Pasteboard::writeSelection):
36909        * platform/gtk/PasteboardHelper.h:
36910
369112009-11-04  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
36912
36913        Reviewed by Jan Alonzo.
36914
36915        https://bugs.webkit.org/show_bug.cgi?id=31035
36916        [GTK] some accessibility tests hitting assertion in debug builds
36917
36918        Removes the assertions in webkit_accessible_ref_child; adds sanity checks.
36919        Any app or AT can attempt to ref a child at a bogus index.
36920
36921        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
36922        (webkit_accessible_ref_child):
36923
369242009-11-04  Benjamin Otte  <otte@gnome.org>
36925
36926        Reviewed by Jan Alonzo.
36927
36928        [gtk] Use gst_element_class_set_details_simple()
36929
36930        Cosmetic change, just code simplification
36931
36932        * platform/graphics/gtk/VideoSinkGStreamer.cpp:
36933        (webkit_video_sink_base_init):
369342009-11-04  Kelly Norton  <knorton@google.com>
36935
36936        Reviewed by Timothy Hatcher.
36937
36938        Adds paint rectangle information to TimelineAgent's didPaint callback.
36939        https://bugs.webkit.org/show_bug.cgi?id=31087
36940
36941        * inspector/InspectorTimelineAgent.cpp:
36942        (WebCore::InspectorTimelineAgent::willPaint):
36943        * inspector/InspectorTimelineAgent.h:
36944        * inspector/TimelineRecordFactory.cpp:
36945        (WebCore::TimelineRecordFactory::createPaintTimelineRecord):
36946        * inspector/TimelineRecordFactory.h:
36947        * page/FrameView.cpp:
36948        (WebCore::FrameView::paintContents):
36949
369502009-11-04  Jaime Yap  <jaimeyap@google.com>
36951
36952        Reviewed by Timothy Hatcher.
36953
36954        This patch adds API to the console object for annotating the
36955        inspector timeline. This allows developers to mark logical
36956        checkpoints in their apps and have them overlaid in the event
36957        record tree.
36958
36959        tests updated: LayoutTests/fast/dom/Window/window-properties.html
36960        https://bugs.webkit.org/show_bug.cgi?id=31082
36961
36962
36963        * inspector/InspectorController.cpp:
36964        (WebCore::InspectorController::markTimeline):
36965        * inspector/InspectorController.h:
36966        * inspector/InspectorTimelineAgent.cpp:
36967        (WebCore::InspectorTimelineAgent::didMarkTimeline):
36968        * inspector/InspectorTimelineAgent.h:
36969        (WebCore::):
36970        * inspector/TimelineRecordFactory.cpp:
36971        (WebCore::TimelineRecordFactory::createMarkTimelineRecord):
36972        * inspector/TimelineRecordFactory.h:
36973        * inspector/front-end/TimelineAgent.js:
36974        * page/Console.cpp:
36975        (WebCore::Console::markTimeline):
36976        * page/Console.h:
36977        * page/Console.idl:
36978
369792009-11-03  Simon Hausmann  <hausmann@webkit.org>
36980
36981        Unreviewed build fix for WebInspector with Qt build.
36982
36983        Simply re-generate the Qt resource file by running
36984        WebKitTools/Scripts/generate-qt-inspector-resource
36985
36986        * inspector/front-end/WebKit.qrc:
36987
369882009-11-02  Benjamin Poulain  <benjamin.poulain@nokia.com>
36989
36990        Reviewed by Simon Hausmann.
36991
36992        [Qt] Handle fonts like the other ports
36993
36994        Remove FontFallbackListQt and rely on the common FontFallbackList
36995        to handle the fonts. FontCache and FontPlatformData have been
36996        updated to work with the common FontFallbackList.
36997
36998        In the previous implementation, FontPlatformDataCacheKey
36999        was a clone of FontPlatformData with the hashing
37000        capabilities added in order to use it as a key in the cache's
37001        hashmap. FontPlatformData has been modified to handle the hashing
37002        function directly so the data are not copied twice in memory.
37003
37004        FontFallbackList::fontDataAt() from FontFallbackListQt was a copy of
37005        code from FontCache::getFontData() and FontFallbackList::fontDataAt().
37006        The behavior is similar except currFamily->family().length() was
37007        not tested and the fallback fonts selector were not used.
37008
37009        https://bugs.webkit.org/show_bug.cgi?id=29856
37010
37011        Test: svg/text/text-font-invalid.html
37012
37013        * WebCore.pro:
37014        * platform/graphics/qt/FontCacheQt.cpp:
37015        (WebCore::FontCache::platformInit):
37016        (WebCore::FontCache::getFontDataForCharacters):
37017        (WebCore::FontCache::getSimilarFontPlatformData):
37018        (WebCore::FontCache::getLastResortFallbackFont):
37019        (WebCore::FontCache::getTraitsInFamily):
37020        (WebCore::FontCache::createFontPlatformData):
37021        * platform/graphics/qt/FontFallbackListQt.cpp:
37022        Removed. We now use the implementation from FontFallbackList.cpp
37023        * platform/graphics/qt/FontPlatformData.h:
37024        Add hashing capabilities to be able to use the data with the FontCache.
37025        This was previously done in FontCacheQt.cpp
37026        (WebCore::FontPlatformData::FontPlatformData):
37027        Added a boolean to identify deleted value in the hash table.
37028        (WebCore::FontPlatformData::isHashTableDeletedValue):
37029        (WebCore::FontPlatformData::hash):
37030        (WebCore::FontPlatformData::operator==):
37031        * platform/graphics/qt/FontPlatformDataQt.cpp:
37032        (WebCore::FontPlatformData::FontPlatformData):
37033
370342009-11-03  Dan Bernstein  <mitz@apple.com>
37035
37036        Leopard build fix
37037
37038        * platform/network/mac/AuthenticationMac.mm:
37039        (WebCore::mac):
37040        (WebCore::core):
37041
370422009-11-03  Dan Bernstein  <mitz@apple.com>
37043
37044        Reviewed by Alexey Proskuryakov.
37045
37046        Fix an assertion failure in core(NSURLProtectionSpace *) by handling NTLM
37047        authentication in AuthenticationMac
37048
37049        * platform/network/mac/AuthenticationMac.mm:
37050
370512009-11-03  Eric Z. Ayers  <zundel@google.com>
37052
37053        Reviewed by Timothy Hatcher.
37054
37055        Fixes a problem where the timeline instrumentation crashes if
37056        timeline profiling is enabled or disabled in the middle of an
37057        event dispatch.
37058
37059        https://bugs.webkit.org/show_bug.cgi?id=31080
37060
37061        Test: inspector/timeline-trivial.html
37062
37063        * bindings/js/ScriptController.cpp:
37064        (WebCore::ScriptController::evaluateInWorld):
37065        (WebCore::ScriptController::processingUserGestureEvent):
37066        * inspector/InspectorTimelineAgent.cpp:
37067        (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
37068        * page/DOMTimer.cpp:
37069        (WebCore::DOMTimer::fired):
37070
370712009-11-03  Dan Bernstein  <mitz@apple.com>
37072
37073        Reviewed by Dave Hyatt.
37074
37075        Allow a frame to go back to copy-on-scroll when it ceases being overlapped
37076
37077        The code was not testing slow-scrolling frames for overlappedness, thinking the answer
37078        would not matter. That is not the case if the only reason for the slow-scrolling is
37079        being overlapped.
37080
37081        * page/FrameView.cpp:
37082        (WebCore::FrameView::useSlowRepaintsIfNotOverlapped): Added. Returns whether there is any
37083        reason besides being overlapped that the frame would need to fully repaint on scroll.
37084        * page/FrameView.h:
37085        * rendering/RenderWidget.cpp:
37086        (WebCore::RenderWidget::paint): Use useSlowRepaintsIfNotOverlapped().
37087
370882009-11-03  Dmitry Titov  <dimich@chromium.org>
37089
37090        Not reviewed, Qt build fix.
37091
37092        Need to use right capitalization for include file.
37093
37094        * page/Navigator.cpp:
37095
370962009-11-03  Pavel Feldman  <pfeldman@chromium.org>
37097
37098        Reviewed by Timothy Hatcher.
37099
37100        Web Inspector: Migrate from top bar filters to check boxes in Timeline.
37101
37102        https://bugs.webkit.org/show_bug.cgi?id=31081
37103
37104        * inspector/front-end/AbstractTimelinePanel.js:
37105        (WebInspector.AbstractTimelinePanel.prototype.showCategory):
37106        (WebInspector.AbstractTimelinePanel.prototype.hideCategory):
37107        (WebInspector.AbstractTimelinePanel.prototype.filter):
37108        * inspector/front-end/TimelinePanel.js:
37109        (WebInspector.TimelinePanel):
37110        (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
37111        (WebInspector.TimelineCategoryTreeElement.prototype._onCheckboxClick):
37112        (WebInspector.TimelineCategoryGraph.prototype.clearChunks):
37113        (WebInspector.TimelineCategoryGraph.prototype.set dimmed):
37114        * inspector/front-end/inspector.css:
37115
371162009-11-03  Pavel Feldman  <pfeldman@chromium.org>
37117
37118        Reviewed by Timothy Hatcher.
37119
37120        Web Inspector: clear overview on Clear action and panel reset.
37121
37122        https://bugs.webkit.org/show_bug.cgi?id=31078
37123
37124        * inspector/front-end/TimelinePanel.js:
37125        (WebInspector.TimelinePanel.prototype._getRecordDetails):
37126        (WebInspector.TimelinePanel.prototype.reset):
37127
371282009-11-03  Yaar Schnitman  <yaar@chromium.org>
37129
37130        Reviewed by Dimitri Glazkov.
37131
37132        Imported action and rules python files that WebCore.gyp depends on. 
37133        These files used to live in chromium.org and deal mostly with auto-generation
37134        of code by wrapping existing webkit perl scripts.
37135
37136        https://bugs.webkit.org/show_bug.cgi?id=31071
37137
37138        * WebCore.gyp/WebCore.gyp: Fixed paths in actions and rules.
37139        * WebCore.gyp/scripts/action_csspropertynames.py: Added.
37140        * WebCore.gyp/scripts/action_cssvaluekeywords.py: Added.
37141        * WebCore.gyp/scripts/action_makenames.py: Added.
37142        * WebCore.gyp/scripts/action_maketokenizer.py: Added.
37143        * WebCore.gyp/scripts/action_useragentstylesheets.py: Added.
37144        * WebCore.gyp/scripts/rule_binding.py: Added.
37145        * WebCore.gyp/scripts/rule_bison.py: Added.
37146        * WebCore.gyp/scripts/rule_gperf.py: Added.
37147
371482009-11-03  Bradley Green  <brg@chromium.org>
37149
37150        Reviewed by Dmitry Titov.
37151
37152        Implement window.navigator.registerProtocolHandler in webkit,
37153        https://bugs.webkit.org/b/29651
37154
37155        Also implemented its sister API window.navigator.registerContentHandler.
37156
37157        These methods are as described in the HTML5 specification which can be
37158        found here,
37159        http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler
37160        http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registercontenthandler
37161
37162        As specified in the document, the behavior of the browser is determined
37163        by the current registered handler.  The state of a registered handler
37164        can change at any time, with the user clearing a registered handler,
37165        registering a different page as handler, or deferring the hander to the
37166        OS.  If webkit was to track the state of the currently registered
37167        handlers, it would need more APIs and complexity to keep in sync with
37168        user actions reported to webkit from the UA.  For simplicity, the state
37169        of protocol handlers should be kept isolated from webkit and webkit only
37170        notifies the UA that a page has made the call.  The UA is then
37171        responsible for correctly handling the registerProtocolHandler call and
37172        the redirects which result from registration.
37173
37174        We do however follow the specification in insuring that the reserved
37175        schemes and mimeTypes are not passed to the UA as custom handler
37176        registration tests.  We also insure that the "%s" token is present as
37177        required by the specification.
37178
37179        Updated test expectations for window.clientInformation and navigator
37180        objects.
37181
37182        Tests: fast/dom/registerContentHandler.html
37183               fast/dom/registerProtocolHandler.html
37184
37185        * page/Chrome.cpp:
37186        (WebCore::Chrome::registerProtocolHandler):
37187        (WebCore::Chrome::registerContentHandler):
37188        * page/Chrome.h:
37189        * page/ChromeClient.h:
37190        (WebCore::ChromeClient::registerProtocolHandler):
37191        (WebCore::ChromeClient::registerContentHandler):
37192        * page/Navigator.cpp:
37193        (WebCore::verifyCustomHandlerURL):
37194        (WebCore::verifyProtocolHandlerScheme):
37195        (WebCore::Navigator::registerProtocolHandler):
37196        (WebCore::verifyProtocolHandlerMimeType):
37197        (WebCore::Navigator::registerContentHandler):
37198        * page/Navigator.h:
37199        * page/Navigator.idl:
37200
372012009-11-03  Brady Eidson  <beidson@apple.com>
37202
37203        Reviewed by Darin Adler.
37204
37205        https://bugs.webkit.org/show_bug.cgi?id=31079 - Remove #include "Page.h" from Document.h
37206
37207        No new tests. (No change in functionality)
37208
37209        * dom/Document.cpp:
37210        (WebCore::Document::inspectorTimelineAgent): Moved from Document.h
37211        * dom/Document.h:
37212
37213        Include "Page.h" directly:
37214        * html/HTMLVideoElement.cpp:
37215        * loader/RedirectScheduler.cpp:
37216        * page/History.cpp:
37217        * rendering/MediaControlElements.cpp:
37218        * storage/StorageAreaImpl.cpp:
37219
372202009-11-03  Keishi Hattori  <casey.hattori@gmail.com>
37221
37222        Reviewed by Timothy Hatcher.
37223
37224        Web Inspector: hover over JS "things" in source and see their values
37225        https://bugs.webkit.org/show_bug.cgi?id=30913
37226
37227        * inspector/front-end/SourceFrame.js:
37228
372292009-11-03  Pavel Feldman  <pfeldman@chromium.org>
37230
37231        Reviewed by Timothy Hatcher.
37232
37233        Web Inspector: update timeline content boundaries on timer.
37234
37235        https://bugs.webkit.org/show_bug.cgi?id=31072
37236
37237        * inspector/front-end/TimelinePanel.js:
37238        (WebInspector.TimelinePanel.prototype.refresh):
37239        (WebInspector.TimelinePanel.prototype._setWindowPosition):
37240
372412009-11-03  Dan Bernstein  <mitz@apple.com>
37242
37243        Reviewed by Anders Carlsson and Beth Dakin.
37244
37245        https://bugs.webkit.org/show_bug.cgi?id=31070
37246        Fix <rdar://problem/7194735> Crashes at RenderText::RenderText()
37247        Fix <rdar://problem/6937089> Crashes at RenderWidget::destroy()
37248
37249        Tests: plugins/attach-during-destroy.html
37250               plugins/destroy-reentry.html
37251
37252        These crashes were caused by plug-in code running during detach(),
37253        causing re-entry into RenderWidget::destroy() in one case and a call
37254        into attach() in the other. The fix is to prevent plug-in code from
37255        being called at certain unsafe times (during attach(), detach(), and
37256        recalcStyle()) by deferring changes to the widget hierarchy.
37257
37258        * dom/Document.cpp:
37259        (WebCore::Document::recalcStyle): Suspend widget hierarchy updates
37260            during style recalculation.
37261
37262        * dom/Element.cpp:
37263        (WebCore::Element::attach): Suspend widget hierarchy updates during
37264            attach().
37265        (WebCore::Element::detach): Suspend widget hierarchy updates during
37266            detach().
37267
37268        * rendering/RenderWidget.cpp:
37269        (WebCore::widgetNewParentMap): Returns a static map of pending changes
37270            to the widget hierarchy.
37271        (WebCore::RenderWidget::suspendWidgetHierarchyUpdates): Increments the
37272            suspend count.
37273        (WebCore::RenderWidget::resumeWidgetHierarchyUpdates): Decrements the
37274            suspend count. If the count is going to be zero, updates the widget
37275            hierarchy by executing the pending changes stored in the map.
37276        (WebCore::moveWidgetToParentSoon): Updates the widget hierarchy
37277            immediately or makes or updates an entry in the map, depending on
37278            whether updates are suspended.
37279        (WebCore::RenderWidget::destroy): Removed earlier bandaid fix for
37280            <rdar://problem/6937089>.
37281        (WebCore::RenderWidget::setWidgetGeometry): Assert that widget updates
37282            are not suspended, because this function updates the widget’s
37283            bounds, which can result in arbitrary native and JavaScript code
37284            execution. I think this assertion is true thanks to some deferred-
37285            update mechanisms that have already been deployed in other places
37286            in the code.
37287        (WebCore::RenderWidget::setWidget): Call moveWidgetToParentSoon instead
37288            of changing the widget hierarchy directly.
37289        * rendering/RenderWidget.h: Declared suspendWidgetHierarchyUpdates()
37290            and resumeWidgetHierarchyUpdates().
37291
372922009-11-03  Pavel Feldman  <pfeldman@chromium.org>
37293
37294        Reviewed by Timothy Hatcher.
37295
37296        Web Inspector: only show timeline records that contribute
37297        to the current window.
37298
37299        https://bugs.webkit.org/show_bug.cgi?id=31069
37300
37301        * inspector/front-end/TimelinePanel.js:
37302        (WebInspector.TimelinePanel.prototype.refresh):
37303        (WebInspector.TimelineGraph):
37304        (WebInspector.TimelineGraph.prototype.refresh):
37305
373062009-11-03  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
37307
37308        Reviewed by Timothy Hatcher.
37309
37310        Watch expression editor should stay open after Add button was clicked
37311        https://bugs.webkit.org/show_bug.cgi?id=31049
37312
37313        No new tests, was a regression, use existing manual test.
37314
37315        * inspector/front-end/WatchExpressionsSidebarPane.js:
37316        (WebInspector.WatchExpressionsSection.prototype.update):
37317        (WebInspector.WatchExpressionsSection.prototype.addExpression):
37318
373192009-11-03  Evan Martin  <evan@chromium.org>
37320
37321        Reviewed by Darin Adler.
37322
37323        Fix an off-by-one in the CSS lexer that causes memory corruption in
37324        hard-to-trigger circumstances.
37325
37326        https://bugs.webkit.org/show_bug.cgi?id=30827
37327
37328        Test: fast/css/end-of-buffer-crash.html
37329
37330        * css/maketokenizer: Add comments, fix off-by-one.
37331
373322009-11-02  Darin Adler  <darin@apple.com>
37333
37334        Reviewed by Dan Bernstein.
37335
37336        Crash due to double-destroy related to CSS run-in property
37337        https://bugs.webkit.org/show_bug.cgi?id=31034
37338        rdar://problem/7328458
37339
37340        Test: fast/css/run-in-crash.html
37341
37342        * rendering/RenderBlock.cpp:
37343        (WebCore::RenderBlock::destroy): Reorder destruction so the
37344        continuation is destroyed after anonymous children. See comment
37345        in the code for more details of why this is right.
37346        * rendering/RenderInline.cpp:
37347        (WebCore::RenderInline::destroy): Ditto.
37348
373492009-11-03  Alexander Pavlov  <apavlov@chromium.org>
37350
37351        Reviewed by Pavel Feldman.
37352
37353        Fix exception in ElementsPanel.js when moving pointer out of crumbs and window
37354
37355        There might be no new node under mouse if the pointer is moved out of the window
37356        in which case we get an exception.
37357        https://bugs.webkit.org/show_bug.cgi?id=31061
37358
37359        * inspector/front-end/ElementsPanel.js:
37360        (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
37361
373622009-11-03  Zoltan Horvath  <zoltan@webkit.org>
37363
37364        Reviewed by Darin Adler.
37365
37366        Allow custom memory allocation control for the dom directory of WebCore
37367        https://bugs.webkit.org/show_bug.cgi?id=31053
37368
37369        Inherits the following classes from Noncopyable because these are
37370        instantiated by 'new' and these are no need to be copyable:
37371
37372        class EventNames - 'new' call: WebCore/platform/ThreadGlobalData.cpp:73
37373        struct PerformTaskContext - 'new' call: WebCore/dom/Document.cpp:4581
37374        class EventData - 'new' call: WebCore/dom/MessagePortChannel.cpp:38
37375        struct NodeListsNodeData - 'new' call: WebCore/dom/NodeRareData.h:51 
37376        struct EventTargetData - 'new' call: WebCore/dom/NodeRareData.h:100
37377        class NodeRareData - 'new' call: WebCore/dom/Node.cpp:552
37378
37379        Inherits QualifiedName class from FastAllocBase because it is
37380        instantiated by 'new' in WebCore/editing/markup.cpp:319
37381
37382        * dom/Document.cpp:
37383        * dom/EventNames.h:
37384        * dom/EventTarget.h:
37385        * dom/MessagePortChannel.h:
37386        * dom/NodeRareData.h:
37387        * dom/QualifiedName.h:
37388
373892009-11-03  Pavel Feldman  <pfeldman@chromium.org>
37390
37391        Reviewed by Timothy Hatcher.
37392
37393        Web Inspector: Implement timeline summary panel.
37394
37395        https://bugs.webkit.org/show_bug.cgi?id=31064
37396
37397        * inspector/front-end/TimelinePanel.js:
37398        (WebInspector.TimelinePanel.prototype._createOverview):
37399        (WebInspector.TimelinePanel.prototype.refresh):
37400        (WebInspector.TimelineCategoryGraph):
37401        (WebInspector.TimelineCategoryGraph.prototype.get graphElement):
37402        (WebInspector.TimelineCategoryGraph.prototype.addChunk):
37403        (WebInspector.TimelineCategoryGraph.prototype.clearChunks):
37404        (WebInspector.TimelineGraph.prototype.refresh):
37405        * inspector/front-end/inspector.css:
37406
374072009-11-03  Alexander Pavlov  <apavlov@chromium.org>
37408
37409        Reviewed by Timothy Hatcher.
37410
37411        Toggle off 'Search for node' when the Inspector window is closing
37412
37413        Searching for node should be toggled off when the Inspector window is closed,
37414        in a platform-independent manner.
37415        https://bugs.webkit.org/show_bug.cgi?id=31059
37416
37417        * inspector/InspectorController.cpp:
37418        (WebCore::InspectorController::setWindowVisible):
37419
374202009-11-03  Mikhail Naganov  <mnaganov@chromium.org>
37421
37422        Reviewed by Timothy Hatcher.
37423
37424        Prepare for heap profiles upstreaming:
37425        - pass profile type id from InspectorController;
37426        - this makes WebInspector.CPUProfile redundant---removed;
37427        - support multiple profile types when populating profiles.
37428
37429        https://bugs.webkit.org/show_bug.cgi?id=31052
37430
37431        * inspector/InspectorController.cpp:
37432        (WebCore::InspectorController::createProfileHeader):
37433        * inspector/front-end/ProfileView.js:
37434        (WebInspector.CPUProfileView.profileCallback):
37435        (WebInspector.CPUProfileView):
37436        (WebInspector.CPUProfileView.prototype._sortData):
37437        * inspector/front-end/ProfilesPanel.js:
37438        (WebInspector.ProfilesPanel.prototype.addProfileHeader):
37439        * inspector/front-end/inspector.js:
37440        (WebInspector.addProfileHeader):
37441
374422009-11-03  Dan Kegel  <dank@chromium.org>
37443
37444        Reviewed by Dimitri Glazkov.
37445
37446        UMR in WebCore::AccessibilityRenderObject::children(); m_childrenDirty uninitialized in constructor
37447        https://bugs.webkit.org/show_bug.cgi?id=31063
37448
37449        * accessibility/AccessibilityRenderObject.cpp:
37450        (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
37451
374522009-11-03  Pavel Feldman  <pfeldman@chromium.org>
37453
37454        Reviewed by Timothy Hatcher.
37455
37456        Web Inspector: Implement Timeline Window, wire it to the bottom timeline.
37457
37458        https://bugs.webkit.org/show_bug.cgi?id=31056
37459
37460        * English.lproj/localizedStrings.js:
37461        * inspector/front-end/AbstractTimelinePanel.js:
37462        (WebInspector.AbstractTimelinePanel.prototype.get items):
37463        (WebInspector.AbstractTimelinePanel.prototype.createInterface):
37464        (WebInspector.AbstractTimelinePanel.prototype.updateGraphDividersIfNeeded):
37465        (WebInspector.AbstractTimelinePanel.prototype._updateDividersLabelBarPosition):
37466        (WebInspector.AbstractTimelinePanel.prototype.invalidateAllItems):
37467        (WebInspector.AbstractTimelinePanel.prototype.refresh):
37468        (WebInspector.AbstractTimelinePanel.prototype.adjustScrollPosition):
37469        (WebInspector.AbstractTimelinePanel.prototype.addExtraDivider):
37470        (WebInspector.TimelineGrid):
37471        (WebInspector.TimelineGrid.prototype.get itemsGraphsElement):
37472        (WebInspector.TimelineGrid.prototype.updateDividers):
37473        (WebInspector.TimelineGrid.prototype.addExtraDivider):
37474        (WebInspector.TimelineGrid.prototype.setScrollAndDividerTop):
37475        * inspector/front-end/ResourcesPanel.js:
37476        (WebInspector.ResourcesPanel):
37477        (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded):
37478        (WebInspector.ResourcesPanel.prototype.get _resources):
37479        * inspector/front-end/TimelinePanel.js:
37480        (WebInspector.TimelinePanel):
37481        (WebInspector.TimelinePanel.prototype.get categories):
37482        (WebInspector.TimelinePanel.prototype._formatRecord):
37483        (WebInspector.TimelinePanel.prototype.reset):
37484        (WebInspector.TimelinePanel.prototype._createOverview):
37485        (WebInspector.TimelinePanel.prototype.setSidebarWidth):
37486        (WebInspector.TimelinePanel.prototype.updateMainViewWidth):
37487        (WebInspector.TimelinePanel.prototype.updateGraphDividersIfNeeded):
37488        (WebInspector.TimelinePanel.prototype.refresh):
37489        (WebInspector.TimelinePanel.prototype._resizeWindow):
37490        (WebInspector.TimelinePanel.prototype._windowResizeDragging):
37491        (WebInspector.TimelinePanel.prototype._dragWindow):
37492        (WebInspector.TimelinePanel.prototype._windowDragging):
37493        (WebInspector.TimelinePanel.prototype._resizeWindowLeft):
37494        (WebInspector.TimelinePanel.prototype._resizeWindowRight):
37495        (WebInspector.TimelinePanel.prototype._setWindowPosition):
37496        (WebInspector.TimelinePanel.prototype._endWindowDragging):
37497        (WebInspector.TimelineCategoryTreeElement):
37498        (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
37499        (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
37500        (WebInspector.TimelineCalculator.prototype.get minimumBoundary):
37501        (WebInspector.TimelineCalculator.prototype.get maximumBoundary):
37502        (WebInspector.TimelineCalculator.prototype.reset):
37503        (WebInspector.TimelineCalculator.prototype.updateBoundaries):
37504        (WebInspector.TimelineCalculator.prototype.formatValue):
37505        * inspector/front-end/inspector.css:
37506
375072009-11-03  Simon Hausmann  <hausmann@webkit.org>
37508
37509        Reviewed by Tor Arne Vestbø.
37510
37511        Make QWebPluginDatabase private API for now.
37512
37513        https://bugs.webkit.org/show_bug.cgi?id=30775
37514
37515        * WebCore.pro:
37516
375172009-11-03  Simon Hausmann  <hausmann@webkit.org>
37518
37519        Reviewed by Tor Arne Vestbø.
37520
37521        Extended the conversion of the WebCore ResourceRequest to the
37522        QNetworkRequest with a mandatory originating object argument,
37523        which is meant to be the QWebFrame the request belongs to.
37524
37525        https://bugs.webkit.org/show_bug.cgi?id=29975
37526
37527        * platform/network/qt/QNetworkReplyHandler.cpp:
37528        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
37529        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
37530        (WebCore::QNetworkReplyHandler::start):
37531        * platform/network/qt/ResourceRequest.h:
37532        * platform/network/qt/ResourceRequestQt.cpp:
37533        (WebCore::ResourceRequest::toNetworkRequest):
37534
375352009-11-03  Keishi Hattori  <casey.hattori@gmail.com>
37536
37537        Reviewed by Pavel Feldman.
37538
37539        Web Inspector: monitorEvent should be monitorEvents
37540        https://bugs.webkit.org/show_bug.cgi?id=31042
37541
37542        * inspector/front-end/InjectedScript.js:
37543        (InjectedScript._ensureCommandLineAPIInstalled):
37544
375452009-11-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
37546
37547        Rubber-stamped by Antti Koivisto.
37548
37549        [Qt] Build fix for Windows CE
37550
37551        * plugins/PluginDatabase.cpp:
37552
375532009-11-02  Chris Fleizach  <cfleizach@apple.com>
37554
37555        Reviewed by David Levin.
37556
37557        fix accessibility webkit-style-check errors
37558        https://bugs.webkit.org/show_bug.cgi?id=29672
37559
37560        * accessibility/AXObjectCache.cpp:
37561        (WebCore::AXObjectCache::getOrCreate):
37562        (WebCore::AXObjectCache::remove):
37563        (WebCore::AXObjectCache::platformGenerateAXID):
37564        (WebCore::AXObjectCache::removeAXID):
37565        * accessibility/AXObjectCache.h:
37566        (WebCore::AXObjectCache::enableAccessibility):
37567        (WebCore::AXObjectCache::enableEnhancedUserInterfaceAccessibility):
37568        (WebCore::AXObjectCache::accessibilityEnabled):
37569        (WebCore::AXObjectCache::accessibilityEnhancedUserInterfaceEnabled):
37570        (WebCore::AXObjectCache::isIDinUse):
37571        (WebCore::AXObjectCache::objectFromAXID):
37572        (WebCore::AXObjectCache::):
37573        (WebCore::AXObjectCache::handleActiveDescendantChanged):
37574        (WebCore::AXObjectCache::handleAriaRoleChanged):
37575        (WebCore::AXObjectCache::detachWrapper):
37576        (WebCore::AXObjectCache::attachWrapper):
37577        (WebCore::AXObjectCache::selectedChildrenChanged):
37578        (WebCore::AXObjectCache::postNotification):
37579        (WebCore::AXObjectCache::postPlatformNotification):
37580        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
37581        (WebCore::AXObjectCache::handleScrolledToAnchor):
37582        * accessibility/AccessibilityARIAGrid.cpp:
37583        (WebCore::AccessibilityARIAGrid::cellForColumnAndRow):
37584        * accessibility/AccessibilityAllInOne.cpp:
37585        * accessibility/AccessibilityImageMapLink.cpp:
37586        * accessibility/AccessibilityList.h:
37587        (WebCore::AccessibilityList::isList):
37588        * accessibility/AccessibilityListBox.cpp:
37589        * accessibility/AccessibilityListBox.h:
37590        (WebCore::AccessibilityListBox::isListBox):
37591        * accessibility/AccessibilityListBoxOption.cpp:
37592        * accessibility/AccessibilityListBoxOption.h:
37593        (WebCore::AccessibilityListBoxOption::isListBoxOption):
37594        * accessibility/AccessibilityMediaControls.h:
37595        (WebCore::AccessibilityMediaControl::~AccessibilityMediaControl):
37596        (WebCore::AccessibilityMediaTimeline::~AccessibilityMediaTimeline):
37597        (WebCore::AccessibilityMediaTimeline::isMediaTimeline):
37598        (WebCore::AccessibilityMediaControlsContainer::~AccessibilityMediaControlsContainer):
37599        (WebCore::AccessibilityMediaControlsContainer::roleValue):
37600        (WebCore::AccessibilityMediaControlsContainer::accessibilityIsIgnored):
37601        (WebCore::AccessibilityMediaTimeDisplay::~AccessibilityMediaTimeDisplay):
37602        (WebCore::AccessibilityMediaTimeDisplay::roleValue):
37603        * accessibility/AccessibilityObject.cpp:
37604        (WebCore::AccessibilityObject::parentObjectUnignored):
37605        (WebCore::AccessibilityObject::rightLineVisiblePositionRange):
37606        (WebCore::replacedNodeNeedsCharacter):
37607        (WebCore::AccessibilityObject::stringForVisiblePositionRange):
37608        (WebCore::AccessibilityObject::lengthForVisiblePositionRange):
37609        (WebCore::AccessibilityObject::actionVerb):
37610        * accessibility/AccessibilityObject.h:
37611        (WebCore::PlainTextRange::isNull):
37612        (WebCore::AccessibilityObject::isAccessibilityRenderObject):
37613        (WebCore::AccessibilityObject::isAnchor):
37614        (WebCore::AccessibilityObject::isAttachment):
37615        (WebCore::AccessibilityObject::isHeading):
37616        (WebCore::AccessibilityObject::isLink):
37617        (WebCore::AccessibilityObject::isImage):
37618        (WebCore::AccessibilityObject::isNativeImage):
37619        (WebCore::AccessibilityObject::isImageButton):
37620        (WebCore::AccessibilityObject::isPasswordField):
37621        (WebCore::AccessibilityObject::isTextControl):
37622        (WebCore::AccessibilityObject::isNativeTextControl):
37623        (WebCore::AccessibilityObject::isWebArea):
37624        (WebCore::AccessibilityObject::isCheckboxOrRadio):
37625        (WebCore::AccessibilityObject::isListBox):
37626        (WebCore::AccessibilityObject::isFileUploadButton):
37627        (WebCore::AccessibilityObject::isProgressIndicator):
37628        (WebCore::AccessibilityObject::isSlider):
37629        (WebCore::AccessibilityObject::isControl):
37630        (WebCore::AccessibilityObject::isList):
37631        (WebCore::AccessibilityObject::isDataTable):
37632        (WebCore::AccessibilityObject::isTableRow):
37633        (WebCore::AccessibilityObject::isTableColumn):
37634        (WebCore::AccessibilityObject::isTableCell):
37635        (WebCore::AccessibilityObject::isFieldset):
37636        (WebCore::AccessibilityObject::isGroup):
37637        (WebCore::AccessibilityObject::isChecked):
37638        (WebCore::AccessibilityObject::isEnabled):
37639        (WebCore::AccessibilityObject::isSelected):
37640        (WebCore::AccessibilityObject::isFocused):
37641        (WebCore::AccessibilityObject::isHovered):
37642        (WebCore::AccessibilityObject::isIndeterminate):
37643        (WebCore::AccessibilityObject::isLoaded):
37644        (WebCore::AccessibilityObject::isMultiSelect):
37645        (WebCore::AccessibilityObject::isOffScreen):
37646        (WebCore::AccessibilityObject::isPressed):
37647        (WebCore::AccessibilityObject::isReadOnly):
37648        (WebCore::AccessibilityObject::isVisited):
37649        (WebCore::AccessibilityObject::isRequired):
37650        (WebCore::AccessibilityObject::canSetFocusAttribute):
37651        (WebCore::AccessibilityObject::canSetTextRangeAttributes):
37652        (WebCore::AccessibilityObject::canSetValueAttribute):
37653        (WebCore::AccessibilityObject::hasIntValue):
37654        (WebCore::AccessibilityObject::accessibilityShouldUseUniqueId):
37655        (WebCore::AccessibilityObject::accessibilityIsIgnored):
37656        * accessibility/AccessibilityRenderObject.cpp:
37657        (WebCore::AccessibilityRenderObject::parentObjectIfExists):
37658        (WebCore::AccessibilityRenderObject::parentObject):
37659        (WebCore::AccessibilityRenderObject::isMenuRelated):
37660        (WebCore::AccessibilityRenderObject::accessibilityDescription):
37661        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
37662        (WebCore::AccessibilityRenderObject::isFocused):
37663        (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
37664        (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):
37665        (WebCore::AccessibilityRenderObject::doAXRangeForLine):
37666        (WebCore::AccessibilityRenderObject::doAXStringForRange):
37667        (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
37668        (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
37669        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
37670        (WebCore::AccessibilityRenderObject::isPresentationalChildOfAriaRole):
37671        (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
37672        (WebCore::AccessibilityRenderObject::canHaveChildren):
37673        (WebCore::AccessibilityRenderObject::actionVerb):
37674        (WebCore::shouldReturnTagNameAsRoleForMSAA):
37675        * accessibility/AccessibilityRenderObject.h:
37676        (WebCore::AccessibilityRenderObject::isAccessibilityRenderObject):
37677        * accessibility/AccessibilitySlider.cpp:
37678        (WebCore::AccessibilitySlider::orientation):
37679        * accessibility/AccessibilitySlider.h:
37680        (WebCore::AccessibilitySlider::~AccessibilitySlider):
37681        (WebCore::AccessibilitySlider::roleValue):
37682        (WebCore::AccessibilitySlider::accessibilityIsIgnored):
37683        (WebCore::AccessibilitySlider::isSlider):
37684        (WebCore::AccessibilitySlider::canSetValueAttribute):
37685        (WebCore::AccessibilitySliderThumb::~AccessibilitySliderThumb):
37686        (WebCore::AccessibilitySliderThumb::roleValue):
37687        (WebCore::AccessibilitySliderThumb::accessibilityIsIgnored):
37688        (WebCore::AccessibilitySliderThumb::setParentObject):
37689        (WebCore::AccessibilitySliderThumb::parentObject):
37690        * accessibility/AccessibilityTable.cpp:
37691        (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
37692        * accessibility/AccessibilityTableColumn.cpp:
37693        * accessibility/AccessibilityTableHeaderContainer.cpp:
37694        (WebCore::AccessibilityTableHeaderContainer::addChildren):
37695        * accessibility/AccessibilityTableRow.cpp:
37696        * accessibility/mac/AccessibilityObjectWrapper.h:
37697
376982009-11-02  Darin Fisher  <darin@chromium.org>
37699
37700        Fixing JSC build bustage.
37701
37702        * bindings/js/ScriptController.cpp: Added missing #include
37703
377042009-10-30  Darin Fisher  <darin@chromium.org>
37705
37706        Reviewed by Adam Barth.
37707
37708        Give the FrameLoaderClient the ability to override Settings::isJavaScriptEnabled.
37709        https://bugs.webkit.org/show_bug.cgi?id=30967
37710
37711        * bindings/js/ScriptController.cpp:
37712        (WebCore::ScriptController::isEnabled):
37713        * bindings/v8/ScriptController.cpp:
37714        (WebCore::ScriptController::isEnabled):
37715        * bindings/v8/V8Proxy.cpp: Move implementation of isEnabled to ScriptController
37716        * bindings/v8/V8Proxy.h: Ditto
37717        * loader/FrameLoaderClient.h:
37718        (WebCore::FrameLoaderClient::allowJavaScript):
37719        * platform/chromium/ChromiumBridge.h: Delete uiResourceProtocol function
37720
377212009-11-02  Brady Eidson  <beidson@apple.com>
37722
37723        Rubberstamped by Mark Rowe.
37724
37725        Fix a typo in Mark's last commit.
37726
37727        * loader/archive/ArchiveFactory.cpp:
37728        (WebCore::archiveMIMETypes):
37729
377302009-11-02  Mark Rowe  <mrowe@apple.com>
37731
37732        Rubber-stamped by Brady Eidson.
37733
37734        Re-enable support for web archives on Windows.  It was mistakenly disabled in r50438.
37735
37736        * loader/archive/ArchiveFactory.cpp:
37737        (WebCore::archiveMIMETypes):
37738
377392009-11-02  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
37740
37741        Reviewed by Darin Adler.
37742
37743        PLATFORM(CF) should be set when building for Qt on Darwin
37744        https://bugs.webkit.org/show_bug.cgi?id=23671
37745
37746        * WebCore.pro: Add SharedBufferCF.cpp and SmartReplaceCF.cpp
37747        to the Darwin build.
37748        * loader/archive/ArchiveFactory.cpp: Change the support for 
37749        legacy WebArchive from all CF platforms to Mac and Chromium 
37750        CF platforms.
37751        (WebCore::archiveMIMETypes):
37752        * platform/text/AtomicString.h: Remove PLATFORM(QT) &&
37753        PLATFORM(DARWIN) test as it is redundant now.
37754        * platform/text/PlatformString.h: Ditto.
37755        * platform/text/StringImpl.h: Ditto.
37756        * platform/text/cf/StringCF.cpp: Ditto.
37757        * platform/text/cf/StringImplCF.cpp: Ditto.
37758
377592009-11-02  Adam Barth  <abarth@webkit.org>
37760
37761        Reviewed by David Levin.
37762
37763        [Chromium] Actually declare getPluginMimeTypeFromExtension in a header.
37764        https://bugs.webkit.org/show_bug.cgi?id=30985
37765
37766        Our current code does not conform to our style guide.
37767
37768        * WebCore.gyp/WebCore.gyp:
37769        * WebCore.gypi:
37770        * platform/chromium/MIMETypeRegistryChromium.cpp:
37771        * plugins/chromium/PluginDataChromium.cpp:
37772        * plugins/chromium/PluginDataChromium.h: Added.
37773
377742009-11-02  Adele Peterson  <adele@apple.com>
37775
37776        Reviewed by Darin Adler.
37777
37778        Fix for <rdar://problem/7038305> REGRESSION (Safari 4.0.2 - ToT): After navigating back to a known phishy page, the "Ignore warning" button appears highlighted (along with the "Go Back" button)
37779
37780        This bug is timing dependent, and not always reproducible.  I could not think of a way to add a 
37781        layout test that would demonstrate the problem and fix.
37782
37783        * platform/mac/ThemeMac.mm:
37784        (WebCore::checkbox): Update style.
37785        (WebCore::paintCheckbox): ditto.
37786        (WebCore::radio): ditto.
37787        (WebCore::paintRadio): ditto.
37788        (WebCore::setupButtonCell): Added convenience method.
37789        (WebCore::button): Use a separate NSButtonCell for defaultButtons and regular buttons.
37790        (WebCore::paintButton): Don't check for the key window here.  Consider that when deciding if the button should have the default style in RenderTheme.
37791        * rendering/RenderTheme.cpp: (WebCore::RenderTheme::isDefault): Only consider a button to be default if the page is active.  This fixes 
37792        a problem I noticed where the button would flicker crazily if the page with the default button was in the background.
37793
377942009-11-02  Dan Bernstein  <mitz@apple.com>
37795
37796        Reviewed by Anders Carlsson.
37797
37798        Minor RenderWidget clean-up in preparation for deferring widget tree
37799        mutation when it is not safe.
37800
37801        * rendering/RenderWidget.cpp:
37802        (WebCore::RenderWidget::RenderWidget): Initialize m_refCount to 1
37803        instead of calling ref().
37804        (WebCore::RenderWidget::destroy): Call setWidget(0) instead of
37805        repeating what it does.
37806        (WebCore::RenderWidget::setWidgetGeometry): Now returns a boolean
37807        indicating whether the bounds have changed.
37808        (WebCore::RenderWidget::setWidget): Replaced all-encompassing if
37809        statement with an early return.
37810        (WebCore::RenderWidget::updateWidgetPosition): Call setWidgetGeometry().
37811        * rendering/RenderWidget.h:
37812
378132009-11-02  Dumitru Daniliuc  <dumi@chromium.org>
37814
37815        Reviewed by Dimitri Glazkov.
37816
37817        Adding Chromium's DatabaseTracker and SQLTransactionClient
37818        implementations.
37819
37820        https://bugs.webkit.org/show_bug.cgi?id=30701
37821
37822        * storage/chromium: Added.
37823        * storage/chromium/DatabaseObserver.h: Added.
37824        * storage/chromium/DatabaseTrackerChromium.cpp: Added.
37825        * storage/chromium/QuotaTracker.cpp: Added.
37826        * storage/chromium/QuotaTracker.h: Added.
37827        * storage/chromium/SQLTransactionClientChromium.cpp: Added.
37828
378292009-11-02  Enrica Casucci  <enrica@apple.com>
37830
37831        Reviewed by Adele Peterson and Dan Bernstein.
37832
37833        Safari crashes when calling execCommand on formatted html in special case
37834        <rdar://problem/7318656>
37835        https://bugs.webkit.org/show_bug.cgi?id=31023
37836
37837        Test: editing/execCommand/align-in-span.html
37838
37839        * rendering/RenderObject.cpp:
37840        (WebCore::RenderObject::containingBlock): Modified comment on containingBlock returning NULL.
37841        * rendering/RenderText.cpp:
37842        (WebCore::RenderText::setSelectionState): Added check for NULL return from containingBlock,
37843        since it is possible when dealing with orphaned trees.
37844
378452009-11-02  Chris Marrin  <cmarrin@apple.com>
37846
37847        Reviewed by Oliver Hunt.
37848
37849        Exception checks were being too aggressive
37850        https://bugs.webkit.org/show_bug.cgi?id=31005
37851
37852        Several calls in CanvasRenderingContext3D are allowed to
37853        have a null value passed, which indicated that the 
37854        object is being unbound. Handle this case and the corresponding
37855        null handling in GraphicsContext3DMac.
37856
37857        * html/canvas/CanvasRenderingContext3D.cpp:
37858        (WebCore::CanvasRenderingContext3D::bindBuffer):
37859        (WebCore::CanvasRenderingContext3D::bindFramebuffer):
37860        (WebCore::CanvasRenderingContext3D::bindRenderbuffer):
37861        (WebCore::CanvasRenderingContext3D::bindTexture):
37862        (WebCore::CanvasRenderingContext3D::framebufferRenderbuffer):
37863        (WebCore::CanvasRenderingContext3D::framebufferTexture2D):
37864        * platform/graphics/mac/GraphicsContext3DMac.cpp:
37865        (WebCore::GraphicsContext3D::framebufferRenderbuffer):
37866        (WebCore::GraphicsContext3D::framebufferTexture2D):
37867
378682009-11-02  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
37869
37870        Reviewed by Timothy Hatcher.
37871
37872        Each JS execution in console adds extra item into "scripts" combo
37873        https://bugs.webkit.org/show_bug.cgi?id=30212
37874
37875        Added manual test
37876
37877        * inspector/front-end/ScriptsPanel.js:
37878        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
37879        * manual-tests/inspector/hidden-evals.html: Added.
37880
378812009-11-02  Kelly Norton  <knorton@google.com>
37882
37883        Reviewed by Timothy Hatcher.
37884
37885        Adds a missed case for InspectorTimeline, DOMWindow dispatch of DOM events.
37886        https://bugs.webkit.org/show_bug.cgi?id=31030
37887
37888        * dom/Node.cpp:
37889        (WebCore::eventHasListeners): Checks DOMWindow for listeners.
37890        (WebCore::Node::dispatchGenericEvent):
37891
378922009-11-02  Dmitry Titov  <dimich@chromium.org>
37893
37894        Reviewed by David Levin.
37895
37896        Remove threadsafe refcounting from tasks used with WTF::MessageQueue.
37897        https://bugs.webkit.org/show_bug.cgi?id=30612
37898
37899        No new tests since no new functionality. Storage, MessagePorts and Workers tests cover this.
37900
37901        There are a lot of files but most changes are simply replace RefPtr and PassRefPtr with
37902        OwnPtr and PassOwnPtr when dealing with Tasks.
37903
37904        ScriptExecutionContext::Task, DatabaseTask and WorkerRunLoop::Task are no longer
37905        threadsafe refcounted, but simply Noncopyable.
37906
37907        * dom/Document.cpp:
37908        (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
37909        (WebCore::PerformTaskContext::PerformTaskContext):
37910        (WebCore::Document::postTask):
37911        * dom/Document.h:
37912        * dom/ScriptExecutionContext.cpp:
37913        (WebCore::ProcessMessagesSoonTask::create):
37914        * dom/ScriptExecutionContext.h:
37915        * dom/default/PlatformMessagePortChannel.cpp:
37916        (WebCore::PlatformMessagePortChannel::tryGetMessageFromRemote):
37917        * dom/default/PlatformMessagePortChannel.h:
37918        (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):
37919        (WebCore::PlatformMessagePortChannel::MessagePortQueue::appendAndCheckEmpty):
37920        * loader/FrameLoader.cpp:
37921        (WebCore::HashChangeEventTask::create):
37922        * loader/appcache/ApplicationCacheGroup.cpp:
37923        (WebCore::CallCacheListenerTask::create):
37924        * storage/Database.cpp:
37925        (WebCore::Database::openAndVerifyVersion):
37926        (WebCore::Database::markAsDeletedAndClose):
37927        (WebCore::Database::scheduleTransaction):
37928        (WebCore::Database::scheduleTransactionStep):
37929        (WebCore::Database::tableNames):
37930        * storage/DatabaseTask.h:
37931        (WebCore::DatabaseOpenTask::create):
37932        (WebCore::DatabaseCloseTask::create):
37933        (WebCore::DatabaseTransactionTask::create):
37934        (WebCore::DatabaseTableNamesTask::create):
37935        * storage/DatabaseThread.cpp:
37936        (WebCore::DatabaseThread::databaseThread):
37937        (WebCore::DatabaseThread::scheduleTask):
37938        (WebCore::DatabaseThread::scheduleImmediateTask):
37939        (WebCore::SameDatabasePredicate::operator()):
37940        * storage/DatabaseThread.h:
37941        * storage/LocalStorageTask.h:
37942        (WebCore::LocalStorageTask::createImport):
37943        (WebCore::LocalStorageTask::createSync):
37944        (WebCore::LocalStorageTask::createTerminate):
37945        * storage/LocalStorageThread.cpp:
37946        (WebCore::LocalStorageThread::localStorageThread):
37947        * storage/LocalStorageThread.h:
37948        * websockets/WebSocket.cpp:
37949        (WebCore::ProcessWebSocketEventTask::create):
37950        * workers/DefaultSharedWorkerRepository.cpp:
37951        (WebCore::SharedWorkerProxy::postTaskToLoader):
37952        (WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext):
37953        (WebCore::SharedWorkerConnectTask::create):
37954        * workers/GenericWorkerTask.h:
37955        (WebCore::GenericWorkerTask1::create):
37956        (WebCore::GenericWorkerTask2::create):
37957        (WebCore::GenericWorkerTask3::create):
37958        (WebCore::GenericWorkerTask4::create):
37959        (WebCore::GenericWorkerTask5::create):
37960        (WebCore::GenericWorkerTask6::create):
37961        (WebCore::GenericWorkerTask7::create):
37962        (WebCore::GenericWorkerTask8::create):
37963        (WebCore::createCallbackTask):
37964        * workers/WorkerContext.cpp:
37965        (WebCore::WorkerContext::postTask):
37966        * workers/WorkerContext.h:
37967        * workers/WorkerLoaderProxy.h:
37968        * workers/WorkerMessagingProxy.cpp:
37969        (WebCore::MessageWorkerContextTask::create):
37970        (WebCore::MessageWorkerTask::create):
37971        (WebCore::WorkerExceptionTask::create):
37972        (WebCore::WorkerContextDestroyedTask::create):
37973        (WebCore::WorkerTerminateTask::create):
37974        (WebCore::WorkerThreadActivityReportTask::create):
37975        (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerContext):
37976        (WebCore::WorkerMessagingProxy::postTaskToLoader):
37977        (WebCore::WorkerMessagingProxy::workerThreadCreated):
37978        * workers/WorkerMessagingProxy.h:
37979        * workers/WorkerRunLoop.cpp:
37980        (WebCore::ModePredicate::operator()):
37981        (WebCore::WorkerRunLoop::runInMode):
37982        (WebCore::WorkerRunLoop::postTask):
37983        (WebCore::WorkerRunLoop::postTaskForMode):
37984        (WebCore::WorkerRunLoop::Task::create):
37985        (WebCore::WorkerRunLoop::Task::performTask):
37986        (WebCore::WorkerRunLoop::Task::Task):
37987        * workers/WorkerRunLoop.h:
37988        (WebCore::WorkerRunLoop::Task::~Task):
37989        (WebCore::WorkerRunLoop::Task::mode):
37990
379912009-11-02  Philippe Normand  <pnormand@igalia.com>
37992
37993        Reviewed by Jan Alonzo.
37994
37995        [GTK] Failing media/video-played-reset.html
37996        https://bugs.webkit.org/show_bug.cgi?id=30589
37997
37998        new m_seekTime attribute to keep track of the seek position
37999
38000        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
38001        (WebCore::MediaPlayerPrivate::currentTime):
38002        (WebCore::MediaPlayerPrivate::seek):
38003        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
38004
380052009-11-02  Xan Lopez  <xlopez@igalia.com>
38006
38007        Reviewed by Jan Alonzo.
38008
38009        [GTK] Remove Referer when redirecting to non-secure site
38010        https://bugs.webkit.org/show_bug.cgi?id=31021
38011
38012        Remove referer from HTTP headers when redirecting to a non-secure
38013        site.
38014
38015        * platform/network/soup/ResourceHandleSoup.cpp:
38016        (WebCore::restartedCallback):
38017
380182009-11-02  Alexey Proskuryakov  <ap@apple.com>
38019
38020        Reviewed by Dan Bernstein.
38021
38022        https://bugs.webkit.org/show_bug.cgi?id=18539
38023        multipart/form-data not being parsed correctly on server due to '+' in boundary string
38024
38025        No test - the characters that the boundary is made of are not deterministic.
38026
38027        * platform/network/FormDataBuilder.cpp: (WebCore::FormDataBuilder::generateUniqueBoundaryString):
38028        Don't ever put a '+' in boundary string, either. Removed a FIXME to bring '/' back once
38029        GMail is fixed - I don't think we'll ever want to allow non-alphanumeric characters, as
38030        they cause problems on many web sites.
38031
380322009-10-30  Alexey Proskuryakov  <ap@apple.com>
38033
38034        Reviewed by Darin Adler.
38035
38036        https://bugs.webkit.org/show_bug.cgi?id=30969
38037        A no-prefix XPath node test should not match no-namespace elements in HTML document
38038
38039        Test: fast/xpath/null-namespace-in-html.html
38040
38041        * xml/XPathStep.cpp: (WebCore::XPath::nodeMatchesBasicTest): Special case non-HTML elements
38042        in HTML documents (as these are the ones that can have null namespace).
38043
380442009-11-02  Pavel Feldman  <pfeldman@chromium.org>
38045
38046        Reviewed by Timothy Hatcher.
38047
38048        Web Inspector: [REGRESSION] No timeline marks on resources panel.
38049
38050        https://bugs.webkit.org/show_bug.cgi?id=31013
38051
38052        * inspector/front-end/AbstractTimelinePanel.js:
38053        (WebInspector.AbstractTimelinePanel.prototype.updateGraphDividersIfNeeded):
38054
380552009-11-02  David Levin  <levin@chromium.org>
38056
38057        Reviewed by Dan Bernstein.
38058
38059        Possible crash in RenderSlider::layout.
38060        https://bugs.webkit.org/show_bug.cgi?id=31016
38061
38062        Fix out of place line of code.
38063
38064        Test: scrollbars/overflow-scrollbar-combinations.html
38065        This crash only seems to repro when WebKit draws the play controls,
38066        so the crash repros in chromium running this test but not WebKit
38067        nightlies which use QuickTime to draw the controls.
38068
38069        * rendering/RenderSlider.cpp:
38070        (WebCore::RenderSlider::layout):
38071
380722009-11-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
38073
38074        Reviewed by Tor Arne Vestbø.
38075
38076        [Qt] Fix Qt build on Windows.
38077        https://bugs.webkit.org/show_bug.cgi?id=30905
38078
38079        * WebCore.pro:
38080        * platform/graphics/BitmapImage.h:
38081        * platform/graphics/qt/ImageQt.cpp:
38082        (WebCore::BitmapImage::BitmapImage):
38083        (WebCore::BitmapImage::create):
38084
380852009-11-02  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
38086
38087        Reviewed by Adam Barth.
38088
38089        QWebView crash fix.
38090
38091        The QWebView should not crash if the stop() method is called from
38092        a function triggered by the loadProgress signal.
38093
38094        A null pointer protection was added in the ProgressTracker::incrementProgress.
38095
38096        New autotest was created.
38097
38098        https://bugs.webkit.org/show_bug.cgi?id=29425
38099
38100        * loader/ProgressTracker.cpp:
38101        (WebCore::ProgressTracker::incrementProgress):
38102
381032009-11-02  Mikhail Naganov  <mnaganov@chromium.org>
38104
38105        Reviewed by Pavel Feldman.
38106
38107        Fix a leftover from profiles panel generalization.
38108
38109        https://bugs.webkit.org/show_bug.cgi?id=31010
38110
38111        * inspector/front-end/ProfilesPanel.js:
38112        (WebInspector.ProfilesPanel.prototype.get searchableViews):
38113
381142009-11-02  Kai Koehne  <kai.koehne@nokia.com>
38115
38116        Reviewed by Holger Freyther.
38117
38118        Remove implementation of ImageDecocerQt::clearFrameBufferCache.
38119        The implementation was buggy, and will visually break repeating
38120        animations anyway.
38121
38122        https://bugs.webkit.org/show_bug.cgi?id=31009
38123
38124        * platform/graphics/qt/ImageDecoderQt.cpp:
38125        (WebCore::ImageDecoderQt::clearFrameBufferCache):
38126
381272009-11-02  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
38128
38129        Reviewed by Jan Alonzo.
38130
38131        https://bugs.webkit.org/show_bug.cgi?id=30964
38132        [Gtk] Implemment AtkDocument
38133
38134        Provides access to the reported content language.
38135
38136        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
38137        (webkit_accessible_document_get_locale):
38138
381392009-11-02  Keishi Hattori  <casey.hattori@gmail.com>
38140
38141        Reviewed by Timothy Hatcher.
38142
38143        Web Inspector: Rewrite CSSSourceSyntaxHighlighter so it shares more code
38144        https://bugs.webkit.org/show_bug.cgi?id=30907
38145
38146        Test: inspector/css-syntax-highlight.html
38147
38148        * inspector/front-end/ElementsTreeOutline.js:
38149        * inspector/front-end/SourceFrame.js:
38150        (WebInspector.SourceFrame.prototype.syntaxHighlightCSS):
38151        (WebInspector.SourceSyntaxHighlighter):
38152        (WebInspector.SourceSyntaxHighlighter.prototype.process.processChunk):
38153        (WebInspector.SourceSyntaxHighlighter.prototype.process.moveToNextLine):
38154        (WebInspector.SourceSyntaxHighlighter.prototype.process):
38155        (WebInspector.SourceSyntaxHighlighter.prototype.lex):
38156        (WebInspector.SourceSyntaxHighlighter.prototype.appendNonToken):
38157        (WebInspector.SourceSyntaxHighlighter.prototype.syntaxHighlightNode):
38158        (WebInspector.CSSSourceSyntaxHighlighter):
38159        * inspector/front-end/inspectorSyntaxHighlight.css:
38160
381612009-11-02  Chris Fleizach  <cfleizach@apple.com>
38162
38163        Reviewed by Beth Dakin.
38164
38165        Support ARIA "tab" roles
38166        https://bugs.webkit.org/show_bug.cgi?id=30842
38167
38168        Implement support for ARIA "tab", "tabpanel" and "tablist".
38169        As a consequence, we also needed to implement aria-selected
38170        and aria-controls.
38171
38172        Tests: accessibility/aria-controls-with-tabs.html
38173               accessibility/aria-tab-roles.html
38174
38175        * accessibility/AXObjectCache.cpp:
38176        * accessibility/AccessibilityObject.h:
38177        * accessibility/AccessibilityRenderObject.cpp:
38178        * accessibility/AccessibilityRenderObject.h:
38179        * accessibility/mac/AccessibilityObjectWrapper.mm:
38180        * html/HTMLAttributeNames.in:
38181
381822009-10-27  Stephen White  <senorblanco@chromium.org>
38183
38184        Reviewed by Dmitry Titov.
38185
38186        This is the WebKit-side change needed to fix canvas.getImageData() for
38187        Chromium.  The unpremultiply code in Skia assumes that unpremultiplied
38188        values should be rounded, while CG does not.  In addition, the fixed
38189        point inversion used by Skia introduces slight inaccuracies that make
38190        us fail this test.  This change brings Chromium in line with
38191        the CG path.
38192        https://bugs.webkit.org/show_bug.cgi?id=30825
38193
38194        Covered by LayoutTests/fast/canvas/canvas-getImageData.html
38195
38196        * platform/graphics/skia/ImageBufferSkia.cpp:
38197        (WebCore::getImageData):
38198
381992009-11-01  Kelly Norton  <knorton@google.com>
38200
38201        Reviewed by Timothy Hatcher.
38202
38203        Adds window event dispatches to InspectorTimelineAgent.
38204        https://bugs.webkit.org/show_bug.cgi?id=31002
38205
38206        * English.lproj/localizedStrings.js:
38207        * dom/Node.cpp: Updated call site to willDispatchEvent and didDispatchEvent.
38208        (WebCore::Node::dispatchGenericEvent):
38209        * inspector/InspectorTimelineAgent.cpp:
38210        (WebCore::InspectorTimelineAgent::willDispatchEvent): Renamed.
38211        (WebCore::InspectorTimelineAgent::didDispatchEvent): Renamed.
38212        * inspector/InspectorTimelineAgent.h:
38213        (WebCore::):
38214        * inspector/TimelineRecordFactory.cpp:
38215        (WebCore::TimelineRecordFactory::createEventDispatchRecord): Renamed.
38216        * inspector/TimelineRecordFactory.h:
38217        * inspector/front-end/TimelineAgent.js:
38218        * inspector/front-end/TimelinePanel.js:
38219        (WebInspector.TimelinePanel.prototype._formatRecord):
38220        (WebInspector.TimelinePanel.prototype._getRecordDetails):
38221        * page/DOMWindow.cpp:
38222        (WebCore::DOMWindow::dispatchEvent):
38223
382242009-11-01  Pavel Feldman  <pfeldman@chromium.org>
38225
38226        Reviewed by Timothy Hatcher.
38227
38228        Web Inspector: Convert script tag event into a more generic
38229        script eval event in timeline.
38230
38231        https://bugs.webkit.org/show_bug.cgi?id=30999
38232
38233        * bindings/js/ScriptController.cpp:
38234        (WebCore::ScriptController::evaluateInWorld):
38235        * bindings/v8/V8Proxy.cpp:
38236        (WebCore::V8Proxy::evaluate):
38237        * html/HTMLTokenizer.cpp:
38238        (WebCore::HTMLTokenizer::scriptExecution):
38239        * inspector/InspectorTimelineAgent.cpp:
38240        (WebCore::InspectorTimelineAgent::willEvaluateScript):
38241        (WebCore::InspectorTimelineAgent::didEvaluateScript):
38242        * inspector/InspectorTimelineAgent.h:
38243        (WebCore::):
38244        * inspector/TimelineRecordFactory.cpp:
38245        (WebCore::TimelineRecordFactory::createEvaluateScriptTimelineRecord):
38246        * inspector/TimelineRecordFactory.h:
38247        * inspector/front-end/TimelineAgent.js:
38248        * inspector/front-end/TimelinePanel.js:
38249        (WebInspector.TimelinePanel.prototype._formatRecord):
38250        (WebInspector.TimelinePanel.prototype._getRecordDetails):
38251
382522009-11-01  Brian Weinstein  <bweinstein@apple.com>
38253
38254        Rubber-stamped by Mark Rowe.
38255
38256        Fix for loop to use an size_t instead of unsigned and some spacing
38257        style fixes.
38258
38259        * dom/Node.cpp:
38260        (WebCore::eventHasListeners):
38261
382622009-11-01  Kelly Norton  <knorton@google.com>
38263
38264        Reviewed by Timothy Hatcher.
38265
38266        Does not send DOM dispatches to the InspectorTimelineAgent if there
38267        are no event listeners.
38268        https://bugs.webkit.org/show_bug.cgi?id=30995
38269
38270        * dom/Node.cpp:
38271        (WebCore::eventHasListeners):
38272        (WebCore::Node::dispatchGenericEvent):
38273        * xml/XMLHttpRequest.cpp:
38274        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
38275
382762009-11-01  Roland Steiner  <rolandsteiner@chromium.org>
38277
38278        No review (build fix).
38279
38280        Add missing files for Ruby implementation to WebCore.vcproj
38281        (Fix build break after 50397)
38282        https://bugs.webkit.org/show_bug.cgi?id=31001
38283
38284        No new tests. (No functional change)
38285
38286        * WebCore.vcproj/WebCore.vcproj:
38287
382882009-11-02  Roland Steiner  <rolandsteiner@chromium.org>
38289
38290        Reviewed by Dave Hyatt.
38291
38292        Bug 28420 -  Implement HTML5 <ruby> rendering
38293        (https://bugs.webkit.org/show_bug.cgi?id=28420)
38294
38295        First rudimentary implementation of HTML5 ruby rendering support.
38296
38297        Following the HTML 5 spec, the box object model for a <ruby> element allows several runs of ruby
38298        bases with their respective ruby texts looks as follows:
38299
38300        1 RenderRuby object, corresponding to the whole <ruby> HTML element
38301             1+ RenderRubyRun (anonymous)
38302                 0 or 1 RenderRubyText - shuffled to the front in order to re-use existing block layouting
38303                     0-n inline object(s)
38304                 0 or 1 RenderRubyBase - contains the inline objects that make up the ruby base
38305                     1-n inline object(s)
38306
38307        Note: <rp> elements are defined as having 'display:none' and thus normally are not assigned a renderer.
38308        
38309        New layout tests will be committed in a follow-up patch under fast/ruby.
38310
38311        Makefiles, etc.
38312        * GNUmakefile.am:
38313        * WebCore.gypi:
38314        * WebCore.pro:
38315        * WebCore.xcodeproj/project.pbxproj:
38316
38317        CSS
38318        * css/html.css: Added <ruby> and <rt>
38319
38320        Existing render files:
38321        * rendering/RenderBlock.cpp: make moveChild a member function moveChildTo
38322        (WebCore::RenderBlock::moveChildTo):
38323        (WebCore::RenderBlock::makeChildrenNonInline):
38324        (WebCore::RenderBlock::removeChild):
38325        * rendering/RenderBlock.h:
38326        * rendering/RenderObject.cpp:
38327        (WebCore::RenderObject::createObject): instantiate ruby renderers based on element name
38328        * rendering/RenderObject.h: add query methods for ruby renderers
38329        (WebCore::RenderObject::isRuby):
38330        (WebCore::RenderObject::isRubyBase):
38331        (WebCore::RenderObject::isRubyRun):
38332        (WebCore::RenderObject::isRubyText):
38333
38334        New ruby renderers:
38335        * rendering/RenderRuby.cpp: Added.
38336        (WebCore::lastRubyRun):
38337        (WebCore::findRubyRunParent):
38338        (WebCore::RenderRubyAsInline::RenderRubyAsInline):
38339        (WebCore::RenderRubyAsInline::~RenderRubyAsInline):
38340        (WebCore::RenderRubyAsInline::isChildAllowed):
38341        (WebCore::RenderRubyAsInline::addChild):
38342        (WebCore::RenderRubyAsInline::removeChild):
38343        (WebCore::RenderRubyAsBlock::RenderRubyAsBlock):
38344        (WebCore::RenderRubyAsBlock::~RenderRubyAsBlock):
38345        (WebCore::RenderRubyAsBlock::isChildAllowed):
38346        (WebCore::RenderRubyAsBlock::addChild):
38347        (WebCore::RenderRubyAsBlock::removeChild):
38348        * rendering/RenderRuby.h: Added.
38349        (WebCore::RenderRubyAsInline::renderName):
38350        (WebCore::RenderRubyAsInline::isRuby):
38351        (WebCore::RenderRubyAsBlock::renderName):
38352        (WebCore::RenderRubyAsBlock::isRuby):
38353        * rendering/RenderRubyBase.cpp: Added.
38354        (WebCore::RenderRubyBase::RenderRubyBase):
38355        (WebCore::RenderRubyBase::~RenderRubyBase):
38356        (WebCore::RenderRubyBase::isChildAllowed):
38357        (WebCore::RenderRubyBase::splitToLeft):
38358        (WebCore::RenderRubyBase::mergeWithRight):
38359        * rendering/RenderRubyBase.h: Added.
38360        (WebCore::RenderRubyBase::renderName):
38361        (WebCore::RenderRubyBase::isRubyBase):
38362        * rendering/RenderRubyRun.cpp: Added.
38363        (WebCore::RenderRubyRun::RenderRubyRun):
38364        (WebCore::RenderRubyRun::~RenderRubyRun):
38365        (WebCore::RenderRubyRun::hasRubyText):
38366        (WebCore::RenderRubyRun::hasRubyBase):
38367        (WebCore::RenderRubyRun::isEmpty):
38368        (WebCore::RenderRubyRun::rubyText):
38369        (WebCore::RenderRubyRun::rubyBase):
38370        (WebCore::RenderRubyRun::rubyBaseSafe):
38371        (WebCore::RenderRubyRun::firstLineBlock):
38372        (WebCore::RenderRubyRun::updateFirstLetter):
38373        (WebCore::RenderRubyRun::isChildAllowed):
38374        (WebCore::RenderRubyRun::addChild):
38375        (WebCore::RenderRubyRun::removeChild):
38376        (WebCore::RenderRubyRun::createRubyBase):
38377        (WebCore::RenderRubyRun::staticCreateRubyRun):
38378        * rendering/RenderRubyRun.h: Added.
38379        (WebCore::RenderRubyRun::renderName):
38380        (WebCore::RenderRubyRun::isRubyRun):
38381        * rendering/RenderRubyText.cpp: Added.
38382        (WebCore::RenderRubyText::RenderRubyText):
38383        (WebCore::RenderRubyText::~RenderRubyText):
38384        (WebCore::RenderRubyText::isChildAllowed):
38385        * rendering/RenderRubyText.h: Added.
38386        (WebCore::RenderRubyText::renderName):
38387        (WebCore::RenderRubyText::isRubyText):
38388
383892009-11-01  Alexey Proskuryakov  <ap@apple.com>
38390
38391        Reviewed by Dan Bernstein.
38392
38393        https://bugs.webkit.org/show_bug.cgi?id=30992
38394        Node.isDefaultNamespace doesn't convert empty strings to null
38395
38396        Test: fast/dom/Node/default-namespace-empty-argument.html
38397
38398        * dom/Node.cpp: (WebCore::Node::isDefaultNamespace): Per DOM 3 Core, treat empty input
38399        as null.
38400
384012009-11-01  Yael Aharon  <yael.aharon@nokia.com>
38402
38403        Reviewed by Darin Adler.
38404
38405        Don't add '/' to the URL path if the it does not include '/' after the protocol component
38406        https://bugs.webkit.org/show_bug.cgi?id=30971
38407
38408        Match IE8 behaviour, that does not add '/' if there is none after the protocol component.
38409
38410        * platform/KURL.cpp:
38411        (WebCore::KURL::parse):
38412
384132009-10-31  Oliver Hunt  <oliver@apple.com>
38414
38415        Reviewed by Darin Adler.
38416
38417        Fix layering violations in GraphicsContext3D
38418        https://bugs.webkit.org/show_bug.cgi?id=30986
38419
38420        Remove uses of HTMLImageElement and HTMLCanvasElement
38421
38422        * html/canvas/CanvasRenderingContext3D.cpp:
38423        (WebCore::CanvasRenderingContext3D::texImage2D):
38424        (WebCore::CanvasRenderingContext3D::texSubImage2D):
38425        * platform/graphics/GraphicsContext3D.h:
38426        * platform/graphics/mac/GraphicsContext3DMac.cpp:
38427        (WebCore::GraphicsContext3D::texImage2D):
38428        (WebCore::GraphicsContext3D::texSubImage2D):
38429
384302009-11-01  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
38431
38432        Reviewed by Jan Alonzo.
38433
38434        https://bugs.webkit.org/show_bug.cgi?id=30964
38435        [Gtk] Implemment AtkDocument
38436
38437        Provides access to expected document attributes.
38438
38439        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
38440        (documentAttributeValue):
38441        (webkit_accessible_document_get_document_attribute_value):
38442        (webkit_accessible_document_get_document_attributes):
38443
384442009-11-03  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
38445
38446        Reviewed by Jan Alonzo.
38447
38448        https://bugs.webkit.org/show_bug.cgi?id=30964
38449        [Gtk] Implemment AtkDocument
38450
38451        Implements what has been implemented in AT-SPI.
38452
38453        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
38454        (GetAtkInterfaceTypeFromWAIType):
38455        (getInterfaceMaskFromObject):
38456        (atk_document_interface_init):
38457        (webkit_accessible_document_get_document_attribute_value):
38458        (webkit_accessible_document_get_document_attributes):
38459        (webkit_accessible_document_get_locale):
38460
384612009-11-01  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
38462
38463        Reviewed by Eric Seidel.
38464
38465        Turn on warnings for QtWebKit for gcc
38466        https://bugs.webkit.org/show_bug.cgi?id=30958
38467
38468        No new tests as there is no functional change.
38469
38470        * platform/image-decoders/qt/RGBA32BufferQt.cpp:
38471        (WebCore::RGBA32Buffer::RGBA32Buffer): Reorder 
38472        initialization list to fix compiler warnings.
38473
38474
384752009-11-01  Keishi Hattori  <casey.hattori@gmail.com>
38476
38477        Reviewed by Pavel Feldman.
38478
38479        [Regression] monitorEvent doesn't work
38480
38481        * inspector/front-end/InjectedScript.js:
38482        (InjectedScript._ensureCommandLineAPIInstalled):
38483
384842009-11-01  Keishi Hattori  <casey.hattori@gmail.com>
38485
38486        Reviewed by Pavel Feldman.
38487
38488        Fix Web Inspector: Bug with Message Bubble in Syntax Highlighter
38489        https://bugs.webkit.org/show_bug.cgi?id=30990
38490
38491        * inspector/front-end/SourceFrame.js:
38492
384932009-10-31  Alexey Proskuryakov  <ap@apple.com>
38494
38495        Reviewed by John Sullivan.
38496
38497        https://bugs.webkit.org/show_bug.cgi?id=30982
38498        createHTMLDocument doesn't escape ampersand and less-than in title
38499
38500        Test: fast/dom/DOMImplementation/createHTMLDocument-title.html
38501
38502        * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createHTMLDocument):
38503        Set document title after creating the document, avoiding parser intricacies.
38504
385052009-11-01  Keishi Hattori  <casey.hattori@gmail.com>
38506
38507        Reviewed by Timothy Hatcher.
38508
38509        Web Inspector: Double clicking on a breakpoints should not select text
38510        https://bugs.webkit.org/show_bug.cgi?id=30950
38511
38512        * inspector/front-end/SourceFrame.js:
38513        (WebInspector.SourceFrame.prototype._documentMouseDown):
38514
385152009-11-01  Yuta Kitamura  <yutak@chromium.org>
38516
38517        Reviewed by Darin Adler.
38518
38519        Fix assertion falure in RenderObjectChildList::updateBeforeAfterContent().
38520
38521        [Crash (debug)] Combination of list-item and :after causes assertion failure
38522        https://bugs.webkit.org/show_bug.cgi?id=30944
38523
38524        Test: fast/css/list-item-pseudo-nocrash.html
38525
38526        * rendering/RenderObjectChildList.cpp:
38527        (WebCore::RenderObjectChildList::updateBeforeAfterContent):
38528
385292009-11-01  Philippe Normand  <pnormand@igalia.com>
38530
38531        Reviewed by Eric Seidel.
38532
38533        https://bugs.webkit.org/show_bug.cgi?id=30586
38534        [GTK] Failing test media/video-src-empty.html
38535
38536        Correctly set network/ready state depending on GStreamer errors
38537        received on the bus.
38538
38539        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
38540        (WebCore::mediaPlayerPrivateMessageCallback):
38541
385422009-10-31  Oliver Hunt  <oliver@apple.com>
38543
38544        Build fix
38545
38546        * platform/graphics/mac/GraphicsContext3DMac.cpp:
38547        (WebCore::GraphicsContext3D::attachShader):
38548
385492009-10-31  Oliver Hunt  <oliver@apple.com>
38550
38551        Reviewed by Darin Adler.
38552
38553        Remove obsolete null checks from CanvasRenderingContext3DMac
38554        https://bugs.webkit.org/show_bug.cgi?id=30983
38555
38556        * platform/graphics/mac/GraphicsContext3DMac.cpp:
38557        (WebCore::GraphicsContext3D::attachShader):
38558        (WebCore::GraphicsContext3D::bindAttribLocation):
38559        (WebCore::GraphicsContext3D::compileShader):
38560        (WebCore::GraphicsContext3D::detachShader):
38561        (WebCore::GraphicsContext3D::framebufferRenderbuffer):
38562        (WebCore::GraphicsContext3D::framebufferTexture2D):
38563        (WebCore::GraphicsContext3D::linkProgram):
38564        (WebCore::GraphicsContext3D::shaderSource):
38565        (WebCore::GraphicsContext3D::useProgram):
38566        (WebCore::GraphicsContext3D::validateProgram):
38567        (WebCore::GraphicsContext3D::getProgramInfoLog):
38568        (WebCore::GraphicsContext3D::getShaderi):
38569        (WebCore::GraphicsContext3D::getShaderiv):
38570        (WebCore::GraphicsContext3D::getShaderInfoLog):
38571        (WebCore::GraphicsContext3D::getShaderSource):
38572        (WebCore::GraphicsContext3D::getUniformLocation):
38573
385742009-10-31  Oliver Hunt  <oliver@apple.com>
38575
38576        Reviewed by Jon Honeycutt.
38577
38578        WebGL allows objects to be used with the wrong context
38579        https://bugs.webkit.org/show_bug.cgi?id=30981
38580
38581        Simply add null checks and a few context guards to ensure we don't
38582        deref null or attempt to use an object from a different context.
38583
38584        Tests: fast/canvas/webgl/incorrect-context-object-behaviour.html
38585               fast/canvas/webgl/null-object-behaviour.html
38586
38587        * html/canvas/CanvasRenderingContext3D.cpp:
38588        (WebCore::CanvasRenderingContext3D::attachShader):
38589        (WebCore::CanvasRenderingContext3D::bindAttribLocation):
38590        (WebCore::CanvasRenderingContext3D::bindBuffer):
38591        (WebCore::CanvasRenderingContext3D::bindFramebuffer):
38592        (WebCore::CanvasRenderingContext3D::bindRenderbuffer):
38593        (WebCore::CanvasRenderingContext3D::bindTexture):
38594        (WebCore::CanvasRenderingContext3D::compileShader):
38595        (WebCore::CanvasRenderingContext3D::detachShader):
38596        (WebCore::CanvasRenderingContext3D::framebufferRenderbuffer):
38597        (WebCore::CanvasRenderingContext3D::framebufferTexture2D):
38598        (WebCore::CanvasRenderingContext3D::getProgrami):
38599        (WebCore::CanvasRenderingContext3D::getProgramiv):
38600        (WebCore::CanvasRenderingContext3D::getProgramInfoLog):
38601        (WebCore::CanvasRenderingContext3D::getShaderi):
38602        (WebCore::CanvasRenderingContext3D::getShaderiv):
38603        (WebCore::CanvasRenderingContext3D::getShaderInfoLog):
38604        (WebCore::CanvasRenderingContext3D::getShaderSource):
38605        (WebCore::CanvasRenderingContext3D::getUniformf):
38606        (WebCore::CanvasRenderingContext3D::getUniformfv):
38607        (WebCore::CanvasRenderingContext3D::getUniformi):
38608        (WebCore::CanvasRenderingContext3D::getUniformiv):
38609        (WebCore::CanvasRenderingContext3D::getUniformLocation):
38610        (WebCore::CanvasRenderingContext3D::isBuffer):
38611        (WebCore::CanvasRenderingContext3D::linkProgram):
38612        (WebCore::CanvasRenderingContext3D::shaderSource):
38613        * html/canvas/CanvasRenderingContext3D.h:
38614        * html/canvas/CanvasRenderingContext3D.idl:
38615
386162009-10-30  Zoltan Horvath  <zoltan@webkit.org>
38617
38618        Reviewed by Darin Adler.
38619
38620        Allow custom memory allocation control for WebCore's MediaQueryResult
38621        https://bugs.webkit.org/show_bug.cgi?id=30857
38622
38623        Inherits MediaQueryResult class from Noncopyable because it is
38624        instantiated by 'new' in WebCore/css/CSSStyleSelector.cpp:5984 and
38625        it is no need to be copyable.
38626
38627        * css/CSSStyleSelector.h:
38628
386292009-10-30  Zoltan Horvath  <zoltan@webkit.org>
38630
38631        Reviewed by Darin Adler.
38632
38633        Allow custom memory allocation control for WebCore's MediaQueryEvaluator
38634        https://bugs.webkit.org/show_bug.cgi?id=30854
38635
38636        Inherits MediaQueryEvaluator class from Noncopyable because it is
38637        instantiated by 'new' in WebCore/css/CSSStyleSelector.cpp:401 and   
38638        it is no need to be copyable.
38639
38640        * css/MediaQueryEvaluator.h:
38641
386422009-10-30  Zoltan Horvath  <zoltan@webkit.org>
38643
38644        Reviewed by Darin Adler.
38645
38646        Allow custom memory allocation control for WebCore's CSSRuleSet
38647        https://bugs.webkit.org/show_bug.cgi?id=30852
38648
38649        Inherits CSSRuleSet class from Noncopyable because it is
38650        instantiated by 'new' in WebCore/css/CSSStyleSelector.cpp:455 and
38651        it is no need to be copyable.
38652
38653        * css/CSSStyleSelector.cpp:
38654
386552009-10-30  Zoltan Horvath  <zoltan@webkit.org>
38656
38657        Reviewed by Darin Adler.
38658
38659        Allow custom memory allocation control for WebCore's CSSRuleData
38660        https://bugs.webkit.org/show_bug.cgi?id=30851
38661
38662        Inherits CSSRuleData class from Noncopyable because it is
38663        instantiated by 'new' in WebCore/css/CSSStyleSelector.h:320 and
38664        it is no need to be copyable.
38665
38666        * css/CSSStyleSelector.h:
38667
386682009-10-30  Zoltan Horvath  <zoltan@webkit.org>
38669
38670        Reviewed by Darin Adler.
38671
38672        Allow custom memory allocation control for WebCore's CSSRuleDataList
38673        https://bugs.webkit.org/show_bug.cgi?id=30850
38674
38675        Inherits CSSRuleDataList class from Noncopyable because it has been
38676        instantiated by 'new' in WebCore/css/CSSStyleSelector.cpp:2715 and
38677        it is no need to be copyable.
38678
38679        * css/CSSStyleSelector.h:
38680
386812009-10-30  Zoltan Horvath  <zoltan@webkit.org>
38682
38683        Reviewed by Darin Adler.
38684
38685        Allow custom memory allocation control for WebCore's CSSNamespace
38686        https://bugs.webkit.org/show_bug.cgi?id=30849
38687
38688        Inherits CSSNamespace struct from Noncopyable because it is
38689        instantiated by 'new' in WebCore/css/CSSStyleSheet.cpp:141 and
38690        it is no need to be copyable.
38691
38692        * css/CSSNamespace.h:
38693
386942009-10-30  Dmitry Titov  <dimich@chromium.org>
38695
38696        Reviewed by David Levin.
38697
38698        Refactor DatabaseTask in preparation for removing threadsafe refcounting from it.
38699        Move the synchronizer object out of the DatabaseTask so there is no need to keep
38700        the pointer to Databasetask around after passing it to MessageQueue.
38701        Also pass the references to return parameters to the task so it can update them.
38702        https://bugs.webkit.org/show_bug.cgi?id=30941
38703
38704        No new tests, since this is just moving the code around, no change in functionality.
38705
38706        * storage/Database.cpp:
38707        (WebCore::Database::Database):
38708        (WebCore::Database::openAndVerifyVersion): Use new DatabaseTaskSynchronizer to wait for task completion.
38709        (WebCore::Database::markAsDeletedAndClose): Ditto.
38710        (WebCore::Database::tableNames): Ditto.
38711        (WebCore::Database::stop): Use the boolean flag rather then 'killed' flag built into MessageQueue.
38712        (WebCore::Database::scheduleTransaction): Transaction queue is a Deque now, change the way to fetch the transaction.
38713        * storage/Database.h: Change the SQLTransaction queue to be a Deque rather then a MessageQueue.
38714        * storage/DatabaseTask.cpp:
38715        (WebCore::DatabaseTaskSynchronizer::DatabaseTaskSynchronizer):
38716        (WebCore::DatabaseTaskSynchronizer::waitForTaskCompletion):
38717        (WebCore::DatabaseTaskSynchronizer::taskCompleted):
38718        (WebCore::DatabaseTask::DatabaseTask): Ctor takes DatabaseTaskSynchronizer which can be 0.
38719        (WebCore::DatabaseTask::performTask): Signal completion. m_synchronizer should still be around since main thread is waiting on it.
38720        (WebCore::DatabaseOpenTask::DatabaseOpenTask): Pass synchronizer and return parameters via constructor.
38721        (WebCore::DatabaseCloseTask::DatabaseCloseTask): Ditto.
38722        (WebCore::DatabaseTransactionTask::DatabaseTransactionTask): Ditto.
38723        (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask): Ditto.
38724        * storage/DatabaseTask.h:
38725        (WebCore::DatabaseOpenTask::create):
38726        (WebCore::DatabaseCloseTask::create):
38727        (WebCore::DatabaseTransactionTask::create):
38728        (WebCore::DatabaseTableNamesTask::create):
38729
387302009-10-30  Enrica Casucci  <enrica@apple.com>
38731
38732        Reviewed by Darin Adler.
38733
38734        REGRESSION: In Mail, Undo does not restore some characters I have deleted at the end of a line
38735        https://bugs.webkit.org/show_bug.cgi?id=30955
38736        <rdar://problem/7067033>
38737        
38738        When the command is deleteWordBackward or deleteWordForward
38739        we should not add to the open typing command, but
38740        create a new one.
38741        
38742        Test: editing/undo/undo-deleteWord.html
38743
38744        * editing/TypingCommand.cpp:
38745        (WebCore::TypingCommand::deleteKeyPressed): Always start a new command if the granularity is
38746        not CharacterGranularity. 
38747        (WebCore::TypingCommand::forwardDeleteKeyPressed): Always start a new command if the granularity is
38748        not CharacterGranularity. 
38749
387502009-10-30  Eric Carlson  <eric.carlson@apple.com>
38751
38752        Reviewed by Darin Adler.
38753
38754        Make MediaPlayer constructor private
38755        https://bugs.webkit.org/show_bug.cgi?id=30965
38756
38757        * html/HTMLMediaElement.cpp:
38758        (WebCore::HTMLMediaElement::loadResource): 
38759        (WebCore::HTMLMediaElement::finishParsingChildren): Use MediaPlayer::create.
38760
38761        * platform/graphics/MediaPlayer.h:
38762        (WebCore::MediaPlayer::create): New.
38763
387642009-10-29  Jon Honeycutt  <jhoneycutt@apple.com>
38765
38766        MSAA: Accessibility of headings is not correct
38767
38768        https://bugs.webkit.org/show_bug.cgi?id=30937
38769
38770        Reviewed by Alice Liu.
38771
38772        * accessibility/AccessibilityObject.h:
38773        (WebCore::AccessibilityObject::stringRoleForMSAA):
38774        (WebCore::AccessibilityObject::descriptionForMSAA):
38775
38776        * accessibility/AccessibilityRenderObject.cpp:
38777        (WebCore::shouldReturnTagNameAsRoleForMSAA):
38778        If the element's tag name is one of h1, h2, h3, h4, h5, h6, return
38779        true.
38780        (WebCore::AccessibilityRenderObject::stringRoleForMSAA):
38781        If the element should return its tag name as the role, return the tag
38782        name.
38783        (WebCore::AccessibilityRenderObject::positionalDescriptionForMSAA):
38784        If the object is a heading, return the string "L" followed by the
38785        heading level.
38786        (WebCore::AccessibilityRenderObject::descriptionForMSAA):
38787        If the object has a positional description, return it. Otherwise, get
38788        the accessibility description, and prefix it with "Description" so that
38789        MSAA clients know that it's not a positional description.
38790
38791        * accessibility/AccessibilityRenderObject.h:
38792
387932009-10-29  Jon Honeycutt  <jhoneycutt@apple.com>
38794
38795        MSAA: Accessibility of links is wrong
38796
38797        https://bugs.webkit.org/show_bug.cgi?id=30928
38798
38799        Reviewed by Darin Adler.
38800
38801        * accessibility/AccessibilityImageMapLink.cpp:
38802        (WebCore::AccessibilityImageMapLink::stringValueForMSAA):
38803        Return the URL.
38804        (WebCore::AccessibilityImageMapLink::nameForMSAA):
38805        Return the alt text.
38806
38807        * accessibility/AccessibilityImageMapLink.h:
38808        (WebCore::AccessibilityImageMapLink::isLinked):
38809        Return true.
38810
38811        * accessibility/AccessibilityObject.h:
38812        (WebCore::AccessibilityObject::isLinked):
38813        (WebCore::AccessibilityObject::stringValueForMSAA):
38814        (WebCore::AccessibilityObject::nameForMSAA):
38815
38816        * accessibility/AccessibilityRenderObject.cpp:
38817        (WebCore::isLinkable):
38818        Return true if the element is considered "linkable" with respect to
38819        accessibility.
38820        (WebCore::AccessibilityRenderObject::stringValueForMSAA):
38821        If the element is linkable, check whether it has a parent anchor
38822        element. If so, return the anchor element's href.
38823        (WebCore::AccessibilityRenderObject::isLinked):
38824        Return true if the element is linkable and if it's parent anchor tag's
38825        href is non-empty.
38826        (WebCore::AccessibilityRenderObject::nameForMSAA):
38827        For text nodes, return the text.
38828
38829        * accessibility/AccessibilityRenderObject.h:
38830
388312009-10-30  Evan Stade  <estade@chromium.org>
38832
38833        Reviewed by David Levin.
38834
38835        Notify the chrome when the focused node has changed.
38836        https://bugs.webkit.org/show_bug.cgi?id=30832
38837
38838        This is similar to AX code that is already in place, except that this also informs the
38839        chrome when there stops being a focused node. This is needed for a browser to show the
38840        anchor for links that have keyboard focus.
38841
38842        * dom/Document.cpp:
38843        (WebCore::Document::setFocusedNode):
38844        * loader/EmptyClients.h:
38845        (WebCore::EmptyChromeClient::focusedNodeChanged):
38846        * page/Chrome.cpp:
38847        (WebCore::Chrome::focusedNodeChanged):
38848        * page/Chrome.h:
38849        * page/ChromeClient.h:
38850
388512009-10-30  Ben Murdoch  <benm@google.com>
38852
38853        Reviewed by David Kilzer.
38854
38855        openDatabase() with empty version sets db version up incorrectly
38856        https://bugs.webkit.org/show_bug.cgi?id=28417
38857
38858        Test: storage/open-database-set-empty-version.html
38859
38860        * storage/Database.cpp:
38861        (WebCore::Database::performOpenAndVerify): Raise an exception if the current database version does not match the expected version when the current version is the empty string.
38862
388632009-10-30  John Gregg  <johnnyg@google.com>
38864
38865        Reviewed by David Levin.
38866
38867        Need to turn off notifications properly at runtime
38868        https://bugs.webkit.org/show_bug.cgi?id=30409
38869
38870        Moving the notificationsEnabled bit from NotificationCenter
38871        to the new V8 RuntimeEnabledFeatures object.
38872
38873        Just moving a bit around, so no new tests.
38874
38875        * bindings/v8/RuntimeEnabledFeatures.cpp:
38876        * bindings/v8/RuntimeEnabledFeatures.h:
38877        (WebCore::RuntimeEnabledFeatures::setNotificationsEnabled):
38878        (WebCore::RuntimeEnabledFeatures::notificationsEnabled):
38879        * bindings/v8/custom/V8DOMWindowCustom.cpp:
38880        (WebCore::ACCESSOR_RUNTIME_ENABLER):
38881        * bindings/v8/custom/V8WorkerContextCustom.cpp:
38882        (WebCore::ACCESSOR_RUNTIME_ENABLER):
38883        * notifications/NotificationCenter.cpp:
38884        * notifications/NotificationCenter.h:
38885
388862009-10-30  Dmitry Titov  <dimich@chromium.org>
38887
38888        Reviewed by Dimitri Glazkov.
38889
38890        [V8] More cleanup after r49949: remove ListenerGuard.
38891        ListenerGuard is no longer needed since EventListeners do not depend on frame or v8 context.
38892        https://bugs.webkit.org/show_bug.cgi?id=30943
38893
38894        Covered by fast/events/add-event-without-document.html which will now pass in Chromium.
38895
38896        * bindings/v8/V8AbstractEventListener.cpp:
38897        (WebCore::V8AbstractEventListener::V8AbstractEventListener):
38898        (WebCore::V8AbstractEventListener::handleEvent):
38899        * bindings/v8/V8AbstractEventListener.h:
38900        * bindings/v8/V8DOMWrapper.cpp:
38901        (WebCore::V8DOMWrapper::getEventListener):
38902        * bindings/v8/V8EventListenerList.h:
38903        (WebCore::V8EventListenerList::findOrCreateWrapper):
38904        * bindings/v8/V8LazyEventListener.cpp:
38905        (WebCore::V8LazyEventListener::V8LazyEventListener):
38906        * bindings/v8/V8Proxy.cpp:
38907        (WebCore::V8Proxy::V8Proxy):
38908        (WebCore::V8Proxy::disconnectFrame):
38909        (WebCore::V8Proxy::clearForNavigation):
38910        * bindings/v8/V8Proxy.h:
38911        * bindings/v8/V8WorkerContextEventListener.cpp:
38912        (WebCore::V8WorkerContextEventListener::V8WorkerContextEventListener):
38913        (WebCore::V8WorkerContextEventListener::handleEvent):
38914        (WebCore::V8WorkerContextEventListener::reportError):
38915        * bindings/v8/V8WorkerContextEventListener.h:
38916        (WebCore::V8WorkerContextEventListener::create):
38917        * bindings/v8/WorkerContextExecutionProxy.cpp:
38918        (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
38919        (WebCore::WorkerContextExecutionProxy::dispose):
38920        (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener):
38921        * bindings/v8/WorkerContextExecutionProxy.h:
38922        * bindings/v8/custom/V8CustomEventListener.cpp:
38923        (WebCore::V8EventListener::V8EventListener):
38924        * bindings/v8/custom/V8CustomEventListener.h:
38925        (WebCore::V8EventListener::create):
38926
389272009-10-30  Shinichiro Hamaji  <hamaji@chromium.org>
38928
38929        Reviewed by Darin Adler.
38930
38931        counterValueForElementById should return space-separated string for multiple counters
38932        https://bugs.webkit.org/show_bug.cgi?id=30939
38933
38934        Test: fast/css/counters/counterValueForElementById.html
38935
38936        * rendering/RenderTreeAsText.cpp:
38937        (WebCore::writeCounterValuesFromChildren):
38938        (WebCore::counterValueForElement):
38939
389402009-10-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
38941
38942        Reviewed by Gustavo Noronha.
38943
38944        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
38945        (WebCore::MediaPlayerPrivate::paint):
38946        Add some comments to explain what is happening here.
38947
389482009-10-30  Alexander Pavlov  <apavlov@chromium.org>
38949
38950        Reviewed by Timothy Hatcher.
38951
38952        Fix Web Inspector crash on the errors/warnings counter click
38953
38954        RenderObject::createVisiblePosition(const Position& position)
38955        understands "null Positions", so we can construct such a Position manually.
38956
38957        https://bugs.webkit.org/show_bug.cgi?id=30499
38958
38959        * rendering/RenderBox.cpp:
38960        (WebCore::RenderBox::positionForPoint):
38961
389622009-10-30  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
38963
38964        Reviewed by Xan Lopez.
38965
38966        https://bugs.webkit.org/show_bug.cgi?id=25534
38967        [GTK] Objects of ROLE_TABLE should implement the accessible table interface
38968
38969        Third part of the implementation of AtkTable.
38970
38971        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
38972        (nameFromChildren):
38973        (webkit_accessible_get_name):
38974        New convenience function to construct an object's name using the name(s) of
38975        any children it has.
38976
38977        (atk_table_interface_init):
38978        (webkit_accessible_table_get_column_description):
38979        (webkit_accessible_table_get_row_description):
38980        Implemented.
38981
38982        (webkit_accessible_table_get_column_header):
38983        Stub function added so that webkit_accessible_table_get_column_description
38984        could be implemented in the meantime.
38985
389862009-10-30  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
38987
38988        Reviewed by Xan Lopez.
38989
38990        https://bugs.webkit.org/show_bug.cgi?id=25534
38991        [GTK] Objects of ROLE_TABLE should implement the accessible table interface
38992
38993        Second part of the implementation of AtkTable.
38994
38995        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
38996        (cellAtIndex):
38997        (webkit_accessible_table_get_column_at_index):
38998        (webkit_accessible_table_get_row_at_index):
38999        (webkit_accessible_table_get_caption):
39000        (atk_table_interface_init):
39001
390022009-10-30  Pavel Feldman  <pfeldman@chromium.org>
39003
39004        Reviewed by Timothy Hatcher.
39005
39006        Web Inspector: Add TimelinePanel into the panels enum.
39007
39008        https://bugs.webkit.org/show_bug.cgi?id=30915
39009
39010        * inspector/InspectorFrontend.cpp:
39011        (WebCore::InspectorFrontend::showPanel):
39012        * inspector/front-end/inspector.js:
39013        (WebInspector.showTimelinePanel):
39014
390152009-10-30  Kenneth Rohde Christiansen  <kenneth@webkit.org>
39016
39017        Reviewed by Holger Hans Peter Freyther.
39018
39019        If the owner widget of the page has a palette set, we
39020        should use that one. This was only working when the
39021        owner was a QWebView. This patch fixes that.
39022
39023        * platform/qt/RenderThemeQt.cpp:
39024        (WebCore::RenderThemeQt::applyTheme):
39025
390262009-10-30  Pavel Feldman  <pfeldman@chromium.org>
39027
39028        Not reviewed: Wire CookieJarChromium to the cookies
39029        backend. This is a final step of a 3-steps raw cookies
39030        access implementation in Chromium.
39031
39032        * platform/network/chromium/CookieJarChromium.cpp:
39033        (WebCore::getRawCookies):
39034        (WebCore::deleteCookie):
39035
390362009-10-30  Yury Semikhatsky  <yurys@chromium.org>
39037
39038        Reviewed by Pavel Feldman.
39039
39040        Fix Chromium crash in console.log in "deeply recursive" function 
39041
39042        Check that result of 'frameSourceName' is not null handle
39043        before casting it to String. 
39044      
39045        Allow V8Proxy::sourceName/sourceLineNumber() to report
39046        that they have failed due to JavaScript stack overflow.
39047
39048        https://bugs.webkit.org/show_bug.cgi?id=30904
39049
39050        * bindings/scripts/CodeGeneratorV8.pm:
39051        * bindings/v8/ScriptCallStack.cpp:
39052        (WebCore::ScriptCallStack::create):
39053        (WebCore::ScriptCallStack::ScriptCallStack):
39054        * bindings/v8/ScriptCallStack.h:
39055        * bindings/v8/V8Proxy.cpp:
39056        (WebCore::V8Proxy::sourceLineNumber):
39057        (WebCore::V8Proxy::sourceName):
39058        * bindings/v8/V8Proxy.h:
39059        * bindings/v8/custom/V8WorkerContextCustom.cpp:
39060        (WebCore::CALLBACK_FUNC_DECL):
39061
390622009-10-30  Zoltan Horvath  <zoltan@webkit.org>
39063
39064        Reviewed by Darin Adler.
39065
39066        Allow custom memory allocation control for WebCore's MediaQuery
39067        https://bugs.webkit.org/show_bug.cgi?id=30856
39068
39069        Inherits MediaQuery class from Noncopyable because it is
39070        instantiated by 'new' in WebCore/css/CSSParser.cpp:4905 and
39071        it is no need to be copyable.
39072
39073        * css/CSSStyleSelector.h:
39074
390752009-10-30  Zoltan Horvath  <zoltan@webkit.org>
39076
39077        Reviewed by Darin Adler.
39078
39079        Allow custom memory allocation control for WebCore's MediaQueryExp
39080        https://bugs.webkit.org/show_bug.cgi?id=30855
39081
39082        Inherits MediaQueryExp class from FastAllocBase because it is
39083        instantiated by 'new' in WebCore/css/CSSParser.cpp:4874.
39084
39085        * css/MediaQueryExp.h:
39086
390872009-10-30  Roland Steiner  <rolandsteiner@chromium.org>
39088
39089        Reviewed by Eric Seidel.
39090
39091        Remove ENABLE_RUBY guards as discussed with Dave Hyatt and Maciej Stachowiak.
39092
39093        Bug 28420 -  Implement HTML5 <ruby> rendering
39094        (https://bugs.webkit.org/show_bug.cgi?id=28420)
39095
39096        No new tests (no functional change).
39097
39098        * Configurations/FeatureDefines.xcconfig:
39099        * DerivedSources.make:
39100        * GNUmakefile.am:
39101        * WebCore.pro:
39102        * WebCore.vcproj/WebCoreCommon.vsprops:
39103        * WebCore.vcproj/build-generated-files.sh:
39104
391052009-10-30  Dan Bernstein  <mitz@apple.com>
39106
39107        Reviewed by Adele Peterson.
39108
39109        Removed test for an impossible condition (a glyph in a right-to-left run not having
39110        the RTL flag 0x800)
39111
39112        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
39113        (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation):
39114
391152009-10-29  Adam Barth  <abarth@webkit.org>
39116
39117        Reviewed by Dimitri Glazkov.
39118
39119        [V8] Out-of-memory crash in isolated worlds
39120        https://bugs.webkit.org/show_bug.cgi?id=30906
39121
39122        We need to handle the fact that creating a V8:Context might fail.  I
39123        don't know how to test this change because creating a context usually
39124        only fails when V8 decides it's using too much memory.
39125
39126        * bindings/v8/V8IsolatedWorld.cpp:
39127        (WebCore::V8IsolatedWorld::V8IsolatedWorld):
39128        * bindings/v8/V8Proxy.cpp:
39129        (WebCore::V8Proxy::evaluateInIsolatedWorld):
39130        (WebCore::V8Proxy::evaluateInNewContext):
39131
391322009-10-29  Erik Arvidsson  <arv@chromium.org>
39133
39134        Reviewed by Eric Seidel.
39135
39136        Make links mouse focusable only on GTK and QT.
39137
39138        Links are now always mouse focusable on GTK and QT. On other platforms
39139        the link needs a tabIndex or it needs to be contentEditable.
39140
39141        https://bugs.webkit.org/show_bug.cgi?id=26856
39142
39143        * html/HTMLAnchorElement.cpp:
39144        (WebCore::HTMLAnchorElement::isMouseFocusable):
39145
391462009-10-29  Dan Bernstein  <mitz@apple.com>
39147
39148        Reviewed by Sam Weinig.
39149
39150        Complete the fix for hit-testing and selection highlighting in ligatures for the ATSUI
39151        code path.
39152
39153        * platform/graphics/mac/ComplexTextController.h: Added m_ltr member to ComplexTextRun.
39154        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
39155        (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation): Skip over deleted
39156        glyphs, but update indexes and advances correctly.
39157        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Initialize m_ltr.
39158
391592009-10-29  Enrica Casucci  <enrica@apple.com>
39160
39161        Reviewed by Darin Adler.
39162
39163        REGRESSION(3.2.3 - 4.0.2): Message composing: when I undo a color change to text in Mail, undo/redo behaves strangely
39164        <rdar://problem/7115041>
39165        https://bugs.webkit.org/show_bug.cgi?id=30892
39166
39167        This problem shows in any scenario where it is necessary to split a text
39168        node to apply a style. SplitElementCommand and WrapContentsInDummySpanCommand both
39169        have member variables initialized in the constructor to keep reference to elements
39170        they need to operate upon. These reference are not updated when reapplying the command.
39171        For this reason it is necessary to guarantee that unapply doesn not delete the references
39172        and that these commands implement doReapply to correctly reuse the existing
39173        elements.
39174
39175        Test: editing/undo/redo-style.html
39176
39177        * editing/SplitElementCommand.cpp:
39178        (WebCore::SplitElementCommand::executeApply): Added.
39179        (WebCore::SplitElementCommand::doApply): Modified to call executeApply. 
39180        (WebCore::SplitElementCommand::doUnapply): Doesn't release m_element1.
39181        (WebCore::SplitElementCommand::doReapply): Added.
39182        * editing/SplitElementCommand.h: Added doReapply and executeApply.
39183        * editing/WrapContentsInDummySpanCommand.cpp:
39184        (WebCore::WrapContentsInDummySpanCommand::executeApply): Added.
39185        (WebCore::WrapContentsInDummySpanCommand::doApply): Modified to call executeApply.
39186        (WebCore::WrapContentsInDummySpanCommand::doUnapply): Doesn't release m_dummySpan.
39187        (WebCore::WrapContentsInDummySpanCommand::doReapply): Added.
39188        * editing/WrapContentsInDummySpanCommand.h: Added doReapply and executeApply.
39189
391902009-10-29  Jeremy Orlow  <jorlow@chromium.org>
39191
39192        Reviewed by Darin Fisher.
39193
39194        DOM Storage's condition variable needs to handle spurious wakeups
39195        https://bugs.webkit.org/show_bug.cgi?id=30920
39196
39197        Add a boolean to keep track of whether it's been terminated.  Clean
39198        up the locking code a tiny bit to make it easier to read.  There's
39199        no way to reproduce this reliably in a LayoutTest.
39200
39201        * storage/LocalStorageThread.cpp:
39202        (WebCore::LocalStorageThread::LocalStorageThread):
39203        (WebCore::LocalStorageThread::terminate):
39204        (WebCore::LocalStorageThread::performTerminate):
39205        * storage/LocalStorageThread.h:
39206
392072009-10-29  Dimitri Glazkov  <dglazkov@chromium.org>
39208
39209        Unreviewed, build fix.
39210
39211        [Chromium] Include ComplextTextController into Chromium Mac project.
39212
39213        * WebCore.gyp/WebCore.gyp: Added include rule for ComplextText* files.
39214
392152009-10-29  Timothy Hatcher  <timothy@apple.com>
39216
39217        Fix tabbing through element attributes in the Web Insector.
39218
39219        https://bugs.webkit.org/show_bug.cgi?id=30429
39220
39221        Reviewed by Pavel Feldman.
39222
39223        * inspector/front-end/ElementsTreeOutline.js:
39224        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted): Don't call _updateTitle,
39225        it is called for us when removeAttribute succeeds in the back-end.
39226        (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted): Ditto except for nodeValue.
39227        (WebInspector.ElementsTreeElement.prototype._editingCancelled): Don't call _updateTitle, editing code reverts.
39228        (WebInspector.ElementsTreeElement.prototype._updateTitle): Return early if we are editing.
39229
392302009-10-29  Dan Bernstein  <mitz@apple.com>
39231
39232        Reviewed by Sam Weinig.
39233
39234        Problem editing or selecting text containing ligatures
39235        https://bugs.webkit.org/show_bug.cgi?id=30025
39236
39237        Test: platform/mac/fast/text/ligature-subdivision.html
39238
39239        * platform/graphics/mac/ComplexTextController.cpp:
39240        (WebCore::ComplexTextController::ComplexTextController): Initialize
39241        m_characterInCurrentGlyph.
39242        (WebCore::ComplexTextController::offsetForPosition): If the hit glyph spans multiple
39243        characters, compute the hit character based on dividing the glyph’s total advance into
39244        a number of equal intervals equal to the number of characters and assigning the hit to the
39245        character corresponding to the hit interval.
39246        (WebCore::ComplexTextController::advance): If the final offset occurs mid-glyph, advance
39247        by a fraction of the glyph’s total advance.
39248        * platform/graphics/mac/ComplexTextController.h: Added m_characterInCurrentGlyph.
39249
392502009-10-29  Brian Weinstein  <bweinstein@apple.com>
39251
39252        Reviewed by Timothy Hatcher.
39253
39254        Fixes <http://webkit.org/b/30918>.
39255        Web Inspector: Datagrid Rows on Windows not properly aligned.
39256        
39257        Use line-height for the table rows to make sure the height
39258        of our text and the height of the table rows are consistent.
39259
39260        * inspector/front-end/inspector.css:
39261
392622009-10-29  Adam Barth  <abarth@webkit.org>
39263
39264        No review, rolling out r50296.
39265        http://trac.webkit.org/changeset/50296
39266
39267        * bindings/v8/V8IsolatedWorld.cpp:
39268        (WebCore::V8IsolatedWorld::V8IsolatedWorld):
39269        * bindings/v8/V8Proxy.cpp:
39270        (WebCore::V8Proxy::evaluateInIsolatedWorld):
39271        (WebCore::V8Proxy::evaluateInNewContext):
39272
392732009-10-29  Adam Barth  <abarth@webkit.org>
39274
39275        Reviewed by Dimitri Glazkov.
39276
39277        [V8] Out-of-memory crash in isolated worlds
39278        https://bugs.webkit.org/show_bug.cgi?id=30906
39279
39280        We need to handle the fact that creating a V8:Context might fail.  I
39281        don't know how to test this change because creating a context usually
39282        only fails when V8 decides it's using too much memory.
39283
39284        * bindings/v8/V8IsolatedWorld.cpp:
39285        (WebCore::V8IsolatedWorld::V8IsolatedWorld):
39286        * bindings/v8/V8Proxy.cpp:
39287        (WebCore::V8Proxy::evaluateInIsolatedWorld):
39288        (WebCore::V8Proxy::evaluateInNewContext):
39289
392902009-10-29  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
39291
39292        Reviewed by Xan Lopez.
39293
39294        Remove build warning introduced by r50284.
39295
39296        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
39297        (WebCore::MediaPlayerPrivate::duration):
39298
392992009-10-29  Dimitri Glazkov  <dglazkov@chromium.org>
39300
39301        Reviewed by Adam Barth.
39302
39303        [V8] Remove random crashes by removing retrieval of V8 context during garbage collection.
39304
39305        https://bugs.webkit.org/show_bug.cgi?id=30919
39306
39307        Unfortunately, I haven't been able to trigger this crash explicitly, so no test :(.
39308
39309        * bindings/v8/V8DOMWrapper.cpp:
39310        (WebCore::V8DOMWrapper::jsWrapperForDOMObject): Added new "assume-it's-there" getter.
39311        * bindings/v8/V8DOMWrapper.h: Added getter decl.
39312        * bindings/v8/V8GCController.cpp:
39313        (WebCore::GCPrologueVisitor::visitDOMWrapper): Changed to use explicit getter.
39314
393152009-10-29  Dimitri Glazkov  <dglazkov@chromium.org>
39316
39317        Unreviewed, build fix.
39318
39319        [Chromium] Adjust the project files to sync up with
39320        http://trac.webkit.org/changeset/50259
39321
39322        * WebCore.gypi: Renamed and added files.
39323
393242009-10-29  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
39325
39326        Reviewed by Tor Arne Vestbø.
39327
39328        [Qt] Implement DELETE HTTP method for XmlHttpRequest
39329        https://bugs.webkit.org/show_bug.cgi?id=30894
39330
39331        No new tests as this functionality is already tested by the 
39332        xmlhttprequest LayoutTests. As this patch depends on an unreleased
39333        version of the dependent QtNetwork library and the tests will be
39334        enabled later once the dependent library is released (and the
39335        buildbot is updated).
39336
39337        * platform/network/qt/QNetworkReplyHandler.cpp:
39338        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
39339        (WebCore::QNetworkReplyHandler::start):
39340
393412009-10-29  Brian Weinstein  <bweinstein@apple.com>
39342
39343        Reviewed by Timothy Hatcher.
39344
39345        Part of <http://webkit.org/b/30483>.
39346        Web Inspector: Always show the Local and Session Storage Views.
39347        
39348        Even if the length of the DOM Storage entry array is 0, still
39349        generate the Datagrid because users can add things storage items
39350        through the UI, so we should allow them to even if there isn't
39351        anything there currently.
39352
39353        * English.lproj/localizedStrings.js: Removed "This Storage is Empty".
39354        * inspector/front-end/DOMStorageItemsView.js:
39355        (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
39356
393572009-10-29  Pavel Feldman  <pfeldman@chromium.org>
39358
39359        Reviewed by Timothy Hatcher.
39360
39361        Web Inspector: Add TimelinePanel into the panels enum.
39362
39363        https://bugs.webkit.org/show_bug.cgi?id=30915
39364
39365        * inspector/InspectorController.cpp:
39366        (WebCore::InspectorController::specialPanelForJSName):
39367        * inspector/InspectorController.h:
39368        (WebCore::InspectorController::):
39369
393702009-10-29  Xan Lopez  <xlopez@igalia.com>
39371
39372        Reviewed by Oliver Hunt.
39373
39374        [GTK] Threading problems with some of the tests
39375        https://bugs.webkit.org/show_bug.cgi?id=30814
39376
39377        Create strings shared among threads with crossThreadString
39378        constructor method.
39379
39380        * storage/Database.cpp:
39381        (WebCore::Database::Database):
39382
393832009-10-29  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
39384
39385        Reviewed by Gustavo Noronha.
39386
39387        https://bugs.webkit.org/show_bug.cgi?id=30308
39388        
39389        Add support for ARGB videos.
39390
39391        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
39392        (WebCore::MediaPlayerPrivate::paint):
39393        Create the Cairo image surface for ARGB32 or RGB24
39394        depending on the buffer's caps.
39395        
39396        * platform/graphics/gtk/VideoSinkGStreamer.cpp:
39397        (webkit_video_sink_timeout_func):
39398        (webkit_video_sink_render):
39399        Handle ARGB video and convert GStreamer's ARGB to
39400        Cairo's for displaying.
39401
394022009-10-29  Anton Muhin  <antonm@chromium.org>
39403
39404        Reviewed by David Levin.
39405
39406        [chromium] expose a method to access memory usage information in ChromiumBridge
39407        Declare a static method to be implemented by http://codereview.chromium.org/332010/
39408        https://bugs.webkit.org/show_bug.cgi?id=30829
39409
39410        * platform/chromium/ChromiumBridge.h:
39411
394122009-10-29  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
39413
39414        Reviewed by Xan Lopez.
39415
39416        https://bugs.webkit.org/show_bug.cgi?id=25679
39417        [Gtk] Improve accessibility of focusable lists
39418
39419        Implements the AtkSelection interface and enables the corresponding
39420        (and expected) object:selection-changed event.
39421
39422        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
39423        (optionFromList):
39424        (optionFromSelection):
39425        (atk_selection_interface_init):
39426        (webkit_accessible_selection_add_selection):
39427        (webkit_accessible_selection_clear_selection):
39428        (webkit_accessible_selection_ref_selection):
39429        (webkit_accessible_selection_get_selection_count):
39430        (webkit_accessible_selection_is_child_selected):
39431        (webkit_accessible_selection_remove_selection):
39432        (webkit_accessible_selection_select_all_selection):
39433        (GetAtkInterfaceTypeFromWAIType):
39434        * accessibility/gtk/AXObjectCacheAtk.cpp:
39435        (AXObjectCache::postPlatformNotification):
39436
394372009-10-29  Jian Li  <jianli@chromium.org>
39438
39439        Reviewed by Darin Adler.
39440
39441        Bug 30655 - Only plain text should be copied to clipboard for TextArea.
39442        https://bugs.webkit.org/show_bug.cgi?id=30655
39443
39444        * editing/Editor.cpp:
39445        (WebCore::nodeIsInTextFormControl):
39446        (WebCore::Editor::cut):
39447        (WebCore::Editor::copy):
39448
394492009-10-29  Pavel Feldman  <pfeldman@chromium.org>
39450
39451        Reviewed by Timothy Hatcher.
39452
39453        Web Inspector: hide timeline for now - not yet ready.
39454
39455        https://bugs.webkit.org/show_bug.cgi?id=30912
39456
39457        * inspector/front-end/inspector.js:
39458        (WebInspector._createPanels):
39459
394602009-10-29  Pavel Feldman  <pfeldman@chromium.org>
39461
39462        Not reviewed: deploy Web Inspector's images in WebCore.gypi.
39463
39464        * WebCore.gypi:
39465
394662009-10-29  Pavel Feldman  <pfeldman@chromium.org>
39467
39468        Reviewed by Timothy Hatcher.
39469
39470        Web Inspector: get rid of timelineProfilerEnabled method.
39471
39472        https://bugs.webkit.org/show_bug.cgi?id=30911
39473
39474        * inspector/InspectorBackend.cpp:
39475        * inspector/InspectorBackend.h:
39476        * inspector/InspectorBackend.idl:
39477        * inspector/InspectorController.cpp:
39478        (WebCore::InspectorController::setWindowVisible):
39479        * inspector/InspectorController.h:
39480        * inspector/front-end/TimelinePanel.js:
39481        (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
39482
394832009-10-29  Pavel Feldman  <pfeldman@chromium.org>
39484
39485        Reviewed by Darin Fisher.
39486
39487        Create stub methods for raw cookies access in ChromiumBridge.h
39488
39489        https://bugs.webkit.org/show_bug.cgi?id=30910
39490
39491        * platform/chromium/ChromiumBridge.h:
39492
394932009-10-29  Zoltan Horvath  <zoltan@webkit.org>
39494
39495        Reviewed by Darin Adler.
39496
39497        Allow custom memory allocation control for WebCore's RareData
39498        https://bugs.webkit.org/show_bug.cgi?id=30858
39499
39500        Inherits RareData struct from Noncopyable because it is
39501        instantiated by 'new' in WebCore/css/CSSSelector.h:259 and 
39502        it is no need to be copyable.
39503
39504        * css/CSSSelector.h:
39505
395062009-10-29  Zoltan Horvath  <zoltan@webkit.org>
39507
39508        Reviewed by Darin Adler.
39509
39510        Allow custom memory allocation control for WebCore's ShorthandScope
39511        https://bugs.webkit.org/show_bug.cgi?id=30859
39512
39513        Inherits ShorthandScope class from FastAllocBase because it is 
39514        instantiated by 'new' in WebCore/css/CSSParser.cpp:902 and 
39515        it is no need to be copyable.        
39516
39517        * css/CSSParser.h:
39518
395192009-10-29  Zoltan Horvath  <zoltan@webkit.org>
39520
39521        Reviewed by Darin Adler.
39522
39523        Allow custom memory allocation control for WebCore's AXObjectCache
39524        https://bugs.webkit.org/show_bug.cgi?id=30848
39525
39526        Inherits AXObjectCache class from FastAllocBase because it is
39527        instantiated by 'new' in WebCore/dom/Document.cpp:1537 and                                
39528        it is no need to be copyable.
39529
39530        * accessibility/AXObjectCache.h:
39531
395322009-10-28  Adam Barth  <abarth@webkit.org>
39533
39534        Reviewed by Eric Seidel.
39535
39536        Don't run JavaScript URLs in view source mode
39537        https://bugs.webkit.org/show_bug.cgi?id=30881
39538
39539        Just say no.
39540
39541        Test: http/tests/security/view-source-no-javascript-url.html
39542
39543        * bindings/ScriptControllerBase.cpp:
39544        (WebCore::ScriptController::executeIfJavaScriptURL):
39545
395462009-10-29  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
39547
39548        Unreviewed. Fixes style problems pointed out by Evan Martin.
39549
39550        * platform/gtk/Language.cpp:
39551        (WebCore::defaultLanguage):
39552
395532009-10-29  Dan Bernstein  <mitz@apple.com>
39554
39555        Rubber-stamped by Mark Rowe.
39556
39557        64-bit Leopard build fix after r50259
39558        
39559        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
39560        Declared ATSUTextInserted in 64-bit.
39561        (WebCore::fontHasMirroringInfo): Use %d format and cast to int.
39562        (WebCore::disableLigatures): Ditto.
39563        (WebCore::initializeATSUStyle): Ditto.
39564        (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Ditto.
39565
395662009-10-29  Dan Bernstein  <mitz@apple.com>
39567
39568        Tiger build fix after r50259
39569
39570        * platform/graphics/mac/ComplexTextController.h:
39571        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
39572
395732009-10-29  Dan Bernstein  <mitz@apple.com>
39574
39575        Attempted Tiger build fix after r50259
39576
39577        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
39578
395792009-10-28  Steve Falkenburg  <sfalken@apple.com>
39580
39581        Rubber stamped by Mark Rowe.
39582
39583        https://bugs.webkit.org/show_bug.cgi?id=30899
39584        WebKit fails to build release on 32-bit Windows systems
39585
39586        * WebCore.vcproj/WebCore.vcproj: Excluded files from project.
39587        * bindings/js/JSBindingsAllInOne.cpp: Added.
39588
395892009-10-28  Dan Bernstein  <mitz@apple.com>
39590
39591        Reviewed by Jon Honeycutt.
39592
39593        Fixed typos in color names.
39594
39595        * inspector/front-end/Color.js:
39596
395972009-10-28  Dan Bernstein  <mitz@apple.com>
39598
39599        Reviewed by Sam Weinig.
39600
39601        Share code between the ATSUI- and Core Text-based Font implementations by doing the
39602        following:
39603        - Generalize CoreTextController as ComplexTextController, keeping the Core Text-specific
39604          parts in ComplexTextControllerCoreText.cpp.
39605        - Generalize FontMacCoreText as FontComplexTextMac using ComplexTextController
39606        - Implement ATSUI-specific parts of ComplexTextController in ComplexTextControllerATSUI.
39607        - Remove FontMacATSUI.
39608
39609        * WebCore.xcodeproj/project.pbxproj: Removed CoreTextController.{cpp,h}, FontMacATSUI.mm,
39610        and FontMacCoreText.cpp, and added ComplexTextController.{cpp,h},
39611        ComplexTextControllerATSUI.cpp, ComplexTextControllerCoreText.cpp, and
39612        FontComplexTextMac.cpp.
39613
39614        * platform/graphics/mac/ComplexTextController.cpp: Copied from CoreTextController.cpp and
39615        kept the non-Core Text-specific bits.
39616        (WebCore::ComplexTextController::ComplexTextController): Updated for renames, including
39617        its own.
39618        (WebCore::ComplexTextController::offsetForPosition): Updated for renames and for
39619        m_complexTextRuns holding references instead of objects.
39620        (WebCore::ComplexTextController::collectComplexTextRuns): Updated for renames, including
39621        its own.
39622        (WebCore::ComplexTextController::advance): Updated for renames.
39623        (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Updated for renames and for
39624        m_complexTextRuns holding references instead of objects, and changed to use the glyphs()
39625        and advances() accessors.
39626
39627        * platform/graphics/mac/ComplexTextController.h: Copied from CoreTextController.h and
39628        renamed CoreTextController to ComplexTextController and CoreTextRun to ComplexTextRun. Made
39629        the latter RefCounted, added ATSUI-specific members to it, and made some other members
39630        Core Text-specific. Renamed m_coreTextRuns to m_complexTextRuns and made it hold references
39631        rather than objects.
39632        (WebCore::ComplexTextController::ComplexTextRun::create):
39633        (WebCore::ComplexTextController::ComplexTextRun::glyphs):
39634        (WebCore::ComplexTextController::ComplexTextRun::advances):
39635
39636        * platform/graphics/mac/ComplexTextControllerATSUI.cpp: Added. Includes ATSUI-specific
39637        parts of the ComplexTextController implementation. 
39638        (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation): This ATSUI
39639        callback populates the ComplexTextRun’s glyphs, advances and indices vectors. It is invoked
39640        when the ComplexTextRun constructor calls ATSUGetGlyphBounds().
39641        (WebCore::isArabicLamWithAlefLigature): Helper function, copied from FontMacATSUI.mm.
39642        (WebCore::shapeArabic): Helper function, adapted from FontMacATSUI.mm.
39643        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Sets up the
39644        ATSUTextLayout, substituting the text buffer if necessary for things like shaping Arabic,
39645        mirroring glyphs or directionality overrides, then calls ATSUGetGlyphBounds() in order to
39646        get the glyphs, advances and indices vectors populated.
39647        (WebCore::fontHasMirroringInfo): Helper function, copied from FontMacATSUI.mm.
39648        (WebCore::disableLigatures): Ditto.
39649        (WebCore::initializeATSUStyle): Ditto, somewhat cleaned up and simplified.
39650        (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Constructs
39651        ComplexTextRuns, either missing-glyphs ones or ATSUTextLayout-based ones.
39652
39653        * platform/graphics/mac/ComplexTextControllerCoreText.cpp: Copied from
39654        CoreTextController.cpp and kept the Core Text-specific bits.
39655        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Updated for renames,
39656        including its own, and moved the code to initialize m_glyphs and m_advances here. Previously
39657        this was done in adjustGlyphsAndAdvances().
39658        (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Updated for renames,
39659        including its own.
39660        * platform/graphics/mac/CoreTextController.cpp: Removed.
39661        * platform/graphics/mac/CoreTextController.h: Removed.
39662        * platform/graphics/mac/FontComplexTextMac.cpp: Renamed FontMacCoreText.cpp to this.
39663        (WebCore::Font::selectionRectForComplexText): Changed to use ComplexTextController instead
39664        of CoreTextController.
39665        (WebCore::Font::drawComplexText): Ditto.
39666        (WebCore::Font::floatWidthForComplexText): Ditto.
39667        (WebCore::Font::offsetForPositionForComplexText): Ditto.
39668        * platform/graphics/mac/FontMacATSUI.mm: Removed.
39669        * platform/graphics/mac/FontMacCoreText.cpp: Removed.
39670
396712009-10-27  Chris Fleizach  <cfleizach@apple.com>
39672
39673        Reviewed by Darin Adler.
39674
39675        WAI-ARIA: add support for 'option' role
39676        https://bugs.webkit.org/show_bug.cgi?id=30843
39677
39678        Test: accessibility/aria-option-role.html
39679
39680        * accessibility/AccessibilityListBoxOption.h:
39681        (WebCore::AccessibilityListBoxOption::canHaveChildren):
39682        * accessibility/AccessibilityRenderObject.cpp:
39683        (WebCore::RoleEntry::):
39684        (WebCore::AccessibilityRenderObject::canHaveChildren):
39685
396862009-10-28  Jens Alfke  <snej@chromium.org>
39687
39688        Reviewed by Eric Seidel.
39689
39690        Fix GCC compiler warnings in WebCore, and enable -Wall and -Werror for Chromium build.
39691        https://bugs.webkit.org/show_bug.cgi?id=30716
39692
39693        * WebCore.gyp/WebCore.gyp:  Enable "chromium_code" flag, just on Mac build for now.
39694        * accessibility/AccessibilityRenderObject.cpp:
39695        (WebCore::createARIARoleMap):  Fix struct visibiity warning.
39696        * bindings/v8/ScriptCallStack.h:  Fix out-of-order member initialization warning.
39697        * bindings/v8/V8Collection.h:
39698        (WebCore::getV8Object):  Function in header should not be 'static' (fixes unused-static warning.)
39699        * bindings/v8/V8DOMWrapper.cpp:
39700        (WebCore::V8DOMWrapper::convertNewNodeToV8Object):  Fix signed/unsigned comparison warning.
39701        * bindings/v8/V8GCController.cpp:
39702        (WebCore::ObjectGrouperVisitor::applyGrouping):  Fix unused-variable warning.
39703        * css/CSSPrimitiveValueMappings.h:
39704        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):  Enable ListButtonPart case to avoid
39705            warning about missing cases in 'switch' statement.
39706        * editing/EditorCommand.cpp:
39707        (WebCore::createCommandMap):  Fix struct visibiity warning.
39708        * platform/graphics/skia/PlatformContextSkia.cpp:
39709        (PlatformContextSkia::State::State):  Fix out-of-order member initialization warning.
39710        * rendering/RenderMediaControlsChromium.cpp:
39711        (WebCore::RenderMediaControlsChromium::shouldRenderMediaControlPart):  Add empty 'default' case in
39712            'switch' statement to avoid missing-case warning.
39713        (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):  Ditto.
39714        * xml/XPathFunctions.cpp:
39715        (WebCore::XPath::createFunctionMap):  Fix struct visibiity warning.
39716
397172009-10-29  Adam Barth  <abarth@webkit.org>
39718
39719        Reviewed by Darin Adler.
39720
39721        REGRESSION: crashes in WebCore::RedirectScheduler::timerFired(WebCore::Timer<WebCore::RedirectScheduler>*)
39722        https://bugs.webkit.org/show_bug.cgi?id=30839
39723
39724        Added null check for the case when the frame is detached from the page.
39725
39726        * loader/RedirectScheduler.cpp:
39727        (WebCore::RedirectScheduler::timerFired):
39728
397292009-10-28  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
39730
39731        Reviewed by Xan Lopez.
39732
39733        https://bugs.webkit.org/show_bug.cgi?id=30817
39734        Use parentObjectUnignored instead of parentObject in webkit_accessible_get_parent
39735
39736        Also removes the hack I had originally added to solve bug 25411, because
39737        the fix here is what I should have done in the first place.
39738
39739        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
39740        (webkit_accessible_get_parent):
39741
397422009-10-28  Dmitry Titov  <dimich@chromium.org>
39743
39744        Reviewed by David Levin.
39745
39746        https://bugs.webkit.org/show_bug.cgi?id=30805
39747        Add MessageQueue::removeIf(Predicate&) to remove certain tasks without pulling them from the queue.
39748        Existing Database tests cover this, no change in functionality.
39749
39750        * storage/DatabaseThread.cpp:
39751        (WebCore::SameDatabasePredicate::SameDatabasePredicate): Added predicate that flags the tasks belonging to a specified database.
39752        (WebCore::SameDatabasePredicate::operator()):
39753        (WebCore::DatabaseThread::unscheduleDatabaseTasks): changed to use the new removeIf method.
39754
397552009-10-28  Pavel Feldman  <pfeldman@chromium.org>
39756
39757        Reviewed by Timothy Hatcher.
39758
39759        Web Inspector: Glue subsequent timeline records with same category
39760        and title together.
39761
39762        https://bugs.webkit.org/show_bug.cgi?id=30885
39763
39764        * English.lproj/localizedStrings.js:
39765        * inspector/front-end/TimelinePanel.js:
39766        (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
39767        (WebInspector.TimelinePanel.prototype._formatRecord):
39768        (WebInspector.TimelineRecordTreeElement.prototype.onattach):
39769        (WebInspector.TimelineRecordTreeElement.prototype.refresh):
39770
397712009-10-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
39772
39773        Reviewed by Xan Lopez.
39774
39775        [GTK] Fails new test fast/js/navigator-language.html
39776        https://bugs.webkit.org/show_bug.cgi?id=30440
39777
39778        Reimplement WebCore::defaultLanguage to account for changes in
39779        locale done by setLocale.
39780
39781        Already existing test: fast/js/navigator-language.html
39782
39783        * platform/gtk/Language.cpp:
39784        (WebCore::defaultLanguage):
39785
397862009-10-28  Eric Carlson  <eric.carlson@apple.com>
39787
39788        Reviewed by Simon Fraser.
39789
39790        <rdar://problem/7303145> 
39791        Can't exit full screen mode or restart movie after pressing command -R.
39792
39793        * html/HTMLMediaElement.cpp:
39794        (WebCore::HTMLMediaElement::removedFromDocument):
39795        (WebCore::HTMLMediaElement::documentWillBecomeInactive):
39796            Exit from fullscreen if necessary.
39797        * html/HTMLMediaElement.h:
39798
397992009-10-28  Alexey Proskuryakov  <ap@apple.com>
39800
39801        Unreviewed - a trivial fix to get Windows bots running.
39802
39803        https://bugs.webkit.org/show_bug.cgi?id=30841
39804        <rdar://problem/7342730> WebKit should not pass Referer header through a redirect to a non-secure site
39805
39806        * platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::setHeaderFields): Don't try to
39807        access empty vector's data.
39808
398092009-10-28  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
39810
39811        Reviewed by Xan Lopez.
39812
39813        https://bugs.webkit.org/show_bug.cgi?id=25897
39814        [Gtk] Extraneous object of ROLE_PANEL in hierarchy for entries
39815
39816        Remove the extraneous object of ROLE_PANEL.
39817
39818        * accessibility/gtk/AccessibilityObjectAtk.cpp:
39819        (AccessibilityObject::accessibilityPlatformIncludesObject):
39820
398212009-10-28  Jonathan Dixon  <joth@chromium.org>
39822
39823        Reviewed by Eric Seidel.
39824
39825        Bug 30547: (Chromium) searchbox not rendered properly due to the css property -webkit-border-radius
39826        https://bugs.webkit.org/show_bug.cgi?id=30547
39827
39828        Test: fast/css/text-input-with-webkit-border-radius.html
39829
39830        * rendering/RenderThemeChromiumWin.cpp:
39831        (WebCore::RenderThemeChromiumWin::paintTextFieldInternal):
39832          Implemented rounded border rendering in Chromium Windows theme renderer.
39833
398342009-10-28  Pavel Feldman  <pfeldman@chromium.org>
39835
39836        Reviewed by Timothy Hatcher.
39837
39838        Web Inspector: Pull items collections from resources panel and
39839        timeline panel into AbstractTimelinePanel.
39840
39841        https://bugs.webkit.org/show_bug.cgi?id=30875
39842
39843        * inspector/front-end/AbstractTimelinePanel.js:
39844        (WebInspector.AbstractTimelinePanel):
39845        (WebInspector.AbstractTimelinePanel.prototype.populateSidebar):
39846        (WebInspector.AbstractTimelinePanel.prototype.createItemTreeElement):
39847        (WebInspector.AbstractTimelinePanel.prototype.createItemGraph):
39848        (WebInspector.AbstractTimelinePanel.prototype._showCategory):
39849        (WebInspector.AbstractTimelinePanel.prototype._hideCategory):
39850        (WebInspector.AbstractTimelinePanel.prototype.filter):
39851        (WebInspector.AbstractTimelinePanel.prototype._createGraph):
39852        (WebInspector.AbstractTimelinePanel.prototype.updateMainViewWidth):
39853        (WebInspector.AbstractTimelinePanel.prototype.refresh):
39854        (WebInspector.AbstractTimelinePanel.prototype.reset):
39855        (WebInspector.AbstractTimelinePanel.prototype.get calculator):
39856        (WebInspector.AbstractTimelinePanel.prototype.set calculator):
39857        (WebInspector.AbstractTimelinePanel.prototype.addItem):
39858        (WebInspector.AbstractTimelinePanel.prototype.removeItem):
39859        (WebInspector.AbstractTimelinePanel.prototype.refreshItem):
39860        (WebInspector.AbstractTimelinePanel.prototype.revealAndSelectItem):
39861        (WebInspector.AbstractTimelinePanel.prototype.sortItems):
39862        (WebInspector.AbstractTimelinePanel.prototype.adjustScrollPosition):
39863        (WebInspector.AbstractTimelineCategory):
39864        (WebInspector.AbstractTimelineCategory.prototype.toString):
39865        * inspector/front-end/ResourceCategory.js:
39866        (WebInspector.ResourceCategory):
39867        * inspector/front-end/ResourcesPanel.js:
39868        (WebInspector.ResourcesPanel):
39869        (WebInspector.ResourcesPanel.prototype.createItemTreeElement):
39870        (WebInspector.ResourcesPanel.prototype.createItemGraph):
39871        (WebInspector.ResourcesPanel.prototype.isCategoryVisible):
39872        (WebInspector.ResourcesPanel.prototype.populateSidebar):
39873        (WebInspector.ResourcesPanel.prototype.get searchableViews):
39874        (WebInspector.ResourcesPanel.prototype.get searchResultsSortFunction.sortFuction):
39875        (WebInspector.ResourcesPanel.prototype.get searchResultsSortFunction):
39876        (WebInspector.ResourcesPanel.prototype.searchMatchFound):
39877        (WebInspector.ResourcesPanel.prototype.searchCanceled):
39878        (WebInspector.ResourcesPanel.prototype.performSearch):
39879        (WebInspector.ResourcesPanel.prototype.refresh):
39880        (WebInspector.ResourcesPanel.prototype.reset):
39881        (WebInspector.ResourcesPanel.prototype.removeResource):
39882        (WebInspector.ResourcesPanel.prototype.addMessageToResource):
39883        (WebInspector.ResourcesPanel.prototype.clearMessages):
39884        (WebInspector.ResourcesPanel.prototype.refreshResource):
39885        (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
39886        (WebInspector.ResourcesPanel.prototype.showResource):
39887        (WebInspector.ResourcesPanel.prototype._sortResourcesIfNeeded):
39888        (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
39889        (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
39890        (WebInspector.ResourcesPanel.prototype.get _resources):
39891        (WebInspector.ResourceTimeCalculator.prototype._upperBound):
39892        * inspector/front-end/TimelinePanel.js:
39893        (WebInspector.TimelinePanel):
39894        (WebInspector.TimelinePanel.prototype.get categories):
39895        (WebInspector.TimelinePanel.prototype.populateSidebar):
39896        (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
39897        (WebInspector.TimelinePanel.prototype.createItemTreeElement):
39898        (WebInspector.TimelinePanel.prototype.createItemGraph):
39899        (WebInspector.TimelinePanel.prototype._formatRecord):
39900        (WebInspector.TimelineCategory):
39901        * inspector/front-end/inspector.css:
39902        * inspector/front-end/inspector.html:
39903
399042009-10-28  Kelly Norton  <knorton@google.com>
39905
39906        Reviewed by Pavel Feldman.
39907
39908        Resets InspectorFrontend in InspectorTimelineAgent instead of removing it so
39909        that it remains active on refreshs and page transitions.
39910        https://bugs.webkit.org/show_bug.cgi?id=30874
39911
39912        * inspector/InspectorController.cpp:
39913        (WebCore::InspectorController::setFrontendProxyObject):
39914        * inspector/InspectorTimelineAgent.cpp:
39915        (WebCore::InspectorTimelineAgent::resetFrontendProxyObject):
39916        * inspector/InspectorTimelineAgent.h:
39917
399182009-10-27  Shinichiro Hamaji  <hamaji@chromium.org>
39919
39920        Reviewed by Darin Adler.
39921
39922        Provide a way to get counter values with layoutTestContoller
39923        https://bugs.webkit.org/show_bug.cgi?id=30555
39924
39925        Expose WebCore::counterValueForElement as a WebCore API.
39926
39927        * WebCore.base.exp:
39928        * rendering/RenderTreeAsText.cpp:
39929        (WebCore::writeCounterValuesFromChildren):
39930        (WebCore::counterValueForElement):
39931        * rendering/RenderTreeAsText.h:
39932
399332009-10-28  Nate Chapin  <japhet@chromium.org>
39934
39935        Unreviewed, Chromium build fix for r50225.
39936
39937        * loader/FrameLoader.cpp:
39938        (WebCore::FrameLoader::defaultObjectContentType):
39939
399402009-10-28  Eric Z. Ayers  <zundel@google.com>
39941
39942        Reviewed by Pavel Feldman.
39943
39944        Adds InspectorTimelineAgent  instrumentation for encountering a
39945        <SCRIPT> tag when parsing an HTML document. 
39946
39947        https://bugs.webkit.org/show_bug.cgi?id=30861
39948
39949        * bindings/js/ScriptSourceCode.h:
39950        (WebCore::ScriptSourceCode::ScriptSourceCode):
39951        (WebCore::ScriptSourceCode::startLine):
39952        (WebCore::ScriptSourceCode::url):
39953        * html/HTMLTokenizer.cpp:
39954        (WebCore::HTMLTokenizer::scriptHandler):
39955        (WebCore::HTMLTokenizer::scriptExecution):
39956        * inspector/InspectorTimelineAgent.cpp:
39957        (WebCore::InspectorTimelineAgent::willLoadXHR):
39958        (WebCore::InspectorTimelineAgent::willScriptTag):
39959        (WebCore::InspectorTimelineAgent::didScriptTag):
39960        * inspector/InspectorTimelineAgent.h:
39961        (WebCore::):
39962        * inspector/TimelineRecordFactory.cpp:
39963        (WebCore::TimelineRecordFactory::createScriptTagTimelineRecord):
39964        * inspector/TimelineRecordFactory.h:
39965        * inspector/front-end/TimelineAgent.js:
39966
399672009-10-28  Steve Block  <steveblock@google.com>
39968
39969        Reviewed by Darin Adler.
39970
39971        Makes sure that Geolocation watch IDs remain positive on overflow.
39972        https://bugs.webkit.org/show_bug.cgi?id=30122
39973
39974        No new tests possible.
39975
39976        * page/Geolocation.cpp: Modified.
39977        (WebCore::Geolocation::watchPosition): Modified. Reset the watch ID to 1 on overflow.
39978
399792009-10-28  George Staikos  <george.staikos@torchmobile.com>
39980
39981        Attempt to fix the Mac debug build after 50225.
39982
39983        * loader/FrameLoader.cpp:
39984        (WebCore::FrameLoader::defaultObjectContentType):
39985
399862009-10-28  Alexey Proskuryakov  <ap@apple.com>
39987
39988        Reviewed by Darin Adler.
39989
39990        https://bugs.webkit.org/show_bug.cgi?id=30841
39991        <rdar://problem/7342730> WebKit should not pass Referer header through a redirect to a non-secure site
39992
39993        Tests: http/tests/ssl/referer-301.html
39994               http/tests/ssl/referer-303.html
39995
39996        * platform/network/mac/ResourceHandleMac.mm:
39997        (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
39998        Remove Referer header if redirecting from https to another protocol.
39999
40000        * platform/network/ResourceRequestBase.cpp:
40001        (WebCore::ResourceRequestBase::clearHTTPReferrer): Update request counterparts, as it is
40002        always done when changing or adding header fields.
40003        (WebCore::ResourceRequestBase::clearHTTPOrigin): Ditto.
40004
40005        * platform/network/ResourceRequestBase.h: clearHTTPReferrer() and clearHTTPOrigin() are
40006        no longer inline, since they have non-trivial implementations.
40007
40008        * platform/network/mac/ResourceRequestMac.mm:
40009        (WebCore::ResourceRequest::doUpdatePlatformRequest): Fixed to synchronize header field removals.
40010        (WebCore::ResourceRequest::doUpdateResourceRequest): Ditto.
40011
40012        * platform/network/cf/ResourceHandleCFNet.cpp:
40013        (WebCore::willSendRequest):
40014        * platform/network/cf/ResourceRequestCFNet.cpp:
40015        (WebCore::setHeaderFields):
40016        (WebCore::ResourceRequest::doUpdatePlatformRequest):
40017        (WebCore::ResourceRequest::doUpdateResourceRequest):
40018        Match Mac changes.
40019        
400202009-10-28  Joe Mason  <jmason@rim.com>
40021
40022        Reviewed by Adam Treat.
40023
40024        Add FrameLoader::defaultObjectContentType, containing common code for
40025        implementing FrameLoaderClient::objectContentType.  (Currently the gtk
40026        and win ports have copied this code, and the qt port uses similar code
40027        with a few extra clauses.  Moving this to a utility function cuts down
40028        on copied code.)   This causes no behavioural change.
40029
40030        https://bugs.webkit.org/show_bug.cgi?id=30868
40031
40032        * loader/FrameLoader.cpp:
40033        (WebCore::FrameLoader::defaultObjectContentType):
40034        * loader/FrameLoader.h:
40035
400362009-10-28  Kenneth Rohde Christiansen  <kenneth@webkit.org>
40037
40038        Reviewed by Tor Arne Vestbø.
40039
40040        [Qt] QWebHistory::saveState() is inconsistent with the Qt API
40041        https://bugs.webkit.org/show_bug.cgi?id=30710
40042
40043        Enforce the versioning, by ignoring any version different
40044        from 1.
40045
40046        * history/qt/HistoryItemQt.cpp:
40047        (WebCore::HistoryItem::restoreState):
40048        (WebCore::HistoryItem::saveState):
40049
400502009-10-28  Pavel Feldman  <pfeldman@chromium.org>
40051
40052        Not reviewed: follow up fix to InspectorControllerStub.
40053        Define it after inspector.js due to namespace
40054
40055        https://bugs.webkit.org/show_bug.cgi?id=30866
40056
40057        * inspector/front-end/inspector.html:
40058
400592009-10-28  Pavel Feldman  <pfeldman@chromium.org>
40060
40061        Reviewed by Timothy Hatcher.
40062
40063        Web Inspector: Add InspectorController stub in order to
40064        support opening in standalone mode.
40065
40066        https://bugs.webkit.org/show_bug.cgi?id=30866
40067
40068        * WebCore.gypi:
40069        * WebCore.vcproj/WebCore.vcproj:
40070        * inspector/front-end/InspectorControllerStub.js: Added.
40071        (.WebInspector.InspectorControllerStub):
40072        (.WebInspector.InspectorControllerStub.prototype.wrapCallback):
40073        (.WebInspector.InspectorControllerStub.prototype.isWindowVisible):
40074        (.WebInspector.InspectorControllerStub.prototype.platform):
40075        (.WebInspector.InspectorControllerStub.prototype.closeWindow):
40076        (.WebInspector.InspectorControllerStub.prototype.attach):
40077        (.WebInspector.InspectorControllerStub.prototype.detach):
40078        (.WebInspector.InspectorControllerStub.prototype.storeLastActivePanel):
40079        (.WebInspector.InspectorControllerStub.prototype.clearMessages):
40080        (.WebInspector.InspectorControllerStub.prototype.searchingForNode):
40081        (.WebInspector.InspectorControllerStub.prototype.search):
40082        (.WebInspector.InspectorControllerStub.prototype.toggleNodeSearch):
40083        (.WebInspector.InspectorControllerStub.prototype.setAttachedWindowHeight):
40084        (.WebInspector.InspectorControllerStub.prototype.moveByUnrestricted):
40085        (.WebInspector.InspectorControllerStub.prototype.addResourceSourceToFrame):
40086        (.WebInspector.InspectorControllerStub.prototype.addSourceToFrame):
40087        (.WebInspector.InspectorControllerStub.prototype.getResourceDocumentNode):
40088        (.WebInspector.InspectorControllerStub.prototype.highlightDOMNode):
40089        (.WebInspector.InspectorControllerStub.prototype.hideDOMNodeHighlight):
40090        (.WebInspector.InspectorControllerStub.prototype.inspectedWindow):
40091        (.WebInspector.InspectorControllerStub.prototype.loaded):
40092        (.WebInspector.InspectorControllerStub.prototype.localizedStringsURL):
40093        (.WebInspector.InspectorControllerStub.prototype.windowUnloading):
40094        (.WebInspector.InspectorControllerStub.prototype.hiddenPanels):
40095        (.WebInspector.InspectorControllerStub.prototype.debuggerEnabled):
40096        (.WebInspector.InspectorControllerStub.prototype.enableResourceTracking):
40097        (.WebInspector.InspectorControllerStub.prototype.disableResourceTracking):
40098        (.WebInspector.InspectorControllerStub.prototype.resourceTrackingEnabled):
40099        (.WebInspector.InspectorControllerStub.prototype.enableDebugger):
40100        (.WebInspector.InspectorControllerStub.prototype.disableDebugger):
40101        (.WebInspector.InspectorControllerStub.prototype.addBreakpoint):
40102        (.WebInspector.InspectorControllerStub.prototype.removeBreakpoint):
40103        (.WebInspector.InspectorControllerStub.prototype.updateBreakpoint):
40104        (.WebInspector.InspectorControllerStub.prototype.pauseInDebugger):
40105        (.WebInspector.InspectorControllerStub.prototype.pauseOnExceptions):
40106        (.WebInspector.InspectorControllerStub.prototype.setPauseOnExceptions):
40107        (.WebInspector.InspectorControllerStub.prototype.resumeDebugger):
40108        (.WebInspector.InspectorControllerStub.prototype.profilerEnabled):
40109        (.WebInspector.InspectorControllerStub.prototype.enableProfiler):
40110        (.WebInspector.InspectorControllerStub.prototype.disableProfiler):
40111        (.WebInspector.InspectorControllerStub.prototype.startProfiling):
40112        (.WebInspector.InspectorControllerStub.prototype.stopProfiling):
40113        (.WebInspector.InspectorControllerStub.prototype.getProfileHeaders):
40114        (.WebInspector.InspectorControllerStub.prototype.getProfile):
40115        (.WebInspector.InspectorControllerStub.prototype.takeHeapSnapshot):
40116        (.WebInspector.InspectorControllerStub.prototype.databaseTableNames):
40117        (.WebInspector.InspectorControllerStub.prototype.stepIntoStatementInDebugger):
40118        (.WebInspector.InspectorControllerStub.prototype.stepOutOfFunctionInDebugger):
40119        (.WebInspector.InspectorControllerStub.prototype.stepOverStatementInDebugger):
40120        (.WebInspector.InspectorControllerStub.prototype.setSetting):
40121        (.WebInspector.InspectorControllerStub.prototype.dispatchOnInjectedScript):
40122        (.WebInspector.InspectorControllerStub.prototype.releaseWrapperObjectGroup):
40123        (.WebInspector.InspectorControllerStub.prototype.setting):
40124        * inspector/front-end/inspector.html:
40125        * inspector/front-end/inspector.js:
40126        (WebInspector.UIString):
40127
401282009-10-28  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
40129
40130        Reviewed by Jan Alonzo.
40131
40132        https://bugs.webkit.org/show_bug.cgi?id=25897
40133        [Gtk] Extraneous object of ROLE_PANEL in hierarchy for entries
40134
40135        Expands upon the new funtionality which allows platforms to indicate
40136        that a particular object should not be ignored, so that they can
40137        specify that an object should be ignored or that it should be left up
40138        to the default handling to decide.
40139
40140        * accessibility/AccessibilityObject.h:
40141        * accessibility/chromium/AccessibilityObjectChromium.cpp:
40142        * accessibility/gtk/AccessibilityObjectAtk.cpp:
40143        * accessibility/mac/AccessibilityObjectMac.mm:
40144        * accessibility/qt/AccessibilityObjectQt.cpp:
40145        * accessibility/win/AccessibilityObjectWin.cpp:
40146        * accessibility/wx/AccessibilityObjectWx.cpp:
40147        (AccessibilityObject::accessibilityPlatformIncludesObject):
40148        * accessibility/AccessibilityRenderObject.cpp:
40149        (AccessibilityRenderObject::accessibilityIsIgnored):
40150
40151
401522009-10-28  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
40153
40154        Reviewed by Jan Alonzo.
40155
40156        https://bugs.webkit.org/show_bug.cgi?id=25534
40157        [GTK] Objects of ROLE_TABLE should implement the accessible table interface
40158
40159        Expose the table summary as the accessible description because there is no summary object.
40160
40161        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
40162        (webkit_accessible_get_description):
40163
401642009-10-28  Steve Block  <steveblock@google.com>
40165
40166        Reviewed by Eric Seidel.
40167
40168        Adds ScriptController::intializeThreading(), with both JSC and V8 implementations.
40169        https://bugs.webkit.org/show_bug.cgi?id=30678
40170
40171        This new method is used from common code, rather than calling JSC::initializeThreading() (or the V8 equivalent) directly.
40172
40173        Build fix, no new tests required.
40174
40175        * bindings/js/ScriptController.cpp: Modified.
40176        (WebCore::ScriptController::initializeThreading): Added.
40177        * bindings/js/ScriptController.h: Modified. Adds ScriptController::initializeThreading().
40178        * bindings/v8/ScriptController.cpp: Modified.
40179        (WebCore::ScriptController::initializeThreading): Added.
40180        * bindings/v8/ScriptController.h: Modified. Adds ScriptController::initializeThreading().
40181        * loader/icon/IconDatabase.cpp: Modified.
40182        (WebCore::iconDatabase): Call ScriptController::initializeThreading(), rather than JSC::initializeThreading().
40183        * storage/Database.cpp: Modified.
40184        (WebCore::Database::Database): Call ScriptController::initializeThreading(), rather than JSC::initializeThreading().
40185
401862009-10-26  Holger Hans Peter Freyther  <zecke@selfish.org>
40187
40188        Reviewed by Darin Adler.
40189
40190        Document a feature of the m_liveDecodedResources list.
40191        https://bugs.webkit.org/show_bug.cgi?id=30209
40192
40193        The code made the assumption that the list is sorted by
40194        the m_lastDecodedAccessTime property of the CachedResource.
40195        The above is not true when CachedResource::setDecodedSize
40196        is called and the item is inserted the first time. In this
40197        case the m_lastDecodedAccessTime is still zero and the
40198        m_liveDecodedResources list becomes unsorted.
40199
40200        It is impossible that Cache::pruneLiveResources will
40201        stop to process the list too early due this feature and
40202        the alternatives of updating m_lastDecodedAccessTime in
40203        CachedResource::setDecodedSize or changing the insert
40204        to search the right position have a negative impact on
40205        performance. The best solution for now is to document
40206        this feature.
40207
40208        * loader/Cache.cpp:
40209        (WebCore::Cache::pruneLiveResources):
40210        * loader/CachedResource.cpp:
40211        (WebCore::CachedResource::setDecodedSize):
40212
402132009-10-28  Xan Lopez  <xlopez@igalia.com>
40214
40215        Reviewed by Jan Alonzo.
40216
40217        [Gtk] Extraneous object of ROLE_PANEL in hierarchy for entries
40218        https://bugs.webkit.org/show_bug.cgi?id=25897
40219
40220        Make text controls always implement the text interface, and the
40221        editable text interface when they are not read only. This is what
40222        ATK-users expect.
40223
40224        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
40225        (getInterfaceMaskFromObject):
40226
402272009-10-27  Holger Hans Peter Freyther  <zecke@selfish.org>
40228
40229        Reviewed by Simon Fraser.
40230
40231        Change HitTestResult methods to use (3d) transformation aware methods
40232        https://bugs.webkit.org/show_bug.cgi?id=27347
40233
40234        The current HitTestResult methods are not using the (3d)
40235        transformation aware routines. This can lead to an assertion
40236        SVGRenderBase::mapLocalToContainer method.
40237
40238        Change HitTestResult::imageRect to use the (3d) transformation
40239        aware RenderBox::absoluteContentQuad to avoid running into
40240        an assertion with SVG content.
40241
40242        Remove HitTestResult::boundingBox() as it is only used in
40243        two places and conceptually doesn't belong into a HitTest
40244        which is operating on points.
40245
40246        A classic test case is not possible as the methods are not excercised
40247        from within HTML/SVG but from the WebKit API Layer. A unittest
40248        for Qt/Gtk+/Mac would need to be written but Qt/Gtk+ currently
40249        do not support 3d transformations making it impossible to write
40250        a reliable test case and the Mac port is currently not doing
40251        unit testing.
40252
40253
40254        * rendering/HitTestResult.cpp: Remove boundingBox() method
40255        (WebCore::HitTestResult::imageRect): Use transformation aware method
40256        * rendering/HitTestResult.h: Remove boundingBox()
40257
402582009-10-26  Holger Hans Peter Freyther  <zecke@selfish.org>
40259
40260        Reviewed by Eric Seidel.
40261
40262        [Qt] Custom Cursor doesn't use hotspot.
40263        https://bugs.webkit.org/show_bug.cgi?id=30820
40264
40265        Cursors loaded from a QPixmap didn't specifiy the
40266        hotspot. Take the hotspot values from the mac
40267        implementation.
40268
40269        * platform/qt/CursorQt.cpp:
40270
402712009-10-27  Pavel Feldman  <pfeldman@chromium.org>
40272
40273        Reviewed by Timothy Hatcher.
40274
40275        Web Inspector: Initial revision of the Timeline grid.
40276
40277        https://bugs.webkit.org/show_bug.cgi?id=30834
40278
40279        * English.lproj/localizedStrings.js:
40280        * WebCore.gypi:
40281        * inspector/front-end/AbstractTimelinePanel.js:
40282        (WebInspector.AbstractTimelinePanel.prototype.populateSidebar):
40283        (WebInspector.AbstractTimelinePanel.prototype.refresh):
40284        (WebInspector.AbstractTimelineCalculator):
40285        * inspector/front-end/Images/timelineBarBlue.png: Added.
40286        * inspector/front-end/Images/timelineBarGray.png: Added.
40287        * inspector/front-end/Images/timelineBarGreen.png: Added.
40288        * inspector/front-end/Images/timelineBarOrange.png: Added.
40289        * inspector/front-end/Images/timelineBarPurple.png: Added.
40290        * inspector/front-end/Images/timelineBarRed.png: Added.
40291        * inspector/front-end/Images/timelineBarYellow.png: Added.
40292        * inspector/front-end/Images/timelineCheckmarks.png: Added.
40293        * inspector/front-end/Images/timelineDots.png: Added.
40294        * inspector/front-end/ResourcesPanel.js:
40295        (WebInspector.ResourceTimeCalculator):
40296        (WebInspector.ResourceTransferSizeCalculator):
40297        * inspector/front-end/TimelineAgent.js:
40298        * inspector/front-end/TimelinePanel.js:
40299        (WebInspector.TimelinePanel):
40300        (WebInspector.TimelinePanel.prototype.get statusBarItems):
40301        (WebInspector.TimelinePanel.prototype.get categories):
40302        (WebInspector.TimelinePanel.prototype.populateSidebar):
40303        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
40304        (WebInspector.TimelinePanel.prototype.addItemToTimeline):
40305        (WebInspector.TimelinePanel.prototype.refresh):
40306        (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClick):
40307        (WebInspector.TimelinePanel.prototype.reset):
40308        (WebInspector.TimelinePanel.prototype._formatRecord):
40309        (WebInspector.TimelinePanel.prototype.showCategory):
40310        (WebInspector.TimelinePanel.prototype.hideCategory):
40311        (WebInspector.TimelineRecordTreeElement):
40312        (WebInspector.TimelineRecordTreeElement.prototype.onattach):
40313        (WebInspector.TimelineCalculator):
40314        (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
40315        (WebInspector.TimelineCalculator.prototype.computePercentageFromEventTime):
40316        (WebInspector.TimelineCalculator.prototype.computeBarGraphLabels):
40317        (WebInspector.TimelineCalculator.prototype.updateBoundaries):
40318        (WebInspector.TimelineCalculator.prototype.formatValue):
40319        (WebInspector.TimelineGraph):
40320        (WebInspector.TimelineGraph.prototype.get graphElement):
40321        (WebInspector.TimelineGraph.prototype.refreshLabelPositions):
40322        (WebInspector.TimelineGraph.prototype.refresh):
40323        * inspector/front-end/inspector.css:
40324        * inspector/front-end/inspector.js:
40325        (WebInspector._createPanels):
40326
403272009-10-27  Joseph Pecoraro  <joepeck@webkit.org>
40328
40329        Reviewed by Pavel Feldman.
40330
40331        Web Inspector: Move runAfterPendingDispatches to TestController for Clarity
40332        https://bugs.webkit.org/show_bug.cgi?id=30844
40333
40334        * inspector/front-end/TestController.js:
40335        (WebInspector.TestController.prototype.runAfterPendingDispatches):
40336        * inspector/front-end/inspector.js: moved runAfterPendingDispatches
40337
403382009-10-27  Darin Fisher  <darin@chromium.org>
40339
40340        Reviewed by Dimitri Glazkov.
40341
40342        Add missing forward declaration of FramelessScrollView.
40343        https://bugs.webkit.org/show_bug.cgi?id=30824
40344
40345        * platform/chromium/FramelessScrollViewClient.h:
40346
403472009-10-27  Chris Fleizach  <cfleizach@apple.com>
40348
40349        Reviewed by Adele Peterson.
40350
40351        WAI-ARIA: add support for 'presentation' role
40352        https://bugs.webkit.org/show_bug.cgi?id=30806
40353
40354        Test: accessibility/aria-presentational-role.html
40355
40356        * accessibility/AccessibilityObject.h:
40357        (WebCore::):
40358        * accessibility/AccessibilityRenderObject.cpp:
40359        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
40360        (WebCore::RoleEntry::):
40361
403622009-10-27  Chris Fleizach  <cfleizach@apple.com>
40363
40364        Reviewed by Darin Adler.
40365
40366        ARIA menu/menu item need AXRoleDescription
40367        https://bugs.webkit.org/show_bug.cgi?id=30804
40368
40369        Make sure that role descriptions will default to the system's first, before
40370        returning an unknown role.
40371
40372        Test: platform/mac/accessibility/aria-menu-role-descriptions.html
40373
40374        * accessibility/mac/AccessibilityObjectWrapper.mm:
40375        (-[AccessibilityObjectWrapper roleDescription]):
40376
403772009-10-27  Geoffrey Garen  <ggaren@apple.com>
40378
40379        Qt build fix: migrated away from API that no longer exists.
40380
40381        * bridge/qt/qt_runtime.cpp:
40382        (JSC::Bindings::convertQVariantToValue):
40383
403842009-10-27  Geoffrey Garen  <ggaren@apple.com>
40385
40386        Qt build fix: migrated away from API that no longer exists.
40387
40388        * bridge/qt/qt_runtime.cpp:
40389        (JSC::Bindings::convertValueToQVariant):
40390
403912009-10-27  Oliver Hunt  <oliver@apple.com>
40392
40393        Fix wording in comment.
40394
40395        * bridge/objc/objc_instance.mm:
40396        (allocateAutoReleasePool):
40397
403982009-10-27  Oliver Hunt  <oliver@apple.com>
40399
40400        Reviewed by Darin Adler.
40401
40402        Crash occurs after launching Newsfire 1.6 for the first time
40403        https://bugs.webkit.org/show_bug.cgi?id=30807
40404
40405        We allocate an autorelease pool but then store it off the stack. In a
40406        GC environment this led to it being collected, and thus caused badness
40407        to ensue.  To work around this we simply avoid using a pool at all in
40408        a GC environment as it would be a no-op anyway.
40409
40410        * bridge/objc/objc_instance.mm:
40411        (allocateAutoReleasePool):
40412        (ObjcInstance::virtualBegin):
40413
404142009-10-27  Steve Block  <steveblock@google.com>
40415
40416        Reviewed by Darin Adler.
40417
40418        When a Geolocation method is called, immediately calls the error calback asynchronously if permissions
40419        have already been denied.
40420        https://bugs.webkit.org/show_bug.cgi?id=27944.
40421
40422        Tests: fast/dom/Geolocation/permission-denied-already-error.html
40423               fast/dom/Geolocation/permission-denied-already-success.html
40424
40425        * page/Geolocation.cpp: Modified.
40426        (WebCore::Geolocation::GeoNotifier::GeoNotifier): Modified. GeoNotifier takes Geolocation object as constructor argument.
40427        (WebCore::Geolocation::GeoNotifier::setFatalError): Added. Sets a fatal error for this notifier, causing it to terminate immediately and call the error callback asynchronously.
40428        (WebCore::Geolocation::GeoNotifier::timerFired): Added. Used to call the error callback asynchronously on fatal error.
40429        (WebCore::Geolocation::getCurrentPosition): Modified. Calls startRequest.
40430        (WebCore::Geolocation::watchPosition): Modified. Calls startRequest.
40431        (WebCore::Geolocation::startRequest): Added. Common functionality for starting a one-shot or watch request. Sets a fatal error on the notifier if permissions have already been denied.
40432        (WebCore::Geolocation::fatalErrorOccurred): Added. Registers that a notifier has encountered a fatal error and should be destroyed.
40433        (WebCore::Geolocation::setIsAllowed): Modified. Uses a standard error message for the error callback when permissions are denied.
40434        * page/Geolocation.h: Modified.
40435        (WebCore::Geolocation::isDenied): Added. Determines whether permissions have been denied.
40436
404372009-10-27  Chris Marrin  <cmarrin@apple.com>
40438
40439        Reviewed by Oliver Hunt.
40440
40441        Fixed a bug where I was using the wrong Canvas pointer to do a cross-domain check
40442        https://bugs.webkit.org/show_bug.cgi?id=30840
40443
40444        * html/canvas/CanvasRenderingContext2D.cpp:
40445        (WebCore::CanvasRenderingContext2D::drawImage):
40446
404472009-10-27  Eric Seidel  <eric@webkit.org>
40448
40449        Reviewed by Nikolas Zimmermann.
40450
40451        SVGStyledElement::getPresentationAttribute() can return a shared CSSValue (some SVG tests randomly fail on the bot, and in release builds)
40452        https://bugs.webkit.org/show_bug.cgi?id=29620
40453
40454        SVG was modifying CSSValues cached of off CSSMappedAttributeDeclarations.
40455        This patch fixes the check to make sure that a new CSSMappedAttributeDeclaration is
40456        created before returning a CSSValue that JavaScript can modify.
40457
40458        Test: svg/dom/getPresentationAttribute-cache-corruption.svg
40459
40460        * svg/SVGStyledElement.cpp:
40461        (WebCore::SVGStyledElement::getPresentationAttribute):
40462
404632009-10-27  Dan Bernstein  <mitz@apple.com>
40464
40465        Reviewed by Simon Fraser.
40466
40467        Incomplete repaint of text field in relative positioned inline at imdb.com
40468        https://bugs.webkit.org/show_bug.cgi?id=30047
40469
40470        Test: fast/repaint/inline-relative-positioned.html
40471
40472        Implemented offsetFromContainer(), mapLocalToContainer() and
40473        mapAbsoluteToLocalPoint() in RenderInline.
40474
40475        * rendering/RenderBox.h: Fixed argument names in the declaration of
40476        mapLocalToContainer().
40477        * rendering/RenderInline.cpp:
40478        (WebCore::RenderInline::offsetFromContainer):
40479        (WebCore::RenderInline::mapLocalToContainer):
40480        (WebCore::RenderInline::mapAbsoluteToLocalPoint):
40481        * rendering/RenderInline.h:
40482
404832009-10-27  Jeremy Orlow  <jorlow@chromium.org>
40484
40485        Speculative build fix for Chromium.
40486
40487        * platform/graphics/GraphicsContext3D.h:
40488
404892009-10-27  Chris Marrin  <cmarrin@apple.com>
40490
40491        Reviewed by Simon Fraser.
40492        
40493        Make WebGL context failure more robust and make it succeed in more cases
40494        https://bugs.webkit.org/show_bug.cgi?id=30349
40495
40496        Bubble a failure to get a CGLContext up to HTMLContextElement so it can
40497        return null from getContext. Also added a more robust pixel format choosing 
40498        mechanism and can render correctly when a SW renderer is chosen.
40499
40500        * html/HTMLCanvasElement.cpp:
40501        (WebCore::HTMLCanvasElement::getContext):
40502        * html/canvas/CanvasRenderingContext.h:
40503        * html/canvas/CanvasRenderingContext2D.cpp:
40504        * html/canvas/CanvasRenderingContext3D.cpp:
40505        * html/canvas/CanvasRenderingContext3D.h:
40506        (WebCore::CanvasRenderingContext3D::graphicsContext3D):
40507        (WebCore::CanvasRenderingContext3D::cleanupAfterGraphicsCall):
40508        * platform/graphics/GraphicsContext3D.h:
40509        * platform/graphics/mac/Canvas3DLayer.mm:
40510        (-[Canvas3DLayer copyCGLPixelFormatForDisplayMask:]):
40511        * platform/graphics/mac/GraphicsContext3DMac.cpp:
40512        (WebCore::setPixelFormat):
40513        (WebCore::GraphicsContext3D::create):
40514        (WebCore::GraphicsContext3D::GraphicsContext3D):
40515        (WebCore::GraphicsContext3D::~GraphicsContext3D):
40516        (WebCore::GraphicsContext3D::reshape):
40517        (WebCore::ensureContext):
40518
405192009-10-27  Geoffrey Garen  <ggaren@apple.com>
40520
40521        Mac build fix: a forwarding header.
40522
40523        * ForwardingHeaders/wtf/DateInstanceCache.h: Added.
40524
405252009-10-27  Ryosuke Niwa  <rniwa@webkit.org>
40526
40527        No Review.
40528
40529        Making fontWeightIsBold static to fix Snow Leopard build.
40530
40531        * editing/ApplyStyleCommand.cpp:
40532        (WebCore::fontWeightIsBold):
40533
405342009-10-27  Ryosuke Niwa  <rniwa@webkit.org>
40535
40536        Reviewed by Eric Seidel.
40537
40538        WebKit cannot remove nested bold tags
40539        https://bugs.webkit.org/show_bug.cgi?id=30784
40540
40541        This patch modifies getPropertiesNotInComputedStyle so that it compares font-weight
40542        more flexibly. Instead of comparing cssText, it uses fontWeightIsBold which converts
40543        all font weights to either bold or unbold state.
40544
40545        * editing/ApplyStyleCommand.cpp:
40546        (WebCore::fontWeightIsBold):
40547        (WebCore::getPropertiesNotInComputedStyle): Removes font-weight property
40548        if two style have the same value under getFontWeightValue
40549
405502009-10-27  Carol Szabo  <carol.szabo@nokia.com>
40551
40552        Reviewed by Darin Adler.
40553
40554        Give an ability to WebKit to free statically allocated pointers
40555        before quit.
40556        https://bugs.webkit.org/show_bug.cgi?id=27980
40557
40558        No new tests for this as the change does not affect WebKit
40559        functionality, but only memory usage.
40560
40561        * JavaScriptCore/wtf/StdLibExtras.h:
40562        Allowed for the override of DEFINE_STATIC_LOCAL via compiler 
40563        commandline options or elsewhere in the code. Useful for 
40564        implementing custom builds that free resources allocated via
40565        DEFINE_STATIC_LOCAL.
40566
405672009-10-27  Dumitru Daniliuc  <dumi@chromium.org>
40568
40569        Build fix, no review needed.
40570
40571        Fixing the BUILD. m_estimatedSize in Database.h should be of type
40572        'unsigned long' instead of 'unsigned long long'.
40573
40574        No tests required.
40575
40576        * storage/Database.h:
40577
405782009-10-27  Dumitru Daniliuc  <dumi@chromium.org>
40579
40580        Reviewed by Adam Barth.
40581
40582        Refactoring the Database class to not depend on
40583        OriginQuotaManager. Also, adding a SecurityOrigin copy to each
40584        Database instance, that is safe to use on the file
40585        thread. Finally, adding new simple fields and getters to the
40586        Database object for storing/getting the display name and estimated
40587        size specified by the user in the openDatabase() call.
40588
40589        https://bugs.webkit.org/show_bug.cgi?id=30548
40590
40591        * page/SecurityOrigin.h:
40592        * storage/Database.cpp:
40593        (WebCore::Database::openDatabase): Storing the display name and
40594        the estimated size in the Database object.
40595        (WebCore::Database::Database): Storing the display name and the
40596        estimated size in the Database object, as well as a SecurityOrigin
40597        instance that is safe to use on the DB thread.
40598        (WebCore::Database::maximumSize): Delegate the call to
40599        DatabaseTracker::getMaxSizeForDatabase().
40600        (WebCore::Database::databaseThreadSecurityOrigin): Return the
40601        SecurityOrigin instance that's safe to use on the DB thread.
40602        (WebCore::Database::threadSafeSecurityOrigin): Return the
40603        SecurityOrigin instance that's safe to use on the current thread.
40604        (WebCore::Database::displayName): Return the display name
40605        specified by the user in the openDatabase() call.
40606        (WebCore::Database::estimatedSize): Return the estimated size
40607        specified by the user in the openDatabase() call.
40608        (WebCore::Database::fileName): Return the name of the file where
40609        the current Database is tored.
40610        * storage/Database.h:
40611        * storage/DatabaseTracker.cpp:
40612        (WebCore::DatabaseTracker::getMaxSizeForDatabase): Returns the
40613        maximum size for a DB file based on the current size of that file
40614        and the space available for that origin.
40615        * storage/DatabaseTracker.h:
40616        * storage/SQLTransaction.cpp:
40617        * storage/SQLTransactionClient.cpp:
40618        (WebCore::SQLTransactionClient::didCommitTransaction): Use the
40619        correct SecurityOrigin instance.
40620
406212009-10-27  Joseph Pecoraro  <joepeck@webkit.org>
40622
40623        Reviewed by Timothy Hatcher.
40624
40625        Web Inspector: Pretty Print all HTML Collection Types like we do for NodeList
40626        https://bugs.webkit.org/show_bug.cgi?id=30709
40627
40628        Test: inspector/console-format-collections.html
40629
40630        * inspector/front-end/InjectedScript.js:
40631        (Object.type): check for instances of HTMLCollection like we do for NodeList
40632        * inspector/front-end/inspector.js: added WebInspector.pendingDispatches counter
40633        (WebInspector.dispatch): increment and decrement dispatch counter
40634        (WebInspector.runAfterPendingDispatches): run when there are no more dispatches
40635
406362009-10-27  Kelly Norton  <knorton@google.com>
40637
40638        Reviewed by Timothy Hatcher.
40639
40640        Adds XMLHttpRequest support to InspectorTimelineAgent.
40641        https://bugs.webkit.org/show_bug.cgi?id=30578
40642
40643        * inspector/InspectorTimelineAgent.cpp:
40644        (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
40645        (WebCore::InspectorTimelineAgent::didChangeXHRReadyState):
40646        (WebCore::InspectorTimelineAgent::willLoadXHR):
40647        (WebCore::InspectorTimelineAgent::didLoadXHR):
40648        * inspector/InspectorTimelineAgent.h:
40649        (WebCore::):
40650        * inspector/TimelineRecordFactory.cpp:
40651        (WebCore::TimelineRecordFactory::createXHRReadyStateChangeTimelineRecord):
40652        (WebCore::TimelineRecordFactory::createXHRLoadTimelineRecord):
40653        * inspector/TimelineRecordFactory.h:
40654        * inspector/front-end/TimelineAgent.js:
40655        * xml/XMLHttpRequest.cpp:
40656        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
40657
406582009-10-27  Enrica Casucci  <enrica@apple.com>
40659
40660        Reviewed by Adele Peterson.
40661
40662        REGRESSION (Safari 4.0.3-ToT): After pressing Shift-PageDown, pressing Shift-Up 
40663        extends the top of the selection upwards (but should shrink the selection instead)
40664        <rdar://problem/7269075>
40665        https://bugs.webkit.org/show_bug.cgi?id=29981
40666
40667        * editing/SelectionController.cpp:
40668        (WebCore::SelectionController::modify): Added setting m_lastChangeWasHorizontalExtension.
40669
406702009-10-27  Brian Weinstein  <bweinstein@apple.com>
40671
40672        Rubber-stamped by Tim Hatcher.
40673        
40674        Removed an extra console.log from ElementsTreeOutline.
40675
40676        * inspector/front-end/ElementsTreeOutline.js:
40677
406782009-10-27  Keishi Hattori  <casey.hattori@gmail.com>
40679
40680        Reviewed by Timothy Hatcher.
40681
40682        Rewrote JavaScriptSourceSyntaxHighlighter to be more accurate
40683        https://bugs.webkit.org/show_bug.cgi?id=27147
40684
40685        Tests: LayoutTests/inspector/javascript-syntax-highlight.html
40686
40687        * inspector/front-end/ElementsTreeOutline.js:
40688        * inspector/front-end/SourceFrame.js:
40689        (WebInspector.JavaScriptSourceSyntaxHighlighter.process): Added. Processes 100 tokens at a time.
40690        (WebInspector.JavaScriptSourceSyntaxHighlighter.lex): Added. Scans for a token.
40691        (WebInspector.JavaScriptSourceSyntaxHighlighter.appendNonToken): Added. Appends the non-token characters that lex ignored.
40692        (WebInspector.JavaScriptSourceSyntaxHighlighter.syntaxHighlightNode): Added. To syntax highlight node in ElementsTreeOutline.
40693
406942009-10-27  Mads Ager  <ager@chromium.org>
40695
40696        Reviewed by Adam Barth.
40697
40698        [V8] Missing null check after string conversion in error reporting
40699        https://bugs.webkit.org/show_bug.cgi?id=30774
40700
40701        Add null check after string conversion in error reporting code.
40702        ToString conversion can fail for instance when an exception is
40703        thrown during conversion.
40704
40705        Test: fast/dom/error-to-string-stack-overflow.html
40706
40707        * bindings/v8/V8Utilities.cpp:
40708        (WebCore::reportException):
40709
407102009-10-27  Steve Block  <steveblock@google.com>
40711
40712        Reviewed by Darin Adler.
40713
40714        Use a pair of maps to store Geolocation watchers.
40715        https://bugs.webkit.org/show_bug.cgi?id=29178
40716
40717        The pair of maps allows us to look up a watcher either by its ID or by its GeoNotifier object.
40718        The ability to look up by a watcher by its GeoNotifier object will be required when implementing
40719        Geolocation::fatalErrorOccurred. See https://bugs.webkit.org/show_bug.cgi?id=27944
40720
40721        * page/Geolocation.cpp: Modified.
40722        (WebCore::Geolocation::Watchers::set): Added. Adds a watcher with the given ID.
40723        (WebCore::Geolocation::Watchers::remove): Added. Removes a watcher by ID.
40724        (WebCore::Geolocation::Watchers::remove): Added. Removes a watcher by GeoNotifier object.
40725        (WebCore::Geolocation::Watchers::clear): Added. Removes all watchers.
40726        (WebCore::Geolocation::Watchers::isEmpty): Added. Determines if there are no watchers.
40727        (WebCore::Geolocation::Watchers::getNotifiersVector): Added. Gets a vector of the GeoNotifier objects.
40728        (WebCore::Geolocation::watchPosition): Modified. Rename watcher identifier static variable.
40729        (WebCore::Geolocation::stopTimersForWatchers): Modified. Use Watchers::getNotifiersVector.
40730        (WebCore::Geolocation::handleError): Modified. Use Watchers::getNotifiersVector.
40731        (WebCore::Geolocation::makeSuccessCallbacks): Modified. Use Watchers::getNotifiersVector.
40732        * page/Geolocation.h: Modified. Adds Geolocation::Watchers class.
40733
407342009-10-27  Jeremy Orlow  <jorlow@chromium.org>
40735
40736        Reviewed by Dimitri Glazkov.
40737
40738        [V8] DOM Storage runtime flag should default to on
40739        https://bugs.webkit.org/show_bug.cgi?id=30828
40740
40741        The DOM Storage runtime flag was supposed to default to on.  I accidentally
40742        changed the logic to default to false when I moved the flag.
40743
40744        * bindings/v8/RuntimeEnabledFeatures.cpp:
40745
407462009-10-27  Fumitoshi Ukai  <ukai@chromium.org>
40747
40748        Reviewed by Dimitri Glazkov.
40749
40750        Fix crash found in chromium test_shell.
40751        https://bugs.webkit.org/show_bug.cgi?id=30808
40752
40753        When WebSocket is deleted without close, webkit would crash
40754        when it handles didClose.
40755
40756        Check scriptExecutionContext before post task for event.
40757        Use WebSocketChannel::disconnect() instead of close() in WebSocket
40758        destructor, so that WebSocketChannel should not call deleted WebSocket
40759        back in didClose().
40760        To make sure WebSocketChannel alive while it is processing WebSocket
40761        protocol over SocketStreamHandle, ref() in connect() and deref() in
40762        didClose().
40763
40764        * websockets/WebSocket.cpp:
40765        (WebCore::WebSocket::~WebSocket):
40766        (WebCore::WebSocket::didConnect):
40767        (WebCore::WebSocket::didReceiveMessage):
40768        (WebCore::WebSocket::didClose):
40769        * websockets/WebSocketChannel.cpp:
40770        (WebCore::WebSocketChannel::connect):
40771        (WebCore::WebSocketChannel::disconnect):
40772        (WebCore::WebSocketChannel::didClose):
40773        (WebCore::WebSocketChannel::didReceiveData):
40774        * websockets/WebSocketChannel.h:
40775
407762009-10-27  Dan Bernstein  <mitz@apple.com>
40777
40778        Reviewed by Darin Adler.
40779
40780        Updated Apple license
40781
40782        * LICENSE-APPLE:
40783
407842009-10-27  Brady Eidson  <beidson@apple.com>
40785
40786        Rubberstamped by Sam Weinig.
40787
40788        Re-enable the check that disallows pages with unload handlers in the page cache.
40789
40790        <rdar://problem/7196485> and http://webkit.org/b/29021 
40791
40792        * loader/FrameLoader.cpp:
40793        (WebCore::FrameLoader::canCachePageContainingThisFrame):
40794        (WebCore::FrameLoader::logCanCacheFrameDecision):
40795
407962009-10-27  Timothy Hatcher  <timothy@apple.com>
40797
40798        Remove more empty files that didn't get removed earlier.
40799
40800        * inspector/DOMDispatchTimelineItem.cpp: Removed.
40801        * inspector/DOMDispatchTimelineItem.h: Removed.
40802
408032009-10-27  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
40804
40805        Reviewed by Tor Arne Vestbø.
40806
40807        [Qt] Fix assertion crashes introduced by changes made in r50110.
40808
40809        * dom/XMLTokenizerQt.cpp:
40810        (WebCore::XMLTokenizer::parseEndElement): only call popCurrentNode() if there are nodes left in the stack.
40811
408122009-10-27  Timothy Hatcher  <timothy@apple.com>
40813
40814        Remove empty files that didn't get removed earlier.
40815
40816        * inspector/TimelineItem.cpp: Removed.
40817        * inspector/TimelineItem.h: Removed.
40818
408192009-10-27  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
40820
40821        Reviewed by Xan Lopez.
40822
40823        https://bugs.webkit.org/show_bug.cgi?id=25534
40824        [GTK] Objects of ROLE_TABLE should implement the accessible table interface
40825
40826        First part of the implementation of AtkTable.
40827
40828        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
40829        (getCell):
40830        (getCellIndex):
40831        (webkit_accessible_table_ref_at):
40832        (webkit_accessible_table_get_index_at):
40833        (webkit_accessible_table_get_n_columns):
40834        (webkit_accessible_table_get_n_rows):
40835        (webkit_accessible_table_get_column_extent_at):
40836        (webkit_accessible_table_get_row_extent_at):
40837        (webkit_accessible_table_get_row_header):
40838        (atk_table_interface_init):
40839        (AtkInterfacesInitFunctions):
40840        (GetAtkInterfaceTypeFromWAIType):
40841
408422009-10-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
40843
40844        Reviewed by Lars Knoll.
40845
40846        [Qt] Don't lose remainder when computing wheel event deltas
40847
40848        * platform/qt/WheelEventQt.cpp:
40849
408502009-10-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
40851
40852        Reviewed by Antti Koivisto.
40853
40854        Fix QtWebKit build for WIN_OS if Netscape plug-in support
40855        is turned off and refactor some related code
40856        https://bugs.webkit.org/show_bug.cgi?id=30786
40857
40858        No new tests as there is no new functionality introduced.
40859
40860        * platform/FileSystem.h: Refactor to make sure that each different
40861        type definition is only repeated once.
40862
40863        * plugins/PluginPackage.cpp:
40864        (WebCore::PluginPackage::compareFileVersion): Move it out from the
40865        ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH guard and combine it with the
40866        function body from PluginPackageWin.
40867
40868        * plugins/win/PluginPackageWin.cpp: Remove compareFileVersion as
40869        it is now in PluginPackage.cpp.
40870
408712009-10-26  Xan Lopez  <xlopez@igalia.com>
40872
40873        Reviewed by Gustavo Noronha.
40874
40875        https://bugs.webkit.org/show_bug.cgi?id=27011
40876        [Gtk] Implement support for get_index_in_parent
40877
40878        Implement atk_object_get_index_in_parent.
40879
40880        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
40881        (webkit_accessible_get_index_in_parent):
40882
408832009-10-27  Eric Seidel  <eric@webkit.org>
40884
40885        No review, rolling out r50131.
40886        http://trac.webkit.org/changeset/50131
40887
40888        * bridge/objc/objc_instance.h:
40889        * bridge/objc/objc_instance.mm:
40890        (ObjcInstance::ObjcInstance):
40891        (ObjcInstance::virtualEnd):
40892
408932009-10-26  Daniel Bates  <dbates@webkit.org>
40894
40895        Reviewed by Darin Adler.
40896
40897        https://bugs.webkit.org/show_bug.cgi?id=30491
40898
40899        Fixes an issue where pressing return/enter on the keyboard 
40900        in <isindex> does not submit it if is not within a <form>.
40901
40902        According to the HTML 2.0 thru HTML 4.01 spec 
40903        (http://www.w3.org/MarkUp/html-spec/html-spec_7.html#SEC7.5), the 
40904        <isindex> element does not need to be within a <form> element in 
40905        order to submit it. It can submitted on its own. Also, if present,
40906        the href property of the <base> element will dictate where to submit
40907        the value of the <isindex> element (this is analogous to the action 
40908        property of the <form> element).
40909
40910        Tests: http/tests/misc/isindex-with-no-form-base-href.html
40911               http/tests/misc/isindex-with-no-form.html
40912
40913        * html/HTMLInputElement.cpp:
40914        (WebCore::HTMLInputElement::defaultEventHandler): Calls createTemporaryFormForIsIndex()
40915        to create a <form> if none is present and we are an <isindex> element.
40916        (WebCore::HTMLInputElement::createTemporaryFormForIsIndex): Added.
40917        * html/HTMLInputElement.h:
40918
409192009-10-26  Oliver Hunt  <oliver@apple.com>
40920
40921        Reviewed by Maciej Stachowiak.
40922
40923        Crash occurs after launching Newsfire 1.6 for the first time
40924        https://bugs.webkit.org/show_bug.cgi?id=30807
40925
40926        Use a RetainPtr in ObjcBinding to ensure that we adequately
40927        protect the autorelease pool from GC in GC'd applications.
40928
40929        * bridge/objc/objc_instance.h:
40930        * bridge/objc/objc_instance.mm:
40931        (ObjcInstance::ObjcInstance):
40932        (ObjcInstance::virtualEnd):
40933
409342009-10-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
40935
40936        Unreviewed.
40937
40938        [Qt] Build fix for QtWebKit after r50125.
40939
40940        * WebCore.pro: Rename TimelineItem to TimelineRecord.
40941
409422009-10-26  Matt Mueller  <mattm@chromium.org>
40943
40944        Reviewed by Darin Adler.
40945
40946        Refactor synchronizable property handling to store one shouldSynchronize flag per set of properties rather than one per property.
40947
40948        Fixes reading uninitialized memory in SynchronizableProperty hash function as well as simplifying the code.
40949
40950        https://bugs.webkit.org/show_bug.cgi?id=30658
40951
40952        Covered by running various svg tests under valgrind, ex:
40953        LayoutTests/svg/custom/js-late-mask-and-object-creation.svg
40954
40955        * svg/SynchronizablePropertyController.cpp:
40956        (WebCore::SynchronizableProperties::addProperty):
40957        (WebCore::SynchronizableProperties::synchronize):
40958        (WebCore::SynchronizableProperties::startAnimation):
40959        (WebCore::SynchronizableProperties::stopAnimation):
40960        (WebCore::SynchronizablePropertyController::registerProperty):
40961        (WebCore::SynchronizablePropertyController::setPropertyNeedsSynchronization):
40962        (WebCore::SynchronizablePropertyController::synchronizeProperty):
40963        (WebCore::SynchronizablePropertyController::synchronizeAllProperties):
40964        (WebCore::SynchronizablePropertyController::startAnimation):
40965        (WebCore::SynchronizablePropertyController::stopAnimation):
40966        * svg/SynchronizablePropertyController.h:
40967        (WebCore::SynchronizableProperties::SynchronizableProperties):
40968        (WebCore::SynchronizableProperties::setNeedsSynchronization):
40969
409702009-10-26  Kelly Norton  <knorton@google.com>
40971
40972        Reviewed by Timothy Hatcher.
40973
40974        Renames TimelineItem to TimelineRecord and updates all call sites.
40975        https://bugs.webkit.org/show_bug.cgi?id=30785
40976
40977        * GNUmakefile.am: 
40978        * WebCore.gypi:
40979        * WebCore.vcproj/WebCore.vcproj:
40980        * WebCore.xcodeproj/project.pbxproj:
40981        * inspector/InspectorFrontend.cpp:
40982        (WebCore::InspectorFrontend::addRecordToTimeline):
40983        * inspector/InspectorFrontend.h:
40984        * inspector/InspectorTimelineAgent.cpp:
40985        (WebCore::InspectorTimelineAgent::willDispatchDOMEvent):
40986        (WebCore::InspectorTimelineAgent::didDispatchDOMEvent):
40987        (WebCore::InspectorTimelineAgent::willLayout):
40988        (WebCore::InspectorTimelineAgent::didLayout):
40989        (WebCore::InspectorTimelineAgent::willRecalculateStyle):
40990        (WebCore::InspectorTimelineAgent::didRecalculateStyle):
40991        (WebCore::InspectorTimelineAgent::willPaint):
40992        (WebCore::InspectorTimelineAgent::didPaint):
40993        (WebCore::InspectorTimelineAgent::willWriteHTML):
40994        (WebCore::InspectorTimelineAgent::didWriteHTML):
40995        (WebCore::InspectorTimelineAgent::didInstallTimer):
40996        (WebCore::InspectorTimelineAgent::didRemoveTimer):
40997        (WebCore::InspectorTimelineAgent::willFireTimer):
40998        (WebCore::InspectorTimelineAgent::didFireTimer):
40999        (WebCore::InspectorTimelineAgent::reset):
41000        (WebCore::InspectorTimelineAgent::addRecordToTimeline):
41001        (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
41002        (WebCore::InspectorTimelineAgent::pushCurrentRecord):
41003        * inspector/InspectorTimelineAgent.h:
41004        (WebCore::):
41005        (WebCore::InspectorTimelineAgent::RecordEntry::RecordEntry):
41006        * inspector/TimelineItemFactory.cpp: Removed.
41007        * inspector/TimelineItemFactory.h: Removed.
41008        * inspector/TimelineRecordFactory.cpp: Added.
41009        (WebCore::TimelineRecordFactory::createGenericRecord):
41010        (WebCore::TimelineRecordFactory::createDOMDispatchRecord):
41011        (WebCore::TimelineRecordFactory::createGenericTimerRecord):
41012        (WebCore::TimelineRecordFactory::createTimerInstallRecord):
41013        * inspector/TimelineRecordFactory.h: Added.
41014        (WebCore::TimelineRecordFactory::TimelineRecordFactory):
41015        * inspector/front-end/TimelineAgent.js:
41016        (WebInspector.addRecordToTimeline):
41017        * inspector/front-end/TimelinePanel.js:
41018        (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
41019        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
41020        (WebInspector.TimelinePanel.prototype.getRecordTypeName):
41021        (WebInspector.TimelineRecordTreeElement.prototype.onattach):
41022
410232009-10-26  Girish Ramakrishnan  <girish@forwardbias.in>
41024
41025        Reviewed by Antti Koivisto.
41026
41027        [Qt] Windowless Plugins : Print preview shows only part of flash when view is scrolled
41028        
41029        When printing, QPrinter's preview mode uses a QPicture to capture the output. The
41030        QPicture holds a reference to the X Pixmap. As a result, the print preview would
41031        update itself when the X Pixmap changes. To prevent the print preview from updating
41032        whenever m_drawable is updated (i.e when the view updates), we create a copy.
41033        
41034        We require that a QPixmap::copy() result in a QPixmap backed by a XPixmap
41035        regardless of the graphicssystem. This is taken care of by
41036        commit d310f7c710ecb331a9689861f0551eabd38e946e in Qt (4.6)
41037        
41038        The beauty of this patch is that the newly created X Pixmap is managed by Qt and
41039        it will free the Pixmap whenever the user closes the print preview dialog and
41040        handles the case of displaying multiple preview dialogs nicely.
41041        
41042        All credit to Samuel Rødal for suggesting usage of QPixmap::copy().
41043        
41044        https://bugs.webkit.org/show_bug.cgi?id=30714
41045
41046        * plugins/qt/PluginViewQt.cpp:
41047        (WebCore::PluginView::paint):
41048
410492009-10-26  Benjamin Otte  <otte@gnome.org>
41050
41051        Reviewed by Gustavo Noronha.
41052
41053        Don't store properties in the MediaPlayerPrivate class
41054
41055        Access them via the MediaPlayer class instead.
41056        https://bugs.webkit.org/show_bug.cgi?id=30462
41057
41058        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
41059        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
41060        (WebCore::MediaPlayerPrivate::seek):
41061        (WebCore::MediaPlayerPrivate::setVolume):
41062        (WebCore::MediaPlayerPrivate::setRate):
41063        (WebCore::MediaPlayerPrivate::setVisible):
41064        (WebCore::MediaPlayerPrivate::paint):
41065        (WebCore::MediaPlayerPrivate::createGSTPlayBin):
41066        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
41067
410682009-10-26  Brian Weinstein  <bweinstein@apple.com>
41069
41070        Reviewed by Timothy Hatcher.
41071
41072        Fixes <http://webkit.org/b/30801>.
41073        Web Inspector: Control + ]/[ on Windows doesn't change Panels.
41074        
41075        In my testing, Windows uses "U+00DB" and "U+00DD" to represent
41076        [ and ], so we should honor those as well.
41077
41078        * inspector/front-end/inspector.js:
41079        (WebInspector.documentKeyDown):
41080
410812009-10-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
41082
41083        Reviewed by Darin Adler.
41084
41085        Make .rc files compile on Windows without depending on MFC headers
41086        https://bugs.webkit.org/show_bug.cgi?id=30750
41087
41088        * WebCore.vcproj/QTMovieWin.rc: Use winresrc.h because it exists 
41089        even when MFC is not installed, and is all that's needed here.
41090
410912009-10-26  Brent Fulgham  <bfulgham@webkit.org>
41092
41093        Reviewed by Darin Adler.
41094
41095        Build corrections for ENABLE_FILTERS in Windows.
41096        https://bugs.webkit.org/show_bug.cgi?id=30797
41097
41098        Build correction for ENABLE_FILTERS feature.  No new tests needed.
41099
41100        * platform/graphics/filters/FEColorMatrix.cpp: Use MathExtras.h and
41101          its piDouble constant.
41102        * platform/graphics/filters/FEGaussianBlur.cpp: Use MathExtras.h and
41103          its piDouble constant.  Remove unnecessary call to floor used in
41104          the division of an unsigned, converting to int.
41105        * platform/graphics/win/SimpleFontDataCairoWin.cpp: Correct include
41106          style for MathExtras.h.
41107
411082009-10-26  Brady Eidson  <beidson@apple.com>
41109
41110        Reviewed by Darin Adler.
41111
41112        <rdar://problem/7289467> and http://webkit.org/b/30798 - REGRESSION (r48687): www.myuhc.com doesn't load.
41113
41114        Test: fast/loader/grandparent-completion-starts-redirect.html
41115
41116        * loader/FrameLoader.cpp:
41117        (WebCore::FrameLoader::completed): Notify all descendants that the load completed, not just direct children.
41118
411192009-10-26  Dan Bernstein  <mitz@apple.com>
41120
41121        Reviewed by Beth Dakin.
41122
41123        Re-add CSSPropertyWebkitBackgroundSize in one more place
41124
41125        Fixes transitions/multiple-background-size-transitions.html, transitions/background-transitions.html
41126
41127        * page/animation/AnimationBase.cpp:
41128        (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
41129
411302009-10-26  Jeremy Orlow  <jorlow@chromium.org>
41131
41132        Reviewed by Dimitri Glazkov.
41133
41134        [V8] Tidy up the DOM Storage runtime flag stuff
41135        https://bugs.webkit.org/show_bug.cgi?id=30794
41136
41137        Clean up the DOM Storage runtime flag stuff to match the new way of doing
41138        things.  No behavioral changes.
41139
41140        * bindings/v8/RuntimeEnabledFeatures.cpp:
41141        * bindings/v8/RuntimeEnabledFeatures.h:
41142        (WebCore::RuntimeEnabledFeatures::setDatabaseEnabled):
41143        (WebCore::RuntimeEnabledFeatures::databaseEnabled):
41144        (WebCore::RuntimeEnabledFeatures::setLocalStorageEnabled):
41145        (WebCore::RuntimeEnabledFeatures::localStorageEnabled):
41146        (WebCore::RuntimeEnabledFeatures::setSessionStorageEnabled):
41147        (WebCore::RuntimeEnabledFeatures::sessionStorageEnabled):
41148        * bindings/v8/custom/V8DOMWindowCustom.cpp:
41149        (WebCore::ACCESSOR_RUNTIME_ENABLER):
41150        * storage/Storage.cpp:
41151        * storage/Storage.h:
41152
411532009-10-26  Brady Eidson  <beidson@apple.com>
41154
41155        Reviewed by Darin Adler.
41156
41157        <rdar://problem/7308952> and http://webkit.org/b/30424 - REGRESSION (r48687): Pages on ucas.com appear blank.
41158
41159        Test: fast/loader/history-forward-in-head.html
41160
41161        * loader/RedirectScheduler.cpp:
41162        (WebCore::RedirectScheduler::scheduleHistoryNavigation): Restore the moved canGoBackOrForward() check.
41163          This restores the side effect of an invalid history navigation canceling previous scheduled redirects
41164          and also fixes the bug of scheduling an invalid history navigation canceling parsing of the current document.
41165        (WebCore::RedirectScheduler::timerFired): Removed the canGoBackOrForward() check as it is now made before
41166          the redirect is scheduled.
41167
411682009-10-26  Alexey Proskuryakov  <ap@apple.com>
41169
41170        Reviewed by Darin Adler.
41171
41172        https://bugs.webkit.org/show_bug.cgi?id=30049
41173        <rdar://problem/7286002> Manipulating DOM from a script while parsing XHTML can cause a crash
41174
41175        Tests: fast/parser/remove-current-node-parent-x-2.xhtml
41176               fast/parser/remove-current-node-parent-x.xhtml
41177
41178        * dom/XMLTokenizer.h: Store the whole stack of parent nodes - element.parentNode() is
41179        unreliable after DOM manipulation.
41180
41181        * dom/XMLTokenizer.cpp:
41182        (WebCore::XMLTokenizer::pushCurrentNode): Push the new node onto stack.
41183        (WebCore::XMLTokenizer::popCurrentNode): This is now called instead of setCurrentNode when
41184        exiting a node.
41185        (WebCore::XMLTokenizer::clearCurrentNodeStack): We're aborting; or just done parsing. This
41186        replaces setCurrentNode(0).
41187        (WebCore::XMLTokenizer::enterText): Call pushCurrentNode().
41188        (WebCore::XMLTokenizer::exitText): Call popCurrentNode(), removing a long-standing FIXME
41189        (not sure if it was ever practical though - how can a parent become null while adding text?)
41190
41191        * dom/XMLTokenizerLibxml2.cpp:
41192        (WebCore::XMLTokenizer::~XMLTokenizer): Call clearCurrentNodeStack().
41193        (WebCore::XMLTokenizer::startElementNs): Call pushCurrentNode().
41194        (WebCore::XMLTokenizer::endElementNs): Call popCurrentNode() to safely get to a parent. Also
41195        added a check fo script element still being in document - Firefox parses those that aren't,
41196        but doesn't execute them.
41197
41198        * dom/XMLTokenizerQt.cpp:
41199        (WebCore::XMLTokenizer::~XMLTokenizer):
41200        (WebCore::XMLTokenizer::parseStartElement):
41201        (WebCore::XMLTokenizer::parseEndElement):
41202        Match libxml2 version changes.
41203
412042009-10-26  Dan Bernstein  <mitz@apple.com>
41205
41206        Reviewed by Beth Dakin.
41207
41208        background-size: X treated as background-size: X X, not background-size: X auto
41209        https://bugs.webkit.org/show_bug.cgi?id=28440
41210
41211        Updated fast/backgrounds/size/resources/parsing-background-size-values.js
41212        and fast/backgrounds/size/resources/parsing-inherit.js
41213
41214        Reinstated -webkit-background-size and kept its behavior of filling in
41215        the second value with the first one; and changed background-size to have
41216        the behavior of filling in the second value with 'auto'.
41217
41218        * css/CSSComputedStyleDeclaration.cpp:
41219        (computedProperties): Re-added CSSPropertyWebkitBackgroundSize.
41220        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Ditto.
41221        * css/CSSParser.cpp:
41222        (WebCore::CSSParser::parseValue): Ditto.
41223        (WebCore::CSSParser::parseFillSize): Adapted for the new parsing rule.
41224        (WebCore::CSSParser::parseFillProperty): Re-added
41225        CSSPropertyWebkitBackgroundSize.
41226        (WebCore::cssPropertyID): Removed mapping of -webkit-background-size to
41227        background-size.
41228        * css/CSSParser.h:
41229        * css/CSSPropertyNames.in: Re-added -webkit-background-size.
41230        * css/CSSStyleSelector.cpp:
41231        (WebCore::CSSStyleSelector::applyProperty): Re-added
41232        CSSPropertyWebkitBackgroundSize.
41233
412342009-10-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
41235
41236        Reviewed by Eric Seidel.
41237
41238        [Qt] Use "%lli" to format "long long" on WIN_OS to fix HTML5 WebDB crash
41239        https://bugs.webkit.org/show_bug.cgi?id=30777
41240
41241        No new tests as the crash can be reproduced by existing storage
41242        LayoutTests (by hitting an assert in debug mode Webkit on WIN_OS).
41243
41244        * platform/text/String.cpp:
41245        (WebCore::String::number): Qt's QString::vsprintf does not
41246        understand the "%I64u" format string. Always use the "%lli"
41247        format string for Qt port.
41248
412492009-10-26  Tony Chang  <tony@chromium.org>
41250
41251        Reviewed by Eric Seidel.
41252
41253        Roll back r50073 because r50041-50043 were reverted.  r50073 was
41254        a chromium side fix for r50041.
41255        https://bugs.webkit.org/show_bug.cgi?id=30789
41256
41257        * bindings/v8/V8Collection.h:
41258        * bindings/v8/custom/V8CustomBinding.h:
41259        * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
41260        (WebCore::getNamedItems):
41261        (WebCore::getItem):
41262        (WebCore::NAMED_PROPERTY_GETTER):
41263        (WebCore::CALLBACK_FUNC_DECL):
41264        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
41265        (WebCore::getNamedItems):
41266        (WebCore::getItem):
41267        (WebCore::NAMED_PROPERTY_GETTER):
41268        (WebCore::CALLBACK_FUNC_DECL):
41269        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
41270
412712009-10-26  Geoffrey Garen  <ggaren@apple.com>
41272
41273        Reviewed by Dimitri Glazkov.
41274
41275        Fixed https://bugs.webkit.org/show_bug.cgi?id=30765
41276        REGRESSION (r48701): Removing an event listener causes the one added just after it not to fire
41277        
41278        and related bugs.
41279
41280        If the event listener being removed is prior to the current firing event
41281        iterator, we need to decrement the current firing event iterator in
41282        addition to the endpoint. (Otherwise, shrinking the event listener vector
41283        by one implicity moves the current firing event iterator forward by one.
41284        It's like relativity, only without the planets.)
41285        
41286        Also took the opportunity to change some pointers to references, since
41287        they can't be null.
41288
41289        * dom/EventTarget.cpp:
41290        (WebCore::EventTarget::removeEventListener):
41291        (WebCore::EventTarget::removeAllEventListeners): Update iterator in addition
41292        to end, if need be.
41293        (WebCore::EventTarget::fireEventListeners): Updated for interface changes.
41294        Added a comment to explain a behavior that was implicit enough to be
41295        confusing.
41296
41297        * dom/EventTarget.h:
41298        (WebCore::FiringEventIterator::FiringEventIterator):
41299        (WebCore::EventTarget::isFiringEventListeners): Updated for interface changes.
41300
413012009-10-26  Brian Weinstein  <bweinstein@apple.com>
41302
41303        Reviewed by Timothy Hatcher.
41304
41305        Fixes <http://webkit.org/b/30792>.
41306        Web Inspector: When changing resource scope, resource graph can get in weird state.
41307        
41308        If the user was scrolled down while looking at All resources, and then just
41309        selects Fonts, or something that doesn't have many resources, then the graph
41310        will stay scrolled down, even when there is no content there.
41311        
41312        When the filter is updated, scroll to the top of the graph view, so this won't
41313        happen.
41314
41315        * inspector/front-end/AbstractTimelinePanel.js:
41316        (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
41317
413182009-10-26  Sam Weinig  <sam@webkit.org>
41319
41320        Fix mac clean build.
41321
41322        * html/HTMLOptionsCollection.idl:
41323
413242009-10-26  Pavel Feldman  <pfeldman@chromium.org>
41325
41326        Reviewed by Timothy Hatcher.
41327
41328        Web Inspector: Extract AbstractTimelinePanel that will be a base
41329        class for ResourcesPanel and TimelinePanel.
41330
41331        https://bugs.webkit.org/show_bug.cgi?id=30776
41332
41333        * WebCore.gypi:
41334        * WebCore.vcproj/WebCore.vcproj:
41335        * inspector/front-end/AbstractTimelinePanel.js: Added.
41336        (WebInspector.AbstractTimelinePanel):
41337        (WebInspector.AbstractTimelinePanel.prototype.get categories):
41338        (WebInspector.AbstractTimelinePanel.prototype.showCategory):
41339        (WebInspector.AbstractTimelinePanel.prototype.hideCategory):
41340        (WebInspector.AbstractTimelinePanel.prototype.createTimelinePanels):
41341        (WebInspector.AbstractTimelinePanel.prototype._createFilterPanel.createFilterElement):
41342        (WebInspector.AbstractTimelinePanel.prototype._createFilterPanel):
41343        (WebInspector.AbstractTimelinePanel.prototype.filter):
41344        (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
41345        (WebInspector.AbstractTimelinePanel.prototype._createGraph):
41346        (WebInspector.AbstractTimelinePanel.prototype.updateGraphDividersIfNeeded):
41347        (WebInspector.AbstractTimelinePanel.prototype._updateSummaryGraph):
41348        (WebInspector.AbstractTimelinePanel.prototype._updateDividersLabelBarPosition):
41349        (WebInspector.AbstractTimelinePanel.prototype.get needsRefresh):
41350        (WebInspector.AbstractTimelinePanel.prototype.set needsRefresh):
41351        (WebInspector.AbstractTimelinePanel.prototype.refreshIfNeeded):
41352        (WebInspector.AbstractTimelinePanel.prototype.show):
41353        (WebInspector.AbstractTimelinePanel.prototype.resize):
41354        (WebInspector.AbstractTimelinePanel.prototype.updateMainViewWidth):
41355        (WebInspector.TimelineCalculator):
41356        (WebInspector.TimelineCalculator.prototype.computeSummaryValues):
41357        (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
41358        (WebInspector.TimelineCalculator.prototype.computeBarGraphLabels):
41359        (WebInspector.TimelineCalculator.prototype.get boundarySpan):
41360        (WebInspector.TimelineCalculator.prototype.updateBoundaries):
41361        (WebInspector.TimelineCalculator.prototype.reset):
41362        (WebInspector.TimelineCalculator.prototype._value):
41363        (WebInspector.TimelineCalculator.prototype.formatValue):
41364        * inspector/front-end/ResourceCategory.js:
41365        (WebInspector.ResourceCategory):
41366        * inspector/front-end/ResourcesPanel.js:
41367        (WebInspector.ResourcesPanel):
41368        (WebInspector.ResourcesPanel.prototype.toolbarItemClass.get toolbarItemLabel):
41369        (WebInspector.ResourcesPanel.prototype.get statusBarItems):
41370        (WebInspector.ResourcesPanel.prototype.get categories):
41371        (WebInspector.ResourcesPanel.prototype.showCategory):
41372        (WebInspector.ResourcesPanel.prototype.hideCategory):
41373        (WebInspector.ResourcesPanel.prototype.isCategoryVisible):
41374        (WebInspector.ResourcesPanel.prototype.populateSidebar):
41375        (WebInspector.ResourcesPanel.prototype.createPanelEnabler):
41376        (WebInspector.ResourcesPanel.prototype.createStatusbarButtons):
41377        (WebInspector.ResourcesPanel.prototype.set mainResourceLoadTime):
41378        (WebInspector.ResourcesPanel.prototype.set mainResourceDOMContentTime):
41379        (WebInspector.ResourcesPanel.prototype.show):
41380        (WebInspector.ResourcesPanel.prototype.resize):
41381        (WebInspector.ResourcesPanel.prototype.reset):
41382        (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded):
41383        (WebInspector.ResourcesPanel.prototype.updateMainViewWidth):
41384        (WebInspector.ResourceTimeCalculator):
41385        (WebInspector.ResourceTransferSizeCalculator):
41386        (WebInspector.ResourceTransferSizeCalculator.prototype.computeBarGraphLabels):
41387        * inspector/front-end/SummaryBar.js:
41388        (WebInspector.SummaryBar.prototype.update):
41389        * inspector/front-end/WebKit.qrc:
41390        * inspector/front-end/inspector.html:
41391        * inspector/front-end/inspector.js:
41392        (WebInspector.loaded):
41393
413942009-10-26  Avi Drissman  <avi@google.com>
41395
41396        Reviewed by Darin Adler.
41397
41398        Use Helvetica in the Inspector as intended.
41399        https://bugs.webkit.org/show_bug.cgi?id=30787
41400
41401        * inspector/front-end/inspector.css:
41402
414032009-10-26  Nate Chapin  <japhet@chromium.org>
41404
41405        Reviewed by Alexey Proskuryakov.
41406
41407        Don't set window.opener to 0 for the current FrameLoader if a noreferrer link was clicked, only suppress opener in a new frame.
41408        https://bugs.webkit.org/show_bug.cgi?id=30781
41409
41410        * loader/FrameLoader.cpp:
41411        (WebCore::FrameLoader::urlSelected): Don't suppress opener in the current frame for noreferrer navigations.
41412
414132009-10-26  Ryosuke Niwa  <rniwa@webkit.org>
41414
41415        Reviewed by Eric Seidel.
41416
41417        Data loss occurs when unbolding nested bold tags.
41418        https://bugs.webkit.org/show_bug.cgi?id=30083
41419
41420        Fixes the loop in swapInNodePreservingAttributesAndChildren by saving nextSibling() of child
41421        to a temporary valuable.  It was originally calling nextSibling() after appending the child
41422        to new parent, in which case, nextSibling is always 0.
41423
41424        Test: editing/style/unbolding-nested-b.html
41425
41426        * editing/ReplaceNodeWithSpanCommand.cpp:
41427        (WebCore::swapInNodePreservingAttributesAndChildren):
41428
414292009-10-21  Jeremy Orlow  <jorlow@chromium.org>
41430
41431        Reviewed by Darin Adler.
41432
41433        Storage events should use Document::url() rather than documentURI()
41434        https://bugs.webkit.org/show_bug.cgi?id=30535
41435
41436        Storage events should use Document::url() rather than Document::documentURI()
41437        per http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-October/023703.html
41438
41439        Test: storage/domstorage/documentURI.html
41440
41441        * storage/StorageEventDispatcher.cpp:
41442        (WebCore::StorageEventDispatcher::dispatch):
41443
414442009-10-26  Sam Weinig  <sam@webkit.org>
41445
41446        Rubber-stamped by Darin Adler.
41447
41448        Rollout r50041-50043.  The HTML5 spec changed to make HTMLOptionsCollection
41449        inherit from HTMLCollection.
41450
41451        * GNUmakefile.am:
41452        * WebCore.gypi:
41453        * WebCore.pro:
41454        * WebCore.vcproj/WebCore.vcproj:
41455        * WebCore.xcodeproj/project.pbxproj:
41456        * bindings/js/JSHTMLAllCollectionCustom.cpp:
41457        (WebCore::getNamedItems):
41458        (WebCore::callHTMLAllCollection):
41459        (WebCore::JSHTMLAllCollection::nameGetter):
41460        (WebCore::JSHTMLAllCollection::item):
41461        (WebCore::JSHTMLAllCollection::namedItem):
41462        * bindings/js/JSHTMLCollectionCustom.cpp:
41463        (WebCore::getNamedItems):
41464        (WebCore::callHTMLCollection):
41465        (WebCore::JSHTMLCollection::nameGetter):
41466        (WebCore::JSHTMLCollection::item):
41467        (WebCore::JSHTMLCollection::namedItem):
41468        (WebCore::toJS):
41469        * bindings/js/JSHTMLCollectionFunctions.h: Removed.
41470        * bindings/js/JSHTMLDocumentCustom.cpp:
41471        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
41472        (WebCore::JSHTMLOptionsCollection::length):
41473        (WebCore::JSHTMLOptionsCollection::indexSetter):
41474        * bindings/objc/DOMHTML.mm:
41475        (kitClass):
41476        * bindings/objc/DOMUtility.mm:
41477        (JSC::createDOMWrapper):
41478        * bindings/scripts/CodeGeneratorJS.pm:
41479        * html/HTMLCollection.idl:
41480        * html/HTMLOptionsCollection.idl:
41481
414822009-10-26  Brent Fulgham  <bfulgham@webkit.org>
41483
41484        Reviewed by Adam Roben.
41485
41486        Build fix for ENABLE_FILTERS under Windows.
41487        https://bugs.webkit.org/show_bug.cgi?id=30762
41488
41489        Build correction for ENABLE_FILTERS feature.  No new tests needed.
41490
41491        * WebCore.vcproj/WebCore.vcproj:  Make the following changes:
41492          (1) Create a new 'filters' sub-folder of the platform/graphics 
41493              folder to properly show the sources held in this directory.
41494          (2) Move the files that are currently shown in svn/graphics/filters
41495              to platform/graphics/filters (where they actually live on disk).
41496          (3) Add the missing SVGFilter, SVGFilterBuilder, and SVGFETile to
41497              the project so they are built.
41498          (4) Remove SVGFEFloodElement.cpp from the build, since it is already
41499              being compiled by SVGAllInOne.cpp.  Its presence as a separate
41500              entity is causing a linker warning for duplicate symbols.
41501          (5) Add ImageBuffer.cpp to the build to support color space
41502              calculations for non-CG builds.
41503        * WebCore.vcproj/WebCoreCommon.vsprops: Add the platform/graphics/filters
41504          path to the search paths in the project.
41505
415062009-10-26  Keishi Hattori  <casey.hattori@gmail.com>
41507
41508        Reviewed by Timothy Hatcher.
41509
41510        console.assert should prefix messages with "Assertion failed: "
41511        https://bugs.webkit.org/show_bug.cgi?id=19135
41512
41513        * English.lproj/localizedStrings.js:
41514        * inspector/front-end/ConsoleView.js:
41515        (WebInspector.ConsoleMessage.prototype.toMessageElement): Append "Assertion failed: " for AssertMessageType.
41516        (WebInspector.ConsoleMessage.prototype.toString):
41517        * page/Console.cpp:
41518        (WebCore::Console::assertCondition): Use AssertMessageType.
41519        * page/Console.h:
41520        (WebCore::MessageType): Added AssertMessageType.
41521
415222009-10-26  Rahul Kuchhal  <kuchhal@chromium.org>
41523
41524        Reviewed by Eric Seidel.
41525
41526        Prevent crash when optgroup element is empty by adding a NULL check.
41527
41528        https://bugs.webkit.org/show_bug.cgi?id=30365
41529
41530        Test: fast/forms/select-empty-optgroup.html
41531
41532        * dom/SelectElement.cpp:
41533        (WebCore::SelectElement::appendFormData):
41534
415352009-10-21  Steven Knight  <sgk@chromium.org>
41536
41537        Reviewed by David Levin.
41538
41539        Refactor gyp for separate webcore_bindings{,_sources} targets.
41540
41541        https://bugs.webkit.org/show_bug.cgi?id=30447
41542
41543        Handle long link lines by building .idl-generated bindings in a
41544        separate webcore_bindings library target.  Avoid Visual Studio
41545        dependency issues by building additional generated .cpp and .h files
41546        in a separate webcore_bindings_sources target.
41547
41548        Chrome should still build and test successfully.
41549
41550        * WebCore.gyp/WebCore.gyp:
41551        * WebCore.gypi:
41552
415532009-10-26  Mike Belshe  <mike@belshe.com>
41554
41555        Reviewed by Darin Fisher.
41556
41557        Make the number of connections for chromium controlled by
41558        chromium rather than by ResourceRequestBase.
41559        https://bugs.webkit.org/show_bug.cgi?id=30661
41560
41561        * platform/network/ResourceRequestBase.cpp:
41562        * platform/network/chromium/ResourceRequest.cpp:
41563
415642009-10-26  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
41565
41566        Unreviewed. make distcheck build fixes.
41567
41568        * GNUmakefile.am:
41569
415702009-10-26  Anton Muhin  <antonm@chromium.org>
41571
41572        Reviewed by Dimitri Glazkov.
41573
41574        Unbreak Chromium build: that requires adding custom implementations
41575        for HTMLOptionsCollection's item and namedItem.  Keep v8 binding
41576        close to JSC bindings as well.
41577        https://bugs.webkit.org/show_bug.cgi?id=30780
41578
41579        * bindings/v8/V8Collection.h:
41580        (WebCore::getNamedItemsFromCollection):
41581        (WebCore::getItemFromCollection):
41582        * bindings/v8/custom/V8CustomBinding.h:
41583        * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
41584        (WebCore::NAMED_PROPERTY_GETTER):
41585        (WebCore::CALLBACK_FUNC_DECL):
41586        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
41587        (WebCore::NAMED_PROPERTY_GETTER):
41588        (WebCore::CALLBACK_FUNC_DECL):
41589        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
41590        (WebCore::CALLBACK_FUNC_DECL):
41591
415922009-10-23  Alexey Proskuryakov  <ap@apple.com>
41593
41594        Reviewed by Adam Barth and Darin Adler.
41595
41596        https://bugs.webkit.org/show_bug.cgi?id=30723
41597        <rdar://problem/6189415> Input names added to multipart/form-data headers need to be escaped.
41598
41599        Test: http/tests/security/escape-form-data-field-names.html
41600
41601        * platform/network/FormDataBuilder.cpp:
41602        (WebCore::appendQuotedString):
41603        (WebCore::FormDataBuilder::beginMultiPartHeader):
41604        (WebCore::FormDataBuilder::addFilenameToMultiPartHeader):
41605        Percent-escape line breaks and quotation marks.
41606
416072009-10-26  Kelly Norton  <knorton@google.com>
41608
41609        Reviewed by Pavel Feldman.
41610
41611        Adds DOMTimer support to InspectorTimelineAgent.
41612        https://bugs.webkit.org/show_bug.cgi?id=30467
41613
41614        * inspector/InspectorTimelineAgent.cpp: Added timer support and fixed some method names.
41615        (WebCore::InspectorTimelineAgent::didDispatchDOMEvent):
41616        (WebCore::InspectorTimelineAgent::didLayout):
41617        (WebCore::InspectorTimelineAgent::didRecalculateStyle):
41618        (WebCore::InspectorTimelineAgent::didPaint):
41619        (WebCore::InspectorTimelineAgent::didWriteHTML):
41620        (WebCore::InspectorTimelineAgent::didInstallTimer): Added.
41621        (WebCore::InspectorTimelineAgent::didRemoveTimer): Added.
41622        (WebCore::InspectorTimelineAgent::willFireTimer): Added.
41623        (WebCore::InspectorTimelineAgent::didFireTimer): Added.
41624        (WebCore::InspectorTimelineAgent::addItemToTimeline): Added.
41625        (WebCore::InspectorTimelineAgent::didCompleteCurrentTimelineItem): Renamed.
41626        * inspector/InspectorTimelineAgent.h:
41627        (WebCore::):
41628        * inspector/TimelineItemFactory.cpp: Add methods for timer-related ScriptObjects.
41629        (WebCore::TimelineItemFactory::createGenericTimerTimelineItem):
41630        (WebCore::TimelineItemFactory::createTimerInstallTimelineItem):
41631        * inspector/TimelineItemFactory.h:
41632        * page/DOMTimer.cpp: Added instrumentation points.
41633        (WebCore::DOMTimer::install):
41634        (WebCore::DOMTimer::removeById):
41635        (WebCore::DOMTimer::fired):
41636
416372009-10-26  Simon Fraser  <simon.fraser@apple.com>
41638
41639        Reviewed by Sam Weinig.
41640
41641        <rdar://problem/6988966> Hardware layers do not show up in page snapshots
41642
41643        Add a method that gets called when snapshotting Canvas3DLayers for page snapshots,
41644        that allows the layer to return a CGImageRef of its contents.
41645        
41646        * platform/graphics/mac/Canvas3DLayer.h:
41647        * platform/graphics/mac/Canvas3DLayer.mm:
41648        (-[Canvas3DLayer copyImageSnapshotWithColorSpace:]):
41649
416502009-10-26  Yury Semikhatsky  <yurys@chromium.org>
41651
41652        Reviewed by Pavel Feldman.
41653
41654        Pass "console" as object group when evaluating selection.
41655
41656        https://bugs.webkit.org/show_bug.cgi?id=30738
41657
41658        * inspector/front-end/SourceFrame.js:
41659        (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
41660
416612009-10-26  Keishi Hattori  <casey.hattori@gmail.com>
41662
41663        Reviewed by Pavel Feldman.
41664
41665        Fix for Console not showing repeat count when repeatedly logging an Event
41666        https://bugs.webkit.org/show_bug.cgi?id=30324
41667
41668        * inspector/ConsoleMessage.cpp:
41669        (WebCore::ConsoleMessage::addToConsole):
41670        (WebCore::ConsoleMessage::updateRepeatCountInConsole): Added.
41671        * inspector/ConsoleMessage.h:
41672        * inspector/InspectorController.cpp:
41673        (WebCore::InspectorController::addConsoleMessage): Calls updateRepeatCountInConsole if it is a repeating message.
41674        * inspector/InspectorFrontend.cpp:
41675        (WebCore::InspectorFrontend::addConsoleMessage): Renamed WebCore::InspectorFrontend::addMessageToConsole
41676        (WebCore::InspectorFrontend::updateConsoleMessageRepeatCount): Added. Called when repeatCount is incremented.
41677        * inspector/InspectorFrontend.h:
41678        * inspector/front-end/ConsoleView.js:
41679        (WebInspector.ConsoleView.prototype.addMessage): Removed calls to msg.isEqual.
41680        (WebInspector.ConsoleView.prototype.updateMessageRepeatCount): Added.
41681        (WebInspector.ConsoleView.prototype._incrementErrorWarningCount): Added. Updates the error/warning count.
41682        (WebInspector.ConsoleView.prototype.clearMessages):
41683        (WebInspector.ConsoleMessage):
41684        (WebInspector.ConsoleMessage.prototype.toMessageElement): Use ConsoleMessage._updateRepeatCount
41685        (WebInspector.ConsoleMessage.prototype._updateRepeatCount):
41686        * inspector/front-end/inspector.js:
41687        (WebInspector.addConsoleMessage): Renamed WebInspector.addMessageToConsole.
41688        (WebInspector.updateConsoleMessageRepeatCount): Added.
41689
416902009-10-26  Chris Fleizach  <cfleizach@apple.com>
41691
41692        Reviewed by Darin Adler.
41693
41694        crash with AX on when an image map contains an anchor tag
41695        https://bugs.webkit.org/show_bug.cgi?id=30739
41696
41697        Tests: accessibility/crashing-a-tag-in-map.html
41698
41699        * accessibility/AccessibilityRenderObject.cpp:
41700        (WebCore::AccessibilityRenderObject::addChildren):
41701
417022009-10-26  Steve Block  <steveblock@google.com>
41703
41704        Reviewed by Eric Seidel.
41705
41706        Adds feature ENABLE guards to V8 bindings.
41707        https://bugs.webkit.org/show_bug.cgi?id=30697
41708
41709        This adds guards for the following features to the V8 bindings,
41710        to allow builds with V8 to succeed when these features are not enabled.
41711        - DATABASE
41712        - WORKERS
41713        - SHARED_WORKERS
41714        - SVG
41715        - XPATH
41716        - XSLT
41717        - INSPECTOR
41718
41719        This is a build fix only, no new tests required.
41720
41721        * bindings/v8/DOMObjectsInclude.h: Modified.
41722        * bindings/v8/DerivedSourcesAllInOne.cpp: Modified.
41723        * bindings/v8/V8Index.cpp: Modified.
41724        * bindings/v8/V8Index.h: Modified.
41725
417262009-10-26  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
41727
41728        Reviewed by Xan Lopez.
41729
41730        https://bugs.webkit.org/show_bug.cgi?id=25679
41731        [Gtk] Improve accessibility of focusable lists
41732
41733        Fixes the issues with the Atk states exposed for ListBoxOption
41734
41735        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
41736        (setAtkStateSetFromCoreObject):
41737
417382009-10-26  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
41739
41740        Reviewed by Xan Lopez.
41741
41742        https://bugs.webkit.org/show_bug.cgi?id=27085
41743        [Gtk] Incorrect rendering of list
41744
41745        Adds a way for platforms to indicate that a particular object
41746        should not be ignored.
41747
41748        * accessibility/AccessibilityObject.h:
41749        * accessibility/chromium/AccessibilityObjectChromium.cpp:
41750        * accessibility/gtk/AccessibilityObjectAtk.cpp:
41751        * accessibility/mac/AccessibilityObjectMac.mm:
41752        * accessibility/qt/AccessibilityObjectQt.cpp:
41753        * accessibility/win/AccessibilityObjectWin.cpp:
41754        * accessibility/wx/AccessibilityObjectWx.cpp:
41755        (AccessibilityObject::accessibilityPlatformIncludesObject):
41756        * accessibility/AccessibilityRenderObject.cpp:
41757        (AccessibilityRenderObject::accessibilityIsIgnored):
41758
417592009-10-26  Kinuko Yasuda  <kinuko@google.com>
41760
41761        Reviewed by Jan Alonzo.
41762
41763        Bug 30619: [Linux] Menu key doesn't work
41764        https://bugs.webkit.org/show_bug.cgi?id=30619
41765
41766        Test: manual-tests/keyboard-menukey-event.html
41767        No new layout tests: testing this will require changes in the test
41768        controller in a platform-specific way.
41769
41770        * platform/chromium/KeyCodeConversionGtk.cpp:
41771        (WebCore::windowsKeyCodeForKeyEvent): changed switch-case code for
41772        GDK_Menu to return VKEY_APPS instead of VKEY_MENU.
41773        * platform/gtk/KeyEventGtk.cpp:
41774        (WebCore::windowsKeyCodeForKeyEvent): changed switch-case code for
41775        GDK_Menu to return V_APPS instead of VK_MENU.
41776
417772009-10-25  Anton Muhin  <antonm@chromium.org>
41778
41779        Reviewed by Adam Barth.
41780
41781        Reuse already fetched proxy.
41782        https://bugs.webkit.org/show_bug.cgi?id=30747
41783
41784        * bindings/v8/V8DOMWrapper.cpp:
41785        (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
41786
417872009-10-25  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
41788
41789        Unreviewed build fix.
41790
41791        Build fix for WIN_OS if Netscape plugin support is turned off
41792        https://bugs.webkit.org/show_bug.cgi?id=30753
41793
41794        * plugins/PluginDatabase.cpp:
41795
417962009-10-25  Hironori Bono  <hbono@chromium.org>
41797
41798        Reviewed by Darin Adler.
41799
41800        A quick fix for Bug 29103.
41801        Since String::startsWith() cannot fold non-ASCII characters, this change folds the prefix string
41802        and the option string before calling String::startsWith().
41803        https://bugs.webkit.org/show_bug.cgi?id=29103
41804
41805        Tests: fast/forms/listbox-typeahead-cyrillic.html
41806               fast/forms/listbox-typeahead-greek.html
41807
41808        * dom/SelectElement.cpp:
41809        (WebCore::SelectElement::typeAheadFind):
41810
418112009-10-25  Keishi Hattori  <casey.hattori@gmail.com>
41812
41813        Reviewed by Timothy Hatcher.
41814
41815        Web Inspector: Expanding a node in the Console should not show the element in Elements panel
41816        https://bugs.webkit.org/show_bug.cgi?id=30749
41817
41818        * inspector/front-end/ElementsTreeOutline.js:
41819        (WebInspector.ElementsTreeElement.prototype.onmousedown): Check if inside disclosure triangle.
41820
418212009-10-25  Sam Weinig  <sam@webkit.org>
41822
41823        Reviewed by Dan Bernstein.
41824
41825        Fix for https://bugs.webkit.org/show_bug.cgi?id=30751
41826        HTMLOptionsCollection should not inherit from HTMLCollection
41827
41828        * GNUmakefile.am:
41829        * WebCore.gypi:
41830        * WebCore.pro:
41831        * WebCore.vcproj/WebCore.vcproj:
41832        * WebCore.xcodeproj/project.pbxproj:
41833        Added JSHTMLCollectionFunctions.h
41834
41835        * bindings/js/JSHTMLAllCollectionCustom.cpp:
41836        (WebCore::callHTMLAllCollection):
41837        (WebCore::JSHTMLAllCollection::nameGetter):
41838        (WebCore::JSHTMLAllCollection::item):
41839        (WebCore::JSHTMLAllCollection::namedItem):
41840        * bindings/js/JSHTMLCollectionCustom.cpp:
41841        (WebCore::callHTMLCollection):
41842        (WebCore::JSHTMLCollection::nameGetter):
41843        (WebCore::JSHTMLCollection::item):
41844        (WebCore::JSHTMLCollection::namedItem):
41845        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
41846        (WebCore::callHTMLCollection):
41847        (WebCore::JSHTMLOptionsCollection::getCallData):
41848        (WebCore::JSHTMLOptionsCollection::canGetItemsForName):
41849        (WebCore::JSHTMLOptionsCollection::nameGetter):
41850        (WebCore::JSHTMLOptionsCollection::indexSetter):
41851        (WebCore::JSHTMLOptionsCollection::item):
41852        (WebCore::JSHTMLOptionsCollection::namedItem):
41853        Refactor to use generic implementation of HTMLCollection bindings functions
41854        from JSHTMLCollectionFunctions.h
41855
41856        * bindings/js/JSHTMLCollectionFunctions.h: Added.
41857        (WebCore::getCollectionNamedItems):
41858        (WebCore::getCollectionItems):
41859        (WebCore::callHTMLCollectionGeneric):
41860        Added generic functions that JSHTMLCollection, JSHTMLAllCollection and
41861        JSHTMLOptionsCollection can all use.
41862
41863        * bindings/js/JSHTMLDocumentCustom.cpp: Add include of JSHTMLAllCollection.h
41864        for toJS on document.all.
41865
41866        * bindings/objc/DOMHTML.mm:
41867        * bindings/objc/DOMUtility.mm:
41868        (JSC::createDOMWrapper):
41869        Remove special cases for HTMLOptionsCollection.
41870
41871        * bindings/scripts/CodeGeneratorJS.pm:
41872        * html/HTMLAllCollection.idl:
41873        * html/HTMLCollection.idl:
41874        * html/HTMLOptionsCollection.idl:
41875
418762009-10-24  Keishi Hattori  <casey.hattori@gmail.com>
41877
41878        Reviewed by Timothy Hatcher.
41879
41880        WebInspector: Fixed issue with IME inside console
41881        https://bugs.webkit.org/show_bug.cgi?id=30660
41882
41883        * inspector/front-end/ConsoleView.js:
41884        (WebInspector.ConsoleView.prototype._promptKeyDown):
41885        * inspector/front-end/DatabaseQueryView.js:
41886        (WebInspector.DatabaseQueryView.prototype._promptKeyDown):
41887        * inspector/front-end/inspector.js:
41888        (WebInspector.loaded):
41889        (WebInspector.searchKeyDown): Moved performSearch here from WebInspector.searchKeyUp.
41890        (WebInspector.startEditing.element.handleKeyEvent):
41891        (WebInspector.startEditing):
41892        * inspector/front-end/utilities.js:
41893        (isEnterKey): Added. Check if in IME.
41894
418952009-10-24  Brian Weinstein  <bweinstein@apple.com>
41896
41897        Reviewed by Timothy Hatcher.
41898
41899        Fixes <https://bugs.webkit.org/show_bug.cgi?id=30752>.
41900        Web Inspector: Multiple Selection on Scope Bars by default Conflicts with other behavior on OSX.
41901        
41902        Have the scope bars select one scope by default, but if the multiple selection key
41903        is pressed, allow for multiple selection.
41904
41905        * inspector/front-end/ConsoleView.js:
41906        (WebInspector.ConsoleView):
41907        (WebInspector.ConsoleView.prototype._updateFilter):
41908        (WebInspector.ConsoleView.prototype.filter):
41909        * inspector/front-end/ResourcesPanel.js:
41910        (WebInspector.ResourcesPanel):
41911        (WebInspector.ResourcesPanel.prototype.filter):
41912        (WebInspector.ResourcesPanel.prototype._updateFilter):
41913
419142009-10-24  Timothy Hatcher  <timothy@apple.com>
41915
41916        Make the scope bars in the Web Inspector match other scope bars in Mac OS X.
41917        Also cleans up the CSS to use classes instead of ID selectors.
41918
41919        https://bugs.webkit.org/show_bug.cgi?id=28186
41920
41921        Reviewed by Dan Bernstein.
41922
41923        * inspector/front-end/ResourcesPanel.js: Add the scope-bar class.
41924        * inspector/front-end/inspector.css: Lots of changes to make it look right.
41925        * inspector/front-end/inspector.html: Add the scope-bar class.
41926
419272009-10-24  Timothy Hatcher  <timothy@apple.com>
41928
41929        Fix selecting Resources in the Web Inspector's Resources panel.
41930
41931        https://bugs.webkit.org/show_bug.cgi?id=30743
41932
41933        Reviewed by Pavel Feldman.
41934
41935        * inspector/front-end/ResourcesPanel.js:
41936        (WebInspector.ResourcesPanel.prototype.isCategoryVisible): Added.
41937        (WebInspector.ResourceSidebarTreeElement.prototype.get selectable): Call
41938        isCategoryVisible on the ResourcesPanel.
41939
419402009-10-24  Timothy Hatcher  <timothy@apple.com>
41941
41942        Fix the Scope Bar in the Web Inspector's Resource panel, so that selecting
41943        All will deselect the other filters.
41944
41945        https://bugs.webkit.org/show_bug.cgi?id=30744
41946
41947        Reviewed by Pavel Feldman.
41948
41949        * inspector/front-end/ResourcesPanel.js:
41950        (WebInspector.ResourcesPanel.createFilterElement): Better syntax.
41951        (WebInspector.ResourcesPanel):
41952        (WebInspector.ResourcesPanel.prototype.filter): Use a normal for loop,
41953        and the child variable instead of target in the loop. Other clean up.
41954
419552009-10-24  Timothy Hatcher  <timothy@apple.com>
41956
41957        Make resizing the Web Inspector's Elements panel sidebar work again.
41958        Also makes Resources panel use the sidebar code in Panel.
41959
41960        https://bugs.webkit.org/show_bug.cgi?id=30742
41961
41962        Reviewed by Pavel Feldman.
41963
41964        * inspector/front-end/Panel.js:
41965        (WebInspector.Panel): Don't create the sidebar with an argument.
41966        (WebInspector.Panel.prototype.show): Call updateSidebarWidth.
41967        (WebInspector.Panel.prototype.handleKeyEvent): Call handleSidebarKeyEvent.
41968        (WebInspector.Panel.prototype.handleSidebarKeyEvent): Added.
41969        (WebInspector.Panel.prototype.createSidebar): Renamed from _createSidebar.
41970        (WebInspector.Panel.prototype._sidebarDragging): Call updateSidebarWidth.
41971        (WebInspector.Panel.prototype.updateSidebarWidth): Renamed from _updateSidebarWidth.
41972        (WebInspector.Panel.prototype.setSidebarWidth): Added. Called by updateSidebarWidth.
41973        (WebInspector.Panel.prototype.updateMainViewWidth): Renamed from setMainViewWidth.
41974        * inspector/front-end/ProfilesPanel.js:
41975        (WebInspector.ProfilesPanel): Call createSidebar.
41976        (WebInspector.ProfilesPanel.prototype.updateMainViewWidth): Renamed from setMainViewWidth.
41977        * inspector/front-end/ResourcesPanel.js:
41978        (WebInspector.ResourcesPanel.prototype.show): Remove call to _updateSidebarWidth.
41979        (WebInspector.ResourcesPanel.prototype.showResource): Call updateSidebarWidth
41980        (WebInspector.ResourcesPanel.prototype.closeVisibleResource): Ditto.
41981        (WebInspector.ResourcesPanel.prototype.setSidebarWidth): Added.
41982        (WebInspector.ResourcesPanel.prototype.updateMainViewWidth): Added.
41983        * inspector/front-end/StoragePanel.js:
41984        (WebInspector.StoragePanel): Call createSidebar.
41985        (WebInspector.StoragePanel.prototype.updateMainViewWidth): Renamed from setMainViewWidth.
41986        * inspector/front-end/TimelinePanel.js:
41987        (WebInspector.TimelinePanel): Call createSidebar.
41988        (WebInspector.TimelinePanel.prototype.updateMainViewWidth): Renamed from setMainViewWidth.
41989
419902009-10-24  Timothy Hatcher  <timothy@apple.com>
41991
41992        Call updateSelection() in a few places so hovering in the Web Inspector's
41993        Elements panel always has the correct row selection height.
41994
41995        https://bugs.webkit.org/show_bug.cgi?id=30735
41996
41997        Reviewed by Pavel Feldman.
41998
41999        * inspector/front-end/ElementsTreeOutline.js:
42000        (WebInspector.ElementsTreeElement.prototype.toggleNewAttributeButton): Call updateSelection().
42001        (WebInspector.ElementsTreeElement.prototype._insertInLastAttributePosition): Ditto.
42002        * inspector/front-end/inspector.css: Prevent text wrapping in the middle of the add attribute text.
42003
420042009-10-24  Timothy Hatcher  <timothy@apple.com>
42005
42006        Remove the re-root tree feature from the Web Inspector's
42007        Elements panel. This feature wasn't super useful and gets
42008        in the way of double-click to edit.
42009
42010        https://bugs.webkit.org/show_bug.cgi?id=30736
42011
42012        Reviewed by Pavel Feldman.
42013
42014        * inspector/front-end/ElementsTreeOutline.js:
42015        (WebInspector.ElementsTreeElement.prototype.ondblclick):
42016
420172009-10-24  Anton Muhin  <antonm@chromium.org>
42018
42019        Reviewed by Adam Barth.
42020
42021        Implements ReturnsNew hint for V8 bindings generation code.
42022        https://bugs.webkit.org/show_bug.cgi?id=30745
42023
42024        * bindings/scripts/CodeGeneratorV8.pm:
42025        * bindings/v8/V8DOMWrapper.h:
42026        (WebCore::V8DOMWrapper::convertNewNodeToV8Object):
42027
420282009-10-24  Dan Bernstein  <mitz@apple.com>
42029
42030        Reviewed by Sam Weinig.
42031
42032        Missing images at 350.org due to wrong URLs
42033        https://bugs.webkit.org/show_bug.cgi?id=30748
42034
42035        Test: fast/dom/HTMLImageElement/parse-src.html
42036
42037        * dom/Element.cpp:
42038        (WebCore::Element::getURLAttribute): Pass the attribute value through deprecateParseURL().
42039        This matches what the Objective-C bindings do, as well as what HTMLImageLoader::sourceURI()
42040        and SVGImageLoader::sourceURI() do.
42041
420422009-10-24  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
42043
42044        Unreviewed.
42045
42046        [Qt] Build fix for QtWebKit after r50013.
42047
42048        * WebCore.pro:
42049
420502009-10-24  Dimitri Glazkov  <dglazkov@chromium.org>
42051
42052        Unreviewed, build fix.
42053
42054        [V8] Fix up to accommodate for HTMLAllCollection changes in
42055        http://trac.webkit.org/changeset/49998.
42056
42057        * WebCore.gypi:
42058        * bindings/scripts/CodeGeneratorV8.pm:
42059        * bindings/v8/custom/V8CustomBinding.h:
42060        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
42061
420622009-10-23  Dan Bernstein  <mitz@apple.com>
42063
42064        Reviewed by Alexey Proskuryakov.
42065
42066        <rdar://problem/7294131> Assertion failure in AuthenticationMac at
42067        mac(const Credential&) after authenticating to MobileMe Gallery movie
42068
42069        * platform/network/Credential.cpp:
42070        (WebCore::Credential::Credential): Initialize m_persistence.
42071        (WebCore::Credential::isEmpty): Made this method const.
42072        * platform/network/Credential.h:
42073        * platform/network/mac/AuthenticationMac.mm:
42074        (WebCore::mac): Return nil if the Credential is empty.
42075
420762009-10-23  Brian Weinstein  <bweinstein@apple.com>
42077
42078        Reviewed by Timothy Hatcher.
42079
42080        Fixes <https://bugs.webkit.org/show_bug.cgi?id=30617>.
42081        Web Inspector: Resources Scope Bar Should Allow Combinations.
42082        
42083        Refactor the filtering in ResourcePanel to make it match ConsoleView,
42084        and add a divider between All, and the other choices of Resource types.
42085
42086        * inspector/front-end/ResourcesPanel.js:
42087        (WebInspector.ResourcesPanel):
42088        (WebInspector.ResourcesPanel.prototype.filter):
42089        (WebInspector.ResourcesPanel.prototype._updateFilter):
42090        * inspector/front-end/inspector.css:
42091
420922009-10-23  Chris Evans  <cevans@chromium.org>
42093
42094        Reviewed by Adam Barth.
42095
42096        Ignore the Refresh header if we're in view source mode.
42097
42098        https://bugs.webkit.org/show_bug.cgi?id=27239
42099
42100        Test: http/tests/security/view-source-no-refresh.html
42101
42102        * loader/FrameLoader.cpp: ignore Refresh in view-source mode.
42103
421042009-10-23  Alexey Proskuryakov  <ap@apple.com>
42105
42106        Reviewed by Sam Weinig.
42107
42108        https://bugs.webkit.org/show_bug.cgi?id=30734
42109        Remove XMLTokenizer::m_currentNodeIsReferenced
42110
42111        No change in behavior, no tests.
42112
42113        * dom/XMLTokenizer.cpp:
42114        (WebCore::XMLTokenizer::setCurrentNode):
42115        * dom/XMLTokenizer.h:
42116        Don't store a boolean for the current node being the document - we can always check for that.
42117
42118        * dom/XMLTokenizerLibxml2.cpp:
42119        (WebCore::XMLTokenizer::XMLTokenizer):
42120        * dom/XMLTokenizerQt.cpp:
42121        (WebCore::XMLTokenizer::XMLTokenizer):
42122        A fragment passed to XMLTokenizer is never null - in fact, the first thing we do is dereference
42123        it unconditionally, and then begin checking it for null, as if it could help.
42124
421252009-10-23  Beth Dakin  <bdakin@apple.com>
42126
42127        No review since this is a build fix.
42128
42129        Build fix for the Mac. (Build is only broken when SVG filters are 
42130        enabled.)
42131
42132        Labelled these function static.
42133        * platform/graphics/filters/FEComponentTransfer.cpp:
42134        (WebCore::identity):
42135        (WebCore::table):
42136        (WebCore::discrete):
42137        (WebCore::linear):
42138        (WebCore::gamma):
42139        * platform/graphics/filters/FEGaussianBlur.cpp:
42140        (WebCore::boxBlur):
42141
421422009-10-23  Pavel Feldman  <pfeldman@chromium.org>
42143
42144        Reviewed by Timothy Hatcher.
42145
42146        Web Inspector: Implement a Timeline panel.
42147
42148        https://bugs.webkit.org/show_bug.cgi?id=30725
42149
42150        * WebCore.gypi:
42151        * WebCore.vcproj/WebCore.vcproj:
42152        * inspector/front-end/Images/timelineIcon.png: Added.
42153        * inspector/front-end/TimelineAgent.js:
42154        (WebInspector.addItemToTimeline):
42155        (WebInspector.timelineProfilerWasStarted):
42156        (WebInspector.timelineProfilerWasStopped):
42157        * inspector/front-end/TimelinePanel.js: Added.
42158        (WebInspector.TimelinePanel):
42159        (WebInspector.TimelinePanel.prototype.toolbarItemClass.get toolbarItemLabel):
42160        (WebInspector.TimelinePanel.prototype.get statusBarItems):
42161        (WebInspector.TimelinePanel.prototype.handleKeyEvent):
42162        (WebInspector.TimelinePanel.prototype.timelineWasStarted):
42163        (WebInspector.TimelinePanel.prototype.timelineWasStopped):
42164        (WebInspector.TimelinePanel.prototype.addItemToTimeline):
42165        (WebInspector.TimelinePanel.prototype._innerAddItemToTimeline):
42166        (WebInspector.TimelinePanel.prototype._toggleTimelineButton):
42167        (WebInspector.TimelinePanel.prototype.setMainViewWidth):
42168        (WebInspector.TimelinePanel.prototype.getItemTypeName):
42169        (WebInspector.TimelineRecordTreeElement):
42170        (WebInspector.TimelineRecordTreeElement.prototype.onattach):
42171        * inspector/front-end/WebKit.qrc:
42172        * inspector/front-end/inspector.css:
42173        * inspector/front-end/inspector.html:
42174        * inspector/front-end/inspector.js:
42175        (WebInspector._createPanels):
42176
421772009-10-23  Joseph Pecoraro  <joepeck@webkit.org>
42178
42179        Reviewed by Timothy Hatcher.
42180
42181        Web Inspector: Clash Between Search's onkeyup and incremental search events
42182        https://bugs.webkit.org/show_bug.cgi?id=30731
42183
42184        * inspector/front-end/inspector.js:
42185        (WebInspector.performSearch): prevent incremental search event from clobbering a forced search
42186
421872009-10-23  Kelly Norton  <knorton@google.com>
42188
42189        Reviewed by Pavel Feldman.
42190
42191        Removes the need for C++ Timeline types in InspectorTimelineAgent in favor
42192        of ScriptObjects.
42193        https://bugs.webkit.org/show_bug.cgi?id=30707
42194
42195        * GNUmakefile.am:
42196        * WebCore.vcproj/WebCore.vcproj:
42197        * WebCore.xcodeproj/project.pbxproj:
42198        * inspector/DOMDispatchTimelineItem.cpp: Removed.
42199        * inspector/DOMDispatchTimelineItem.h: Removed.
42200        * inspector/InspectorTimelineAgent.cpp:
42201        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
42202        (WebCore::InspectorTimelineAgent::willDispatchDOMEvent):
42203        (WebCore::InspectorTimelineAgent::didDispatchDOMEvent):
42204        (WebCore::InspectorTimelineAgent::willLayout):
42205        (WebCore::InspectorTimelineAgent::didLayout):
42206        (WebCore::InspectorTimelineAgent::willRecalculateStyle):
42207        (WebCore::InspectorTimelineAgent::didRecalculateStyle):
42208        (WebCore::InspectorTimelineAgent::willPaint):
42209        (WebCore::InspectorTimelineAgent::didPaint):
42210        (WebCore::InspectorTimelineAgent::willWriteHTML):
42211        (WebCore::InspectorTimelineAgent::didWriteHTML):
42212        (WebCore::InspectorTimelineAgent::reset):
42213        (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
42214        (WebCore::InspectorTimelineAgent::pushCurrentTimelineItem):
42215        * inspector/InspectorTimelineAgent.h:
42216        (WebCore::InspectorTimelineAgent::TimelineItemEntry::TimelineItemEntry):
42217        * inspector/TimelineItem.cpp: Removed.
42218        * inspector/TimelineItem.h: Removed.
42219        * inspector/TimelineItemFactory.cpp: Added.
42220        (WebCore::TimelineItemFactory::createGenericTimelineItem):
42221        (WebCore::TimelineItemFactory::createDOMDispatchTimelineItem):
42222        * inspector/TimelineItemFactory.h: Added.
42223        (WebCore::):
42224        (WebCore::TimelineItemFactory::TimelineItemFactory):
42225
422262009-10-23  Gavin Barraclough  <barraclough@apple.com>
42227
42228        Reviewed by Geoff Garen.
42229
42230        https://bugs.webkit.org/show_bug.cgi?id=30729
42231        Provide private API to request the global context for a specific world.
42232        Used to initialize parameters on the global object.
42233
42234        * bindings/js/ScriptController.cpp:
42235        (WebCore::ScriptController::globalObject):
42236        * bindings/js/ScriptController.h:
42237
422382009-10-23  Steve Block  <steveblock@google.com>
42239
42240        Reviewed by Eric Seidel.
42241
42242        Fixes style problems in Android-specific files.
42243        https://bugs.webkit.org/show_bug.cgi?id=30717
42244
42245        Style changes only, no new tests possible.
42246
42247        * page/android/EventHandlerAndroid.cpp: Modified.
42248        (WebCore::EventHandler::passMouseDownEventToWidget): Fixes whitespace in method signature.
42249        (WebCore::EventHandler::passSubframeEventToSubframe): Fixes whitespace in method signature.
42250        (WebCore::EventHandler::passWheelEventToWidget): Fixes whitespace in method signature.
42251        (WebCore::EventHandler::passMouseMoveEventToSubframe): Fixes whitespace in method signature.
42252        * platform/android/ClipboardAndroid.h: Modified. Fixes header include order and indenting.
42253        * platform/android/CursorAndroid.cpp: Modified. 
42254        (WebCore::grabCursor): Fixes function braces.
42255        (WebCore::grabbingCursor): Fixes function braces.
42256        * platform/android/FileChooserAndroid.cpp: Modified.
42257        (WebCore::FileChooser::basenameForWidth): Fixes braces on while statement, and updates String::copy to String::threadsafeCopy.
42258        * platform/android/FileSystemAndroid.cpp: Modified. Fixes header include order.
42259        (WebCore::unloadModule): Fixes zero test.
42260        (WebCore::writeToFile): Fixes if statement structure.
42261        * platform/android/KeyEventAndroid.cpp: Modified.
42262        (WebCore::windowsKeyCodeForKeyEvent): Fixes switch statement indenting.
42263        (WebCore::keyIdentifierForAndroidKeyCode): Fixes switch statement indenting.
42264        * platform/android/ScreenAndroid.cpp: Modified. Fixes header include order and switch statement indenting.
42265        * platform/android/TemporaryLinkStubs.cpp: Modified. Fixes header include order.
42266
422672009-10-23  Sam Weinig  <sam@webkit.org>
42268
42269        Another shot at a fixed build.
42270
42271        * DerivedSources.cpp:
42272
422732009-10-23  Sam Weinig  <sam@webkit.org>
42274
42275        Another shot at a fixed build.
42276
42277        * html/HTMLOptionsCollection.idl:
42278
422792009-10-23  Brady Eidson  <beidson@apple.com>
42280
42281        50,000!
42282
42283        * ChangeLog: Point out revision 50,000.
42284
422852009-10-23  Sam Weinig  <sam@webkit.org>
42286
42287        Reviewed by Anders Carlsson.
42288
42289        Fix for https://bugs.webkit.org/show_bug.cgi?id=30695
42290        Drop .tags() support from HTMLCollection
42291
42292        - Make .tags() only work for HTMLAllCollections in JS. .tags() is still
42293          available for all HTMLCollection like objects in Objective-C since that
42294          is API.
42295        - Auto-generate HTMLAllCollection.
42296
42297        Test: fast/dom/HTMLDocument/document-all.html
42298
42299        * DerivedSources.make:
42300        * GNUmakefile.am:
42301        * WebCore.gypi:
42302        * WebCore.pro:
42303        * WebCore.vcproj/WebCore.vcproj:
42304        * WebCore.xcodeproj/project.pbxproj:
42305        * bindings/js/JSHTMLAllCollection.cpp: Removed.
42306        * bindings/js/JSHTMLAllCollection.h: Removed.
42307        * bindings/js/JSHTMLAllCollectionCustom.cpp: Added.
42308        (WebCore::getNamedItems):
42309        (WebCore::callHTMLAllCollection):
42310        (WebCore::JSHTMLAllCollection::getCallData):
42311        (WebCore::JSHTMLAllCollection::canGetItemsForName):
42312        (WebCore::JSHTMLAllCollection::nameGetter):
42313        (WebCore::JSHTMLAllCollection::item):
42314        (WebCore::JSHTMLAllCollection::namedItem):
42315        * bindings/js/JSHTMLCollectionCustom.cpp:
42316        (WebCore::toJS):
42317        * bindings/js/JSHTMLDocumentCustom.cpp:
42318        * bindings/scripts/CodeGeneratorJS.pm:
42319        * dom/Document.cpp:
42320        (WebCore::Document::all):
42321        * dom/Document.h:
42322        * dom/HTMLAllCollection.idl: Removed.
42323        * html/HTMLAllCollection.cpp: Added.
42324        (WebCore::HTMLAllCollection::create):
42325        (WebCore::HTMLAllCollection::HTMLAllCollection):
42326        (WebCore::HTMLAllCollection::~HTMLAllCollection):
42327        * html/HTMLAllCollection.h: Added.
42328        * html/HTMLAllCollection.idl: Added.
42329        * html/HTMLCollection.h:
42330        * html/HTMLCollection.idl:
42331        * html/HTMLDocument.idl:
42332        * page/DOMWindow.idl:
42333
423342009-10-23  Pavel Feldman  <pfeldman@chromium.org>
42335
42336        Reviewed by Timothy Hatcher.
42337
42338        Web Inspector: pull basic sidebar implementation into the Panel.
42339
42340        https://bugs.webkit.org/show_bug.cgi?id=30720
42341
42342        * inspector/front-end/Panel.js:
42343        (WebInspector.Panel):
42344        (WebInspector.Panel.prototype.jumpToPreviousSearchResult):
42345        (WebInspector.Panel.prototype.handleKeyEvent):
42346        (WebInspector.Panel.prototype._createSidebar):
42347        (WebInspector.Panel.prototype._startSidebarDragging):
42348        (WebInspector.Panel.prototype._sidebarDragging):
42349        (WebInspector.Panel.prototype._endSidebarDragging):
42350        (WebInspector.Panel.prototype._updateSidebarWidth):
42351        (WebInspector.Panel.prototype.setCenterViewWidth):
42352        * inspector/front-end/ProfilesPanel.js:
42353        (WebInspector.ProfilesPanel):
42354        (WebInspector.ProfilesPanel.prototype.setCenterViewWidth):
42355        * inspector/front-end/StoragePanel.js:
42356        (WebInspector.StoragePanel):
42357        (WebInspector.StoragePanel.prototype.setCenterViewWidth):
42358
423592009-10-23  Jens Alfke  <snej@chromium.org>
42360
42361        Reviewed by Dimitri Glazkov.
42362
42363        Slight optimizations to object returning and exception handling in generated V8 bindings.
42364        https://bugs.webkit.org/show_bug.cgi?id=30599
42365
42366        * bindings/scripts/CodeGeneratorV8.pm: Generate better code
42367        * bindings/v8/V8DOMWrapper.h:
42368        (WebCore::V8DOMWrapper::convertToV8Object): Added overload that takes a Ref<>
42369        * bindings/v8/custom/V8InspectorBackendCustom.cpp:
42370        (WebCore::CALLBACK_FUNC_DECL): Remove unnecessary template param to prevent compile error
42371
423722009-10-23  Alpha Lam  <hclam@chromium.org>
42373
42374        Reviewed by Eric Carlson.
42375
42376        Volume slider always starts at half volume
42377        https://bugs.webkit.org/show_bug.cgi?id=28322
42378
42379        Sets the value attribute of volume slider to the volume attribute
42380        of the media element. Also update the value attribute of the
42381        input element for the volume slider when the volume attribute
42382        of the media element is updated.
42383
42384        Test: media/video-volume-slider.html
42385
42386        * rendering/MediaControlElements.cpp:
42387        (WebCore::MediaControlVolumeSliderElement::update):
42388        Set the value attribute of the input element for the volume slider
42389        using the current volume of the media element.
42390        * rendering/MediaControlElements.h:
42391        Add method definition of update().
42392        * rendering/RenderMedia.cpp:
42393        (WebCore::RenderMedia::createVolumeSlider):
42394        Creates a volume slider with value attribute equals to the current
42395        volume attribute of the media element.
42396
423972009-10-23  Evan Martin  <evan@chromium.org>
42398
42399        Reviewed by Eric Seidel.
42400
42401        Chrome Linux: fix caret positioning in LTR complex languages
42402        The caret is positioned off by one in languages like Thai.
42403
42404        https://bugs.webkit.org/show_bug.cgi?id=28284
42405
42406        A group of us spent a while trying various approaches to write a test
42407        for this; however, since it is only that the blinking cursor is
42408        displayed incorrectly, we concluded it can not be tested.
42409
42410        (Patch by Hironori Bono.)
42411
42412        * platform/graphics/chromium/FontLinux.cpp:
42413        (WebCore::Font::selectionRectForComplexText):
42414
424152009-10-23  Tony Chang  <tony@chromium.org>
42416
42417        Reviewed by David Levin.
42418
42419        Fix Chromium build after IsoldatedWorld change (r49963).
42420        https://bugs.webkit.org/show_bug.cgi?id=30719
42421
42422        * bindings/ScriptControllerBase.cpp:
42423        * bindings/js/ScriptController.cpp:
42424        (WebCore::ScriptController::executeScriptInIsolatedWorld):
42425        * bindings/v8/ScriptController.cpp:
42426        (WebCore::mainThreadNormalWorld):
42427        * bindings/v8/ScriptController.h:
42428        (WebCore::ScriptController::windowShell):
42429        (WebCore::ScriptController::existingWindowShell):
42430        * dom/Document.cpp:
42431        (WebCore::Document::createWrapperCache):
42432        * dom/ScriptExecutionContext.cpp:
42433        * dom/ScriptExecutionContext.h:
42434        * xml/XMLHttpRequest.cpp:
42435        * xml/XMLHttpRequest.h:
42436
424372009-10-23  Xiaomei Ji  <xji@chromium.org>
42438
42439        Reviewed by Sam Weinig.
42440
42441        Fix caretRangeFromPoint()/elementFromPoint() returns wrong result 
42442        for a zoomed and scrolled page.
42443        https://bugs.webkit.org/show_bug.cgi?id=30689.
42444
42445        The real cause is the wrong calculation of event.clientX/Y when
42446        page is zoomed and scolled.
42447        After Sam fixed the event.clientX/Y in r49551, the hit test point
42448        should be recalculated (revert r49490).
42449
42450        Test: fast/dom/Document/CaretRangeFromPoint/caretRangeFromPoint-in-zoom-and-scroll.html
42451
42452        * dom/Document.cpp:
42453        (WebCore::Document::elementFromPoint): calculate the correct point
42454        relative to document when page is zoomed and scrolled.
42455        (WebCore::Document::caretRangeFromPoint): calculate the correct point
42456        relative to document when page is zoomed and scrolled.
42457
424582009-10-22  Dumitru Daniliuc  <dumi@chromium.org>
42459
42460        Reviewed by Dmitry Titov.
42461
42462        Adding a class that allows us to enable/disable features at
42463        runtime. Adding a flag to enable database support.
42464
42465        https://bugs.webkit.org/show_bug.cgi?id=30653
42466
42467        * WebCore.gypi:
42468        * bindings/v8/RuntimeEnabledFeatures.cpp: Added.
42469        * bindings/v8/RuntimeEnabledFeatures.h: Added.
42470        (WebCore::RuntimeEnabledFeatures::setDatabaseEnabled):
42471        (WebCore::RuntimeEnabledFeatures::databaseEnabled):
42472        (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
42473        * bindings/v8/custom/V8CustomBinding.h:
42474        * bindings/v8/custom/V8DOMWindowCustom.cpp:
42475        (WebCore::ACCESSOR_RUNTIME_ENABLER):
42476        * page/DOMWindow.idl:
42477
424782009-10-23  Keishi Hattori  <casey.hattori@gmail.com>
42479
42480        Reviewed by Timothy Hatcher.
42481
42482        Inspector injects _inspectorCommandLineAPI into global object when opened
42483        https://bugs.webkit.org/show_bug.cgi?id=30675
42484
42485        * inspector/front-end/InjectedScript.js:
42486        (InjectedScript.getCompletions):
42487        (InjectedScript._evaluateOn):
42488        (InjectedScript.addInspectedNode):
42489        (InjectedScript._ensureCommandLineAPIInstalled): Moved _inspectorCommandLineAPI from window to console.
42490
424912009-10-23  Janne Koskinen  <janne.p.koskinen@digia.com>
42492
42493        Reviewed by Tor Arne Vestbø.
42494
42495        [Qt] don't undef NULL in Symbian emulator
42496
42497        npapi.h way of defining mwerks compiler,__intel__
42498        and win32 are all true for Symbian emulator.
42499        Changed the definions so that NULL won't be undefined
42500        when compiling for Symbian emulator nor target HW.
42501
42502        * bridge/npapi.h:
42503
425042009-10-23  Janne Koskinen  <janne.p.koskinen@digia.com>
42505
42506        Reviewed by Tor Arne Vestbø.
42507
42508        [Qt] Correct linking of sqlite3 for Symbian
42509        https://bugs.webkit.org/show_bug.cgi?id=30569
42510
42511        ".lib" will try to include library as static library
42512        causing the library to be searched from wrong directory and if found
42513        will be statically linked instead of the inteded dynamic linking.
42514
42515        * WebCore.pro:
42516
425172009-10-23  Enrica Casucci  <enrica@apple.com>
42518
42519        Reviewed by Adele Peterson.
42520
42521        REGRESSION: Copy is copying incorrect background-color
42522        <rdar://problem/7248529>
42523        https://bugs.webkit.org/show_bug.cgi?id=29697
42524
42525        Test: editing/execCommand/indent-paragraphs.html
42526
42527        This change removes the BackgroundColor from the list 
42528        of inheritable CSS properties and changes significantly
42529        the way we perform indentation.
42530        The new implementation of IndentOutdentCommand uses a new method
42531        defined in CompositeEditCommand called moveParagraphWithClones.
42532        This is an improved version of the original moveParagraph that
42533        is aimed at preserving the original markup of the paragraph being
42534        moved.
42535
42536        * editing/ApplyStyleCommand.cpp:
42537        (WebCore::): removed CSSPropertyBackgroundColor from editingStyleProperties.
42538        * editing/CompositeEditCommand.cpp:
42539        (WebCore::CompositeEditCommand::CompositeEditCommand): Removed trailing blanks.
42540        (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Removed trailing blanks.
42541        (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement): Added.
42542        (WebCore::CompositeEditCommand::cleanupAfterDeletion): Added.
42543        (WebCore::CompositeEditCommand::moveParagraphWithClones): Added.
42544        (WebCore::CompositeEditCommand::moveParagraphs): Modified to use cleanupAfterDeletion.
42545        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Removed trailing blanks.
42546        (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): Removed trailing blanks.
42547        (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary): Removed trailing blanks.
42548        * editing/CompositeEditCommand.h: Added three new methods.
42549        * editing/IndentOutdentCommand.cpp:
42550        (WebCore::IndentOutdentCommand::tryIndentingAsListItem): Changed to use moveParagraphWithClones.
42551        (WebCore::IndentOutdentCommand::indentIntoBlockquote): Changed to use moveParagraphWithClones.
42552        (WebCore::IndentOutdentCommand::indentRegion): Removed comment.
42553        * editing/IndentOutdentCommand.h: Removed prepareBlockquoteLevelForInsertion method.
42554
425552009-10-23  Steve Block  <steveblock@google.com>
42556
42557        Reviewed by Eric Seidel.
42558
42559        Adds missing UnusedParam.h includes, required when INSPECTOR is not enabled.
42560        https://bugs.webkit.org/show_bug.cgi?id=30677
42561
42562        Build fix, no new tests required.
42563
42564        * page/Console.cpp: Modified. Added UnusedParam.h include.
42565        * workers/WorkerContext.cpp: Modified. Added UnusedParam.h include.
42566
425672009-10-23  Girish Ramakrishnan  <girish@forwardbias.in>
42568
42569        Reviewed by Holger Freyther.
42570
42571        [Qt] Plugins : Use window's winId() instead of the widget's.
42572
42573        As per, https://developer.mozilla.org/en/NPN_GetValue
42574        NPNVnetscapeWindow on Unix/X11: "Gets the browser toplevel window in which the
42575        plug-in is displayed; returns Window".
42576
42577        The issue was found because NPNVNetscapeWindow winId() ends up creating
42578        a native window resulting in flicker.
42579
42580        https://bugs.webkit.org/show_bug.cgi?id=30706
42581
42582        * plugins/qt/PluginViewQt.cpp:
42583        (WebCore::PluginView::getValue):
42584
425852009-10-23  Girish Ramakrishnan  <girish@forwardbias.in>
42586
42587        Reviewed by Holger Freyther.
42588
42589        [Qt] Windowless Plugins : Don't use m_clipRect when painting.
42590
42591        Though it works, it is not correct to use m_clipRect for painting
42592        in Windowless mode. Instead, the rect paramater that is passed
42593        as a part of PluginView::paint() must be used. This change will
42594        also result in some speedup since previously we used to paint all
42595        the visible parts of a windowless plugin (even if those parts were
42596        not dirty).
42597
42598        Also, fix invalidateRect() to compute the correct width and height.
42599
42600        https://bugs.webkit.org/show_bug.cgi?id=30711
42601
42602        * plugins/qt/PluginViewQt.cpp:
42603        (WebCore::PluginView::paint):
42604        (WebCore::PluginView::invalidateRect):
42605
426062009-10-21  Girish Ramakrishnan  <girish@forwardbias.in>
42607
42608        Reviewed by Holger Freyther.
42609
42610        Plugins : Use test.swf in the plugins manual tests.
42611
42612        They previously referenced youtube videos which among other things are
42613        cumbersome to use without internet connection. The old youtube link is
42614        just commented out so that testing with youtube can be done with
42615        little effort.
42616
42617        https://bugs.webkit.org/show_bug.cgi?id=30662
42618
42619        * manual-tests/plugins/test.swf: Copied from LayoutTests/fast/replaced/resources/test.swf.
42620        * manual-tests/plugins/windowed.html:
42621        * manual-tests/plugins/windowless.html:
42622        * manual-tests/qt/plugin-sibling-frame-include.html:
42623
426242009-10-23  Brian Weinstein  <bweinstein@apple.com>
42625
42626        Reviewed by Jon Honeycutt.
42627
42628        Fix the Windows Release build by moving Accessibility files
42629        into all-in-one file and excluding them from the build.
42630
42631        * WebCore.vcproj/WebCore.vcproj:
42632        * accessibility/AccessibilityAllInOne.cpp: Added.
42633
426342009-10-16  Gavin Barraclough  <barraclough@apple.com>
42635
42636        Reviewed by Sam Weinig & Geoff Garen.
42637
42638        https://bugs.webkit.org/show_bug.cgi?id=30696
42639        Add support for IsolatedWorlds to JSC bindings.
42640
42641        An IsolatedWorld is basically a parallel, separate copy of the window shells and DOM wrapper objects for
42642        a given document.  To support isolation this patch:
42643
42644            * Adds support to the ScriptController to track multiple window shells, one per world.
42645            * Adds support to Document to support multiple separate wrapper-maps, one per world.
42646            * Replaces the single global DOM wrapper map (on the WebCoreJSClientData) with separate maps,
42647              stored on the (new) IsolatedWorld objects.
42648
42649        In addition to supporting separate copies of these objects, two other features are supported:
42650
42651            * It is necessary to track the current world on entry into JSC, so that within callbacks out to WebCore
42652              we can determine which world (and as such, set of DOM bindings) we should be operating on.
42653            * EventListeners & Callbacks are run in the world they were registered in.
42654              This requires the handler to retain a reference to the world.
42655
42656        No new tests. (Enabled existing isolated world layout tests.)
42657
42658        * WebCore.base.exp:
42659        * bindings/js/JSAbstractWorkerCustom.cpp:
42660        (WebCore::JSAbstractWorker::addEventListener):
42661        (WebCore::JSAbstractWorker::removeEventListener):
42662        * bindings/js/JSCallbackData.cpp:
42663        (WebCore::JSCallbackData::invokeCallback):
42664        * bindings/js/JSCallbackData.h:
42665        (WebCore::JSCallbackData::JSCallbackData):
42666        * bindings/js/JSCustomXPathNSResolver.cpp:
42667        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
42668        * bindings/js/JSDOMApplicationCacheCustom.cpp:
42669        (WebCore::JSDOMApplicationCache::addEventListener):
42670        (WebCore::JSDOMApplicationCache::removeEventListener):
42671        * bindings/js/JSDOMBinding.cpp:
42672        (WebCore::removeWrappers):
42673        (WebCore::DOMObjectWrapperMap::get):
42674        (WebCore::DOMObjectWrapperMap::set):
42675        (WebCore::DOMObjectWrapperMap::remove):
42676        (WebCore::DOMObjectWrapperMap::take):
42677        (WebCore::IsolatedWorld::IsolatedWorld):
42678        (WebCore::IsolatedWorld::~IsolatedWorld):
42679        (WebCore::EnterIsolatedWorld::EnterIsolatedWorld):
42680        (WebCore::EnterIsolatedWorld::~EnterIsolatedWorld):
42681        (WebCore::JSGlobalDataWorldIterator::JSGlobalDataWorldIterator):
42682        (WebCore::JSGlobalDataWorldIterator::operator bool):
42683        (WebCore::JSGlobalDataWorldIterator::operator*):
42684        (WebCore::JSGlobalDataWorldIterator::operator->):
42685        (WebCore::JSGlobalDataWorldIterator::operator++):
42686        (WebCore::getCurrentWorld):
42687        (WebCore::getNormalWorld):
42688        (WebCore::commonNormalWorld):
42689        (WebCore::commonCurrentWorld):
42690        (WebCore::DOMObjectHashTableMap::mapFor):
42691        (WebCore::DOMObjectWrapperMap::mapFor):
42692        (WebCore::forgetDOMObject):
42693        (WebCore::getCachedDOMNodeWrapper):
42694        (WebCore::forgetDOMNode):
42695        (WebCore::cacheDOMNodeWrapper):
42696        (WebCore::forgetAllDOMNodesForDocument):
42697        (WebCore::forgetWorldOfDOMNodesForDocument):
42698        (WebCore::isObservableThroughDOM):
42699        (WebCore::markDOMNodesForDocument):
42700        (WebCore::markActiveObjectsForContext):
42701        (WebCore::takeWrappers):
42702        (WebCore::updateDOMNodeDocument):
42703        (WebCore::markDOMObjectWrapper):
42704        (WebCore::allowsAccessFromFrame):
42705        (WebCore::printErrorMessageForFrame):
42706        (WebCore::JSC_DebuggerCallFrame_evaluateInWorld):
42707        (WebCore::JSC_callInWorld):
42708        (WebCore::JSC_constructInWorld):
42709        (WebCore::JSC_evaluateInWorld):
42710        * bindings/js/JSDOMBinding.h:
42711        (WebCore::IsolatedWorld::rememberDocument):
42712        (WebCore::IsolatedWorld::forgetDocument):
42713        (WebCore::IsolatedWorld::rememberScriptController):
42714        (WebCore::IsolatedWorld::forgetScriptController):
42715        (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
42716        (WebCore::DOMObjectHashTableMap::get):
42717        (WebCore::WebCoreJSClientData::WebCoreJSClientData):
42718        (WebCore::WebCoreJSClientData::currentWorld):
42719        (WebCore::WebCoreJSClientData::normalWorld):
42720        (WebCore::WebCoreJSClientData::rememberWorld):
42721        (WebCore::WebCoreJSClientData::forgetWorld):
42722        (WebCore::debuggerWorld):
42723        (WebCore::pluginWorld):
42724        * bindings/js/JSDOMGlobalObject.cpp:
42725        (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
42726        (WebCore::toJSDOMGlobalObject):
42727        * bindings/js/JSDOMGlobalObject.h:
42728        * bindings/js/JSDOMWindowBase.cpp:
42729        (WebCore::JSDOMWindowBase::printErrorMessage):
42730        (WebCore::JSDOMWindowBase::commonJSGlobalData):
42731        (WebCore::toJS):
42732        (WebCore::toJSDOMWindow):
42733        * bindings/js/JSDOMWindowBase.h:
42734        * bindings/js/JSDOMWindowCustom.cpp:
42735        (WebCore::createWindow):
42736        (WebCore::JSDOMWindow::open):
42737        (WebCore::JSDOMWindow::showModalDialog):
42738        (WebCore::JSDOMWindow::setTimeout):
42739        (WebCore::JSDOMWindow::setInterval):
42740        (WebCore::JSDOMWindow::addEventListener):
42741        (WebCore::JSDOMWindow::removeEventListener):
42742        * bindings/js/JSDOMWindowShell.cpp:
42743        (WebCore::toJS):
42744        (WebCore::toJSDOMWindowShell):
42745        * bindings/js/JSDOMWindowShell.h:
42746        * bindings/js/JSDesktopNotificationsCustom.cpp:
42747        (WebCore::JSNotification::addEventListener):
42748        (WebCore::):
42749        * bindings/js/JSEventListener.cpp:
42750        (WebCore::JSEventListener::JSEventListener):
42751        (WebCore::JSEventListener::handleEvent):
42752        (WebCore::JSEventListener::reportError):
42753        * bindings/js/JSEventListener.h:
42754        (WebCore::JSEventListener::create):
42755        * bindings/js/JSEventSourceCustom.cpp:
42756        (WebCore::JSEventSource::addEventListener):
42757        (WebCore::JSEventSource::removeEventListener):
42758        * bindings/js/JSEventTarget.cpp:
42759        (WebCore::toJS):
42760        * bindings/js/JSHTMLDocumentCustom.cpp:
42761        (WebCore::JSHTMLDocument::open):
42762        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
42763        (WebCore::JSHTMLFrameSetElement::nameGetter):
42764        * bindings/js/JSInspectorBackendCustom.cpp:
42765        (WebCore::JSInspectorBackend::databaseForId):
42766        (WebCore::JSInspectorBackend::inspectedWindow):
42767        (WebCore::JSInspectorBackend::nodeForId):
42768        * bindings/js/JSLazyEventListener.cpp:
42769        (WebCore::JSLazyEventListener::JSLazyEventListener):
42770        (WebCore::JSLazyEventListener::parseCode):
42771        * bindings/js/JSLazyEventListener.h:
42772        (WebCore::JSLazyEventListener::create):
42773        * bindings/js/JSMessageChannelCustom.cpp:
42774        (WebCore::JSMessageChannel::markChildren):
42775        * bindings/js/JSMessagePortCustom.cpp:
42776        (WebCore::JSMessagePort::markChildren):
42777        (WebCore::JSMessagePort::addEventListener):
42778        (WebCore::JSMessagePort::removeEventListener):
42779        * bindings/js/JSNodeCustom.cpp:
42780        (WebCore::JSNode::addEventListener):
42781        (WebCore::JSNode::removeEventListener):
42782        (WebCore::JSNode::markChildren):
42783        * bindings/js/JSNodeFilterCondition.cpp:
42784        (WebCore::JSNodeFilterCondition::acceptNode):
42785        * bindings/js/JSQuarantinedObjectWrapper.cpp:
42786        (WebCore::JSQuarantinedObjectWrapper::construct):
42787        (WebCore::JSQuarantinedObjectWrapper::call):
42788        * bindings/js/JSSVGElementInstanceCustom.cpp:
42789        (WebCore::JSSVGElementInstance::addEventListener):
42790        (WebCore::JSSVGElementInstance::removeEventListener):
42791        * bindings/js/JSSharedWorkerCustom.cpp:
42792        (WebCore::JSSharedWorker::markChildren):
42793        * bindings/js/JSWebSocketCustom.cpp:
42794        (WebCore::JSWebSocket::addEventListener):
42795        (WebCore::JSWebSocket::removeEventListener):
42796        * bindings/js/JSWorkerContextCustom.cpp:
42797        (WebCore::JSWorkerContext::addEventListener):
42798        (WebCore::JSWorkerContext::removeEventListener):
42799        (WebCore::JSWorkerContext::setTimeout):
42800        (WebCore::JSWorkerContext::setInterval):
42801        * bindings/js/JSXMLHttpRequestConstructor.cpp:
42802        (WebCore::constructXMLHttpRequest):
42803        * bindings/js/JSXMLHttpRequestCustom.cpp:
42804        (WebCore::JSXMLHttpRequest::markChildren):
42805        (WebCore::JSXMLHttpRequest::addEventListener):
42806        (WebCore::JSXMLHttpRequest::removeEventListener):
42807        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
42808        (WebCore::JSXMLHttpRequestUpload::markChildren):
42809        (WebCore::JSXMLHttpRequestUpload::addEventListener):
42810        (WebCore::JSXMLHttpRequestUpload::removeEventListener):
42811        * bindings/js/ScheduledAction.cpp:
42812        (WebCore::ScheduledAction::create):
42813        (WebCore::ScheduledAction::ScheduledAction):
42814        (WebCore::ScheduledAction::executeFunctionInContext):
42815        (WebCore::ScheduledAction::execute):
42816        * bindings/js/ScheduledAction.h:
42817        (WebCore::ScheduledAction::ScheduledAction):
42818        * bindings/js/ScriptCachedFrameData.cpp:
42819        (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
42820        (WebCore::ScriptCachedFrameData::restore):
42821        * bindings/js/ScriptController.cpp:
42822        (WebCore::ScriptController::~ScriptController):
42823        (WebCore::ScriptController::evaluateInWorld):
42824        (WebCore::ScriptController::evaluate):
42825        (WebCore::ScriptController::evaluateInIsolatedWorld):
42826        (WebCore::ScriptController::clearWindowShell):
42827        (WebCore::ScriptController::initScript):
42828        (WebCore::ScriptController::processingUserGestureEvent):
42829        (WebCore::ScriptController::attachDebugger):
42830        (WebCore::ScriptController::updateDocument):
42831        (WebCore::ScriptController::bindingRootObject):
42832        (WebCore::ScriptController::createRootObject):
42833        (WebCore::ScriptController::windowScriptNPObject):
42834        (WebCore::ScriptController::jsObjectForPluginElement):
42835        * bindings/js/ScriptController.h:
42836        (WebCore::ScriptController::windowShell):
42837        (WebCore::ScriptController::existingWindowShell):
42838        (WebCore::ScriptController::globalObject):
42839        (WebCore::ScriptController::forgetWorld):
42840        * bindings/js/ScriptControllerMac.mm:
42841        (WebCore::ScriptController::windowScriptObject):
42842        * bindings/js/ScriptEventListener.cpp:
42843        (WebCore::createAttributeEventListener):
42844        * bindings/js/ScriptFunctionCall.cpp:
42845        (WebCore::ScriptFunctionCall::call):
42846        (WebCore::ScriptFunctionCall::construct):
42847        * bindings/js/ScriptObjectQuarantine.cpp:
42848        (WebCore::getQuarantinedScriptObject):
42849        * bindings/js/ScriptState.cpp:
42850        (WebCore::scriptStateFromNode):
42851        (WebCore::scriptStateFromPage):
42852        * bindings/js/ScriptState.h:
42853        * bindings/js/WorkerScriptController.cpp:
42854        (WebCore::WorkerScriptController::WorkerScriptController):
42855        (WebCore::WorkerScriptController::evaluate):
42856        * bindings/objc/DOMInternal.mm:
42857        (-[WebScriptObject _initializeScriptDOMNodeImp]):
42858        * bindings/objc/WebScriptObject.mm:
42859        (-[WebScriptObject callWebScriptMethod:withArguments:]):
42860        (-[WebScriptObject evaluateWebScript:]):
42861        * bindings/scripts/CodeGeneratorJS.pm:
42862        * bridge/NP_jsobject.cpp:
42863        (_NPN_InvokeDefault):
42864        (_NPN_Invoke):
42865        (_NPN_Evaluate):
42866        (_NPN_Construct):
42867        * bridge/jni/jni_jsobject.mm:
42868        (JavaJSObject::call):
42869        (JavaJSObject::eval):
42870        * dom/Document.cpp:
42871        (WebCore::Document::createWrapperCache):
42872        * dom/Document.h:
42873        (WebCore::Document::wrapperCacheMap):
42874        (WebCore::Document::getWrapperCache):
42875        * inspector/InspectorController.cpp:
42876        (WebCore::InspectorController::startUserInitiatedProfiling):
42877        (WebCore::InspectorController::stopUserInitiatedProfiling):
42878        * inspector/JavaScriptCallFrame.cpp:
42879        (WebCore::JavaScriptCallFrame::evaluate):
42880        * loader/FrameLoader.cpp:
42881        (WebCore::FrameLoader::dispatchWindowObjectAvailable):
42882        * platform/network/mac/AuthenticationMac.mm:
42883        * xml/XMLHttpRequest.cpp:
42884        (WebCore::XMLHttpRequest::XMLHttpRequest):
42885        (WebCore::XMLHttpRequest::dropProtection):
42886        * xml/XMLHttpRequest.h:
42887        (WebCore::XMLHttpRequest::create):
42888
428892009-10-22  Joseph Pecoraro  <joepeck@webkit.org>
42890
42891        Reviewed by Timothy Hatcher.
42892
42893        Web Inspector: EventListenersSidebarPane TODO No Longer Needed
42894        https://bugs.webkit.org/show_bug.cgi?id=30705
42895
42896        * inspector/front-end/EventListenersSidebarPane.js:
42897
428982009-10-22  Alexey Proskuryakov  <ap@apple.com>
42899
42900        Reviewed by Tim Hatcher.
42901
42902        https://bugs.webkit.org/show_bug.cgi?id=30506
42903        <rdar://problem/7319845> Resources that the server sent as 304 not modified are not shown
42904        in the inspectors resource pane
42905
42906        I don't know how to make a test for this.
42907
42908        The issue here was that preloaded resources weren't added to DocLoader document resource set,
42909        but Web Inspector asked DocLoader to fetch data from CachedResource. Even when (if) document
42910        parser eventually requested the same resource for real and it got added to resource set, it
42911        was too late - the Inspector wasn't updated.
42912
42913        * inspector/InspectorResource.cpp:
42914        (WebCore::InspectorResource::cachedResource):
42915        (WebCore::InspectorResource::type):
42916        (WebCore::InspectorResource::resourceData):
42917        * inspector/InspectorResource.h:
42918        Fix the issue by trying to fetch corresponding CachedResource harder - also look in global
42919        cache. This seems safe, and easier than updating the Inspector on transitions between
42920        resource states (revalidate vs. revalidate done and preload vs. non-preload).
42921
429222009-10-22  Beth Dakin  <bdakin@apple.com>
42923
42924        Reviewed by Dan Bernstein.
42925
42926        Fix for <rdar://problem/6942706> ER: Add a CSS property that allows 
42927        shadows to work for SVG content
42928        -and corresponding-
42929        https://bugs.webkit.org/show_bug.cgi?id=30479
42930
42931        This patch adds a new SVG-specific CSS property called -webkit-
42932        shadow that has the same syntax as -webkit-box-shadow
42933
42934        Add CSSPropertyWebkitShadow to the list of SVG CSS properties, and 
42935        make valueForShadow a member function rather than a static function 
42936        * css/CSSComputedStyleDeclaration.cpp:
42937        (WebCore::):
42938        (WebCore::CSSComputedStyleDeclaration::valueForShadow):
42939        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
42940        * css/CSSComputedStyleDeclaration.h:
42941
42942        Call valueForShadow for CSSPropertyWebkitShadow
42943        * css/SVGCSSComputedStyleDeclaration.cpp:
42944        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
42945
42946        Do standard CSS stuff for CSSPropertyWebkitShadow
42947        * css/SVGCSSParser.cpp:
42948        (WebCore::CSSParser::parseSVGValue):
42949        * css/SVGCSSPropertyNames.in:
42950        * css/SVGCSSStyleSelector.cpp:
42951        (WebCore::CSSStyleSelector::applySVGProperty):
42952
42953        Set the appropriate shadow on the paint context if we have one. 
42954        This seems to be all we have to do to have an SVG-shaped shadow.
42955        * rendering/SVGRenderSupport.cpp:
42956        (WebCore::SVGRenderBase::prepareToRenderSVGContent):
42957
42958        Add shadow to SVGRenderStyle. I added a new macro that I don't like 
42959        just because that's the way things are done here right now.
42960        * rendering/style/SVGRenderStyle.cpp:
42961        (WebCore::SVGRenderStyle::SVGRenderStyle):
42962        (WebCore::SVGRenderStyle::operator==):
42963        * rendering/style/SVGRenderStyle.h:
42964        * rendering/style/SVGRenderStyleDefs.cpp:
42965        (StyleShadowSVGData::StyleShadowSVGData):
42966        (StyleShadowSVGData::operator==):
42967        * rendering/style/SVGRenderStyleDefs.h:
42968        (WebCore::StyleShadowSVGData::create):
42969        (WebCore::StyleShadowSVGData::copy):
42970        (WebCore::StyleShadowSVGData::operator!=):
42971
429722009-10-22  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
42973 
42974        Reviewed by Xan Lopez.
42975
42976        https://bugs.webkit.org/show_bug.cgi?id=25530
42977        [Gtk] Implement LABEL_FOR/LABELLED_BY relationship pair for labels
42978
42979        Implements atk_object_ref_relation_set and LABEL_FOR/LABELLED_BY.
42980        Also causes the accessible name for labeled controls to be based on
42981        the label as expected, rather than based on the contents.
42982
42983        * accessibility/AccessibilityRenderObject.h:
42984        * accessibility/AccessibilityRenderObject.cpp:
42985        (correspondingLabelForControlElement):
42986        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
42987        (setAtkRelationSetFromCoreObject):
42988        (webkit_accessible_ref_relation_set):
42989        (webkit_accessible_class_init):
42990        (webkit_accessible_get_name):
42991
429922009-10-22  Joseph Pecoraro  <joepeck@webkit.org>
42993
42994        Reviewed by Timothy Hatcher.
42995
42996        Web Inspector: windowFocused and windowBlured Fail to Clear/Mark Inspector as "inactive"
42997        https://bugs.webkit.org/show_bug.cgi?id=30663
42998
42999          Correctly handle focusing/blurring on inner <iframe>'s such as Source Frames.
43000
43001        * inspector/front-end/inspector.js:
43002        (WebInspector.windowFocused): fix for inner iframes
43003        (WebInspector.windowBlurred): fix for inner iframes
43004        (WebInspector.addMainEventListeners): change useCapture to false
43005
430062009-10-22  Jaime Yap  <jaimeyap@google.com>
43007
43008        Reviewed by Timothy Hatcher.
43009
43010        Makes a page reload optional when activating resource monitoring in
43011        InspectorController. It leaves the default behavior as performing the reload.
43012        Reload is an optional param so callsites do not have to change.
43013
43014        https://bugs.webkit.org/show_bug.cgi?id=30684
43015
43016        No new tests added.
43017
43018        * inspector/InspectorController.cpp:
43019        (WebCore::InspectorController::enableResourceTracking):
43020        * inspector/InspectorController.h:
43021
430222009-10-22  Shu Chang  <Chang.Shu@nokia.com>
43023
43024        Reviewed by Eric Seidel.
43025
43026        [Qt] Fix memory leak in QNetworkReplyHandler::abort().
43027        In QNetworkReplyHandler::release(), m_reply should no longer point to its parent
43028        after being released.
43029        https://bugs.webkit.org/show_bug.cgi?id=30167
43030
43031        No layout test available as a non-functional fix.
43032
43033        * platform/network/qt/QNetworkReplyHandler.cpp:
43034        (WebCore::QNetworkReplyHandler::abort):
43035        (WebCore::QNetworkReplyHandler::release):
43036
430372009-10-22  Pavel Feldman  <pfeldman@chromium.org>
43038
43039        Reviewed by Timothy Hatcher.
43040
43041        Web Inspector: Fix DOMAgent leak.
43042
43043        https://bugs.webkit.org/show_bug.cgi?id=30615
43044
43045        * inspector/InspectorController.cpp:
43046        (WebCore::InspectorController::~InspectorController):
43047        (WebCore::InspectorController::setFrontendProxyObject):
43048        (WebCore::InspectorController::close):
43049        (WebCore::InspectorController::releaseDOMAgent):
43050        * inspector/InspectorController.h:
43051        * inspector/InspectorDOMAgent.h:
43052        (WebCore::InspectorDOMAgent::create):
43053
430542009-10-22  Dimitri Glazkov  <dglazkov@chromium.org>
43055
43056        Reviewed by Adam Barth.
43057
43058        [V8] Rework event listeners to not hold references to frame or V8 context.
43059
43060        https://bugs.webkit.org/show_bug.cgi?id=30648
43061
43062        Covered by existing layout tests: fast/events/attribute-listener*
43063
43064        * bindings/scripts/CodeGeneratorV8.pm: Added passing ScriptExecutionContext*
43065            to event listener handling code.
43066        * bindings/v8/DateExtension.cpp:
43067        (WebCore::DateExtension::setAllowSleep): Changed to use currentContext().
43068        * bindings/v8/ScriptEventListener.cpp:
43069        (WebCore::createAttributeEventListener): Reworked to match JSC logic.
43070        (WebCore::getEventListenerHandlerBody): Added ScriptExecutionContext* param.
43071        * bindings/v8/V8AbstractEventListener.cpp:
43072        (WebCore::V8AbstractEventListener::V8AbstractEventListener): Removed Frame* param
43073            and usage.
43074        (WebCore::V8AbstractEventListener::handleEvent): Chaged to use ScriptExecutionContext*.
43075        (WebCore::V8AbstractEventListener::invokeEventHandler): Ditto.
43076        * bindings/v8/V8AbstractEventListener.h:
43077        (WebCore::V8AbstractEventListener::getListenerObject): Ditto.
43078        (WebCore::V8AbstractEventListener::prepareListenerObject): Ditto.
43079        * bindings/v8/V8DOMWrapper.cpp:
43080        (WebCore::V8DOMWrapper::convertEventListenerToV8Object):  Added ScriptExecutionContext* param.
43081        (WebCore::V8DOMWrapper::getEventListener): Ditto.
43082        * bindings/v8/V8DOMWrapper.h:
43083        (WebCore::V8DOMWrapper::convertEventListenerToV8Object): Ditto.
43084        * bindings/v8/V8EventListenerList.h:
43085        (WebCore::V8EventListenerList::findOrCreateWrapper): Removed ContextType* template param,
43086            because it's no longer needed.
43087        * bindings/v8/V8IsolatedWorld.h:
43088        (WebCore::V8IsolatedWorld::sharedContext): Renamed from shared_context.
43089        * bindings/v8/V8LazyEventListener.cpp:
43090        (WebCore::V8LazyEventListener::V8LazyEventListener): Removed Frame* param and usage.
43091        (WebCore::V8LazyEventListener::callListenerFunction): Added ScriptExecutionContext* param.
43092        (WebCore::V8LazyEventListener::prepareListenerObject): Ditto.
43093        * bindings/v8/V8LazyEventListener.h:
43094        (WebCore::V8LazyEventListener::create): Reordered params to match JSC impl.
43095        * bindings/v8/V8Proxy.cpp:
43096        (WebCore::V8Proxy::V8Proxy): Adjusted formatting to match WebKit style.
43097        (WebCore::V8Proxy::evaluateInNewContext): Changed to use m_context directly.
43098        (WebCore::V8Proxy::setInjectedScriptContextDebugId): Ditto.
43099        (WebCore::V8Proxy::createWrapperFromCacheSlowCase): Ditto.
43100        (WebCore::V8Proxy::isContextInitialized): Ditto.
43101        (WebCore::V8Proxy::updateDocumentWrapperCache): Ditto.
43102        (WebCore::V8Proxy::clearDocumentWrapperCache): Ditto.
43103        (WebCore::V8Proxy::disposeContextHandles): Added explicit disposing of m_context. 
43104        (WebCore::V8Proxy::clearForClose): Changed to use m_context directly.
43105        (WebCore::V8Proxy::clearForNavigation): Ditto.
43106        (WebCore::V8Proxy::setSecurityToken): Ditto.
43107        (WebCore::V8Proxy::updateDocument): Ditto.
43108        (WebCore::V8Proxy::initContextIfNeeded): Ditto.
43109        (WebCore::V8Proxy::context): Changed to use v8::Local.
43110        (WebCore::V8Proxy::mainWorldContext): Changed to use m_context directly. 
43111        (WebCore::V8Proxy::setContextDebugId): Ditto.
43112        (WebCore::toV8Context):
43113        * bindings/v8/V8Proxy.h: Removed shared_context decl, changed to use straight
43114            v8::Persistent for m_context.
43115        * bindings/v8/V8WorkerContextEventListener.cpp:
43116        (WebCore::workerProxy): Added.
43117        (WebCore::V8WorkerContextEventListener::V8WorkerContextEventListener): Removed
43118            WorkerContextExecutionProxy* param.
43119        (WebCore::V8WorkerContextEventListener::handleEvent): Started using ScriptExecutionContext*.
43120        (WebCore::V8WorkerContextEventListener::reportError): Ditto.
43121        (WebCore::V8WorkerContextEventListener::callListenerFunction): Ditto.
43122        (WebCore::V8WorkerContextEventListener::getReceiverObject): Ditto.
43123        * bindings/v8/V8WorkerContextEventListener.h:
43124        (WebCore::V8WorkerContextEventListener::create): Removed
43125            WorkerContextExecutionProxy* param.
43126        * bindings/v8/WorkerContextExecutionProxy.cpp:
43127        (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener): Removed ContextType*
43128            template param.
43129        * bindings/v8/custom/V8CustomEventListener.cpp:
43130        (WebCore::V8EventListener::V8EventListener): Removed Frame* param.
43131        (WebCore::V8EventListener::getListenerFunction): Started using ScriptExecutionContext*.
43132        (WebCore::V8EventListener::callListenerFunction): Ditto.
43133        * bindings/v8/custom/V8CustomEventListener.h:
43134        (WebCore::V8EventListener::create): Removed Frame* param.
43135
431362009-10-14  Gaurav Shah  <gauravsh@google.com>
43137
43138        Reviewed by Darin Fisher.
43139
43140        Replaces temporary link stub for <keygen> tag handler for the Chromium
43141        browser with a call via the Chromium Bridge.
43142
43143        https://bugs.webkit.org/show_bug.cgi?id=30360
43144
43145        * platform/SSLKeyGenerator.h:
43146        * platform/chromium/ChromiumBridge.h:
43147        * platform/chromium/SSLKeyGeneratorChromium.cpp:
43148        (WebCore::getSupportedKeySizes):
43149        (WebCore::signedPublicKeyAndChallengeString):
43150        * platform/chromium/TemporaryLinkStubs.cpp:
43151        (WebCore::KURL::fileSystemPath):
43152        (WebCore::SharedBuffer::createWithContentsOfFile):
43153
431542009-10-22  Avi Drissman  <avi@chromium.org>
43155
43156        Reviewed by Eric Seidel.
43157
43158        Fixes Chromium Mac pasteboard handling to flow through the same code paths as other platforms.
43159
43160        https://bugs.webkit.org/show_bug.cgi?id=30591
43161
43162        * platform/chromium/ChromiumBridge.h:
43163        * platform/chromium/PasteboardChromium.cpp:
43164        (WebCore::Pasteboard::writeImage):
43165
431662009-10-20  Simon Fraser  <simon.fraser@apple.com>
43167
43168        Reviewed by Darin Adler.
43169
43170        Make accelerated compositing debug indicators work in release builds
43171        https://bugs.webkit.org/show_bug.cgi?id=30588
43172        
43173        Allow some debug indicators, that show which page elements go into compositing layers,
43174        to work in release builds, when the runtime prefs are set.
43175
43176        * platform/graphics/GraphicsLayer.cpp:
43177        (WebCore::GraphicsLayer::GraphicsLayer):
43178        (WebCore::GraphicsLayer::setZPosition):
43179        * platform/graphics/GraphicsLayer.h:
43180        * platform/graphics/mac/GraphicsLayerCA.h:
43181        * platform/graphics/mac/GraphicsLayerCA.mm:
43182        (WebCore::clearBorderColor):
43183        (WebCore::GraphicsLayer::showRepaintCounter):
43184        (WebCore::GraphicsLayerCA::GraphicsLayerCA):
43185        (WebCore::GraphicsLayerCA::updateMasksToBounds):
43186        (WebCore::GraphicsLayerCA::updateLayerDrawsContent):
43187        (WebCore::GraphicsLayerCA::setDebugBorder):
43188        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
43189        (WebCore::GraphicsLayerCA::setupContentsLayer):
43190        * platform/graphics/mac/WebLayer.mm:
43191
431922009-10-22  Keishi Hattori  <casey.hattori@gmail.com>
43193
43194        Reviewed by Pavel Feldman.
43195
43196        Inspector should support monitorEvents/un monitorEvents() in the command line
43197        https://bugs.webkit.org/show_bug.cgi?id=19879
43198
43199        * inspector/front-end/EventListenersSidebarPane.js:
43200        (WebInspector.EventListenersSidebarPane.prototype.update.callback): Ignores event listeners generated by monitorEvent
43201        * inspector/front-end/InjectedScript.js:
43202        (InjectedScript._ensureCommandLineAPIInstalled): Added _inspectorCommandLineAPI._logEvent, _allEventTypes, 
43203        _normalizeEventTypes, monitorEvent, unmonitorEvent.
43204
432052009-10-21  Joseph Pecoraro  <joepeck@webkit.org>
43206
43207        Reviewed by Pavel Feldman.
43208
43209        Web Inspector: windowFocused and windowBlurred Fail to Clear/Mark Inspector as "inactive"
43210        https://bugs.webkit.org/show_bug.cgi?id=30663
43211
43212        * inspector/front-end/inspector.js:
43213        (WebInspector.windowFocused):
43214        (WebInspector.windowBlurred):
43215
432162009-10-22  Joseph Pecoraro  <joepeck@webkit.org>
43217
43218        Reviewed by Pavel Feldman.
43219
43220        Web Inspector: Error - requestContentType [undefined] is not an object
43221        https://bugs.webkit.org/show_bug.cgi?id=30666
43222
43223        * inspector/front-end/ResourceView.js:
43224        (WebInspector.ResourceView.prototype._refreshFormData):
43225
432262009-10-22  Maxime Simon  <simon.maxime@gmail.com>
43227
43228        Reviewed by Holger Freyther.
43229
43230        [Haiku] Correction of the accented letter width (they were 2 characters long).
43231        https://bugs.webkit.org/show_bug.cgi?id=30629
43232
43233        * platform/graphics/haiku/SimpleFontDataHaiku.cpp:
43234        (WebCore::SimpleFontData::platformWidthForGlyph):
43235
432362009-10-21  Jon Honeycutt  <jhoneycutt@apple.com>
43237
43238        <rdar://problem/7270320> Screenshots of off-screen plug-ins are blank
43239        <rdar://problem/7270314> After halting a transparent PluginView on
43240        Windows, the transparency is applied twice
43241
43242        Replace use of Frame::nodeImage() with a function that takes a snapshot
43243        of a PluginView.
43244
43245        Reviewed by Dan Bernstein.
43246
43247        * plugins/PluginView.h:
43248        Made paintWindowedPluginIntoContext() non-const, as it now calls
43249        paintIntoTransformedContext(). Declare paintIntoTransformedContext()
43250        and snapshot() for Windows platforms.
43251
43252        * plugins/win/PluginViewWin.cpp:
43253        (WebCore::PluginView::paintIntoTransformedContext):
43254        Paints into the passed HDC without applying any coordinate translations.
43255        Code moved from paintWindowedPluginIntoContext() and paint(). Removed
43256        the memset() of windowpos in lieu of assignment.
43257        (WebCore::PluginView::paintWindowedPluginIntoContext):
43258        Code moved to paintIntoTransformedContext().
43259        (WebCore::PluginView::paint):
43260        Ditto.
43261        (WebCore::PluginView::snapshot):
43262        Create a context, and if the plug-in is windowless, translate it so the
43263        plug-in will draw at the correct location. Create a bitmap, and select
43264        it into the context. Paint the plug-in, and create a BitmapImage from
43265        the bitmap.
43266        (WebCore::PluginView::halt):
43267        Use snapshot().
43268
432692009-10-22  Fumitoshi Ukai  <ukai@chromium.org>
43270
43271        Reviewed by Alexey Proskuryakov.
43272
43273        Fix calculation of length in WebSocketChannel.cpp
43274        https://bugs.webkit.org/show_bug.cgi?id=30656
43275
43276        * websockets/WebSocketChannel.cpp:
43277        (WebCore::WebSocketChannel::didReceiveData):
43278
432792009-10-21  Dumitru Daniliuc  <dumi@chromium.org>
43280
43281        Reviewed by Dimitri Glazkov.
43282
43283        Adding the ability to enable/disable functions in V8 at runtime.
43284
43285        https://bugs.webkit.org/show_bug.cgi?id=30650
43286
43287        * bindings/scripts/CodeGeneratorV8.pm:
43288
432892009-10-21  Darin Adler  <darin@apple.com>
43290
43291        Swedish search (and other languages as well) is broken while fixing Japanese search
43292        https://bugs.webkit.org/show_bug.cgi?id=30646
43293
43294        Rolled Japanese tailoring out that was done to fix
43295        https://bugs.webkit.org/show_bug.cgi?id=30437 earlier.
43296        It was overriding the locale-specific tailoring.
43297        We'll land a fix once we figure out how to add the
43298        Japanese tailoring without removing anything.
43299
43300        * editing/TextIterator.cpp: Rolled out r49924.
43301
433022009-10-21  Pavel Feldman  <pfeldman@chromium.org>
43303
43304        Not reviewed: chromium build fix - add missing image to gypi.
43305
43306        * WebCore.gypi:
43307
433082009-10-21  Brian Weinstein  <bweinstein@apple.com>
43309
43310        Reviewed by Eric Seidel.
43311
43312        Fixes part of <http://webkit.org/b/30522>.
43313        Web Inspector: DOM Exceptions throughout the Inspector should be more human readable.
43314
43315        Expose the description attribute that is now a member of
43316        ExceptionBase as of r49723, so when a user logs an exception, they
43317        can see the description in the Web Inspector.
43318
43319        Test: fast/dom/dom-exception-description.html
43320
43321        * dom/DOMCoreException.idl:
43322        * dom/EventException.idl:
43323        * dom/RangeException.idl:
43324        * svg/SVGException.idl:
43325        * xml/XMLHttpRequestException.idl:
43326        * xml/XPathException.idl:
43327
433282009-10-21  Brian Weinstein  <bweinstein@apple.com>
43329
43330        Reviewed by Timothy Hatcher.
43331
43332        Fixes <https://bugs.webkit.org/show_bug.cgi?id=30616>.
43333        REGRESSION (r49036): Web Inspector: Summary graph no longer switching to size summary.
43334        
43335        Add a check to make sure a function we need to calculate percentages is
43336        defined before we use it.
43337
43338        * inspector/front-end/ResourcesPanel.js:
43339        (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
43340
433412009-10-21  Keishi Hattori  <casey.hattori@gmail.com>
43342
43343        Reviewed by Timothy Hatcher.
43344
43345        REGRESSION: Clicking on nodes in the console should take you to the element in the DOM
43346        https://bugs.webkit.org/show_bug.cgi?id=27231
43347
43348        * inspector/front-end/ConsoleView.js:
43349        (WebInspector.ConsoleView.prototype._formatnode): Turns on ElementsTreeOutline.showInElementsPanelEnabled
43350        * inspector/front-end/ElementsTreeOutline.js:
43351        (WebInspector.ElementsTreeOutline): Added ElementsTreeOutline.showInElementsPanelEnabled
43352        (WebInspector.ElementsTreeElement.prototype.onmousedown): Reveals the node in the Elements panel if 
43353        treeOutline.showInElementsPanelEnabled is true.
43354
433552009-10-21  Jeremy Orlow  <jorlow@chromium.org>
43356
43357        Reviewed by Eric Seidel.
43358
43359        https://bugs.webkit.org/show_bug.cgi?id=30637
43360        Fix a compiler warning in windows.
43361
43362        * loader/ResourceLoadNotifier.h:
43363
433642009-10-21  Dmitry Titov  <dimich@chromium.org>
43365
43366        Reviewed by Darin Adler.
43367
43368        Fix the crash when a node not in a document receives dispatchEvent.
43369        https://bugs.webkit.org/show_bug.cgi?id=30611
43370
43371        Test: fast/events/dispatch-event-no-document.html
43372
43373        * dom/EventTarget.cpp: Check for scriptExecutionContext() at the moment of dispatchEvent; do nothing if no context.
43374        (WebCore::EventTarget::dispatchEvent):
43375
433762009-10-21  Adam Langley  <agl@google.com>
43377
43378        Reviewed by Eric Seidel.
43379
43380        Chromium Linux: disable subpixel text on layers.
43381
43382        https://bugs.webkit.org/show_bug.cgi?id=30635
43383        http://code.google.com/p/chromium/issues/detail?id=25365
43384
43385        With the addition of layers for drawing rounded corners in r49641,
43386        subpixel text on rounded rectangles broke. This is because the layer
43387        only contains a single alpha channel and this is insufficient to
43388        compose subpixel text correctly.
43389
43390        On Windows, a large body of code in TransparencyWin.cpp exists to try
43391        to deal with this. Even then, in some cases, it downgrades to
43392        anti-aliased text. We need a fix for the grevious effects quickly thus
43393        this patch disables subpixel text when rendering into a layer.
43394
43395        This would be covered by existing tests except that subpixel text is
43396        disabled for pixel tests on Chromium Linux.
43397
43398        * platform/graphics/chromium/FontLinux.cpp:
43399        (WebCore::isCanvasMultiLayered):
43400        (WebCore::adjustTextRenderMode):
43401        (WebCore::Font::drawGlyphs):
43402        (WebCore::Font::drawComplexText):
43403
434042009-10-21  Kevin Ollivier  <kevino@theolliviers.com>
43405
43406        wxMac 10.4 build fix, make sure we specify the Sqlite3 dependency correctly as otherwise
43407        it will use the sqlite3 system library rather than WebCoreSQLite3.
43408
43409        * wscript:
43410
434112009-10-21  Dan Bernstein  <mitz@apple.com>
43412
43413        Reviewed by Sam Weinig.
43414
43415        Fixed background-clip parsing regressions introduced in r46240.
43416
43417        Test: fast/css/background-clip-text.html
43418
43419        * css/CSSParser.cpp:
43420        (WebCore::parseBackgroundClip): Added this helper method.
43421        (WebCore::CSSParser::parseFillShorthand): Use parseBackgroundClip() to
43422        reparse the value. The old code called parseFillProperty() again, which
43423        didn’t work, because parseFillProperty() advances the value list.
43424        (WebCore::CSSParser::parseFillProperty): Changed to use
43425        parseBackgroundClip().
43426        * css/CSSPrimitiveValueMappings.h:
43427        (WebCore::CSSPrimitiveValue::operator EFillBox): Added a case for
43428        CSSValueWebkitText.
43429
434302009-10-21  Alexander Pavlov  <apavlov@chromium.org>
43431
43432        Reviewed by Timothy Hatcher.
43433
43434        Enable creation of custom SidebarTreeElements for different ProfileTypes
43435
43436        ProfileTypes can now create sidebar tree elements of custom types.
43437        https://bugs.webkit.org/show_bug.cgi?id=30520
43438
43439        * inspector/front-end/ProfileView.js:
43440        (WebInspector.CPUProfileType.prototype.setRecordingProfile):
43441        (WebInspector.CPUProfileType.prototype.createSidebarTreeElementForProfile):
43442        (WebInspector.CPUProfileType.prototype.createView):
43443        (WebInspector.CPUProfile.prototype.get head):
43444        * inspector/front-end/ProfilesPanel.js:
43445        (WebInspector.ProfileType.prototype.buttonClicked):
43446        (WebInspector.ProfileType.prototype.viewForProfile):
43447        (WebInspector.ProfileType.prototype.createView):
43448        (WebInspector.ProfileType.prototype.createSidebarTreeElementForProfile):
43449        (WebInspector.ProfilesPanel.prototype.addProfileHeader):
43450        (WebInspector.ProfilesPanel.prototype.showProfile):
43451
434522009-10-20  Joseph Pecoraro  <joepeck@webkit.org>
43453
43454        Reviewed by Timothy Hatcher.
43455
43456        Web Inspector: Selectors in the Styles pane should trigger a search for that selector when clicked
43457        https://bugs.webkit.org/show_bug.cgi?id=17126
43458
43459        * inspector/front-end/ElementsPanel.js:
43460        (WebInspector.ElementsPanel.prototype.addNodesToSearchResult): only change focusedDOMNode on a manual search
43461        * inspector/front-end/StylesSidebarPane.js:
43462        (WebInspector.StylePropertiesSection.prototype._clickSelector): trigger a search
43463        * inspector/front-end/ElementsTreeOutline.js:
43464        (WebInspector.ElementsTreeElement.prototype._startEditing): correctly start editing attribute value instead of name
43465
434662009-10-20  Pavel Feldman  <pfeldman@chromium.org>
43467
43468        Reviewed by Timothy Hatcher.
43469
43470        Web Inspector: Fix DOM Agent leak.
43471
43472        https://bugs.webkit.org/show_bug.cgi?id=30615
43473
43474        * inspector/InspectorController.cpp:
43475        (WebCore::InspectorController::~InspectorController):
43476
434772009-10-21  Girish Ramakrishnan  <girish@forwardbias.in>
43478
43479        Reviewed by Holger Freyther.
43480
43481        Plugins: Create manual tests for testing plugins
43482        
43483        Create two test files:
43484        1. windowed.html - Test plugin in windowed mode.
43485        2. windowless.html - Test plugin in windowless mode.
43486
43487        https://bugs.webkit.org/show_bug.cgi?id=30503
43488
43489        * manual-tests/plugins/windowed.html: Added.
43490        * manual-tests/plugins/windowless.html: Added.
43491
434922009-10-21  Satoshi Nakagawa  <psychs@limechat.net>
43493
43494        Reviewed by Darin Adler.
43495
43496        Fixed Japanese text search problems.
43497        Treat small kana letters and kana letters as different characters in search.
43498        Do not ignore diacritic marks in search for Japanese texts.
43499
43500        https://bugs.webkit.org/show_bug.cgi?id=30437
43501
43502        Test: fast/text/international/japanese-kana-letters.html
43503
43504        * editing/TextIterator.cpp:
43505        (WebCore::createCollator):
43506        (WebCore::collator):
43507        (WebCore::createSearcher):
43508
435092009-10-20  Eric Z. Ayers  <zundel@google.com>
43510
43511        Reviewed by Timothy Hatcher.
43512
43513        Changes TimelineItems to be created with raw timestamps as opposed
43514        to a time relative to a start of session.  Normalized timestamps cause
43515        problems when monitoring a browsing session across multiple page
43516        transitions.
43517
43518        * inspector/InspectorTimelineAgent.cpp:
43519        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
43520        (WebCore::InspectorTimelineAgent::willDispatchDOMEvent):
43521        (WebCore::InspectorTimelineAgent::willLayout):
43522        (WebCore::InspectorTimelineAgent::willRecalculateStyle):
43523        (WebCore::InspectorTimelineAgent::willPaint):
43524        (WebCore::InspectorTimelineAgent::willWriteHTML):
43525        (WebCore::InspectorTimelineAgent::reset):
43526        (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
43527        * inspector/InspectorTimelineAgent.h:
43528
435292009-10-20  Mark Rowe  <mrowe@apple.com>
43530
43531        Reviewed by Oliver Hunt.
43532
43533        Fix leak of WebSocketChannel by adopting the newly-created reference.
43534
43535        * websockets/WebSocketChannel.h:
43536        (WebCore::WebSocketChannel::create):
43537
435382009-10-20  Jeremy Orlow  <jorlow@chromium.org>
43539
43540        Reviewed by Adam Barth.
43541
43542        DOM Storage runtime flag changes
43543        https://bugs.webkit.org/show_bug.cgi?id=30602
43544
43545        Part 1/2.  Removing sessionStorageEnabled in next patch after the
43546        Chromium side of the changes lands.
43547
43548        Revert my changes to Settings and instead implement DOM Storage enabling via
43549        the methods agreed upon in https://bugs.webkit.org/show_bug.cgi?id=30240
43550
43551        This stuff was (intentionally) never exposed to web pages or DRT, so there's no
43552        LayoutTest visible changes and thus no tests.
43553
43554        * bindings/v8/custom/V8CustomBinding.h:
43555        * bindings/v8/custom/V8DOMWindowCustom.cpp:
43556        (WebCore::ACCESSOR_RUNTIME_ENABLER):
43557        * page/DOMWindow.idl:
43558        * storage/Storage.cpp:
43559        (WebCore::Storage::setLocalStorageAvailable):
43560        (WebCore::Storage::localStorageAvailable):
43561        (WebCore::Storage::setSessionStorageAvailable):
43562        (WebCore::Storage::sessionStorageAvailable):
43563        * storage/Storage.h:
43564
435652009-10-20  John Gregg  <johnnyg@google.com>
43566
43567        Reviewed by David Levin.
43568
43569        Need to turn off notifications properly at runtime
43570        https://bugs.webkit.org/show_bug.cgi?id=30409
43571
43572        This code only affects chromium, and is all behind a compile time
43573        flag current turned off, so no new tests.
43574
43575        * bindings/v8/custom/V8CustomBinding.h:
43576        * bindings/v8/custom/V8DOMWindowCustom.cpp:
43577        (WebCore::ACCESSOR_RUNTIME_ENABLER):
43578        * bindings/v8/custom/V8WorkerContextCustom.cpp:
43579        (WebCore::ACCESSOR_RUNTIME_ENABLER):
43580        * notifications/NotificationCenter.cpp:
43581        (WebCore::NotificationCenter::setIsAvailable):
43582        (WebCore::NotificationCenter::isAvailable):
43583        * notifications/NotificationCenter.h:
43584        * page/DOMWindow.idl:
43585        * workers/WorkerContext.idl:
43586
435872009-10-20  James Robinson  <jamesr@chromium.org>
43588
43589        Reviewed by Adam Barth.
43590
43591        Fixes RefPtr initialization in the V8 implementation of WebCore::ScriptString to use the ::create() idiom and
43592        use adoptRef() properly.  I failed to read the RefPtr docs the first time through :(
43593
43594        No new tests, error was caught by valgrind on the Chromium builders.
43595
43596        * bindings/v8/ScriptString.h:
43597        (WebCore::ScriptString::ScriptString):
43598        (WebCore::ScriptString::operator=):
43599        * bindings/v8/ScriptStringImpl.h:
43600        (WebCore::ScriptStringImpl::create):
43601
436022009-10-20  Mikhail Naganov  <mnaganov@chromium.org>
43603
43604        Reviewed by Pavel Feldman.
43605
43606        Web Inspector: populate child nodes before sorting them.
43607
43608        https://bugs.webkit.org/show_bug.cgi?id=29673
43609
43610        * inspector/front-end/BottomUpProfileDataGridTree.js:
43611        (WebInspector.BottomUpProfileDataGridNode): Swapped with BottomUpProfileDataGridTree to be consistent with TopDownProfileDataGridNode.
43612        (WebInspector.BottomUpProfileDataGridNode.prototype._takePropertiesFromProfileDataGridNode):
43613        (WebInspector.BottomUpProfileDataGridNode.prototype._keepOnlyChild):
43614        (WebInspector.BottomUpProfileDataGridNode.prototype._exclude):
43615        (WebInspector.BottomUpProfileDataGridNode.prototype._merge):
43616        (WebInspector.BottomUpProfileDataGridNode.prototype._sharedPopulate):
43617        (WebInspector.BottomUpProfileDataGridTree.prototype.exclude):
43618        * inspector/front-end/ProfileDataGridTree.js:
43619        (WebInspector.ProfileDataGridNode.prototype.sort): Added missing parentheses.
43620        (WebInspector.ProfileDataGridNode.prototype.get _parent):
43621        (WebInspector.ProfileDataGridNode.prototype._populate):
43622        * inspector/front-end/TopDownProfileDataGridTree.js:
43623        (WebInspector.TopDownProfileDataGridNode.prototype._sharedPopulate):
43624
436252009-10-20  Jens Alfke  <snej@chromium.org>
43626
43627        Reviewed by Eric Seidel.
43628
43629        Remove redundant String ref/deref calls in generated V8 bindings.
43630        https://bugs.webkit.org/show_bug.cgi?id=30579
43631
43632        * bindings/v8/V8Binding.h:
43633        (WebCore::toString): Fix return type of 'toString' to make it truly a no-op
43634            instead of constructing/destructing a String.
43635
436362009-10-20  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
43637
43638        Reviewed by Xan Lopez.
43639
43640        https://bugs.webkit.org/show_bug.cgi?id=25411
43641        [GTK] ATK accessible ancestry broken
43642
43643        Work around for the problem of bogus additional objects in the ancestry.
43644        We now set the parent when we ref the child, then ask the Atk child if
43645        it knows its parent. This solves the bulk of the cases. For those it
43646        doesn't, fall back to the existing logic.
43647
43648        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
43649        (webkit_accessible_get_parent):
43650        (webkit_accessible_ref_child):
43651
436522009-10-20  Brian Weinstein  <bweinstein@apple.com>
43653
43654        Reviewed by Alice Liu.
43655
43656        Fixes <http://webkit.org/b/30421>.
43657        Web Inpsector: Local Files can show up on Cookies List with Cookies from other Domain.
43658
43659        When a page like Google generates an about:blank, it shows up as a local file on
43660        the list of Cookie domains, but has all of the cookies of Google. When we are adding
43661        cookie domains to the inspector, we should only add the domain is the URL of the resource
43662        is in the HTTP protocol family or a file URL.
43663
43664        * inspector/InspectorController.cpp:
43665        (WebCore::InspectorController::populateScriptObjects):
43666        (WebCore::InspectorController::didFinishLoading):
43667
436682009-10-20  Mark Mentovai  <mark@chromium.org>
43669
43670        Reviewed by Darin Fisher.
43671
43672        Use a version of libWebKitSystemInterface with global symbols marked
43673        private_extern for Chromium Mac.
43674
43675        https://bugs.webkit.org/show_bug.cgi?id=30590
43676
43677        * WebCore.gyp/WebCore.gyp:
43678        * WebCore.gyp/mac: Added.
43679        * WebCore.gyp/mac/Empty.cpp: Added.
43680        * WebCore.gyp/mac/adjust_visibility.sh: Added.
43681
436822009-10-20  Zoltan Horvath  <zoltan@webkit.org>
43683
43684        Reviewed by Eric Seidel.
43685
43686        Allow custom memory allocation control for WebCore's CSSProperty
43687        https://bugs.webkit.org/show_bug.cgi?id=30564
43688
43689        Inherits CSSProperty class from FastAllocBase because it has been
43690        instantiated by 'new' in WebCore/css/CSSParser.cpp:367.
43691
43692        * css/CSSProperty.h:
43693
436942009-10-20  Andrew Scherkus  <scherkus@chromium.org>
43695
43696        Reviewed by Eric Seidel.
43697
43698        Hide Chromium's media slider thumb if no source has been loaded.
43699
43700        https://bugs.webkit.org/show_bug.cgi?id=30529
43701
43702        Covered by existing layout tests, notably:
43703            LayoutTests/media/controls-rendering.html
43704            LayoutTests/media/unsupported-tracks.html
43705            LayoutTests/media/video-src-none.html
43706
43707        * rendering/RenderMediaControlsChromium.cpp:
43708        (WebCore::hasSource): Returns true if an HTMLMediaElement has a valid source set.
43709        (WebCore::paintMediaMuteButton): Refactored to use hasSource().
43710        (WebCore::paintMediaPlayButton): Ditto.
43711        (WebCore::paintMediaSliderThumb): Add call to hasSource() to determine if we should paint the thumb.
43712
437132009-10-20  Nate Chapin  <japhet@chromium.org>
43714
43715        Reviewed by Adam Barth.
43716
43717        Added getter for FrameLoader:m_suppressOpenerInNewFrame.
43718        This will allow Chromium to more intelligently detect
43719        noreferrer links and therefore open them in a new process.
43720
43721        https://bugs.webkit.org/show_bug.cgi?id=30581
43722
43723        * loader/FrameLoader.h:
43724        (WebCore::FrameLoader::suppressOpenerInNewFrame): Added.
43725
437262009-10-20  Zoltan Horvath  <zoltan@webkit.org>
43727
43728        Reviewed by Darin Adler.
43729
43730        Allow custom memory allocation control for WebCore's CSSParserFunction
43731        https://bugs.webkit.org/show_bug.cgi?id=30563
43732
43733        Inherits CSSParserFunction struct from FastAllocBase because it has been
43734        instantiated by 'new' in WebCore/css/CSSParser.cpp:4827.
43735
43736        * css/CSSProperty.h:
43737
437382009-10-20  Joseph Pecoraro  <joepeck@webkit.org>
43739
43740        Reviewed by Timothy Hatcher.
43741
43742        Web Inspector: Watched Expressions Buttons Do Not Match Inspector Styles
43743        https://bugs.webkit.org/show_bug.cgi?id=30554
43744
43745        * inspector/front-end/inspector.css: added style to pane buttons
43746
437472009-10-20  Yury Semikhatsky  <yurys@chromium.org>
43748
43749        Reviewed by Pavel Feldman.
43750
43751        Set debug id for contexts of isolated worlds to distinguish them in debugger.
43752
43753        https://bugs.webkit.org/show_bug.cgi?id=30559
43754
43755        * bindings/v8/V8Proxy.cpp:
43756        (WebCore::V8Proxy::evaluateInIsolatedWorld):
43757        (WebCore::V8Proxy::evaluateInNewContext):
43758        (WebCore::V8Proxy::setInjectedScriptContextDebugId):
43759        * bindings/v8/V8Proxy.h:
43760
437612009-10-20  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
43762
43763        Unreviewed buildfix.
43764        [Qt] Add FEGaussianBlur.h and FEGaussianBlur.cpp which were refactored in r49778 to WebCore.pro.
43765
43766        * WebCore.pro:
43767
437682009-10-20  Fumitoshi Ukai  <ukai@chromium.org>
43769
43770        Reviewed by David Levin.
43771
43772        Set EnabledAtRuntime for WebSocket in DOMWindow
43773        https://bugs.webkit.org/show_bug.cgi?id=29896
43774
43775        Supported by chromium/v8 only.
43776        Add WebSocket::isAvailable()/setIsAvailable(bool) to control v8
43777        bindings.
43778        Remove Settings::experimentalWebSocketsEnabled() and
43779        setExperimentalWebSocketsEnabled(bool).
43780
43781        * WebCore.base.exp:
43782        * bindings/js/JSDOMWindowCustom.cpp:
43783        (WebCore::JSDOMWindow::webSocket):
43784        * bindings/v8/V8DOMWrapper.cpp:
43785        (WebCore::V8DOMWrapper::getConstructor):
43786        * bindings/v8/custom/V8CustomBinding.h:
43787        * bindings/v8/custom/V8DOMWindowCustom.cpp:
43788        (WebCore::ACCESSOR_RUNTIME_ENABLER):
43789        * page/DOMWindow.idl:
43790        * page/Settings.cpp:
43791        (WebCore::Settings::Settings):
43792        * page/Settings.h:
43793        * websockets/WebSocket.cpp:
43794        (WebCore::WebSocket::setIsAvailable):
43795        (WebCore::WebSocket::isAvailable):
43796        * websockets/WebSocket.h:
43797
437982009-10-19  Oliver Hunt  <oliver@apple.com>
43799
43800        Reviewed by Sam Weinig.
43801
43802        REGRESSION: Dromaeo DOM test is 14% slower
43803        https://bugs.webkit.org/show_bug.cgi?id=30273
43804
43805        Whoops, make prototype bindings actually use the StructureFlags.
43806
43807        * bindings/scripts/CodeGeneratorJS.pm:
43808
438092009-10-19  James Robinson  <jamesr@chromium.org>
43810
43811        Reviewed by Adam Barth.
43812
43813        Better implementation of WebCore::ScriptString for the V8 bindings.
43814
43815        https://bugs.webkit.org/show_bug.cgi?id=29909
43816
43817        WebCore::ScriptString is used for XMLHttpRequest's responseText attribute which is
43818        shared with JavaScript.  Thus, simply using a WebCore::String and copying the value
43819        is pretty inefficient, especially since responseText is built up with a sequence of
43820        operator+= calls.  JSC builds use a JSC::UString to share the buffer when possible,
43821        this patch adopts a similar approach for V8.
43822
43823        No new tests, behavior is unchanged and covered by LayoutTests/http/tests/xmlhttprequest
43824
43825        * WebCore.gypi:
43826        * bindings/v8/ScriptString.h:
43827        (WebCore::ScriptString::ScriptString):
43828        (WebCore::ScriptString::operator String):
43829        (WebCore::ScriptString::isNull):
43830        (WebCore::ScriptString::size):
43831        (WebCore::ScriptString::operator=):
43832        (WebCore::ScriptString::operator+=):
43833        (WebCore::ScriptString::v8StringOrNull):
43834        * bindings/v8/ScriptStringImpl.cpp: Added.
43835        (WebCore::ScriptStringImpl::ScriptStringImpl):
43836        (WebCore::ScriptStringImpl::~ScriptStringImpl):
43837        (WebCore::ScriptStringImpl::toString):
43838        (WebCore::ScriptStringImpl::isNull):
43839        (WebCore::ScriptStringImpl::size):
43840        (WebCore::ScriptStringImpl::append):
43841        * bindings/v8/ScriptStringImpl.h: Added.
43842        (WebCore::ScriptStringImpl::ScriptStringImpl):
43843        (WebCore::ScriptStringImpl::v8StringHandle):
43844        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
43845        (WebCore::ACCESSOR_GETTER):
43846
438472009-10-19  Adam Barth  <abarth@webkit.org>
43848
43849        No review, rolling out r49837.
43850        http://trac.webkit.org/changeset/49837
43851
43852        * page/Settings.cpp:
43853        (WebCore::Settings::setStandardFontFamily):
43854        (WebCore::Settings::setFixedFontFamily):
43855        (WebCore::Settings::setSerifFontFamily):
43856        (WebCore::Settings::setSansSerifFontFamily):
43857        (WebCore::Settings::setCursiveFontFamily):
43858        (WebCore::Settings::setFantasyFontFamily):
43859        * page/Settings.h:
43860        (WebCore::Settings::standardFontFamily):
43861        (WebCore::Settings::fixedFontFamily):
43862        (WebCore::Settings::serifFontFamily):
43863        (WebCore::Settings::sansSerifFontFamily):
43864        (WebCore::Settings::cursiveFontFamily):
43865        (WebCore::Settings::fantasyFontFamily):
43866        * platform/text/UScriptCode.h: Removed.
43867
438682009-10-19  Kwang Yul Seo  <skyul@company100.net>
43869
43870        Reviewed by Eric Seidel.
43871
43872        Check COMPILER(MSVC) instead of PLATFORM(WIN_OS) to avoid the use of vasprintf.
43873        https://bugs.webkit.org/show_bug.cgi?id=30473
43874
43875        vasprintf is missing in MSVC. Use COMPILER(MSVC) guards instead of
43876        PLALTFORM(WIN_OS) guards.
43877
43878        * dom/XMLTokenizerLibxml2.cpp:
43879        (WebCore::XMLTokenizer::error):
43880
438812009-10-19  Jungshik Shin  <jshin@chromium.org>
43882
43883        Reviewed by Eric Seidel.
43884
43885        https://bugs.webkit.org/show_bug.cgi?id=20797
43886
43887        Make generic font family getters/setters accept an additional
43888        argument (script code). It has a default value so that if an embedder
43889        does not have/want a per-script font family setting, call-sites
43890        don't have to be changed.
43891        This is to prepare for fixing bug 10874 (font selection is not
43892        language-dependent) and bug 18085.
43893
43894        There should be no change in layout and no new layout test
43895        is added.
43896
43897        * WebCore.base.exp:
43898        * page/Settings.cpp:
43899        * page/Settings.h:
43900        * platform/text/UScriptCode.h: Added. This is for ports that
43901          do not use ICU. the part of ICU's common/unicode/uscript.h
43902          that defines script code enum was copied. To keep enums compatible
43903          with those in ICU, we don't generate the list out of Scripts.txt
43904          of the Unicode Data base or CLDR's data.
43905
439062009-10-19  Evan Stade  <estade@chromium.org>
43907
43908        Reviewed by Darin Adler.
43909
43910        Clarify usage of SuddenTermination API. No code change.
43911
43912        * platform/SuddenTermination.h:
43913
439142009-10-19  Oliver Hunt  <oliver@apple.com>
43915
43916        Reviewed by Gavin Barraclough.
43917
43918        REGRESSION: Dromaeo DOM test is 14% slower
43919        https://bugs.webkit.org/show_bug.cgi?id=30273
43920
43921        Make DOM bindings automatically inherit correct structure
43922        flags rather than being needlessly conservative.  This is
43923        done by making the bindings generator use the same model
43924        for TypeInfo flags that we now use in JSC.
43925
43926        This gains us about 1% of this regression back.
43927
43928        * bindings/js/JSDOMBinding.h:
43929        (WebCore::DOMObjectWithGlobalPointer::createStructure):
43930        (WebCore::DOMConstructorObject::createStructure):
43931        * bindings/js/JSDOMWindowShell.h:
43932        (WebCore::JSDOMWindowShell::createStructure):
43933        * bindings/js/JSHTMLAllCollection.h:
43934        (WebCore::JSHTMLAllCollection::createStructure):
43935        * bindings/js/JSQuarantinedObjectWrapper.h:
43936        (WebCore::JSQuarantinedObjectWrapper::createStructure):
43937        * bindings/scripts/CodeGeneratorJS.pm:
43938        * bridge/objc/objc_runtime.h:
43939        (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
43940        * bridge/runtime_array.h:
43941        (JSC::RuntimeArray::createStructure):
43942        * bridge/runtime_method.h:
43943        (JSC::RuntimeMethod::createStructure):
43944        * bridge/runtime_object.h:
43945        (JSC::RuntimeObjectImp::createStructure):
43946
439472009-10-19  Robin Qiu  <robin.qiu@torchmobile.com.cn>
43948
43949        Reviewed by Nikolas Zimmermann.
43950
43951        Fixed a bug on nested SVG <use> elements.
43952        https://bugs.webkit.org/show_bug.cgi?id=26117
43953        When a <use> element refer to another <use> element which has
43954        child/children, the instance tree built for this <use> element
43955        is incorrect (more nodes than expected).
43956
43957        Test: svg/dom/use-on-use-with-child.svg
43958
43959        * svg/SVGUseElement.cpp:
43960        (WebCore::SVGUseElement::buildInstanceTree):
43961
439622009-10-19  Oliver Hunt  <oliver@apple.com>
43963
43964        Small changes to fully invalidate and update the JavaScriptCallFrame.
43965
43966        <rdar://problem/7020755> JSDebugger crashes after reloading from a breakpoint
43967        https://bugs.webkit.org/show_bug.cgi?id=27146
43968
43969        Reviewed by Timothy Hatcher.
43970
43971        * inspector/JavaScriptCallFrame.h:
43972        (WebCore::JavaScriptCallFrame::invalidate):
43973        (WebCore::JavaScriptCallFrame::update):
43974
439752009-10-19  Jeremy Orlow  <jorlow@chromium.org>
43976
43977        Reviewed by Dmitri Titov.
43978
43979        Remove "source" from storage events
43980        https://bugs.webkit.org/show_bug.cgi?id=30536
43981
43982        Remove "source" from storage events per
43983        http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-October/023703.html
43984
43985        This was removed because it makes it introduces synchronous access that can
43986        cross the event loop boundry (since a storage event can fire from one process
43987        and be handled in another).
43988
43989        * inspector/InspectorDOMStorageResource.cpp:
43990        (WebCore::InspectorDOMStorageResource::handleEvent):
43991        * storage/StorageEvent.cpp:
43992        (WebCore::StorageEvent::create):
43993        (WebCore::StorageEvent::StorageEvent):
43994        (WebCore::StorageEvent::initStorageEvent):
43995        * storage/StorageEvent.h:
43996        (WebCore::StorageEvent::uri):
43997        * storage/StorageEvent.idl:
43998        * storage/StorageEventDispatcher.cpp:
43999        (WebCore::StorageEventDispatcher::dispatch):
44000
440012009-10-19  Adam Barth  <abarth@webkit.org>
44002
44003        Reviewed by Eric Seidel.
44004
44005        Remove ResourceLoadNotifier::activeDocumentLoader
44006        https://bugs.webkit.org/show_bug.cgi?id=30533
44007
44008        Removing this method from ResourceLoadNotifier better decouples the
44009        notifier from FrameLoader.
44010
44011        * loader/FrameLoader.cpp:
44012        (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
44013        (WebCore::FrameLoader::requestFromDelegate):
44014        * loader/ResourceLoadNotifier.cpp:
44015        (WebCore::ResourceLoadNotifier::didReceiveResponse):
44016        * loader/ResourceLoadNotifier.h:
44017        * loader/ResourceLoader.cpp:
44018        (WebCore::ResourceLoader::willSendRequest):
44019
440202009-10-19  Adam Barth  <abarth@webkit.org>
44021
44022        Reviewed by Eric Seidel.
44023
44024        Move sendRemainingDelegateMessages to ResourceLoadNotifier
44025        https://bugs.webkit.org/show_bug.cgi?id=30531
44026
44027        This method is about notifying folks and doesn't interact with the rest
44028        of FrameLoader.
44029
44030        * loader/FrameLoader.cpp:
44031        (WebCore::FrameLoader::willLoadMediaElementURL):
44032        (WebCore::FrameLoader::commitProvisionalLoad):
44033        (WebCore::FrameLoader::loadResourceSynchronously):
44034        (WebCore::FrameLoader::loadedResourceFromMemoryCache):
44035        * loader/FrameLoader.h:
44036        * loader/ResourceLoadNotifier.cpp:
44037        (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
44038        * loader/ResourceLoadNotifier.h:
44039
440402009-10-19  Adam Barth  <abarth@webkit.org>
44041
44042        Reviewed by Eric Seidel.
44043
44044        Bypass popup blocker using click event
44045        https://bugs.webkit.org/show_bug.cgi?id=21501
44046
44047        Keep track of which events were generated by JavaScript and use that
44048        inforation when figuring out if we're processing a user gesture.
44049
44050        Test: http/tests/security/popup-blocked-from-fake-event.html
44051
44052        * bindings/js/ScriptController.cpp:
44053        (WebCore::ScriptController::processingUserGestureEvent):
44054        * bindings/v8/ScriptController.cpp:
44055        (WebCore::ScriptController::processingUserGesture):
44056        * dom/Document.cpp:
44057        (WebCore::Document::createEvent):
44058        * dom/Event.cpp:
44059        (WebCore::Event::Event):
44060        * dom/Event.h:
44061        (WebCore::Event::createdByDOM):
44062        (WebCore::Event::setCreatedByDOM):
44063
440642009-10-19  Dumitru Daniliuc  <dumi@chromium.org>
44065
44066        Reviewed by Darin Adler.
44067
44068        Fixing a typo.
44069
44070        https://bugs.webkit.org/show_bug.cgi?id=30543
44071
44072        * platform/sql/SQLiteDatabase.h:
44073
440742009-10-19  Dmitry Titov  <dimich@chromium.org>
44075
44076        Reviewed by Darin Adler.
44077
44078        Manual Test for crash caused by JS accessing DOMWindow which is disconnected from the Frame.
44079        https://bugs.webkit.org/show_bug.cgi?id=30544
44080
44081        * manual-tests/crash-on-accessing-domwindow-without-frame.html: Added.
44082
440832009-10-19  Simon Fraser  <simon.fraser@apple.com>
44084
44085        Reviewed by Darin Adler.
44086
44087        Flash at end of opacity/transform transition sometimes
44088        https://bugs.webkit.org/show_bug.cgi?id=30501
44089        
44090        When a transition finishes, there window of time between when the animation is
44091        removed, and the final style set on the GraphicsLayer. This caused the layer to revert
44092        to its old appearance for one or two frames. To avoid this, we set the final
44093        transform or opacity at the start of the transition; we know that the animation
44094        will override the final value for as long as its running.
44095        
44096        No test because this is a very transient effect that can't be captured
44097        in a test.
44098
44099        * rendering/RenderLayerBacking.cpp:
44100        (WebCore::RenderLayerBacking::createGraphicsLayer):
44101        (WebCore::RenderLayerBacking::updateLayerOpacity):
44102        (WebCore::RenderLayerBacking::updateLayerTransform):
44103        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
44104        (WebCore::RenderLayerBacking::startTransition):
44105        * rendering/RenderLayerBacking.h:
44106
441072009-10-19  Pavel Feldman  <pfeldman@chromium.org>
44108
44109        Reviewed by Timothy Hatcher.
44110
44111        Web Inspector: Add more stop characters into console completions.
44112
44113        https://bugs.webkit.org/show_bug.cgi?id=30477
44114
44115        * inspector/front-end/ConsoleView.js:
44116        (WebInspector.ConsoleView.prototype.completions):
44117        (WebInspector.ConsoleView.prototype._reportCompletions):
44118
441192009-10-19  Marshall Culpepper  <mculpepper@appcelerator.com>
44120
44121        Reviewed by Adam Roben.
44122
44123        implemented ClipboardWin::files()
44124        https://bugs.webkit.org/show_bug.cgi?id=29666
44125
44126        * platform/win/ClipboardWin.cpp:
44127        (WebCore::ClipboardWin::files):
44128
441292009-10-19  Nate Chapin  <japhet@chromium.org>
44130
44131        Reviewed by Alexey Proskuryakov.
44132
44133        Add support for link relations in HTMLAnchorElement and implement rel="noreferrer".
44134
44135        https://bugs.webkit.org/show_bug.cgi?id=28986
44136
44137        Tests: http/tests/navigation/no-referrer-reset.html
44138               http/tests/navigation/no-referrer-same-window.html
44139               http/tests/navigation/no-referrer-subframe.html
44140               http/tests/navigation/no-referrer-target-blank.html
44141
44142        * WebCore.base.exp: Update FrameLoader::loadFrameRequest export symbol
44143        * html/HTMLAnchorElement.cpp: Add support for link relations and implement noreferrer
44144        (WebCore::HTMLAnchorElement::HTMLAnchorElement):
44145        (WebCore::HTMLAnchorElement::defaultEventHandler):
44146        (WebCore::HTMLAnchorElement::parseMappedAttribute):
44147        (WebCore::HTMLAnchorElement::hasRel):
44148        (WebCore::HTMLAnchorElement::setRel):
44149        * html/HTMLAnchorElement.h: Add support for link relations and implement noreferrer
44150        * loader/FrameLoader.cpp:
44151        (WebCore::FrameLoader::FrameLoader):
44152        (WebCore::FrameLoader::createWindow):
44153        (WebCore::FrameLoader::changeLocation):
44154        (WebCore::FrameLoader::urlSelected): Add parameter for referrer policy
44155        (WebCore::FrameLoader::loadFrameRequest): Add parameter for referrer policy
44156        (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): Suppress opener if requested by ReferrerPolicy
44157        * loader/FrameLoader.h: Update urlSelected and loadFrameRequest prototypes
44158        * loader/FrameLoaderTypes.h: Add enum for referrer policy
44159        * loader/RedirectScheduler.cpp:
44160        (WebCore::RedirectScheduler::timerFired):
44161        * page/ContextMenuController.cpp:
44162        (WebCore::ContextMenuController::contextMenuItemSelected): Update call to urlSelected()
44163        * svg/SVGAElement.cpp:
44164        (WebCore::SVGAElement::defaultEventHandler): Update call to urlSelected()
44165
44166
441672009-10-19  Alpha Lam  <hclam@chromium.org>
44168
44169        Reviewed by Dimitri Glazkov (dglazkov@chromium.org).
44170
44171        [v8] typeof(HTMLMediaElement) should return undefined if media
44172        engine is not available
44173        https://bugs.webkit.org/show_bug.cgi?id=30343
44174
44175        Check for availability of the media engine to disable
44176        HTMLMediaElement, HTMLAudioElement, HTMLVideoElement, MediaError
44177        in runtime.
44178
44179        Try runs and review in Chromium:
44180        http://codereview.chromium.org/276011
44181
44182        Test: manual-tests/chromium/media-player-not-available.html
44183
44184        The above test can work work in Chromium. Testing procedures:
44185        1. Remove all media support libraries in Chromium (e.g. ffmpeg libraries)
44186        2. Open Chromium with above test page
44187        3. Verify the test results according to the test page
44188
44189        * bindings/v8/custom/V8CustomBinding.h:
44190        Declare enabler methods.
44191        * bindings/v8/custom/V8DOMWindowCustom.cpp:
44192        Report enabled only if media player is available.
44193        * manual-tests/chromium/media-player-not-available.html: Added.
44194        Manual test, following instruction in this test for procedures.
44195        * page/DOMWindow.idl:
44196        Mark HTMLMediaElement, HTMLAudioElement, HTMLVideElement, MediaError
44197        as enabled at runtime.
44198
441992009-10-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
44200
44201        Reviewed by David Hyatt.
44202
44203        Refactor out some of the code in paint() into paintPanScrollIcon()
44204        and paintScrollbars() in preparation of some Qt API changes.
44205
44206        * platform/ScrollView.cpp:
44207        (WebCore::ScrollView::paint):
44208        * platform/ScrollView.h:
44209
442102009-10-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
44211
44212        Reviewed by Adam Roben.
44213
44214        Make the local static panScrollIcon into a Image* instead
44215        of a RefPtr<Image>.
44216
44217        * platform/ScrollView.cpp:
44218        (WebCore::ScrollView::wheelEvent):
44219
442202009-10-19  Andrew Scherkus  <scherkus@chromium.org>
44221
44222        Reviewed by David Levin.
44223
44224        Forcefully set antialiasing for Chromium media controls.
44225
44226        https://bugs.webkit.org/show_bug.cgi?id=30521
44227
44228        Before it was nondeterministiacally being enabled based on the previous state of GraphicsContext.
44229
44230        Covered by existing layout tests.
44231
44232        * rendering/RenderMediaControlsChromium.cpp:
44233        (WebCore::paintMediaSlider): Added setShouldAntialias(true).
44234
442352009-10-19  Jens Alfke  <jens@mooseyard.com>
44236
44237        Reviewed by Darin Adler.
44238
44239        Optimize string upper/lowercasing
44240        https://bugs.webkit.org/show_bug.cgi?id=30261
44241        
44242        - Added AtomicString::upper() and lower()
44243        - Further optimized StringImpl::lower()
44244        - Removed StringImpl::isLower()
44245        - Added QualifiedName::localNameUpper(), which is cached, thereby saving
44246          thousands of upper() calls and string allocations.
44247 
44248         * dom/Element.cpp:
44249         (WebCore::Element::setAttribute): Call AtomicString::lower()
44250         * dom/QualifiedName.cpp:
44251         (WebCore::QualifiedName::localNameUpper): New method
44252         * dom/QualifiedName.h: Added localNameUpper() method
44253         * dom/StyledElement.cpp:
44254         (WebCore::StyledElement::parseMappedAttribute):  Call AtomicString::lower()
44255         * html/HTMLDocument.cpp:
44256         (WebCore::HTMLDocument::createElement): Call AtomicString::lower()
44257         * html/HTMLElement.cpp:
44258         (WebCore::HTMLElement::nodeName): Call localNameUpper()
44259         * platform/text/AtomicString.cpp:
44260         (WebCore::AtomicString::lower): New method
44261         (WebCore::AtomicString::upper): New method
44262         * platform/text/AtomicString.h: Added lower() and upper()
44263         * platform/text/StringImpl.cpp: Removed isLower()
44264         (WebCore::StringImpl::lower): Further optimization of initial loop
44265         * platform/text/StringImpl.h: Removed isLower()
44266 
442672009-10-19  Nate Chapin  <japhet@chromium.org>
44268
44269        Reviewed by Adam Barth.
44270
44271        If a call to a plugin's invokeMethod, invokeDefault or construct
44272        returns false, throw an exception into JS.        
44273
44274        https://bugs.webkit.org/show_bug.cgi?id=30239
44275
44276        Test: plugins/netscape-invoke-failure.html
44277
44278        * bindings/v8/V8NPObject.cpp: Check return values of invokeMethod, invokeDefault and construct.
44279        (npObjectInvokeImpl):
44280        * bridge/c/c_instance.cpp:
44281        (JSC::Bindings::CInstance::invokeMethod): Check return value
44282        (JSC::Bindings::CInstance::invokeDefaultMethod): Check return value
44283        (JSC::Bindings::CInstance::invokeConstruct): Check return value
44284
442852009-10-16  Stephen White  <senorblanco@chromium.org>
44286
44287        Reviewed by Adam Barth.
44288
44289        Fix for chromium/skia canvas arc start/end positions, when the arc is
44290        >= 360 degrees.
44291        https://bugs.webkit.org/show_bug.cgi?id=30449
44292
44293        Covered by new test:
44294        LayoutTests/fast/canvas/arc360.html
44295
44296        * platform/graphics/skia/PathSkia.cpp:
44297        (WebCore::Path::addArc):
44298
442992009-10-19  Kent Tamura  <tkent@chromium.org>
44300
44301        Reviewed by Alexey Proskuryakov.
44302
44303        Fix uninitialized variable reference in Element::removeAttribute().
44304        https://bugs.webkit.org/show_bug.cgi?id=30502
44305
44306        * dom/Element.cpp:
44307        (WebCore::Element::removeAttribute):
44308
443092009-10-19  Eric Carlson  <eric.carlson@apple.com>
44310
44311        Reviewed by Simon Fraser.
44312
44313        https://bugs.webkit.org/show_bug.cgi?id=30463
44314        Remove HTML5 media element 'loadend' event
44315
44316        * dom/EventNames.h:
44317        * html/HTMLMediaElement.cpp:
44318        (WebCore::HTMLMediaElement::parseMappedAttribute): Remove 'loadend'.
44319        (WebCore::HTMLMediaElement::loadInternal): Ditto.
44320        (WebCore::HTMLMediaElement::noneSupported): Ditto.
44321        (WebCore::HTMLMediaElement::mediaEngineError): Ditto.
44322        (WebCore::HTMLMediaElement::setNetworkState): Ditto.
44323        (WebCore::HTMLMediaElement::userCancelledLoad): Ditto.
44324
443252009-10-19  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
44326
44327        Reviewed by Adam Barth.
44328
44329        [Qt] Remove deletion of outgoing FormData object when reply is finished.
44330        The buffers will be destroyed a bit later, when the QNetworkReply is deleted.
44331        Bug: https://bugs.webkit.org/show_bug.cgi?id=29551
44332
44333        * platform/network/qt/QNetworkReplyHandler.cpp:
44334        * platform/network/qt/QNetworkReplyHandler.h:
44335
443362009-10-19  Dimitri Glazkov  <dglazkov@chromium.org>
44337
44338        Reviewed by Darin Adler.
44339
44340        Fix hard-to-reproduce crash in HTMLTokenizer by avoiding a rare
44341        fastRealloc edge case.
44342        https://bugs.webkit.org/show_bug.cgi?id=29313
44343
44344        No test, the crash shows up occasionally in crash dumps, we weren't able
44345        to reproduce it locally.
44346
44347        * html/HTMLTokenizer.cpp:
44348        (WebCore::HTMLTokenizer::enlargeScriptBuffer): Added an early exit to
44349            avoid calling fastRealloc with the size of 0.
44350
443512009-10-19  Andrew Scherkus  <scherkus@chromium.org>
44352
44353        Reviewed by Eric Seidel.
44354
44355        Use fillRect() instead of drawRect() to fix Chromium media controls rendering.
44356
44357        https://bugs.webkit.org/show_bug.cgi?id=30371
44358
44359        Chromium Mac layout tests will need to be rebaselined.  Existing layout tests for Linux/Win still pass.
44360
44361        * rendering/RenderMediaControlsChromium.cpp:
44362        (WebCore::paintMediaSlider): Use fillRect() instead of drawRect().
44363
443642009-10-19  Dmitry Titov  <dimich@chromium.org>
44365
44366        Reviewed by Adam Barth.
44367
44368        Crash in DOMWindow::clearTimeout etc when DOMWindow is not connected to a frame.
44369        https://bugs.webkit.org/show_bug.cgi?id=29832
44370
44371        Need to make sure the script caches are reset when frame gets disconnected from still-alive DOMWindow.
44372        This will prevent JS from calling DOMWindow methods that can not be completed w/o the frame.
44373
44374        I am not sure it's possible to test this since the only file that repros the problem need ~10 seconds to cause crash.
44375
44376        * page/Frame.cpp:
44377        (WebCore::Frame::~Frame): Right after frame disconnects from DOMWindow, clear WindowShell.
44378
443792009-10-19  Csaba Osztrogonác  <ossy@webkit.org>
44380
44381        Unreviewed build warning fix.
44382        [Qt] Apply changes to WebCore.pro introduced in r49778
44383
44384        * WebCore.pro: Removed svg/graphics/filters/SVGFEGaussianBlur.h from HEADERS
44385
443862009-10-19  Dirk Schulze  <krit@webkit.org>
44387
44388        Reviewed by Darin Adler.
44389
44390        Move feGaussianBlur from WebCore/svg to WebCore/platform
44391        [https://bugs.webkit.org/show_bug.cgi?id=30495]
44392
44393        This patch moves SVGFRGaussianBlur from svg/graphics/filters
44394        to platform/graphics/filters/FEGaussianBlur. This is needed
44395        for shadow support on Qt and Cairo.
44396        No change in functionality, therfore no new test case needed.
44397
44398        * GNUmakefile.am:
44399        * WebCore.gypi:
44400        * WebCore.pro:
44401        * WebCore.vcproj/WebCore.vcproj:
44402        * WebCore.xcodeproj/project.pbxproj:
44403        * platform/graphics/filters/FEGaussianBlur.cpp: Added.
44404        * platform/graphics/filters/FEGaussianBlur.h: Added.
44405        * svg/SVGFEGaussianBlurElement.h:
44406        * svg/graphics/filters/SVGFEGaussianBlur.cpp: Removed.
44407        * svg/graphics/filters/SVGFEGaussianBlur.h: Removed.
44408
444092009-10-19  Yael Aharon  <yael.aharon@nokia.com>
44410
44411        Unreviewed.
44412
44413        Added reviewer name to r49574.
44414
444152009-10-19  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
44416
44417        Reviewed by Xan Lopez.
44418
44419        https://bugs.webkit.org/show_bug.cgi?id=30489
44420        [Gtk] The document frame/html container claims to be parentless
44421
44422        Work around for the parentless claim made by the accessible associated
44423        with the embedded WebView. When we identify this condition, get the
44424        widget's parent, and then get the AtkObject from that. Admittedly an ugly
44425        hack, but we'll need it for Yelp and other Gtk+/GNOME applications which
44426        plan to switch over to WebKit.
44427
44428        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
44429        (webkit_accessible_get_parent):
44430
444312009-10-19  Benjamin Otte  <otte@gnome.org>
44432
44433        Reviewed by Jan Alonzo.
44434
44435        Handle duration queries properly
44436        https://bugs.webkit.org/show_bug.cgi?id=29999
44437
44438        Previously duration queries failed to handle unknown duration
44439        and didn't treat the returned duration as an unsigned.
44440
44441        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
44442        (WebCore::MediaPlayerPrivate::duration):
44443
444442009-10-19  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
44445
44446        Reviewed by Tor Arne Vestbø.
44447
44448        [Qt] Fix build on Windows.
44449
44450        * plugins/win/PluginViewWin.cpp:
44451        (windowHandleForPageClient):
44452
444532009-10-19  Girish Ramakrishnan  <girish@forwardbias.in>
44454
44455        Reviewed by Holger Freyther.
44456
44457        [Qt] Windowed Plugins: Don't crash when client is 0.
44458        
44459        Client is 0 when we use QWebPage without a QWebView or QGraphicsWebView.
44460        In addition, setFrameRect()/updatePluginWidget() is called even if the
44461        plugin was not succesfully loaded. updatePluginWidget() updates the
44462        window rect which is, in theory, useful to draw something that indicates
44463        that we didn't load successfully.
44464        
44465        So, a status check is added to setNPWindowIfNeeded.
44466
44467        https://bugs.webkit.org/show_bug.cgi?id=30380
44468
44469        * plugins/qt/PluginViewQt.cpp:
44470        (WebCore::PluginView::setNPWindowIfNeeded):
44471        (WebCore::PluginView::platformStart):
44472
444732009-10-19  Girish Ramakrishnan  <girish@forwardbias.in>
44474
44475        Reviewed by Holger Freyther.
44476
44477        [Qt] Windowed Plugins: Fix crash when QWebPage is deleted after QWebView.
44478        
44479        Fixes various sources of crashes:
44480        1. The PluginContainer is a child of QWebView. When the view gets deleted,
44481        the PluginView is not notified about the deletion of PluginContainer.
44482        2. QWebView destructor does not set client to 0.
44483        3. Sometimes pending paint events are sent after the plugin has died, so add
44484        a check in PluginView::setNPWindowIfNeeded.
44485
44486        https://bugs.webkit.org/show_bug.cgi?id=30354
44487
44488        * plugins/qt/PluginContainerQt.cpp:
44489        (PluginContainerQt::~PluginContainerQt):
44490        * plugins/qt/PluginViewQt.cpp:
44491        (WebCore::PluginView::setNPWindowIfNeeded):
44492
444932009-10-19  Jakob Truelsen  <antialize@gmail.com>
44494
44495        Reviewed by Adam Barth.
44496
44497        https://bugs.webkit.org/show_bug.cgi?id=29042
44498        Allow one to customize the minimal and maximal shrink factors used when printing.
44499
44500        * page/PrintContext.cpp:
44501        (WebCore::PrintContext::begin):
44502        * page/Settings.cpp:
44503        (WebCore::Settings::Settings):
44504        (WebCore::Settings::setPrintingMinimumShrinkFactor):
44505        (WebCore::Settings::setPrintingMaximumShrinkFactor):
44506        * page/Settings.h:
44507        (WebCore::Settings::printingMinimumShrinkFactor):
44508        (WebCore::Settings::printingMaximumShrinkFactor):
44509
445102009-10-18  Erik Arvidsson  <arv@chromium.org>
44511
44512        Reviewed by Adam Barth.
44513
44514        Fixes issue where doubleclicking a word could select following adjacent newlines.
44515        https://bugs.webkit.org/show_bug.cgi?id=30234
44516
44517        Tests: platform/mac/editing/selection/doubleclick-should-not-expand-across-lines.html
44518               platform/mac/editing/selection/script-tests/TEMPLATE.html
44519               platform/win/editing/selection/doubleclick-should-not-expand-across-lines.html
44520               platform/win/editing/selection/script-tests/TEMPLATE.html
44521
44522        * editing/VisibleSelection.cpp:
44523        (WebCore::VisibleSelection::appendTrailingWhitespace):
44524
445252009-10-18  Kevin Ollivier  <kevino@theolliviers.com>
44526
44527        CURL build fix, use proper header name.
44528
44529        * platform/network/curl/ResourceHandleManager.h:
44530
445312009-10-18  Pavel Feldman  <pfeldman@chromium.org>
44532
44533        Reviewed by Timothy Hatcher.
44534
44535        Web Inspector: Properties on Arrays and NodeLists are not logged correctly.
44536
44537        https://bugs.webkit.org/show_bug.cgi?id=30485
44538
44539        * inspector/front-end/ConsoleView.js:
44540        (WebInspector.ConsoleView.prototype._formatarray):
44541        (WebInspector.ConsoleView.prototype._printArray):
44542
445432009-10-18  Pavel Feldman  <pfeldman@chromium.org>
44544
44545        Not reviewed: touching WebCore so that it
44546        initiated inspector frontend deployment on Windows.
44547
44548        Web Inspector: frontend files are not deployed in Windows
44549        incremental build.
44550
44551        * inspector/InspectorDOMAgent.cpp:
44552        (WebCore::InspectorDOMAgent::unbind):
44553
445542009-10-18  Pavel Feldman  <pfeldman@chromium.org>
44555
44556        Reviewed by Timothy Hatcher.
44557
44558        Web Inspector: Title of dir(["test", "test2"]) should be Array
44559
44560        https://bugs.webkit.org/show_bug.cgi?id=30486
44561
44562        Test: inspector/console-tests.html
44563
44564        * inspector/front-end/InjectedScript.js:
44565
445662009-10-18  Dirk Schulze  <krit@webkit.org>
44567
44568        Reviewed by Nikolas Zimmermann.
44569
44570        REGRESSION: SVG Mask doesn't work for maskContentUnits="objectBoundingBox"
44571        [https://bugs.webkit.org/show_bug.cgi?id=30480]
44572
44573        Patch for SVGMaskElement landed in r49598 should correct the location of
44574        the mask image graphics context. It only corrects the location for userSpaceOnUse
44575        mode in maskContentUnits but breaks objectBoundingBoxMode.
44576        The maskDestRect shouldn't be moved. It is not responsible for the correct context
44577        postioin but for the correct position of the mask image.
44578        This patch calculates the context postion independently from the maskDestRect.
44579        It also uses lineareRGB color space for masking on CG now. This is the default
44580        color space for masking operations.
44581        We already have tests for both maskContentUnits modes.
44582
44583            *svg/W3C-SVG-1.1/masking-intro-01-f.svg
44584            *svg/custom/mask-with-default-value.svg
44585
44586        Some tests needed new pixel tests because of the new color space.
44587
44588        * svg/SVGMaskElement.cpp:
44589        (WebCore::SVGMaskElement::drawMaskerContent):
44590
445912009-10-18  Anton Muhin  <antonm@chromium.org>
44592
44593        Reviewed by Adam Barth.
44594
44595        Use v8::Integer::NewFromUnsigned when converting unsigneds into V8's numbers.
44596        That is notably faster for small numbers (most common case).
44597        https://bugs.webkit.org/show_bug.cgi?id=30493
44598
44599        * bindings/scripts/CodeGeneratorV8.pm:
44600
446012009-10-18  Jan Michael Alonzo  <jmalonzo@webkit.org>
44602
44603        Reviewed by Holger Freyther.
44604
44605        [GTK] Add MathML to the build system
44606        https://bugs.webkit.org/show_bug.cgi?id=30487
44607
44608        Add MathML sources if MathML support is enabled.
44609
44610        * GNUmakefile.am:
44611
446122009-10-18  Kevin Ollivier  <kevino@theolliviers.com>
44613
44614        Non-PCH build fix. Added missing header.
44615
44616        * bridge/runtime_root.h:
44617
446182009-10-18  Simon Fraser  <simon.fraser@apple.com>
44619
44620        Reviewed by Dan Bernstein.
44621
44622        Compositing layers not correctly updated after partial layout
44623        https://bugs.webkit.org/show_bug.cgi?id=30425
44624        
44625        When a partial layout happened, for example as the result of a postion-change-only
44626        layout, then some compositing layer positions were not correctly updated. To fix
44627        this, updateLayerPositions() now carries along a flag that is set at the rootmost
44628        layer being updated, and used to determine when we hit the first compositing layer
44629        in this update. RenderLayerBacking::updateAfterLayout() makes use of this information
44630        to do a full geometry update on that layer, which is thus the rootmost compositing
44631        layer that is being updated.
44632
44633        Test: compositing/geometry/partial-layout-update.html
44634
44635        * page/FrameView.cpp:
44636        (WebCore::FrameView::layout):
44637        * rendering/RenderLayer.cpp:
44638        (WebCore::RenderLayer::updateLayerPositions):
44639        (WebCore::RenderLayer::scrollToOffset):
44640        * rendering/RenderLayer.h:
44641        (WebCore::RenderLayer::):
44642        * rendering/RenderLayerBacking.cpp:
44643        (WebCore::RenderLayerBacking::updateAfterLayout):
44644        * rendering/RenderLayerBacking.h:
44645
446462009-09-13  Kevin Watters  <kevinwatters@gmail.com>
44647
44648        Reviewed by Kevin Ollivier.
44649
44650        Add support for proxies in CURL.
44651 
44652        https://bugs.webkit.org/show_bug.cgi?id=30446
44653
44654        * platform/network/curl/ResourceHandleManager.cpp:
44655        (WebCore::ResourceHandleManager::setProxyInfo):
44656        (WebCore::ResourceHandleManager::initializeHandle):
44657        * platform/network/curl/ResourceHandleManager.h:
44658        (WebCore::ResourceHandleManager::):
44659
446602009-10-18  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
44661
44662        Reviewed by Xan Lopez
44663
44664        https://bugs.webkit.org/show_bug.cgi?id=25901
44665        Use ATK_ROLE_SECTION for divTag and ATK_ROLE_LABEL for labelTag
44666
44667        Replaces the use of ATK_ROLE_PANEL with the expected accessible roles.
44668
44669        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
44670        (webkit_accessible_get_role):
44671
446722009-10-17  Nikolas Zimmermann  <nzimmermann@rim.com>
44673
44674        Reviewed by George Staikos.
44675
44676        Cleanup SVGElement code, preparing for animVal support
44677        https://bugs.webkit.org/show_bug.cgi?id=30466
44678
44679        Add new SynchronizablePropertyController and move the code for SVG property <-> XML attribute synchronization
44680        from SVGElement. This is a further preparation for animVal support, where SynchronizablePropertyController will
44681        be used to control the start/end state of an animated property.
44682
44683        We're currently tracking animated properties that need synchronization, generalize this concept and use
44684        it to track their creation (bound to certain SVG*Element classes) as well as a flag determing the need
44685        of synchronization (no SVG DOM object wrappers, no synchronization needed).
44686
44687        No change in functionality, thus no tests.
44688
44689        * GNUmakefile.am: Add 'SynchronizablePropertyController.cpp/h' to build
44690        * WebCore.gypi: Ditto.
44691        * WebCore.pro: Ditto.
44692        * WebCore.vcproj/WebCore.vcproj: Ditto.
44693        * WebCore.xcodeproj/project.pbxproj: Ditto.
44694        * svg/SVGAllInOne.cpp: Ditto.
44695        * svg/SVGAnimatedProperty.h: Add registerProperty() function 
44696        (WebCore::::SVGAnimatedProperty): Call registerProperty() function  
44697        (WebCore::::registerProperty): Add new registerProperty() function, announcing new properties to SynchronizablePropertyController.
44698        * svg/SVGAnimatedTemplate.h: Use propertyController() method, to access the new functions moved from SVGElement.
44699        (WebCore::lookupOrCreateWrapper):
44700        * svg/SVGElement.cpp: Adapt to code moving to SynchronizablePropertyController.
44701        (WebCore::SVGElement::updateAnimatedSVGAttribute):
44702        * svg/SVGElement.h: Move handling SVG property synchronization to SynchronizablePropertyController.
44703        (WebCore::SVGElement::propertyController): Expose reference to SynchronizablePropertyController object.
44704        * svg/SVGViewSpec.cpp: Reorder initialization order of contextElement, leading to possible crashes.
44705        (WebCore::SVGViewSpec::SVGViewSpec):
44706        (WebCore::SVGViewSpec::viewTarget):
44707        * svg/SVGViewSpec.h: Ditto.
44708        (WebCore::SVGViewSpec::contextElement):
44709        * svg/SynchronizablePropertyController.cpp: Added.
44710        (WebCore::SynchronizablePropertyController::SynchronizablePropertyController):
44711        (WebCore::SynchronizablePropertyController::registerProperty):
44712        (WebCore::SynchronizablePropertyController::setPropertyNeedsSynchronization):
44713        (WebCore::SynchronizablePropertyController::synchronizeProperty):
44714        (WebCore::SynchronizablePropertyController::synchronizeAllProperties):
44715        (WebCore::SynchronizablePropertyController::startAnimation):
44716        (WebCore::SynchronizablePropertyController::stopAnimation):
44717        * svg/SynchronizablePropertyController.h: Added.
44718        (WebCore::SynchronizableProperty::SynchronizableProperty):
44719        (WebCore::SynchronizableProperty::isHashTableDeletedValue):
44720        (WebCore::SynchronizableProperty::operator==):
44721        (WebCore::SynchronizablePropertyHash::hash):
44722        (WebCore::SynchronizablePropertyHash::equal):
44723        (WebCore::SynchronizablePropertyHashTraits::constructDeletedValue):
44724        (WebCore::SynchronizablePropertyHashTraits::isDeletedValue):
44725
447262009-10-17  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
44727
44728        Reviewed by Xan Lopez.
44729
44730        https://bugs.webkit.org/show_bug.cgi?id=25413
44731        [GTK] Please expose the level of headings
44732
44733        Exposes the heading level as an attribute of the AtkObject.
44734
44735        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
44736        (addAttributeToSet):
44737        (webkit_accessible_get_attributes):
44738        (webkit_accessible_class_init):
44739
447402009-10-17  Kwang Yul Seo  <skyul@company100.net>
44741
44742        Reviewed by Eric Seidel.
44743
44744        EventHandler::eventLoopHandleMouseDragged needs ENABLE(DRAG_SUPPORT) guards
44745        https://bugs.webkit.org/show_bug.cgi?id=30472
44746
44747        Put ENABLE(DRAG_SUPPORT) guards around EventHandler::eventLoopHandleMouseDragged
44748        in EventHandler.cpp. MSVC fails to compile when DRAG_SUPPORT not enabled.
44749
44750        * page/EventHandler.cpp:
44751
447522009-10-17  Alpha Lam  <hclam@chromium.org>
44753
44754        Reviewed by Eric Seidel.
44755
44756        [chromium] Video controls not zoomed / transformed correctly
44757        https://bugs.webkit.org/show_bug.cgi?id=30461
44758
44759        Draw the images in the controls scaled.
44760
44761        No new tests. With this change Chromium will pass the following tests:
44762        LayoutTests/media/video-controls-zoomed.html
44763        LayoutTests/media/video-controls-transformed.html
44764
44765        * rendering/RenderMediaControlsChromium.cpp:
44766        (WebCore::paintMediaButton):
44767        Pass along the target rect directly.
44768        (WebCore::RenderMediaControlsChromium::adjustMediaSliderThumbSize):
44769        Adjust the thumb slide applied with the scale factor.
44770
447712009-10-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
44772
44773        Unreviewed.
44774
44775        [Gtk] Build fix for WebKitGtk after r49723.
44776
44777        Add bindings/js/JSExceptionBase.* to the build.
44778
44779        * GNUmakefile.am:
44780
447812009-10-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
44782
44783        Unreviewed.
44784
44785        [Qt] Build fix for QtWebKit after r49723.
44786
44787        Add bindings/js/JSExceptionBase.cpp to the build.
44788
44789        * WebCore.pro:
44790
447912009-10-16  Steve Falkenburg  <sfalken@apple.com>
44792
44793        Reviewed by Dan Bernstein.
44794
44795        https://bugs.webkit.org/show_bug.cgi?id=30456
44796        Fixes for new Debug_All Windows build configuration.
44797
44798        * platform/network/cf/ResourceRequestCFNet.cpp:
44799        (WebCore::findCFNetworkModule): Ask for the correct library instead of guessing.
44800        * platform/win/ScrollbarThemeSafari.cpp: Use new DEBUG_ALL preprocessor define for library naming.
44801        * rendering/RenderMediaControls.cpp: Use new DEBUG_ALL preprocessor define for library naming.
44802        * rendering/RenderThemeSafari.cpp: Use new DEBUG_ALL preprocessor define for library naming.
44803
448042009-10-16  Jon Honeycutt  <jhoneycutt@apple.com>
44805
44806        Add SPI to determine whether a plug-in has ever been halted.
44807
44808        Part of <rdar://problem/7312158>.
44809
44810        Reviewed by Dan Bernstein.
44811
44812        * plugins/PluginView.cpp:
44813        (WebCore::PluginView::PluginView):
44814        Initialize m_hasBeenHalted.
44815
44816        * plugins/PluginView.h:
44817        (WebCore::PluginView::hasBeenHalted):
44818        Return m_hasBeenHalted.
44819
44820        * plugins/win/PluginViewWin.cpp:
44821        (WebCore::PluginView::halt):
44822        Set m_hasBeenHalted.
44823
448242009-10-16  Adam Barth  <abarth@webkit.org>
44825
44826        Reviewed by Alexey Proskuryakov.
44827
44828        @charset rule after the first byte causes the rest of css to be ignored
44829        https://bugs.webkit.org/show_bug.cgi?id=18265
44830
44831        Apparently we're supposed to tolerate whitespace before the charset
44832        rule so folks can write code like this:
44833
44834        <style>
44835        @charset "utf-8"
44836        ...
44837        </style>
44838
44839        I'm told this is one of the top compatability problems in China.
44840        Tests: fast/css/comment-before-charset-external.html
44841               fast/css/comment-before-charset.html
44842               fast/css/many-spaces-before-charset.html
44843               fast/css/space-before-charset-external.html
44844               fast/css/space-before-charset.html
44845
44846        * css/CSSGrammar.y:
44847
448482009-10-16  Brian Weinstein  <bweinstein@apple.com>
44849
44850        Reviewed by Darin Adler.
44851
44852        Fixes part of <http://webkit.org/b/30412>.
44853        Web Inspector should get human readable DOM Exceptions.
44854
44855        Add a description field to ExceptionBase, and call it through 
44856        reportException which allows the user/developer to get a more detailed
44857        and coherent error explanation through the Web Inspector.
44858
44859        This only applies to exceptions that come from a script on the page when
44860        it is run. DOM Exceptions that come from the code run in the console, or DOM
44861        exceptions that are caught and logged will come in a future patch.
44862
44863        Tests: inspector/uncaught-dom1-exception.html
44864               inspector/uncaught-dom3-exception.html
44865               inspector/uncaught-dom8-exception.html
44866
44867        * WebCore.gypi:
44868        * WebCore.vcproj/WebCore.vcproj:
44869        * WebCore.xcodeproj/project.pbxproj:
44870        * bindings/js/JSDOMBinding.cpp:
44871        (WebCore::reportException):
44872        * bindings/js/JSExceptionBase.cpp: Added.
44873        (WebCore::toExceptionBase):
44874        * bindings/js/JSExceptionBase.h: Added.
44875        * dom/ExceptionBase.cpp:
44876        (WebCore::ExceptionBase::ExceptionBase):
44877        * dom/ExceptionBase.h:
44878        (WebCore::ExceptionBase::description):
44879        * dom/ExceptionCode.cpp:
44880        (WebCore::):
44881        (WebCore::getExceptionCodeDescription):
44882        * dom/ExceptionCode.h:
44883
448842009-10-16  Geoffrey Garen  <ggaren@apple.com>
44885
44886        Build fix: forgot to check in this #include.
44887
44888        * bridge/runtime_root.h:
44889
448902009-10-16  Simon Fraser  <simon.fraser@apple.com>
44891
44892        Reviewed by Dan Bernstein.
44893
44894        Transform layer gets stuck with the wrong transform after an animation ends
44895        <rdar://problem/7311662>
44896
44897        Work around a CoreAnimation bug which causes an animated transform layer to
44898        end up with a stale transform.
44899        
44900        Test: compositing/animation/state-at-end-event-transform-layer.html
44901
44902        * platform/graphics/mac/GraphicsLayerCA.mm:
44903        (WebCore::bug7311367Workaround):
44904        (WebCore::GraphicsLayerCA::removeAnimationFromLayer):
44905
449062009-10-16  Simon Fraser  <simon.fraser@apple.com>
44907
44908        Reviewed by Dan Bernstein.
44909
44910        After running a transition with an end event listener, can't change the transform
44911        https://bugs.webkit.org/show_bug.cgi?id=30454
44912        
44913        Fix an issue where, if a document had any listener for webkitTransitionEnd or webkitAnimationEnd,
44914        the animations would not get cleaned up correctly, which broke subsequent changes of transform.
44915        
44916        Now, we always clean up the animations right after queuing up the end events.
44917
44918        Tests: animations/state-at-end-event.html
44919               transitions/move-after-transition.html
44920
44921        * page/animation/ImplicitAnimation.cpp:
44922        (WebCore::ImplicitAnimation::onAnimationEnd):
44923        * page/animation/KeyframeAnimation.cpp:
44924        (WebCore::KeyframeAnimation::onAnimationEnd):
44925
449262009-10-15  Joseph Pecoraro  <joepeck@webkit.org>
44927
44928        Reviewed by Timothy Hatcher.
44929
44930        Web Inspector: Handle the Enter Key in the Elements Tree Hierarchy
44931        https://bugs.webkit.org/show_bug.cgi?id=30428
44932
44933        TextNode => Edit Text Node
44934        Has Attributes => Edit First Attribute
44935        No Attributes => Start Editing New Attribute
44936
44937        * inspector/front-end/ElementsTreeOutline.js:
44938        (WebInspector.ElementsTreeOutline.prototype.handleKeyEvent): handle the "Enter" key
44939        (WebInspector.ElementsTreeElement.prototype.set hovered): only add new attribute button on nodes with attributes
44940        (WebInspector.ElementsTreeElement.prototype._addNewAttribute): prevent moving backwards where there are no attributes
44941        (WebInspector.ElementsTreeElement.prototype._startEditingFromEvent): renamed to be clearer
44942        (WebInspector.ElementsTreeElement.prototype._startEditing): transition to the appropriate edit state for a tree element
44943
449442009-10-16  Adam Barth  <abarth@webkit.org>
44945
44946        Reviewed by Eric Seidel.
44947
44948        Fix header indent style for FrameLoader and friends
44949        https://bugs.webkit.org/show_bug.cgi?id=30430
44950
44951        * loader/FrameLoader.h:
44952        (WebCore::FrameLoader::frame):
44953        (WebCore::FrameLoader::policyChecker):
44954        (WebCore::FrameLoader::history):
44955        (WebCore::FrameLoader::notifier):
44956        (WebCore::FrameLoader::isLoadingMainResource):
44957        (WebCore::FrameLoader::documentLoader):
44958        (WebCore::FrameLoader::policyDocumentLoader):
44959        (WebCore::FrameLoader::provisionalDocumentLoader):
44960        (WebCore::FrameLoader::state):
44961        (WebCore::FrameLoader::client):
44962        (WebCore::FrameLoader::url):
44963        (WebCore::FrameLoader::isLoadingFromCachedPage):
44964        (WebCore::FrameLoader::committingFirstRealLoad):
44965        (WebCore::FrameLoader::committedFirstRealDocumentLoad):
44966        (WebCore::FrameLoader::creatingInitialEmptyDocument):
44967        * loader/HistoryController.h:
44968        (WebCore::HistoryController::currentItem):
44969        (WebCore::HistoryController::provisionalItem):
44970        * loader/PolicyCallback.h:
44971        (WebCore::PolicyCallback::request):
44972        * loader/PolicyChecker.h:
44973        (WebCore::PolicyChecker::loadType):
44974        (WebCore::PolicyChecker::setLoadType):
44975        (WebCore::PolicyChecker::delegateIsDecidingNavigationPolicy):
44976        (WebCore::PolicyChecker::delegateIsHandlingUnimplementablePolicy):
44977        * loader/RedirectScheduler.h:
44978        * loader/ResourceLoadNotifier.h:
44979
449802009-10-16  Steve Falkenburg  <sfalken@apple.com>
44981
44982        Reviewed by Adam Roben.
44983
44984        Add a Debug_All configuration to build entire stack as debug.
44985        Change Debug_Internal to:
44986        - stop using _debug suffix for all WebKit/Safari binaries
44987        - not use _debug as a DLL naming suffix
44988        - use non-debug C runtime lib.
44989
44990        * WebCore.vcproj/QTMovieWin.vcproj: Add Debug_All configuration.
44991        * WebCore.vcproj/WebCore.make: Debug build in makefile should build Debug_All.
44992        * WebCore.vcproj/WebCore.sln: Add Debug_All configuration.
44993        * WebCore.vcproj/WebCore.submit.sln: Add Debug_All configuration.
44994        * WebCore.vcproj/WebCore.vcproj: Add Debug_All configuration.
44995        * WebCore.vcproj/WebCoreGenerated.vcproj: Renamed single configuration from "Release" to "all".
44996
449972009-10-16  Dimitri Glazkov  <dglazkov@chromium.org>
44998
44999        No review, rolling out r49693, because it broke Chromium build.
45000        http://trac.webkit.org/changeset/49693
45001
45002        * WebCore.gyp/WebCore.gyp:
45003        * WebCore.gypi:
45004
450052009-10-16  Andrew Scherkus  <scherkus@chromium.org>
45006
45007        Reviewed by Eric Carlson.
45008
45009        Updated media resource selection algorithm to reflect latest HTML 5 specification.
45010
45011        Noticable changes:
45012            -  Elements with no source should have their network state set to NETWORK_EMPTY as opposed to NETWORK_NO_SOURCE
45013            -  Empty string ("") is now considered a valid URL resolving to the current page and will be loaded
45014
45015        Tests: media/video-src-empty.html
45016               media/video-src-none.html
45017
45018        https://bugs.webkit.org/show_bug.cgi?id=30407
45019
45020        * html/HTMLMediaElement.cpp:
45021        (WebCore::HTMLMediaElement::selectMediaResource): Updated code and comments to match spec.
45022
450232009-10-16  Adam Barth  <abarth@webkit.org>
45024
45025        Reviewed by Eric Seidel.
45026
45027        Insecure plug-ins don't trigger mixed content
45028        https://bugs.webkit.org/show_bug.cgi?id=30431
45029
45030        Added the missing check.
45031
45032        Test: http/tests/security/mixedContent/insecure-plugin-in-iframe.html
45033
45034        * loader/FrameLoader.cpp:
45035        (WebCore::FrameLoader::loadPlugin):
45036
450372009-10-16  Andrew Scherkus  <scherkus@chromium.org>
45038
45039        Reviewed by Eric Carlson.
45040
45041        Set autobuffer to true and schedule load in V8 audio element constructor.
45042
45043        https://bugs.webkit.org/show_bug.cgi?id=30448
45044
45045        Covered by existing tests.
45046
45047        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
45048        (WebCore::CALLBACK_FUNC_DECL): Set autobuffer to true and schedule load.
45049
450502009-10-16  Andrew Scherkus  <scherkus@chromium.org>
45051
45052        Reviewed by Eric Seidel.
45053
45054        Remove FIXME in RenderMediaControlsChromium as bug was fixed upstream.
45055
45056        https://bugs.webkit.org/show_bug.cgi?id=30422
45057
45058        Covered by existing media layout tests.
45059
45060        * rendering/RenderMediaControlsChromium.cpp:
45061        (WebCore::paintMediaSlider): Removed round() and FIXME.
45062
450632009-10-16  Andrew Scherkus  <scherkus@chromium.org>
45064
45065        Reviewed by Eric Seidel.
45066
45067        Fix Chromium media controls to render a disabled play button when the element is unintialized.
45068
45069        https://bugs.webkit.org/show_bug.cgi?id=30410
45070
45071        Covered by existing layout tests.
45072
45073        * rendering/RenderMediaControlsChromium.cpp:
45074        (WebCore::paintMediaPlayButton): Include check for NETWORK_EMPTY to render disabled play button.
45075
450762009-10-16  Oliver Hunt  <oliver@apple.com>
45077
45078        Reviewed by Gavin Barraclough.
45079
45080        Make typeinfo flags default to false
45081        https://bugs.webkit.org/show_bug.cgi?id=30372
45082
45083        Last part -- replace HasDefaultGetPropertyNames with OverridesGetPropertyNames
45084        flag.
45085
45086        * bindings/js/JSDOMWindowShell.h:
45087        (WebCore::JSDOMWindowShell::createStructure):
45088        * bindings/js/JSHTMLAllCollection.h:
45089        (WebCore::JSHTMLAllCollection::createStructure):
45090        * bindings/js/JSQuarantinedObjectWrapper.h:
45091        (WebCore::JSQuarantinedObjectWrapper::createStructure):
45092        * bindings/scripts/CodeGeneratorJS.pm:
45093        * bridge/runtime_array.h:
45094        (JSC::RuntimeArray::createStructure):
45095        * bridge/runtime_object.h:
45096        (JSC::RuntimeObjectImp::createStructure):
45097
450982009-10-16  Steven Knight  <sgk@chromium.org>
45099
45100        Reviewed by David Levin.
45101
45102        https://bugs.webkit.org/show_bug.cgi?id=30447
45103        Handle long link lines by building .idl-generated bindings in a
45104        separate webcore_bindings library target.  Avoid Visual Studio
45105        dependency issues by building additional generated .cpp and .h files
45106        in a separate webcore_bindings_sources target.
45107
45108        Chrome should still build and test successfully.
45109
45110        * WebCore.gyp/WebCore.gyp:
45111        * WebCore.gypi:
45112
451132009-10-16  Simon Fraser  <simon.fraser@apple.com>
45114
45115        Reviewed by Eric Carlson.
45116
45117        Transform transitions that used to be accelerated are no longer so
45118        https://bugs.webkit.org/show_bug.cgi?id=30453
45119
45120        The change in r49633, to not run accelerated animations/transitions on layers that
45121        are not attached, broke accelerated transitions/animations in many cases where they start
45122        as soon as the page loads. This change reverts the code that tests for the GraphicsLayer being
45123        attached.
45124        
45125        No test, because it's not possible from a test to know whether a transition is accelerated or not.
45126
45127        * rendering/RenderLayerBacking.cpp:
45128        (WebCore::RenderLayerBacking::startAnimation):
45129        (WebCore::RenderLayerBacking::startTransition):
45130
451312009-10-16  Kevin Ollivier  <kevino@theolliviers.com>
45132
45133        wxMSW build fix, build the MSW source to get methods that use the MSW version of
45134        PlatformModuleVersion.
45135
45136        * wscript:
45137
451382009-10-16  Adam Barth  <abarth@webkit.org>
45139
45140        Unreviewed build fix.  Add back MIMETypeRegistryChromium with the right
45141        casing.
45142
45143        * platform/chromium/MIMETypeRegistryChromium.cpp: Added.
45144        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
45145        (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
45146        (WebCore::MIMETypeRegistry::getMIMETypeForPath):
45147        (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
45148        (WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType):
45149        (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding):
45150        (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
45151        (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
45152        (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType):
45153        (WebCore::MIMETypeRegistry::isJavaAppletMIMEType):
45154        (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension):
45155        (WebCore::dummyHashSet):
45156        (WebCore::MIMETypeRegistry::getSupportedImageMIMETypes):
45157        (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes):
45158        (WebCore::MIMETypeRegistry::getSupportedImageMIMETypesForEncoding):
45159        (WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes):
45160        (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes):
45161
451622009-10-16  Adam Barth  <abarth@webkit.org>
45163
45164        Reviewed by Darin Adler.
45165
45166        MimeTypeRegistryChromium is mis-casen
45167        https://bugs.webkit.org/show_bug.cgi?id=30441
45168
45169        Change the case of MimeTypeRegistryChromium to match other platforms.
45170
45171        * WebCore.gypi:
45172        * platform/chromium/MIMETypeRegistryChromium.cpp: Copied from WebCore/platform/chromium/MimeTypeRegistryChromium.cpp.
45173        * platform/chromium/MimeTypeRegistryChromium.cpp: Removed.
45174
451752009-10-16  Dimitri Glazkov  <dglazkov@chromium.org>
45176
45177        Reviewed by Eric Seidel.
45178
45179        Change EmptyPluginHalterClient in SVGImage to be non-static, to
45180        match changes made http://trac.webkit.org/changeset/49385.
45181        https://bugs.webkit.org/show_bug.cgi?id=30403
45182
45183        Run the following layout test sequence:
45184          LayoutTests/svg/W3C-SVG-1.1/struct-image-01-t.svg
45185          LayoutTests/svg/W3C-SVG-1.1/struct-image-03-t.svg
45186          LayoutTests/svg/W3C-SVG-1.1/struct-image-04-t.svg
45187          LayoutTests/svg/W3C-SVG-1.1/struct-image-05-b.svg
45188          LayoutTests/svg/W3C-SVG-1.1/struct-image-06-t.svg
45189          LayoutTests/svg/W3C-SVG-1.1/struct-image-07-t.svg
45190          LayoutTests/svg/W3C-SVG-1.1/struct-image-08-t.svg
45191          LayoutTests/svg/W3C-SVG-1.1/struct-image-09-t.svg
45192          LayoutTests/svg/W3C-SVG-1.1/struct-image-10-t.svg
45193          LayoutTests/svg/carto.net/scrollbar.svg
45194          LayoutTests/svg/carto.net/selectionlist.svg
45195
45196        selectionlist.svg should not crash.
45197
45198        * svg/graphics/SVGImage.cpp:
45199        (WebCore::SVGImage::dataChanged): Made EmptyPluginHalterClient non-static.
45200
452012009-10-16  Victor Wang  <victorw@chromium.org>
45202
45203        Reviewed by David Levin.
45204
45205        Add beforeload event support to V8DOMWrapper
45206
45207        https://bugs.webkit.org/show_bug.cgi?id=30413
45208
45209        LayoutTests/fast/dom/beforeload/frame-before-load.html
45210
45211        * bindings/v8/V8DOMWrapper.cpp:
45212        (WebCore::V8DOMWrapper::convertEventToV8Object):
45213
452142009-10-16  Adam Barth  <abarth@webkit.org>
45215
45216        Reviewed by Darin Adler.
45217
45218        MimeTypeRegistryChromium is mis-casen
45219        https://bugs.webkit.org/show_bug.cgi?id=30441
45220
45221        Change the case of MimeTypeRegistryChromium to match other platforms.
45222
45223        * WebCore.gypi:
45224        * platform/chromium/MIMETypeRegistryChromium.cpp: Copied from WebCore/platform/chromium/MimeTypeRegistryChromium.cpp.
45225        * platform/chromium/MimeTypeRegistryChromium.cpp: Removed.
45226
452272009-10-16  Adam Barth  <abarth@webkit.org>
45228
45229        Reviewed by Mark Rowe.
45230
45231        Chrome doesn't set Content-Type for file upload when the file extension
45232        is not recognized
45233        https://bugs.webkit.org/show_bug.cgi?id=30433
45234
45235        Apparently, getMIMETypeForPath is supposed to return
45236        application/octet-stream when it doesn't have a better MIME type.
45237
45238        * platform/chromium/MimeTypeRegistryChromium.cpp:
45239        (WebCore::MIMETypeRegistry::getMIMETypeForPath):
45240
452412009-10-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
45242
45243        Pull out r49676 as it caused build breakges on Symbian
45244
45245        * plugins/symbian/PluginViewSymbian.cpp:
45246
452472009-10-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
45248
45249        Reviewed by Ariya Hidayat.
45250
45251        Crash fix when loading NPAPI plugins on Qt/Mac
45252
45253        There's no guarantee that the plist will be valid even if we
45254        ask the plugin to create it. Crash obverved with iGetter.
45255
45256        * plugins/mac/PluginPackageMac.cpp:
45257
452582009-10-15  Stephen White  <senorblanco@chromium.org>
45259
45260        Reviewed by David Levin.
45261
45262        Fix for Chromium/skia's implementation of canvas's isPointInPath().
45263        https://bugs.webkit.org/show_bug.cgi?id=30402
45264
45265        Covered by LayoutTests/fast/canvas/pointInPath.html.
45266
45267        * platform/graphics/skia/SkiaUtils.cpp:
45268        (WebCore::SkPathContainsPoint):
45269
452702009-10-15  Adam Barth  <abarth@webkit.org>
45271
45272        Reviewed by Darin Adler.
45273
45274        Factor ResourceLoadNotifier out of FrameLoader
45275        https://bugs.webkit.org/show_bug.cgi?id=30379
45276
45277        These methods have virtually no interaction with the rest of
45278        FrameLoader.
45279
45280        * GNUmakefile.am:
45281        * WebCore.gypi:
45282        * WebCore.pro:
45283        * WebCore.vcproj/WebCore.vcproj:
45284        * WebCore.xcodeproj/project.pbxproj:
45285        * WebCoreSources.bkl:
45286        * dom/Document.cpp:
45287        (WebCore::Document::resourceRetrievedByXMLHttpRequest):
45288        * loader/FrameLoader.cpp:
45289        (WebCore::FrameLoader::FrameLoader):
45290        (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
45291        (WebCore::ResourceLoadNotifier::ResourceLoadNotifier):
45292        (WebCore::ResourceLoadNotifier::activeDocumentLoader):
45293        (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
45294        (WebCore::ResourceLoadNotifier::willSendRequest):
45295        (WebCore::ResourceLoadNotifier::didReceiveResponse):
45296        (WebCore::ResourceLoadNotifier::didReceiveData):
45297        (WebCore::ResourceLoadNotifier::didFailToLoad):
45298        (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest):
45299        (WebCore::FrameLoader::sendRemainingDelegateMessages):
45300        (WebCore::FrameLoader::requestFromDelegate):
45301        (WebCore::ResourceLoadNotifier::didFinishLoad):
45302        (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
45303        (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
45304        (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest):
45305        (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
45306        (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
45307        (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
45308        (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
45309        * loader/FrameLoader.h:
45310        (WebCore::FrameLoader::notifier):
45311        * loader/MainResourceLoader.cpp:
45312        (WebCore::MainResourceLoader::receivedError):
45313        * loader/ResourceLoadNotifier.cpp: Added.
45314        (WebCore::ResourceLoadNotifier::ResourceLoadNotifier):
45315        (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
45316        (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
45317        (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
45318        (WebCore::ResourceLoadNotifier::willSendRequest):
45319        (WebCore::ResourceLoadNotifier::didReceiveResponse):
45320        (WebCore::ResourceLoadNotifier::didReceiveData):
45321        (WebCore::ResourceLoadNotifier::didFinishLoad):
45322        (WebCore::ResourceLoadNotifier::didFailToLoad):
45323        (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest):
45324        (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest):
45325        (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
45326        (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
45327        (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
45328        (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
45329        (WebCore::ResourceLoadNotifier::activeDocumentLoader):
45330        * loader/ResourceLoadNotifier.h: Added.
45331        * loader/ResourceLoader.cpp:
45332        (WebCore::ResourceLoader::willSendRequest):
45333        (WebCore::ResourceLoader::didReceiveResponse):
45334        (WebCore::ResourceLoader::didReceiveData):
45335        (WebCore::ResourceLoader::didFinishLoadingOnePart):
45336        (WebCore::ResourceLoader::didFail):
45337        (WebCore::ResourceLoader::didCancel):
45338        (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
45339        (WebCore::ResourceLoader::didCancelAuthenticationChallenge):
45340
453412009-10-15  Roland Steiner  <rolandsteiner@google.com>
45342
45343        Reviewed by Darin Fisher.
45344
45345        Bug 30427 -  Remove unneeded methods in ChromiumDataObject
45346        (https://bugs.webkit.org/show_bug.cgi?id=30427)
45347        
45348        Remove no longer needed methods from ChromiumDataObject.
45349
45350        No new tests (no functional change)
45351
45352        * platform/chromium/ChromiumDataObject.h:
45353
453542009-10-16  Yael Aharon  <yael.aharon@nokia.com>
45355
45356        Reviewed by Tor Arne Vestbø.
45357
45358        [Qt] Need a way to inform the application when a Netscape plugin is created or deleted
45359        https://bugs.webkit.org/show_bug.cgi?id=30179
45360
45361        Inform the application when a plugin is created or destroyed, but only if the 
45362        application registered for these notifications.
45363
45364        * plugins/symbian/PluginViewSymbian.cpp:
45365        (WebCore::PluginView::platformStart):
45366        (WebCore::PluginView::platformDestroy):
45367
453682009-10-16  Shu Chang  <Chang.Shu@nokia.com>
45369
45370        Reviewed by Eric Seidel.
45371
45372        Default language translation should be determined by locale settings,
45373        e.g., "en-US".
45374        https://bugs.webkit.org/show_bug.cgi?id=29653
45375
45376        Test: fast/js/navigator-language.html
45377
45378        * platform/qt/Localizations.cpp:
45379        (WebCore::defaultLanguage):
45380
453812009-10-16  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
45382
45383        Reviewed by Ariya Hidayat.
45384
45385        Crash fix when loading NPAPI plugins on Qt/Mac
45386
45387        There's no guarantee that the plist will be valid even if we
45388        ask the plugin to create it. Crash obverved with iGetter.
45389
45390        * plugins/mac/PluginPackageMac.cpp:
45391
453922009-10-15  Stephen White  <senorblanco@chromium.org>
45393
45394        Reviewed by David Levin.
45395
45396        Fix for Chromium/skia's implementation of canvas's isPointInPath().
45397        https://bugs.webkit.org/show_bug.cgi?id=30402
45398
45399        Covered by LayoutTests/fast/canvas/pointInPath.html.
45400
45401        * platform/graphics/skia/SkiaUtils.cpp:
45402        (WebCore::SkPathContainsPoint):
45403
454042009-10-15  Adam Barth  <abarth@webkit.org>
45405
45406        Reviewed by Darin Adler.
45407
45408        Factor ResourceLoadNotifier out of FrameLoader
45409        https://bugs.webkit.org/show_bug.cgi?id=30379
45410
45411        These methods have virtually no interaction with the rest of
45412        FrameLoader.
45413
45414        * GNUmakefile.am:
45415        * WebCore.gypi:
45416        * WebCore.pro:
45417        * WebCore.vcproj/WebCore.vcproj:
45418        * WebCore.xcodeproj/project.pbxproj:
45419        * WebCoreSources.bkl:
45420        * dom/Document.cpp:
45421        (WebCore::Document::resourceRetrievedByXMLHttpRequest):
45422        * loader/FrameLoader.cpp:
45423        (WebCore::FrameLoader::FrameLoader):
45424        (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
45425        (WebCore::ResourceLoadNotifier::ResourceLoadNotifier):
45426        (WebCore::ResourceLoadNotifier::activeDocumentLoader):
45427        (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
45428        (WebCore::ResourceLoadNotifier::willSendRequest):
45429        (WebCore::ResourceLoadNotifier::didReceiveResponse):
45430        (WebCore::ResourceLoadNotifier::didReceiveData):
45431        (WebCore::ResourceLoadNotifier::didFailToLoad):
45432        (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest):
45433        (WebCore::FrameLoader::sendRemainingDelegateMessages):
45434        (WebCore::FrameLoader::requestFromDelegate):
45435        (WebCore::ResourceLoadNotifier::didFinishLoad):
45436        (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
45437        (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
45438        (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest):
45439        (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
45440        (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
45441        (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
45442        (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
45443        * loader/FrameLoader.h:
45444        (WebCore::FrameLoader::notifier):
45445        * loader/MainResourceLoader.cpp:
45446        (WebCore::MainResourceLoader::receivedError):
45447        * loader/ResourceLoadNotifier.cpp: Added.
45448        (WebCore::ResourceLoadNotifier::ResourceLoadNotifier):
45449        (WebCore::ResourceLoadNotifier::didReceiveAuthenticationChallenge):
45450        (WebCore::ResourceLoadNotifier::didCancelAuthenticationChallenge):
45451        (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
45452        (WebCore::ResourceLoadNotifier::willSendRequest):
45453        (WebCore::ResourceLoadNotifier::didReceiveResponse):
45454        (WebCore::ResourceLoadNotifier::didReceiveData):
45455        (WebCore::ResourceLoadNotifier::didFinishLoad):
45456        (WebCore::ResourceLoadNotifier::didFailToLoad):
45457        (WebCore::ResourceLoadNotifier::didLoadResourceByXMLHttpRequest):
45458        (WebCore::ResourceLoadNotifier::dispatchAssignIdentifierToInitialRequest):
45459        (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
45460        (WebCore::ResourceLoadNotifier::dispatchDidReceiveResponse):
45461        (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
45462        (WebCore::ResourceLoadNotifier::dispatchDidFinishLoading):
45463        (WebCore::ResourceLoadNotifier::activeDocumentLoader):
45464        * loader/ResourceLoadNotifier.h: Added.
45465        * loader/ResourceLoader.cpp:
45466        (WebCore::ResourceLoader::willSendRequest):
45467        (WebCore::ResourceLoader::didReceiveResponse):
45468        (WebCore::ResourceLoader::didReceiveData):
45469        (WebCore::ResourceLoader::didFinishLoadingOnePart):
45470        (WebCore::ResourceLoader::didFail):
45471        (WebCore::ResourceLoader::didCancel):
45472        (WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
45473        (WebCore::ResourceLoader::didCancelAuthenticationChallenge):
45474
454752009-10-15  Roland Steiner  <rolandsteiner@google.com>
45476
45477        Reviewed by Darin Fisher.
45478
45479        Bug 30427 -  Remove unneeded methods in ChromiumDataObject
45480        (https://bugs.webkit.org/show_bug.cgi?id=30427)
45481        
45482        Remove no longer needed methods from ChromiumDataObject.
45483
45484        No new tests (no functional change)
45485
45486        * platform/chromium/ChromiumDataObject.h:
45487
454882009-10-15  Daniel Bates  <dbates@webkit.org>
45489
45490        No review, rolling out r49644.
45491        http://trac.webkit.org/changeset/49644
45492        
45493        We need to think about this change some more. See bug #30418 
45494        for more details.
45495
45496        * page/XSSAuditor.cpp:
45497        (WebCore::XSSAuditor::canEvaluate):
45498        (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
45499        (WebCore::XSSAuditor::canCreateInlineEventListener):
45500        (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
45501        (WebCore::XSSAuditor::canLoadObject):
45502        (WebCore::XSSAuditor::canSetBaseElementURL):
45503        (WebCore::XSSAuditor::findInRequest):
45504        * page/XSSAuditor.h:
45505
455062009-10-14  Jon Honeycutt  <jhoneycutt@apple.com>
45507
45508        Add SPI to determine whether a node is a halted plug-in.
45509
45510        Part of <rdar://problem/7273354> Halted plug-ins should restart on
45511        mouseover
45512
45513        https://bugs.webkit.org/show_bug.cgi?id=30151
45514
45515        Reviewed by Darin Adler.
45516
45517        * plugins/PluginView.cpp:
45518        (WebCore::PluginView::PluginView):
45519        Initialize m_isHalted.
45520
45521        * plugins/PluginView.h:
45522        (WebCore::PluginView::isHalted):
45523        Return m_isHalted.
45524
45525        * plugins/win/PluginViewWin.cpp:
45526        (WebCore::PluginView::halt):
45527        Set m_isHalted to true.
45528        (WebCore::PluginView::restart):
45529        clear m_isHalted.
45530
455312009-10-15  Zoltan Horvath  <zoltan@webkit.org>
45532
45533        Reviewed by Oliver Hunt.
45534
45535        [Qt] Build fix for QtWebKit after r49649.
45536
45537        Change JSC::HasNonDefaultMark to OverridesMarkChildren in createStructure function.
45538
45539        * bridge/qt/qt_runtime.h:
45540        (JSC::Bindings::QtRuntimeMethod::createStructure):
45541
455422009-10-15  Pavel Feldman  <pfeldman@chromium.org>
45543
45544        Not reviewed - build fix.
45545
45546        Web Inspector: add file missing in r49648
45547
45548        * inspector/front-end/TestController.js: Added.
45549        (WebInspector.TestController):
45550        (WebInspector.TestController.prototype.waitUntilDone):
45551        (WebInspector.TestController.prototype.notifyDone):
45552        (WebInspector.evaluateForTestInFrontend):
45553
455542009-10-15  Oliver Hunt  <oliver@apple.com>
45555
45556        Reviewed by Darin Adler.
45557
45558        Make typeinfo flags default to false
45559        https://bugs.webkit.org/show_bug.cgi?id=30372
45560
45561        Part 2 -- Reverse the TypeInfo HasDefaultMark flag to OverridesMarkChildren, etc
45562
45563        * bindings/js/JSDOMBinding.h:
45564        (WebCore::DOMObjectWithGlobalPointer::createStructure):
45565        (WebCore::DOMConstructorObject::createStructure):
45566        * bindings/js/JSDOMWindowShell.h:
45567        (WebCore::JSDOMWindowShell::createStructure):
45568        * bindings/js/JSHTMLAllCollection.h:
45569        (WebCore::JSHTMLAllCollection::createStructure):
45570        * bindings/js/JSQuarantinedObjectWrapper.h:
45571        (WebCore::JSQuarantinedObjectWrapper::createStructure):
45572        * bindings/scripts/CodeGeneratorJS.pm:
45573        * bridge/qt/qt_runtime.h:
45574        (JSC::Bindings::QtRuntimeMethod::createStructure):
45575        * bridge/runtime_method.h:
45576        (JSC::RuntimeMethod::createStructure):
45577
455782009-10-15  Pavel Feldman  <pfeldman@chromium.org>
45579
45580        Reviewed by Timothy Hatcher.
45581
45582        Web Inspector: introduce test controller with waitUntilDone
45583        on frontend side.
45584
45585        https://bugs.webkit.org/show_bug.cgi?id=30400
45586
45587        * WebCore.gypi:
45588        * WebCore.vcproj/WebCore.vcproj:
45589        * inspector/front-end/TestController.js: Added.
45590        (WebInspector.TestController):
45591        (WebInspector.TestController.prototype.waitUntilDone):
45592        (WebInspector.TestController.prototype.notifyDone):
45593        (WebInspector.evaluateForTestInFrontend):
45594        * inspector/front-end/WebKit.qrc:
45595        * inspector/front-end/inspector.html:
45596        * inspector/front-end/inspector.js:
45597
455982009-10-15  Daniel Bates  <dbates@webkit.org>
45599
45600        Reviewed by Adam Barth.
45601
45602        https://bugs.webkit.org/show_bug.cgi?id=27895
45603        
45604        Fixes an issue in which injecting an inline event handler whose value ends in a single-line
45605        JavaScript comment can bypass the XSSAuditor. Similarly fixes this issue with respect to
45606        the HTML Base element, HTML Object element, inline and external script tags, and
45607        JavaScript multi-line variants of all of these attacks.
45608
45609        Tests: http/tests/security/xssAuditor/base-href-comment.html
45610               http/tests/security/xssAuditor/iframe-javascript-url-comment.html
45611               http/tests/security/xssAuditor/img-onerror-HTML-comment.html
45612               http/tests/security/xssAuditor/img-onerror-comment.html
45613               http/tests/security/xssAuditor/object-tag-comment.html
45614               http/tests/security/xssAuditor/script-tag-comment-HTML-entity.html
45615               http/tests/security/xssAuditor/script-tag-comment.html
45616               http/tests/security/xssAuditor/script-tag-with-source-comment.html
45617
45618        * page/XSSAuditor.cpp: Added constant minAttackLength.
45619        (WebCore::XSSAuditor::canEvaluate):
45620        (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
45621        (WebCore::XSSAuditor::canCreateInlineEventListener):
45622        (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
45623        (WebCore::XSSAuditor::canLoadObject):
45624        (WebCore::XSSAuditor::canSetBaseElementURL):
45625        (WebCore::XSSAuditor::findInRequest): Added parameter context. Only looks at up 
45626        to minAttackLength of script code plus context (if any).
45627        * page/XSSAuditor.h:
45628
456292009-10-08  Adam Langley  <agl@google.com>
45630
45631        Reviewed by Eric Seidel.
45632
45633        Currently, Skia clip paths are 1-bit. This patch makes our path
45634        clipping anti-aliased for non-canvas drawing.
45635
45636        http://code.google.com/p/chromium/issues/detail?id=5927
45637        https://bugs.webkit.org/show_bug.cgi?id=28820
45638        http://www.imperialviolet.org/2009/09/02/anti-aliased-clipping.html
45639
45640        Already covered by layout tests. New baselines will be needed in the
45641        Chromium tree.
45642
45643        (Reland. First landed in r49329, reverted in r49330 due to Windows
45644        build break)
45645
45646        * html/canvas/CanvasRenderingContext2D.cpp:
45647        (WebCore::CanvasRenderingContext2D::clip):
45648        * platform/graphics/GraphicsContext.h:
45649        * platform/graphics/cairo/GraphicsContextCairo.cpp:
45650        (WebCore::GraphicsContext::canvasClip):
45651        * platform/graphics/cg/GraphicsContextCG.cpp:
45652        (WebCore::GraphicsContext::canvasClip):
45653        * platform/graphics/haiku/GraphicsContextHaiku.cpp:
45654        (WebCore::GraphicsContext::canvasClip):
45655        * platform/graphics/qt/GraphicsContextQt.cpp:
45656        (WebCore::GraphicsContext::canvasClip):
45657        * platform/graphics/skia/GraphicsContextSkia.cpp:
45658        (WebCore::GraphicsContext::addInnerRoundedRectClip):
45659        (WebCore::GraphicsContext::clip):
45660        (WebCore::GraphicsContext::canvasClip):
45661        (WebCore::GraphicsContext::clipPath):
45662        * platform/graphics/skia/PlatformContextSkia.cpp:
45663        (PlatformContextSkia::clipPathAntiAliased):
45664        (PlatformContextSkia::restore):
45665        (PlatformContextSkia::applyAntiAliasedClipPaths):
45666        * platform/graphics/skia/PlatformContextSkia.h:
45667        * platform/graphics/win/GraphicsContextWin.cpp:
45668        (WebCore::GraphicsContext::canvasClip):
45669        * platform/graphics/wince/GraphicsContextWince.cpp:
45670        (WebCore::GraphicsContext::canvasClip):
45671        * platform/graphics/wx/GraphicsContextWx.cpp:
45672        (WebCore::GraphicsContext::canvasClip):
45673
456742009-10-15  Eric Carlson  <eric.carlson@apple.com>
45675
45676        Reviewed by Simon Fraser.
45677
45678        <rdar://problem/7295738> No way to mute/unmute a movie in full screen video mode
45679
45680        * WebCore.Video.exp: Export muted and setMute.
45681
456822009-10-15  Simon Fraser  <simon.fraser@apple.com>
45683
45684        Reviewed by Dan Bernstein.
45685
45686        Transitions fail to run sometimes
45687        https://bugs.webkit.org/show_bug.cgi?id=26770
45688
45689        Fix an issue where we could attempt to start accelerated animations or transitions on
45690        GraphicsLayer that were not rooted (because of visibility:hidden), which would leave
45691        the AnimationController's m_waitingForResponse flag in a state that killed subsequent
45692        software transitions.
45693
45694        * page/animation/AnimationController.cpp:
45695        (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
45696        (WebCore::AnimationControllerPrivate::endAnimationUpdate):
45697        (WebCore::AnimationControllerPrivate::receivedStartTimeResponse):
45698        (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList):
45699        (WebCore::AnimationControllerPrivate::startTimeResponse):
45700        * page/animation/AnimationControllerPrivate.h:
45701        Make some methods non-inline for ease of debugging (these are not hot methods).
45702        Rename m_waitingForAResponse to m_waitingForResponse.
45703        
45704        * platform/graphics/GraphicsLayer.h:
45705        * platform/graphics/GraphicsLayer.cpp:
45706        (WebCore::GraphicsLayer::hasAncestor):
45707        New method to report whether the receiver has the given layer as an ancestor. Used for checking
45708        whether a layer is rooted.
45709
45710        * rendering/RenderLayerBacking.cpp:
45711        (WebCore::RenderLayerBacking::startAnimation):
45712        (WebCore::RenderLayerBacking::startTransition):
45713        Don't try to start accelerated animations or transitions on non-rooted GraphicsLayers.
45714
457152009-10-15  Alexander Pavlov  <apavlov@chromium.org>
45716
45717        Reviewed by Pavel Feldman.
45718
45719        Refactor ProfilesPanel to support multiple profile types
45720
45721        Data describing different profile types are now stored in distinct objects.
45722        https://bugs.webkit.org/show_bug.cgi?id=30332
45723
45724        * WebCore.vcproj/WebCore.vcproj:
45725        * inspector/front-end/ProfileView.js:
45726        (WebInspector.CPUProfileView.profileCallback):
45727        (WebInspector.CPUProfileView):
45728        (WebInspector.CPUProfileView.prototype._sortData):
45729        (WebInspector.CPUProfileType):
45730        (WebInspector.CPUProfileType.prototype.get buttonTooltip):
45731        (WebInspector.CPUProfileType.prototype.get buttonStyle):
45732        (WebInspector.CPUProfileType.prototype.buttonClicked):
45733        (WebInspector.CPUProfileType.prototype.setRecordingProfile):
45734        (WebInspector.CPUProfile):
45735        (WebInspector.CPUProfile.prototype.get title):
45736        (WebInspector.CPUProfile.prototype.get uid):
45737        (WebInspector.CPUProfile.prototype.get head):
45738        (WebInspector.CPUProfile.prototype.createView):
45739        (WebInspector.CPUProfile.prototype.viewForProfile):
45740        * inspector/front-end/ProfilesPanel.js:
45741        (WebInspector.ProfileType):
45742        (WebInspector.ProfileType.prototype.get buttonTooltip):
45743        (WebInspector.ProfileType.prototype.get buttonStyle):
45744        (WebInspector.ProfileType.prototype.get buttonCaption):
45745        (WebInspector.ProfileType.prototype.get id):
45746        (WebInspector.ProfileType.prototype.get name):
45747        (WebInspector.ProfileType.prototype.buttonClicked):
45748        (WebInspector.ProfilesPanel):
45749        (WebInspector.ProfilesPanel.prototype.get statusBarItems.clickHandler):
45750        (WebInspector.ProfilesPanel.prototype.get statusBarItems):
45751        (WebInspector.ProfilesPanel.prototype.reset):
45752        (WebInspector.ProfilesPanel.prototype.registerProfileType):
45753        (WebInspector.ProfilesPanel.prototype._makeKey):
45754        (WebInspector.ProfilesPanel.prototype.addProfileHeader):
45755        (WebInspector.ProfilesPanel.prototype.showProfile):
45756        (WebInspector.ProfilesPanel.prototype.getProfileType):
45757        (WebInspector.ProfilesPanel.prototype.showProfileForURL):
45758        (WebInspector.ProfilesPanel.prototype.updateProfileTypeButtons):
45759        (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink):
45760        (WebInspector.ProfilesPanel.prototype.get searchableViews):
45761        (WebInspector.ProfilesPanel.prototype._updateInterface):
45762        * inspector/front-end/inspector.js:
45763        (WebInspector._createPanels):
45764        (WebInspector.documentClick.followLink):
45765        (WebInspector.documentClick):
45766        (WebInspector.addProfileHeader):
45767        (WebInspector.setRecordingProfile):
45768        (WebInspector.linkifyStringAsFragment):
45769        (WebInspector.showProfileForURL):
45770
457712009-10-15  Pavel Feldman  <pfeldman@chromium.org>
45772
45773        Reviewed by Timothy Hatcher.
45774
45775        Web Inspector: Enable inspector layout tests.
45776
45777        https://bugs.webkit.org/show_bug.cgi?id=30014
45778
45779        * inspector/InspectorController.cpp:
45780        (WebCore::InspectorController::evaluateForTestInFrontend):
45781
457822009-10-15  Philippe Normand  <pnormand@igalia.com>
45783
45784        Reviewed by Gustavo Noronha.
45785
45786        [GStreamer] READY state doesn't mean "enough data"
45787        https://bugs.webkit.org/show_bug.cgi?id=30003
45788
45789        STATE_READY means MediaPlayer::HaveNothing
45790
45791        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
45792        (WebCore::MediaPlayerPrivate::updateStates):
45793
457942009-10-15  Philippe Normand  <pnormand@igalia.com>
45795
45796        Reviewed by Gustavo Noronha.
45797
45798        https://bugs.webkit.org/show_bug.cgi?id=30002
45799
45800        implement cancelLoad
45801
45802        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
45803        (WebCore::MediaPlayerPrivate::cancelLoad):
45804
458052009-10-15  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
45806
45807        Reviewed by Gustavo Noronha.
45808
45809        https://bugs.webkit.org/show_bug.cgi?id=30353
45810        
45811        Fix race condition, leading to a deadlock
45812
45813        * platform/graphics/gtk/VideoSinkGStreamer.cpp:
45814        (webkit_video_sink_timeout_func):
45815        (webkit_video_sink_render):
45816        (unlock_buffer_mutex):
45817        (webkit_video_sink_unlock):
45818        (webkit_video_sink_unlock_stop):
45819        (webkit_video_sink_stop):
45820        (webkit_video_sink_start):
45821        (webkit_video_sink_class_init):
45822        Fix race condition in unlock/render that would lead to deadlocks.
45823
458242009-10-15  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
45825
45826        Reviewed by Gustavo Noronha.
45827
45828        https://bugs.webkit.org/show_bug.cgi?id=30374
45829        
45830        Check if caps are valid before parsing them
45831
45832        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
45833        (WebCore::MediaPlayerPrivate::duration):
45834        Check if caps are valid before parsing them in ::naturalSize().
45835        This prevents assertions if the natural size should be calculated
45836        before the video caps are negotiated.
45837
458382009-10-15  Philippe Normand  <pnormand@igalia.com>
45839
45840        Reviewed by Gustavo Noronha.
45841
45842        https://bugs.webkit.org/show_bug.cgi?id=30006
45843        [GStreamer] Unnecessary checks for Messages types in callbacks
45844
45845        refactored gst message callbacks into a single one
45846
45847        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
45848        (WebCore::mediaPlayerPrivateMessageCallback):
45849        (WebCore::do_gst_init):
45850        (WebCore::MediaPlayerPrivate::duration):
45851        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
45852
458532009-10-15  Shu Chang  <Chang.Shu@nokia.com>
45854
45855        Reviewed by Adele Peterson.
45856
45857        Anchor elements should be mouse focusable regardless isLink flag.
45858        https://bugs.webkit.org/show_bug.cgi?id=26856
45859
45860        * html/HTMLAnchorElement.cpp:
45861        * html/HTMLAnchorElement.h:
45862
458632009-10-15  Nikolas Zimmermann  <nzimmermann@rim.com>
45864
45865        Not reviewed. Sort XCode project file.
45866
45867        * WebCore.xcodeproj/project.pbxproj:
45868
458692009-10-15  Yury Semikhatsky  <yurys@chromium.org>
45870
45871        Reviewed by Dave Hyatt.
45872
45873        Return correct shorthand property name for 
45874        background-repeat-x, background-repeat-y, background-position-x,
45875        background-position-y, -webkit-mask-position-x, -webkit-mask-position-y,
45876        -webkit-mask-repeat-x, -webkit-mask-repeat-y.
45877
45878        https://bugs.webkit.org/show_bug.cgi?id=28972
45879
45880        Test: fast/backgrounds/repeat/background-repeat-shorthand.html
45881
45882        * css/CSSParser.cpp:
45883        (WebCore::CSSParser::parseValue):
45884
458852009-10-14  Mikhail Naganov  <mnaganov@chromium.org>
45886
45887        Reviewed by Pavel Feldman.
45888
45889        Web Inspector: Migrate profiles to the injected script-based schema.
45890
45891        https://bugs.webkit.org/show_bug.cgi?id=30328
45892
45893        * bindings/js/JSInspectorBackendCustom.cpp:
45894        * bindings/v8/custom/V8CustomBinding.h:
45895        * inspector/InspectorBackend.cpp:
45896        (WebCore::InspectorBackend::getProfileHeaders):
45897        (WebCore::InspectorBackend::getProfile):
45898        * inspector/InspectorBackend.h:
45899        * inspector/InspectorBackend.idl:
45900        * inspector/InspectorController.cpp:
45901        (WebCore::InspectorController::addProfile):
45902        (WebCore::InspectorController::getProfileHeaders):
45903        (WebCore::InspectorController::getProfile):
45904        (WebCore::InspectorController::createProfileHeader):
45905        * inspector/InspectorController.h:
45906        * inspector/InspectorFrontend.cpp:
45907        (WebCore::InspectorFrontend::addProfileHeader):
45908        (WebCore::InspectorFrontend::didGetProfileHeaders):
45909        (WebCore::InspectorFrontend::didGetProfile):
45910        * inspector/InspectorFrontend.h:
45911        * inspector/JavaScriptProfileNode.cpp:
45912        (WebCore::ProfileNodeClass):
45913        * inspector/front-end/ProfileView.js:
45914        (WebInspector.ProfileView.profileCallback):
45915        (WebInspector.ProfileView):
45916        (WebInspector.ProfileView.prototype._mouseDownInDataGrid):
45917        (WebInspector.ProfileView.prototype._assignParentsInProfile):
45918        * inspector/front-end/ProfilesPanel.js:
45919        (WebInspector.ProfilesPanel.prototype.addProfileHeader):
45920        * inspector/front-end/inspector.js:
45921        (WebInspector.addProfileHeader):
45922
459232009-10-14  Pavel Feldman  <pfeldman@chromium.org>
45924
45925        Reviewed by Timothy Hatcher.
45926
45927        Web Inspector: Create and update frontend script objects only when
45928        web inspector is visible.
45929
45930        https://bugs.webkit.org/show_bug.cgi?id=30376
45931
45932        * inspector/InspectorController.cpp:
45933        (WebCore::InspectorController::addConsoleMessage):
45934        (WebCore::InspectorController::populateScriptObjects):
45935        (WebCore::InspectorController::pruneResources):
45936        (WebCore::InspectorController::didCommitLoad):
45937        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
45938        (WebCore::InspectorController::identifierForInitialRequest):
45939        (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
45940        (WebCore::InspectorController::mainResourceFiredLoadEvent):
45941        (WebCore::InspectorController::willSendRequest):
45942        (WebCore::InspectorController::didReceiveResponse):
45943        (WebCore::InspectorController::didReceiveContentLength):
45944        (WebCore::InspectorController::didFinishLoading):
45945        (WebCore::InspectorController::didFailLoading):
45946        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
45947        (WebCore::InspectorController::scriptImported):
45948        (WebCore::InspectorController::didOpenDatabase):
45949        (WebCore::InspectorController::didUseDOMStorage):
45950        (WebCore::InspectorController::evaluateForTestInFrontend):
45951
459522009-10-15  Joseph Pecoraro  <joepeck@webkit.org>
45953
45954        Fix Windows build.
45955
45956        * dom/Document.idl:
45957
459582009-10-14  Joseph Pecoraro  <joepeck@webkit.org>
45959
45960        Reviewed by Adam Barth.
45961
45962        [HTML5] Add document.head
45963        https://bugs.webkit.org/show_bug.cgi?id=30232
45964
45965        Test is fast/dom/document-head.html
45966
45967        * dom/Document.idl: added readonly attribute head
45968
459692009-10-14  Matt Mueller  <mattm@chromium.org>
45970
45971        Reviewed by Darin Adler.
45972
45973        Check FNonNeg after the unit switch to avoid valgrind uninitialised conditional reference in WebCore::CSSParser::validUnit.  See http://crbug.com/20939.
45974        https://bugs.webkit.org/show_bug.cgi?id=30347
45975        https://bugs.webkit.org/show_bug.cgi?id=22772
45976
45977        Covered by running LayoutTests/fast/css/invalid-percentage-property.html under valgrind.
45978
45979        * css/CSSParser.cpp:
45980        (WebCore::CSSParser::validUnit):
45981
459822009-10-14  Adam Barth  <abarth@webkit.org>
45983
45984        Reviewed by Sam Weinig.
45985
45986        Move scrolling code from FrameLoader to FrameView
45987        https://bugs.webkit.org/show_bug.cgi?id=30370
45988
45989        This code is about controlling the Frame's view, not about loading
45990        stuff into the frame.
45991
45992        * loader/FrameLoader.cpp:
45993        (WebCore::FrameLoader::finishedParsing):
45994        (WebCore::FrameLoader::scrollToAnchor):
45995        * page/FrameView.cpp:
45996        (WebCore::FrameView::scrollToFragment):
45997        (WebCore::FrameView::scrollToAnchor):
45998        * page/FrameView.h:
45999
460002009-10-14  Oliver Hunt  <oliver@apple.com>
46001
46002        Reviewed by Geoff Garen.
46003
46004        Make typeinfo flags default to false
46005        https://bugs.webkit.org/show_bug.cgi?id=30372
46006        
46007        Part 1. Reverse the HasStandardGetOwnPropertySlot flag.
46008
46009        * bindings/js/JSDOMBinding.h:
46010        (WebCore::DOMObjectWithGlobalPointer::createStructure):
46011        (WebCore::DOMConstructorObject::createStructure):
46012        * bindings/js/JSDOMWindowShell.h:
46013        (WebCore::JSDOMWindowShell::createStructure):
46014        * bindings/js/JSHTMLAllCollection.h:
46015        (WebCore::JSHTMLAllCollection::createStructure):
46016        * bindings/js/JSQuarantinedObjectWrapper.h:
46017        (WebCore::JSQuarantinedObjectWrapper::createStructure):
46018        * bindings/scripts/CodeGeneratorJS.pm:
46019        * bridge/objc/objc_runtime.h:
46020        (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
46021        * bridge/runtime_array.h:
46022        (JSC::RuntimeArray::createStructure):
46023        * bridge/runtime_method.h:
46024        (JSC::RuntimeMethod::createStructure):
46025        * bridge/runtime_object.h:
46026        (JSC::RuntimeObjectImp::createStructure):
46027
460282009-10-14  Adam Barth  <abarth@webkit.org>
46029
46030        Reviewed by Darin Adler.
46031
46032        [XSSAuditor] Add an exception for local files
46033        https://bugs.webkit.org/show_bug.cgi?id=30352
46034
46035        Reduce XSS auditor false positives by always letting pages load scripts
46036        from their own host. We don't actually know of any false positives
46037        that this prevents, but it seems like a good idea.
46038
46039        One subtly is that we don't add this exception for scripts that have a
46040        query string because (1) URLs with query strings are more apt to
46041        confuse servers and (2) it is much less common to load scripts with a
46042        query string.
46043
46044        Tests: http/tests/security/xssAuditor/script-tag-with-source-same-host-with-query.html
46045               http/tests/security/xssAuditor/script-tag-with-source-same-host.html
46046
46047        * page/XSSAuditor.cpp:
46048        (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
46049
460502009-10-14  Nikolas Zimmermann  <nzimmermann@rim.com>
46051
46052        Reviewed by George Staikos.
46053
46054        Kill virtual contextElement() method spread all over SVG code
46055        https://bugs.webkit.org/show_bug.cgi?id=30183
46056
46057        Remove virtual contextElement() function from all SVG*Element classes, as all animated properties live in the
46058        SVG*Element classes now instead of the SVGFitToViewBox / SVGURIReference / SVGExternalResourcesRequired
46059        subclasses. This is a first step to working animVal support. More patches will follow that depend on this change.
46060
46061        Remove "This file is part of the KDE project" from several files, change my old mail adress wildfox -> zimmermann,
46062        and remove vim modelines on all files I touched. No change in functionality, thus no new tests.
46063
46064        * svg/SVGAElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
46065        * svg/SVGAltGlyphElement.h: Remove virtual contextElement() method.
46066        * svg/SVGAnimatedProperty.h:
46067        (WebCore::::synchronize):
46068        (WebCore::::startAnimation):
46069        (WebCore::::stopAnimation):
46070        * svg/SVGAnimationElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
46071        * svg/SVGCircleElement.h: Ditto.
46072        * svg/SVGClipPathElement.h: Ditto.
46073        * svg/SVGCursorElement.h: Ditto.
46074        * svg/SVGDefsElement.h: Ditto.
46075        * svg/SVGEllipseElement.h: Ditto.
46076        * svg/SVGExternalResourcesRequired.h: Remove pure-virtual contextElement() method.
46077        * svg/SVGFEImageElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
46078        * svg/SVGFELightElement.h: Remove virtual contextElement() method.
46079        * svg/SVGFEMergeNodeElement.h: Ditto.
46080        * svg/SVGFilterElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
46081        * svg/SVGFilterPrimitiveStandardAttributes.h: Remove virtual contextElement() method.
46082        * svg/SVGFitToViewBox.cpp:
46083        (WebCore::SVGFitToViewBox::parseViewBox): Add Document* parameter - we used to fetch the Document pointer from the context element.
46084        (WebCore::SVGFitToViewBox::parseMappedAttribute): Ditto.
46085        * svg/SVGFitToViewBox.h: Remove pure-virtual contextElement() method.
46086        * svg/SVGFontElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
46087        * svg/SVGForeignObjectElement.h: Ditto.
46088        * svg/SVGGElement.h: Ditto.
46089        * svg/SVGGradientElement.h: Ditto.
46090        * svg/SVGImageElement.h: Ditto.
46091        * svg/SVGLineElement.h: Ditto.
46092        * svg/SVGMPathElement.h: Ditto. Fix license indention.
46093        * svg/SVGMarkerElement.cpp:
46094        (WebCore::SVGMarkerElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
46095        * svg/SVGMarkerElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
46096        * svg/SVGMaskElement.h: Ditto.
46097        * svg/SVGPathElement.h: Ditto.
46098        * svg/SVGPatternElement.cpp:
46099        (WebCore::SVGPatternElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
46100        * svg/SVGPatternElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
46101        * svg/SVGPolyElement.cpp:
46102        (WebCore::SVGPolyElement::updateAnimatedSVGAttribute): synchronizeProperty<...>() has been renamed to PropertySynchronizer<...>::synchronize().
46103        * svg/SVGPolyElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
46104        * svg/SVGRectElement.h: Ditto.
46105        * svg/SVGSVGElement.cpp:
46106        (WebCore::SVGSVGElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
46107        * svg/SVGSVGElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
46108        * svg/SVGScriptElement.h: Ditto.
46109        * svg/SVGSwitchElement.h: Ditto.
46110        * svg/SVGSymbolElement.cpp:
46111        (WebCore::SVGSymbolElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
46112        * svg/SVGSymbolElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
46113        * svg/SVGTRefElement.h: Remove virtual contextElement() method.
46114        * svg/SVGTextContentElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
46115        * svg/SVGTextPathElement.h: Remove virtual contextElement() method.
46116        * svg/SVGUseElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
46117        * svg/SVGViewElement.cpp:
46118        (WebCore::SVGViewElement::parseMappedAttribute): Pass document() to SVGFitToViewBox::parseMappedAttribute().
46119        * svg/SVGViewElement.h: Remove virtual contextElement() method. Change OwnerType of ANIMATED_* macros to this class.
46120        * svg/SVGViewSpec.cpp:
46121        (WebCore::SVGViewSpec::setViewBoxString): Pass document() to SVGFitToViewBox::parseMappedAttribute().
46122        (WebCore::SVGViewSpec::parseViewSpec): Ditto.
46123        * svg/SVGViewSpec.h: Devirtualize contextElement() method, it's the only place where contextElement() remains needed.
46124
461252009-10-14  Dirk Schulze  <krit@webkit.org>
46126
46127        Reviewed by Nikolas Zimmermann.
46128
46129        SVG Masking with wrong offset
46130        [https://bugs.webkit.org/show_bug.cgi?id=30325]
46131
46132        SVGMaskElement moves the mask image graphics context to the wrong location.
46133        In objectBoundingBoxMode the maskDestRect gets translated. This transformation
46134        is not used in the later calculation. Fix by consistenly calculating the translation
46135        offsets from the final mask destination rect.
46136
46137        Test: svg/custom/mask-with-default-value.svg
46138
46139        * svg/SVGMaskElement.cpp:
46140        (WebCore::SVGMaskElement::drawMaskerContent):
46141
461422009-10-14  Kevin Decker  <kdecker@apple.com>
46143
46144        Rubberstamped by Jon Honeycutt.
46145        
46146        Export a few more showSubstituteImage() related methods.
46147        
46148        * WebCore.base.exp:
46149        * WebCore.xcodeproj/project.pbxproj:
46150
461512009-10-14  Evan Martin  <evan@chromium.org>
46152
46153        Reviewed by Darin Adler.
46154
46155        Stringify CSS units manually (without printf) to make the formatting
46156        locale-insensitive and obey CSS spec with respect to large values.
46157        
46158        https://bugs.webkit.org/show_bug.cgi?id=18994
46159
46160        * css/CSSPrimitiveValue.cpp:
46161        (WebCore::appendCSSDouble):
46162        (WebCore::formatWithUnits):
46163        (WebCore::CSSPrimitiveValue::cssText):
46164
461652009-10-14  Mark Seaborn  <mseaborn@google.com>
46166
46167        Reviewed by Darin Adler.
46168
46169        Check error return value in Perl build script
46170        https://bugs.webkit.org/show_bug.cgi?id=30316
46171
46172        * css/makevalues.pl: Die if gperf fails.
46173
461742009-10-14  Dirk Schulze  <krit@webkit.org>
46175
46176        Reviewed by Nikolas Zimmermann.
46177
46178        SVG wrong filterRegions for userSpaceOnUse and percentage values
46179        [https://bugs.webkit.org/show_bug.cgi?id=30330]
46180
46181        Some clean-up of the SVG filter calculation code. This clean-up
46182        also fixes the problem with percentage and userSpaceInUse mode.
46183
46184        Test: svg/filters/subRegion-in-userSpace.svg
46185
46186        * platform/graphics/filters/FilterEffect.cpp:
46187        (WebCore::FilterEffect::FilterEffect):
46188        * platform/graphics/filters/FilterEffect.h:
46189        * rendering/SVGRenderSupport.cpp:
46190        (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
46191        * svg/SVGFilterElement.cpp:
46192        (WebCore::SVGFilterElement::buildFilter):
46193        (WebCore::SVGFilterElement::canvasResource):
46194        * svg/SVGFilterElement.h:
46195        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
46196        (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
46197        * svg/graphics/SVGResourceFilter.cpp:
46198        (WebCore::SVGResourceFilter::SVGResourceFilter):
46199        (WebCore::SVGResourceFilter::~SVGResourceFilter):
46200        (WebCore::SVGResourceFilter::addFilterEffect):
46201        (WebCore::SVGResourceFilter::prepareFilter):
46202        * svg/graphics/SVGResourceFilter.h:
46203        (WebCore::SVGResourceFilter::create):
46204        * svg/graphics/filters/SVGFilter.cpp:
46205        (WebCore::SVGFilter::SVGFilter):
46206        (WebCore::SVGFilter::calculateEffectSubRegion):
46207        (WebCore::SVGFilter::create):
46208        * svg/graphics/filters/SVGFilter.h:
46209
462102009-10-14  Chris Marrin  <cmarrin@apple.com>
46211
46212        The last change fixed the problem, removing diagnostic printfs.
46213
46214        * platform/graphics/mac/GraphicsContext3DMac.cpp:
46215        (WebCore::GraphicsContext3D::GraphicsContext3D):
46216
462172009-10-14  Kevin Ollivier  <kevino@theolliviers.com>
46218
46219        CURL build fix for versions < 7.18.
46220
46221        * platform/network/curl/ResourceHandleCurl.cpp:
46222        (WebCore::ResourceHandle::setDefersLoading):
46223        * platform/network/curl/ResourceHandleManager.cpp:
46224        (WebCore::ResourceHandleManager::initializeHandle):
46225
462262009-10-14  Chris Marrin  <cmarrin@apple.com>
46227
46228        One more round of changes to figure out why the webgl 
46229        tests are crashing on the build bot. Here I am trying
46230        to see if we can create a software renderer. I am also
46231        printing the found pixel formats.
46232
46233        * platform/graphics/mac/GraphicsContext3DMac.cpp:
46234        (WebCore::GraphicsContext3D::GraphicsContext3D):
46235
462362009-10-14  Yael Aharon  <yael.aharon@nokia.com>
46237 
46238        Reviewed by Simon Hausmann.
46239 
46240        Enabling NPAPI plugin support on Qt Webkit for S60 platform
46241        https://bugs.webkit.org/show_bug.cgi?id=29302
46242
46243        Also implemented by Mahesh Kulkarni<mahesh.kulkarni@nokia.com>, 
46244        Rohini Ananth <rohini.ananth@nokia.com> and help from Norbert Lesr
46245        <norbert.leser@nokia.com>
46246         
46247        * WebCore.pro:
46248        Enabling ENABLE_NETSCAPE_PLUGIN_API for S60 and added S60 specific 
46249        new plugin files to be compiled under symbian: macro
46250
46251        * bridge/npapi.h:
46252        Added NPEvent and NPRegion definition for Symbian
46253
46254        * plugins/PluginPackage.h:
46255        Added S60 specific plugin interface and plugin loader variables
46256        * plugins/PluginPackage.cpp:
46257        (WebCore::PluginPackage::unload): Added !PLATFORM(SYMBIAN) macro.
46258        Default implementation to be used only for non-symbian platform
46259        * plugins/PluginDatabase.cpp:
46260        Macro !SYMBIAN checking
46261        * plugins/PluginView.h:
46262        Add Symbian to platforms that support setNPWindowIfNeeded
46263        * plugins/PluginView.cpp:
46264        (WebCore::PluginView::setFrameRect): Add Symbian to platforms that
46265        call setNPWindowRect from setFrameRect
46266         
46267        Added folder 'symbian' which contains implementation files for S60
46268        platform-specific NPAPI plugin functionality, under /plugins folder
46269        * plugins/symbian
46270        * plugins/symbian/npinterface.h:
46271        Plugin Interface to be implemented by S60 NPAPI plugins 
46272        * plugins/symbian/PluginContainerSymbian.h:
46273        * plugins/symbian/PluginContainerSymbian.cpp:
46274        * plugins/symbian/PluginDatabaseSymbian.cpp:
46275        * plugins/symbian/PluginViewSymbian.cpp:
46276        * plugins/symbian/PluginPackageSymbian.cpp:
46277
462782009-10-14  Chris Marrin  <cmarrin@apple.com>
46279
46280        More changes to figure out why the webgl tests are crashing on the build bot.
46281
46282        * platform/graphics/mac/GraphicsContext3DMac.cpp:
46283        (WebCore::GraphicsContext3D::GraphicsContext3D):
46284
462852009-10-14  Victor Wang  <victorw@chromium.org>
46286
46287        Reviewed by David Hyatt.
46288
46289        Round non-integer line height values.
46290
46291        Change webkit to rounding non-integer line height values
46292        instead of truncating them. This fixes a layout test
46293        failure on Windows and matches the calculation in IE and Firefox. 
46294
46295        https://bugs.webkit.org/show_bug.cgi?id=24434
46296
46297        Test: fast/css/line-height-rounding.html
46298              fast/forms/textarea-scrollbar-height.htm
46299
46300        * css/CSSComputedStyleDeclaration.cpp:
46301        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
46302        * rendering/InlineFlowBox.cpp:
46303        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
46304        * rendering/RenderBR.cpp:
46305        (WebCore::RenderBR::lineHeight):
46306        * rendering/style/RenderStyle.h:
46307        (WebCore::InheritedFlags::computedLineHeight):
46308
463092009-10-13  Kelly Norton  <knorton@google.com>
46310
46311        Reviewed by Pavel Feldman.
46312
46313        Removes the persistent setting for InspectorTimelineAgent and renames timeline related
46314        interfaces to be more consistent with the JavaScript profiler.
46315
46316        * inspector/InspectorBackend.cpp:
46317        (WebCore::InspectorBackend::startTimelineProfiler):
46318        (WebCore::InspectorBackend::stopTimelineProfiler):
46319        (WebCore::InspectorBackend::timelineProfilerEnabled):
46320        * inspector/InspectorBackend.h:
46321        * inspector/InspectorBackend.idl:
46322        * inspector/InspectorController.cpp:
46323        (WebCore::InspectorController::setFrontendProxyObject):
46324        (WebCore::InspectorController::startTimelineProfiler):
46325        (WebCore::InspectorController::stopTimelineProfiler):
46326        (WebCore::InspectorController::timelineProfilerEnabled):
46327        * inspector/InspectorController.h:
46328        * inspector/InspectorFrontend.cpp:
46329        (WebCore::InspectorFrontend::timelineProfilerWasStarted):
46330        (WebCore::InspectorFrontend::timelineProfilerWasStopped):
46331        * inspector/InspectorFrontend.h:
46332        * inspector/front-end/TimelineAgent.js:
46333        (WebInspector.timelineProfilerWasStarted):
46334        (WebInspector.timelineProfilerWasStopped):
46335
463362009-10-01  Yong Li  <yong.li@torchmobile.com>
46337
46338        Reviewed by Adele Peterson.
46339
46340        Fix crash when loading invalid image data
46341        https://bugs.webkit.org/show_bug.cgi?id=29980
46342
46343        * rendering/RenderImage.cpp:
46344        (WebCore::RenderImage::setImageSizeForAltText):
46345
463462009-10-09  Stephen White  <senorblanco@chromium.org>
46347
46348        Reviewed by Eric Seidel.
46349
46350        Fix for NULL ptr deref in canvas's toDataURL().
46351        https://bugs.webkit.org/show_bug.cgi?id=30254
46352
46353        Test: fast/canvas/canvas-toDataURL-crash.html
46354
46355        * html/HTMLCanvasElement.cpp:
46356        (WebCore::HTMLCanvasElement::toDataURL):
46357
463582009-10-14  Pavel Feldman  <pfeldman@chromium.org>
46359
46360        Not reviewed, reverting r49558 since it broke profiler tests.
46361
46362        https://bugs.webkit.org/show_bug.cgi?id=30328
46363
46364        * bindings/js/JSInspectorBackendCustom.cpp:
46365        * bindings/v8/custom/V8CustomBinding.h:
46366        * inspector/InspectorBackend.cpp:
46367        (WebCore::InspectorBackend::getProfileHeaders):
46368        (WebCore::InspectorBackend::getProfile):
46369        * inspector/InspectorBackend.h:
46370        * inspector/InspectorBackend.idl:
46371        * inspector/InspectorController.cpp:
46372        (WebCore::InspectorController::addProfile):
46373        (WebCore::InspectorController::getProfileHeaders):
46374        (WebCore::InspectorController::getProfile):
46375        (WebCore::InspectorController::createProfileHeader):
46376        * inspector/InspectorController.h:
46377        * inspector/InspectorFrontend.cpp:
46378        (WebCore::InspectorFrontend::addProfileHeader):
46379        (WebCore::InspectorFrontend::didGetProfileHeaders):
46380        (WebCore::InspectorFrontend::didGetProfile):
46381        * inspector/InspectorFrontend.h:
46382        * inspector/JavaScriptProfileNode.cpp:
46383        (WebCore::ProfileNodeClass):
46384        * inspector/front-end/ProfileView.js:
46385        (WebInspector.ProfileView.profileCallback):
46386        (WebInspector.ProfileView):
46387        (WebInspector.ProfileView.prototype._mouseDownInDataGrid):
46388        (WebInspector.ProfileView.prototype._assignParentsInProfile):
46389        * inspector/front-end/ProfilesPanel.js:
46390        (WebInspector.ProfilesPanel.prototype.addProfileHeader):
46391        * inspector/front-end/inspector.js:
46392        (WebInspector.addProfileHeader):
46393
463942009-10-13  Holger Hans Peter Freyther  <zecke@selfish.org>
46395
46396        Reviewed by Simon Hausmann.
46397
46398        ImageDecoderQt: Minor tweaks to the decoder
46399
46400        - Only cache the data when we start to use it.
46401        - Start with a repetition count of none for normal images.
46402        - Do not use canRead as this will trigger parsing of the full image
46403        - Cope with a GIF failing to decode the first frame, do not
46404          set m_failed to true if decoding the first frame failed
46405        - Inform the QImageReader about the format that was detected
46406        - Always create a ImageDecoderQt when when we have more
46407        than four byte.
46408
46409
46410        * platform/graphics/qt/ImageDecoderQt.cpp:
46411        (WebCore::ImageDecoder::create): Always create QImageReader for a significant speed up
46412        (WebCore::ImageDecoderQt::ImageDecoderQt): Initialize m_repetitionCount to cAnimationNone
46413        (WebCore::ImageDecoderQt::setData): Only call ImageDecoder::setData when everything has been received
46414        (WebCore::ImageDecoderQt::isSizeAvailable): Do not check m_failed twice.
46415        (WebCore::ImageDecoderQt::filenameExtension): Convert from QByteArray to String
46416        (WebCore::ImageDecoderQt::frameBufferAtIndex): Check for m_failed before trying to decode
46417        (WebCore::ImageDecoderQt::internalDecodeSize): Fail if the size is QSize()
46418        (WebCore::ImageDecoderQt::forceLoadEverything): Handle the case were decoding the first frame fails
46419        * platform/graphics/qt/ImageDecoderQt.h: Change the m_format type
46420
464212009-10-14  Mikhail Naganov  <mnaganov@chromium.org>
46422
46423        Reviewed by Pavel Feldman.
46424
46425        Web Inspector: Migrate profiles to the injected script-based schema.
46426
46427        https://bugs.webkit.org/show_bug.cgi?id=30328
46428
46429        * bindings/js/JSInspectorBackendCustom.cpp:
46430        * bindings/v8/custom/V8CustomBinding.h:
46431        * inspector/InspectorBackend.cpp:
46432        (WebCore::InspectorBackend::getProfileHeaders):
46433        (WebCore::InspectorBackend::getProfile):
46434        * inspector/InspectorBackend.h:
46435        * inspector/InspectorBackend.idl:
46436        * inspector/InspectorController.cpp:
46437        (WebCore::InspectorController::addProfile):
46438        (WebCore::InspectorController::getProfileHeaders):
46439        (WebCore::InspectorController::getProfile):
46440        (WebCore::InspectorController::createProfileHeader):
46441        * inspector/InspectorController.h:
46442        * inspector/InspectorFrontend.cpp:
46443        (WebCore::InspectorFrontend::addProfileHeader):
46444        (WebCore::InspectorFrontend::didGetProfileHeaders):
46445        (WebCore::InspectorFrontend::didGetProfile):
46446        * inspector/InspectorFrontend.h:
46447        * inspector/JavaScriptProfileNode.cpp:
46448        (WebCore::ProfileNodeClass):
46449        * inspector/front-end/ProfileView.js:
46450        (WebInspector.ProfileView.profileCallback):
46451        (WebInspector.ProfileView):
46452        (WebInspector.ProfileView.prototype._mouseDownInDataGrid):
46453        (WebInspector.ProfileView.prototype._assignParentsInProfile):
46454        * inspector/front-end/ProfilesPanel.js:
46455        (WebInspector.ProfilesPanel.prototype.addProfileHeader):
46456        * inspector/front-end/inspector.js:
46457        (WebInspector.addProfileHeader):
46458
464592009-10-13  Yury Semikhatsky  <yurys@chromium.org>
46460
46461        Reviewed by Pavel Feldman.
46462
46463        Don't collect call frame properties until they're needed for completion.
46464
46465        https://bugs.webkit.org/show_bug.cgi?id=30334
46466
46467        * inspector/front-end/ConsoleView.js:
46468        (WebInspector.ConsoleView.prototype.completions):
46469        * inspector/front-end/InjectedScript.js:
46470        (InjectedScript.getCompletions): if call frame id is specified and the expression is empty collect frame properties.
46471        (InjectedScript.CallFrameProxy.prototype._wrapScopeChain): don't send call frame properties until they're needed.
46472        * inspector/front-end/ScriptsPanel.js:
46473
464742009-10-13  Yongjun Zhang  <yongjun.zhang@nokia.com>
46475
46476        Reviewed by Ariya Hidayat.
46477
46478        https://bugs.webkit.org/show_bug.cgi?id=29106
46479        [Qt] make CachedResourceHandle.h compile in winscw Symbian compiler.
46480
46481        Don't inline constructor CachedResourceHandle<T>(R*) to stop winscw
46482        compiler aggressively resolve inheritance of class R.  
46483        
46484        The winscw compiler bug is reported at:
46485        https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812.
46486        
46487        The change should be reverted when the above bug is fixed in winscw compiler.
46488
46489        * loader/CachedResourceHandle.h:
46490        (WebCore::::CachedResourceHandle):
46491
464922009-10-13  Dimitri Glazkov  <dglazkov@chromium.org>
46493
46494        No review, rolling out r49554, because it broke Win and Chromium builds.
46495        http://trac.webkit.org/changeset/49554
46496
46497        * css/CSSPrimitiveValue.cpp:
46498        (WebCore::CSSPrimitiveValue::cssText):
46499
465002009-10-13  Evan Martin  <evan@chromium.org>
46501
46502        Reviewed by Adam Barth.
46503
46504        Stringify CSS units manually (without printf) to make the formatting
46505        locale-insensitive and obey CSS spec with respect to large values.
46506        
46507        https://bugs.webkit.org/show_bug.cgi?id=18994
46508
46509        * css/CSSPrimitiveValue.cpp:
46510        (WebCore::appendCSSDouble):
46511        (WebCore::formatWithUnits):
46512        (WebCore::CSSPrimitiveValue::cssText):
46513
465142009-10-13  Evan Martin  <evan@chromium.org>
46515
46516        Reviewed by David Levin.
46517
46518        Make grippy lines vertical on horizontal scrollbars in Linux Chrome.
46519        While we're rebaselining scrollbars, fix an off by one in the vertical
46520        scrollbar rendering too.
46521
46522        https://bugs.webkit.org/show_bug.cgi?id=30319
46523
46524        Tests: this is covered by every pixel test involving scrollbars.
46525
46526        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
46527        (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
46528
465292009-10-13  Sam Weinig  <sam@webkit.org>
46530
46531        Reviewed by David Hyatt.
46532
46533        Fix issue where clientX and clientY on MouseEvents were wrong when
46534        the page was zoomed and scrolled.
46535
46536        Test: fast/events/clientXY-in-zoom-and-scroll.html
46537
46538        * dom/MouseRelatedEvent.cpp:
46539        (WebCore::contentsX): Take page zoom into account.
46540        (WebCore::contentsY): Ditto.
46541
465422009-10-13  Dave Hyatt  <hyatt@apple.com>
46543
46544        Reviewed by Adam Roben.
46545
46546        Change the order of arguments on some of the user stylesheet/script functions.  Split the removal functions
46547        out into separate ones for scripts and stylesheets.
46548
46549        * WebCore.base.exp:
46550        * page/PageGroup.cpp:
46551        (WebCore::PageGroup::addUserScriptToWorld):
46552        (WebCore::PageGroup::addUserStyleSheetToWorld):
46553        (WebCore::PageGroup::removeUserScriptFromWorld):
46554        (WebCore::PageGroup::removeUserStyleSheetFromWorld):
46555        (WebCore::PageGroup::removeUserScriptsFromWorld):
46556        (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
46557        * page/PageGroup.h:
46558        (WebCore::PageGroup::userScripts):
46559        (WebCore::PageGroup::userStyleSheets):
46560
465612009-10-13  Evan Martin  <evan@chromium.org>
46562
46563        Reviewed by Dmitry Titov.
46564
46565        Chrome's "Skia" theme paints select controls backwards in RTL.
46566
46567        https://bugs.webkit.org/show_bug.cgi?id=30320
46568
46569        Test: fast/text/international/bidi-menulist.html
46570        (The test is about something else, but it includes RTL selects.)
46571
46572        * rendering/RenderThemeChromiumSkia.cpp:
46573        (WebCore::RenderThemeChromiumSkia::paintMenuList): flip the arrow position in RTL case.
46574
465752009-10-13  Dmitry Titov  <dimich@chromium.org>
46576
46577        Reviewed by Alexey Proskuryakov.
46578
46579        https://bugs.webkit.org/show_bug.cgi?id=30318
46580        ScriptExecutionContext is not anymore needed to create an EventListener - remove old code.
46581        It's a followup to r48884. It removed the need to pass the ScritpExecutionContext
46582        into EventListener constructor but did not remove the code pulling ScriptExecutionContext.
46583
46584        Tests:
46585        Test adds event listener to a DocumentType Node which is created without a document
46586        and then dispatches the event after attaching a node to the tree. Event
46587        should fire when node is attached to the tree.
46588
46589        * fast/events/add-event-without-document-expected.txt: Added.
46590        * fast/events/add-event-without-document.html: Added.
46591
46592        All changes in files below are the same - remove the code that calls
46593        EventTarget::scriptExecutionContext and checks it for NULL.
46594
46595        * bindings/js/JSAbstractWorkerCustom.cpp:
46596        (WebCore::JSAbstractWorker::addEventListener):
46597        (WebCore::JSAbstractWorker::removeEventListener):
46598        * bindings/js/JSDOMApplicationCacheCustom.cpp:
46599        (WebCore::JSDOMApplicationCache::addEventListener):
46600        (WebCore::JSDOMApplicationCache::removeEventListener):
46601        * bindings/js/JSDesktopNotificationsCustom.cpp:
46602        (WebCore::JSNotification::addEventListener):
46603        (WebCore::):
46604        * bindings/js/JSEventSourceCustom.cpp:
46605        (WebCore::JSEventSource::addEventListener):
46606        (WebCore::JSEventSource::removeEventListener):
46607        * bindings/js/JSMessagePortCustom.cpp:
46608        (WebCore::JSMessagePort::addEventListener):
46609        (WebCore::JSMessagePort::removeEventListener):
46610        * bindings/js/JSNodeCustom.cpp:
46611        (WebCore::JSNode::addEventListener):
46612        (WebCore::JSNode::removeEventListener):
46613        * bindings/js/JSSVGElementInstanceCustom.cpp:
46614        (WebCore::JSSVGElementInstance::addEventListener):
46615        (WebCore::JSSVGElementInstance::removeEventListener):
46616        * bindings/js/JSXMLHttpRequestCustom.cpp:
46617        (WebCore::JSXMLHttpRequest::addEventListener):
46618        (WebCore::JSXMLHttpRequest::removeEventListener):
46619        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
46620        (WebCore::JSXMLHttpRequestUpload::addEventListener):
46621        (WebCore::JSXMLHttpRequestUpload::removeEventListener):
46622        * bindings/js/JSWebSocketCustom.cpp:
46623        (WebCore::JSWebSocket::addEventListener):
46624        (WebCore::JSWebSocket::removeEventListener):
46625
466262009-10-13  Drew Wilson  <atwilson@atwilson-macpro.local>
46627
46628        Reviewed by David Levin.
46629
46630        Enable SHARED_WORKERS for Chromium
46631        https://bugs.webkit.org/show_bug.cgi?id=30289
46632
46633        Cleaned up bitrot in SharedWorker V8 bindings.
46634
46635        * WebCore.gypi:
46636        Removed default implementation of SharedWorkerRepository so Chromium can provide its own.
46637        * bindings/v8/DerivedSourcesAllInOne.cpp:
46638        Added V8SharedWorkerContext.cpp.
46639        * bindings/v8/V8DOMWrapper.cpp:
46640        (WebCore::V8DOMWrapper::getTemplate):
46641        Added case statements for SHAREDWORKER and SHAREDWORKERCONTEXT.
46642        * bindings/v8/V8Index.cpp:
46643        Now includes V8SharedWorkerContext.h to allow supporting SharedWorkers.
46644        * bindings/v8/V8Index.h:
46645        Added definition for SHAREDWORKERCONTEXT wrapper.
46646        * bindings/v8/WorkerContextExecutionProxy.cpp:
46647        Added includes for SharedWorker.h and SharedWorkerContext.h.
46648        * bindings/v8/custom/V8CustomBinding.h:
46649        Reorganized Worker field indexes to be clearer, and fixed mismatch in worker field index.
46650        Also added field indexes for SharedWorkers.
46651        * bindings/v8/custom/V8DOMWindowCustom.cpp:
46652        (WebCore::ACCESSOR_RUNTIME_ENABLER):
46653        Added runtime enabler for the SharedWorker constructor.
46654        * bindings/v8/custom/V8SharedWorkerCustom.cpp:
46655        (WebCore::CALLBACK_FUNC_DECL):
46656        Cleaned up bitrot (various APIs have changed since this file was written).
46657        * page/DOMWindow.idl:
46658        Added EnabledAtRuntime flag to window.SharedWorker.
46659
466602009-10-13  Alexey Proskuryakov  <ap@apple.com>
46661
46662        Reviewed by Brady Eidson.
46663
46664        https://bugs.webkit.org/show_bug.cgi?id=30345
46665        HTTP tests for credential handling fail on Tiger
46666
46667        We cannot prevent NSURLConnection from doing its credentil handling on Tiger anyway; so
46668        let it do its work without intervention. Once again, we pass explicitly passed credentials
46669        in URL, fixing regressions from Safari 3.
46670
46671        * platform/network/mac/ResourceHandleMac.mm:
46672        (WebCore::ResourceHandle::start):
46673        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
46674        (WebCore::ResourceHandle::receivedCredential):
46675
466762009-10-13  Roland Steiner  <rolandsteiner@google.com>
46677
46678        Reviewed by Adam Barth.
46679
46680        Bug 28964 -  [Chromium] ChromiumDataObject should have getter/setter interface
46681
46682        Reworked and added to the getter/setter interface in ChromiumDataObject:
46683        - added contains...() methods to just query the state
46684        - added containsValid...URL() methods for URL data members
46685        - removed takeFileNames() as this was too type-dependent
46686        - changed return type of fileNames() to Vector<String>
46687        - added interface methods to allow appending to and iteration over file names
46688
46689        No new tests (no functional behavior changed).
46690
46691        * platform/chromium/ChromiumDataObject.h:
46692        (WebCore::ChromiumDataObject::containsMainURL):
46693        (WebCore::ChromiumDataObject::containsValidMainURL):
46694        (WebCore::ChromiumDataObject::containsMainURLTitle):
46695        (WebCore::ChromiumDataObject::containsTextPlain):
46696        (WebCore::ChromiumDataObject::containsTextHTML):
46697        (WebCore::ChromiumDataObject::containsHTMLBaseURL):
46698        (WebCore::ChromiumDataObject::containsValidHTMLBaseURL):
46699        (WebCore::ChromiumDataObject::containsContent):
46700        (WebCore::ChromiumDataObject::containsContentFileExtension):
46701        (WebCore::ChromiumDataObject::containsContentFileName):
46702        (WebCore::ChromiumDataObject::setContentFileName):
46703        (WebCore::ChromiumDataObject::containsFileNames):
46704        (WebCore::ChromiumDataObject::fileNames):
46705        (WebCore::ChromiumDataObject::clearFileNames):
46706        (WebCore::ChromiumDataObject::countFileNames):
46707        (WebCore::ChromiumDataObject::fileNameAt):
46708        (WebCore::ChromiumDataObject::setFileNames):
46709        (WebCore::ChromiumDataObject::appendToFileNames):
46710        (WebCore::ChromiumDataObject::popFileName):
46711
467122009-10-13  Simon Fraser  <simon.fraser@apple.com>
46713
46714        Temporary debugging changes to figure out why the webgl tests are crashing on the build bot.
46715
46716        * platform/graphics/mac/GraphicsContext3DMac.cpp:
46717        (WebCore::GraphicsContext3D::GraphicsContext3D):
46718
467192009-10-13  Simon Fraser  <simon.fraser@apple.com>
46720
46721        Reviewed by Dan Bernstein.
46722
46723        Visibility:visible inside a compositing layer doesn't make the element visible
46724        https://bugs.webkit.org/show_bug.cgi?id=30339
46725        
46726        When deciding if a layer had any renderable content, RenderLayerBacking::paintIntoLayer()
46727        only consulted hasVisibleContent(), which does not take into a account child layers which
46728        may be visible. We also have to consult hasVisibleDescendant() as well.
46729
46730        Test: compositing/compositing-visible-descendant.html
46731
46732        * rendering/RenderLayer.h:
46733        (WebCore::RenderLayer::hasVisibleDescendant):
46734        * rendering/RenderLayerBacking.cpp:
46735        (WebCore::RenderLayerBacking::paintIntoLayer):
46736
467372009-10-13  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
46738
46739        Reviewed by Simon Hausmann.
46740
46741        Refactor ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH
46742        https://bugs.webkit.org/show_bug.cgi?id=30278
46743
46744        Move the definition of ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH 
46745        from the make system into common code.
46746
46747        Enable ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH if NETSCAPE_PLUGIN_API 
46748        support is not enabled.
46749
46750        Remove notImplemented() from PluginPackageNone.cpp and 
46751        PluginDataNone.cpp make them just empty functions.
46752
46753        * GNUmakefile.am:
46754        * WebCore.pro:
46755        * plugins/PluginDataNone.cpp:
46756        (WebCore::PluginData::initPlugins):
46757        (WebCore::PluginData::refresh):
46758        * plugins/PluginPackageNone.cpp:
46759        (WebCore::PluginPackage::determineQuirks):
46760        (WebCore::PluginPackage::fetchInfo):
46761        (WebCore::PluginPackage::load):
46762
467632009-10-13  Alexey Proskuryakov  <ap@apple.com>
46764
46765        Reviewed by Dan Bernstein.
46766
46767        https://bugs.webkit.org/show_bug.cgi?id=30150
46768        <rdar://problem/7283540> REGRESSION: Crash when accessing clipboardData.types
46769
46770        Test: editing/pasteboard/crash-accessing-clipboardData-types.html
46771
46772        * platform/mac/ClipboardMac.mm: (WebCore::addHTMLClipboardTypesForCocoaType): The String
46773        class doesn't have operator bool, it's operator NSString* that is invoked instead, and it
46774        converts null strings to non-null @"".
46775
467762009-10-13  Drew Wilson  <atwilson@atwilson-macpro.local>
46777
46778        Reviewed by Dimitri Glazkov.
46779
46780        window attributes (like localStorage) that are disabled at runtime are still visible
46781        https://bugs.webkit.org/show_bug.cgi?id=30240
46782
46783        Adding codegen/bindings to support runtime disabling of attributes.
46784
46785        No new tests (only supported by chrome currently)
46786
46787        * bindings/scripts/CodeGeneratorV8.pm:
46788        Refactored the guts of GenerateBatchedAttributeData into a separate GenerateSingleBatchedAttribute with a passed-in indentation level to allow generating a single BatchedAttribute struct.
46789        Added support for the EnabledAtRuntime extended attribute, which generates a call to the appropriate XXXXEnabled() API before adding the attribute to the instance.
46790        * bindings/v8/V8Proxy.cpp:
46791        (WebCore::batchConfigureAttributes):
46792        Refactored attribute setting code into a common inline routine.
46793        * bindings/v8/V8Proxy.h:
46794        (WebCore::configureAttribute):
46795        Inline function which configures a single attribute given a BatchedAttribute struct.
46796        * bindings/v8/custom/V8CustomBinding.h:
46797        Added (DECLARE_)ACCESSOR_RUNTIME_ENABLER to allow enabling attributes at runtime.
46798        * bindings/v8/custom/V8DOMWindowCustom.cpp:
46799        Added code to enable window.Audio only if MediaPlayer.isAvailable() == true
46800        * page/DOMWindow.idl:
46801        Added [EnabledAtRuntime] extended attribute to the Audio attribute.
46802
468032009-10-13  Michelangelo De Simone  <micdesim@gmail.com>
46804
46805        Reviewed by Adam Barth.
46806
46807        https://bugs.webkit.org/show_bug.cgi?id=27457
46808        Added support for static validation on type=email input elements as per
46809        HTML5 specs:
46810        http://www.whatwg.org/specs/web-apps/current-work/#e-mail-state
46811
46812        Test: fast/forms/ValidityState-typeMismatch-email.html
46813
46814        * html/ValidityState.cpp:
46815        (WebCore::ValidityState::typeMismatch): ValidityState.typeMismatch
46816        performs validation on type=email input elements now.
46817        (WebCore::ValidityState::isValidEmailAddress): simple validation method 
46818        * html/ValidityState.h:
46819
468202009-10-13  Dmitry Titov  <dimich@chromium.org>
46821
46822        Reviewed by Adam Barth.
46823
46824        Event listeners installed on a window object returned from window.open() don't work
46825        https://bugs.webkit.org/show_bug.cgi?id=28716
46826
46827        Tests: http/tests/security/window-events-clear-domain.html
46828               http/tests/security/window-events-clear-port.html
46829               http/tests/security/window-events-pass.html
46830
46831        * dom/Document.cpp: Split code of Document::clear() in a way to avoid removing all
46832        window event handlers when implicitOpen is called. It is called in 2 cases - on
46833        committing loaded content (no need to clean handlers) and on document.open() (needs to remove handlers).
46834
46835        (WebCore::Document::open): in addition to calling implicitOpen it also removes window
46836        event handlers, to preserve the behavior of document.open().
46837
46838        (WebCore::Document::implicitOpen): includes the part of removed Document::clear() that
46839        does not remove window event handlers.
46840
46841        * dom/Document.h: Removed clear().
46842
46843        * loader/FrameLoader.cpp:
46844        (WebCore::FrameLoader::stopLoading): add check to avoid removing window event handlers
46845        if we transition from temporary empty document to a loaded one.
46846
46847        (WebCore::FrameLoader::didOpenURL): Remove closeURL() which was called twice when loading.
46848        (WebCore::FrameLoader::finishedLoadingDocument): add closeURL() to compensate for change above.
46849
468502009-10-13  Brian Weinstein  <bweinstein@apple.com>
46851
46852        Reviewed by Pavel Feldman.
46853
46854        Fix a leak in the inspector by calling didRemoveNode with
46855        an error code when it fails, instead of returning from the
46856        Backend.
46857
46858        * inspector/InspectorBackend.cpp:
46859        (WebCore::InspectorBackend::removeNode):
46860        * inspector/front-end/ElementsTreeOutline.js:
46861
468622009-10-13  Brian Weinstein  <bweinstein@apple.com>
46863
46864        Reviewed by Timothy Hatcher.
46865
46866        Fixes <https://bugs.webkit.org/show_bug.cgi?id=30337>.
46867        Web Inspector: Should be able to delete nodes from the Elements Tree.
46868        
46869        When the delete key is pressed and a element is selected in the tree,
46870        the element should be deleted from the Elements Tree and the DOM.
46871
46872        * inspector/InspectorBackend.cpp:
46873        (WebCore::InspectorBackend::removeNode):
46874        * inspector/InspectorBackend.h:
46875        * inspector/InspectorBackend.idl:
46876        * inspector/InspectorFrontend.cpp:
46877        (WebCore::InspectorFrontend::didRemoveNode):
46878        * inspector/InspectorFrontend.h:
46879        * inspector/front-end/ElementsPanel.js:
46880        (WebInspector.ElementsPanel.prototype._updateModifiedNodes):
46881        * inspector/front-end/ElementsTreeOutline.js:
46882        (WebInspector.ElementsTreeOutline.prototype.handleKeyEvent):
46883
468842009-10-13  Brian Weinstein  <bweinstein@apple.com>
46885
46886        Reviewed by Timothy Hatcher.
46887
46888        Fix REGRESSION(49479): Mouseover on resources graph doesn't show timings.
46889        
46890        Set pointer-events: none on the new overlay so mouseover events are passed
46891        to the resources graph so we can show timings.
46892
46893        * inspector/front-end/inspector.css:
46894
468952009-10-13  Girish Ramakrishnan  <girish@forwardbias.in>
46896
46897        Reviewed by Simon Hausmann.
46898
46899        [Qt] Plugins : Remove all traces of winId. Use ownerWidget() instead.
46900        
46901        This is a bug for two reasons:
46902        1. Everytime we use winId(), we end up creating a native widget. This causes an
46903        unnecessary copy of contents from the backing store to the native widget.
46904        2. Neither windowed nor windowless plugins require the winId of the QWebView or
46905        QGraphicsView.
46906        
46907        Introduce ownerWidget() which returns a QWidget * without creating a native widget
46908        (as opposed to QWidget::find(winId)).
46909
46910       https://bugs.webkit.org/show_bug.cgi?id=30170
46911
46912        * platform/qt/PlatformScreenQt.cpp:
46913        (WebCore::screenDepthPerComponent):
46914        * platform/qt/PopupMenuQt.cpp:
46915        (WebCore::PopupMenu::show):
46916        * platform/qt/QWebPageClient.h:
46917        * plugins/qt/PluginViewQt.cpp:
46918        (WebCore::setSharedXEventFields):
46919        (WebCore::PluginView::initXEvent):
46920        (WebCore::PluginView::getValue):
46921        (WebCore::PluginView::platformStart):
46922
469232009-10-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
46924
46925        Unreviewed build system fix. Typo in a filename.
46926
46927        * GNUmakefile.am:
46928
469292009-10-12  Alexander Pavlov  <apavlov@chromium.org>
46930
46931        Reviewed by Timothy Hatcher.
46932        Alter profile link format to enable multiple profile types
46933        https://bugs.webkit.org/show_bug.cgi?id=30253
46934
46935        The new profile URL includes the profile type along with the
46936        profile title and uid.
46937
46938        * inspector/InspectorController.cpp:
46939        (WebCore::InspectorController::addProfileFinishedMessageToConsole):
46940        (WebCore::InspectorController::addStartProfilingMessageToConsole):
46941        * inspector/front-end/inspector.js:
46942        (WebInspector.documentClick.followLink):
46943        (WebInspector.documentClick):
46944        (WebInspector.linkifyStringAsFragment):
46945
469462009-10-12  Alexander Pavlov  <apavlov@chromium.org>
46947
46948        Reviewed by Timothy Hatcher.
46949
46950        Fix same-named profiles grouping in the Profiles panel.
46951
46952        The tree node re-parenting while adding a new group node was broken.
46953         
46954        https://bugs.webkit.org/show_bug.cgi?id=30299
46955
46956        * inspector/front-end/ProfilesPanel.js:
46957        (WebInspector.ProfilesPanel.prototype.addProfile):
46958
469592009-10-12  Pavel Feldman  <pfeldman@chromium.org>
46960
46961        Reviewed by Timothy Hatcher.
46962
46963        Web Inspector: Enforce async interaction between inspector controller and frontend.
46964
46965        https://bugs.webkit.org/show_bug.cgi?id=30300
46966
46967        * inspector/front-end/inspector.js:
46968        (WebInspector.dispatch.delayDispatch):
46969        (WebInspector.dispatch):
46970
469712009-10-12  Xiaomei Ji  <xji@chromium.org>
46972
46973        Reviewed by Sam Weinig.
46974
46975        Fix issue caretRangeFromPoint() returns wrong result for a zoomed and 
46976        scrolled page.
46977        https://bugs.webkit.org/show_bug.cgi?id=30034
46978
46979        * dom/Document.cpp:
46980        (WebCore::Document::elementFromPoint): calculate the correct point 
46981        relative to document when the page is zoomed and scrolled.
46982        (WebCore::Document::caretRangeFromPoint): calculate the correct point 
46983        relative to document when the page is zoomed and scrolled.
46984
469852009-10-12  Fumitoshi Ukai  <ukai@chromium.org>
46986
46987        Reviewed by Sam Weinig.
46988
46989        JavaScript bindings of WebSocket addEventListener/removeEventListener
46990        https://bugs.webkit.org/show_bug.cgi?id=29841
46991
46992        Test: fast/websockets/websocket-event-target.html
46993
46994        * bindings/js/JSWebSocketCustom.cpp:
46995        (WebCore::JSWebSocket::addEventListener):
46996        (WebCore::JSWebSocket::removeEventListener):
46997        * bindings/v8/custom/V8CustomBinding.h:
46998        * bindings/v8/custom/V8WebSocketCustom.cpp:
46999        (WebCore::CALLBACK_FUNC_DECL):
47000        * websockets/WebSocket.idl:
47001
470022009-10-12  Sam Weinig  <sam@webkit.org>
47003
47004        Reviewed by Darin Adler.
47005
47006        Fix for https://bugs.webkit.org/show_bug.cgi?id=29078
47007        <rdar://problem/7288221>
47008
47009        Add a mechanism to blacklist certain codecs.  Initially, just blacklist UTF-7 as HTML5 encourages.
47010
47011        * platform/text/TextEncodingRegistry.cpp:
47012        (WebCore::pruneBlacklistedCodecs):
47013        (WebCore::buildBaseTextCodecMaps):
47014        (WebCore::extendTextCodecMaps):
47015
470162009-10-09  Dave Hyatt  <hyatt@apple.com>
47017
47018        Reviewed by Darin Adler.
47019
47020        Add support for the beforeload event to frames.  Complete support of the beforeload event by making sure
47021        its wrapper gets properly constructed (so that the URL field of the event can be accessed).  Add support
47022        for the Objective-C wrapper class as well.
47023
47024        Added fast/dom/beforeload/frame-before-load.html
47025
47026        * WebCore.xcodeproj/project.pbxproj:
47027        * bindings/js/JSEventCustom.cpp:
47028        (WebCore::toJS):
47029        * bindings/objc/DOMEvents.mm:
47030        (kitClass):
47031        * dom/BeforeLoadEvent.h:
47032        (WebCore::BeforeLoadEvent::isBeforeLoadEvent):
47033        * dom/Event.cpp:
47034        (WebCore::Event::isBeforeLoadEvent):
47035        * dom/Event.h:
47036        * html/HTMLFrameElementBase.cpp:
47037        (WebCore::HTMLFrameElementBase::parseMappedAttribute):
47038        * loader/FrameLoader.cpp:
47039        (WebCore::FrameLoader::loadWithDocumentLoader):
47040
470412009-10-12  Dan Bernstein  <mitz@apple.com>
47042
47043        Reviewed by Simon Fraser.
47044
47045        Fix <rdar://problem/7094146> Reproducible crash at
47046        RenderObject::localToAbsolute()
47047
47048        Test: fast/dynamic/position-absolute-to-fixed-crash.html
47049
47050        The crash was caused by stale positioned objects lists following an
47051        object transitioning from being absolutely position to being fixed
47052        positioned.
47053
47054        * rendering/RenderBox.cpp:
47055        (WebCore::RenderBox::styleWillChange): In case of a transition between
47056        absolute and fixed position, mark the parent as having a child needing
47057        layout, so that this object will get inserted into its new container's
47058        positioned objects list.
47059        * rendering/RenderObject.cpp:
47060        (WebCore::RenderObject::styleWillChange): Changed a condition to cover
47061        this transition, so that this object gets removed from its current
47062        container's positioned objects list.
47063
470642009-10-12  Kenneth Rohde Christiansen  <kenneth@webkit.org>
47065
47066        Reviewed by Simon Hausmann.
47067
47068        Add a palette() method that is needed by our RenderTheme.
47069
47070        * platform/qt/QWebPageClient.h:
47071
470722009-10-12  Dirk Schulze  <krit@webkit.org>
47073
47074        Reviewed by Nikolas Zimmermann.
47075
47076        SVG Gradients can't handle percentage values in userSpaceOnUse mode
47077        [https://bugs.webkit.org/show_bug.cgi?id=30286]
47078
47079        Fixed *GradientAttributes to take SVGLength instead of double. This casues
47080        the problem, that we can't calculate the correct size of a gradient on
47081        userSpaceOnUse mode with percentage values.
47082
47083        Test: svg/custom/gradient-userSpaceOnUse-with-percentage.svg
47084
47085        * svg/LinearGradientAttributes.h:
47086        (WebCore::LinearGradientAttributes::LinearGradientAttributes):
47087        (WebCore::LinearGradientAttributes::x1):
47088        (WebCore::LinearGradientAttributes::y1):
47089        (WebCore::LinearGradientAttributes::x2):
47090        (WebCore::LinearGradientAttributes::y2):
47091        (WebCore::LinearGradientAttributes::setX1):
47092        (WebCore::LinearGradientAttributes::setY1):
47093        (WebCore::LinearGradientAttributes::setX2):
47094        (WebCore::LinearGradientAttributes::setY2):
47095        * svg/RadialGradientAttributes.h:
47096        (WebCore::RadialGradientAttributes::RadialGradientAttributes):
47097        (WebCore::RadialGradientAttributes::cx):
47098        (WebCore::RadialGradientAttributes::cy):
47099        (WebCore::RadialGradientAttributes::r):
47100        (WebCore::RadialGradientAttributes::fx):
47101        (WebCore::RadialGradientAttributes::fy):
47102        (WebCore::RadialGradientAttributes::setCx):
47103        (WebCore::RadialGradientAttributes::setCy):
47104        (WebCore::RadialGradientAttributes::setR):
47105        (WebCore::RadialGradientAttributes::setFx):
47106        (WebCore::RadialGradientAttributes::setFy):
47107        * svg/SVGLinearGradientElement.cpp:
47108        (WebCore::SVGLinearGradientElement::buildGradient):
47109        (WebCore::SVGLinearGradientElement::collectGradientProperties):
47110        * svg/SVGRadialGradientElement.cpp:
47111        (WebCore::SVGRadialGradientElement::buildGradient):
47112        (WebCore::SVGRadialGradientElement::collectGradientProperties):
47113
471142009-10-12  Brian Weinstein  <bweinstein@apple.com>
47115
47116        Reviewed by Timothy Hatcher.
47117
47118        Fixes <http://webkit.org/b/30315>.
47119        Web Inspector: DOM Content and Load lines in Resources are unclear what they mean.
47120        
47121        Add tooltip text to the Load event and DOM Content event lines through
47122        a new layer that allows these lines to be on top of the view.
47123
47124        * inspector/front-end/ResourcesPanel.js:
47125        (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
47126        (WebInspector.ResourcesPanel.prototype._updateDividersLabelBarPosition):
47127        * inspector/front-end/inspector.css:
47128
471292009-10-12  Dimitri Glazkov  <dglazkov@chromium.org>
47130
47131        No review, rolling out r49429, because it broke layout tests.
47132        http://trac.webkit.org/changeset/49429
47133
47134        * bindings/v8/V8AbstractEventListener.cpp:
47135        (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
47136
471372009-10-12  Dirk Schulze  <krit@webkit.org>
47138
47139        Reviewed by Eric Seidel.
47140
47141        SVG - crash on feMerge when input not available
47142        [https://bugs.webkit.org/show_bug.cgi?id=30297]
47143
47144        Make a early return in SVGFEMergeElement if the needed
47145        filter effect doesn't exist.
47146
47147        Test: svg/filters/feMerge-wrong-input.svg
47148
47149        * svg/SVGFEMergeElement.cpp:
47150        (WebCore::SVGFEMergeElement::build):
47151
471522009-10-12  Chris Marrin  <cmarrin@apple.com>
47153
47154        Reviewed by Oliver Hunt.
47155
47156        Added automatic flush before compositing
47157        https://bugs.webkit.org/show_bug.cgi?id=30236
47158
47159        This causes image to always render correctly. In writing a testcase
47160        I needed to implement readPixels. This exposed a bug in reading back
47161        values from a CanvasArray subclass, so I fixed that as well. Now when
47162        you wrap a CanvasArray in a JSValue it actually wraps the specific
47163        subclass. To do this I need to add virtual methods to each CanvasArray
47164        subclass to determine the type and a custom toJS method for CanvasArray
47165        to create the proper wrapper. 
47166
47167        Test: fast/canvas/webgl/triangle.html
47168
47169        * WebCore.xcodeproj/project.pbxproj:
47170        * bindings/js/JSCanvasArrayCustom.cpp:
47171        (WebCore::toJS):
47172        * html/canvas/CanvasArray.h:
47173        (WebCore::CanvasArray::isByteArray):
47174        (WebCore::CanvasArray::isUnsignedByteArray):
47175        (WebCore::CanvasArray::isShortArray):
47176        (WebCore::CanvasArray::isUnsignedShortArray):
47177        (WebCore::CanvasArray::isIntArray):
47178        (WebCore::CanvasArray::isUnsignedIntArray):
47179        (WebCore::CanvasArray::isFloatArray):
47180        * html/canvas/CanvasArray.idl:
47181        * html/canvas/CanvasByteArray.h:
47182        (WebCore::CanvasByteArray::isByteArray):
47183        * html/canvas/CanvasFloatArray.h:
47184        (WebCore::CanvasFloatArray::isFloatArray):
47185        * html/canvas/CanvasIntArray.h:
47186        (WebCore::CanvasIntArray::isIntArray):
47187        * html/canvas/CanvasRenderingContext3D.cpp:
47188        (WebCore::CanvasRenderingContext3D::readPixels):
47189        * html/canvas/CanvasRenderingContext3D.h:
47190        * html/canvas/CanvasRenderingContext3D.idl:
47191        * html/canvas/CanvasShortArray.h:
47192        (WebCore::CanvasShortArray::isShortArray):
47193        * html/canvas/CanvasUnsignedByteArray.h:
47194        (WebCore::CanvasUnsignedByteArray::isUnsignedByteArray):
47195        * html/canvas/CanvasUnsignedIntArray.h:
47196        (WebCore::CanvasUnsignedIntArray::isUnsignedIntArray):
47197        * html/canvas/CanvasUnsignedShortArray.h:
47198        (WebCore::CanvasUnsignedShortArray::isUnsignedShortArray):
47199        * platform/graphics/GraphicsContext3D.h:
47200        * platform/graphics/mac/Canvas3DLayer.mm:
47201        (-[Canvas3DLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]):
47202        * platform/graphics/mac/GraphicsContext3DMac.cpp:
47203        (WebCore::GraphicsContext3D::readPixels):
47204
472052009-10-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
47206
47207        Reviewed by Gustavo Noronha.
47208
47209        https://bugs.webkit.org/show_bug.cgi?id=30307
47210        
47211        Fix 0 sentinel for g_object_set() function call.
47212
47213        * platform/graphics/gtk/DataSourceGStreamer.cpp:
47214        (webkit_data_src_uri_set_uri):
47215        0 is passed as 32 bit value on x86-64 in vararg functions, but
47216        g_object_set() expects a 64 bit 0. This will cause crashes.
47217
472182009-10-12  Cameron McCormack  <cam@mcc.id.au>
47219
47220        Reviewed by Eric Seidel.
47221
47222        Drop in="" from <feFlood>
47223        https://bugs.webkit.org/show_bug.cgi?id=29001
47224
47225        This makes <feFlood in="bogus"> have an effect, too.
47226
47227        http://www.w3.org/2003/01/REC-SVG11-20030114-errata#feflood-attribute
47228
47229        Test: svg/dom/feFlood-no-in1.html
47230
47231        * svg/SVGFEFloodElement.cpp:
47232        (WebCore::SVGFEFloodElement::SVGFEFloodElement):
47233        (WebCore::SVGFEFloodElement::build):
47234        * svg/SVGFEFloodElement.h:
47235        * svg/SVGFEFloodElement.idl:
47236        * svg/graphics/filters/SVGFEFlood.cpp:
47237        (WebCore::FEFlood::FEFlood):
47238        (WebCore::FEFlood::create):
47239        * svg/graphics/filters/SVGFEFlood.h:
47240
472412009-10-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
47242
47243        Reviewed by Gustavo Noronha.
47244
47245        https://bugs.webkit.org/show_bug.cgi?id=29998
47246        
47247        Scale video to completely fill the target surface while
47248        keeping the aspect ratio. This fixes displaying of the
47249        YouTube HTML5 sample website.
47250
47251        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
47252        Scale video to completely fill the target surface, keep
47253        the aspect ratio and center it.
47254
472552009-10-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
47256
47257        Reviewed by Gustavo Noronha.
47258
47259        https://bugs.webkit.org/show_bug.cgi?id=29997
47260        
47261        Fixes double memcpy of all rendered video frames.
47262
47263        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
47264        (WebCore::mediaPlayerPrivateRepaintCallback):
47265        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
47266        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
47267        (WebCore::MediaPlayerPrivate::duration):
47268        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
47269        * platform/graphics/gtk/VideoSinkGStreamer.cpp:
47270        (webkit_video_sink_timeout_func):
47271        (webkit_video_sink_dispose):
47272        (unlock_buffer_mutex):
47273        (webkit_video_sink_unlock):
47274        (marshal_VOID__MINIOBJECT):
47275        (webkit_video_sink_class_init):
47276        (webkit_video_sink_new):
47277        * platform/graphics/gtk/VideoSinkGStreamer.h:
47278        Directly pass the buffers up to the MediaPlayerPrivate::paint()
47279        method instead of rendering them first to an intermediate cairo
47280        surface. This should increase performance and peak memory usage.
47281
472822009-10-11  Daniel Bates  <dbates@webkit.org>
47283
47284        Reviewed by Adam Barth.
47285
47286        https://bugs.webkit.org/show_bug.cgi?id=30242
47287        
47288        Fixes an issue where JavaScript URLs that are URL-encoded twice can 
47289        bypass the XSSAuditor.
47290        
47291        JavaScript URLs that are completed by method Document::completeURL have added
47292        URL-encoded characters such that a direct comparison with the URL-decoded 
47293        outgoing HTTP parameters is not sufficient. Instead, the URL-decoded outgoing 
47294        HTTP parameters must be URL-decoded before comparison.
47295
47296        Tests: http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode.html
47297               http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode2.html
47298               http/tests/security/xssAuditor/iframe-javascript-url-twice-url-encode3.html
47299
47300        * bindings/ScriptControllerBase.cpp:
47301        (WebCore::ScriptController::executeIfJavaScriptURL): Modified to pass XSSAuditor
47302        the URL-decoded source code for the JavaScript URL.
47303        * page/XSSAuditor.cpp:
47304        (WebCore::isIllegalURICharacter): Minor syntactical change to the comment.
47305        (WebCore::XSSAuditor::CachingURLCanonicalizer::canonicalizeURL): Added 
47306        parameter decodeURLEscapeSequencesTwice.
47307        (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
47308        (WebCore::XSSAuditor::decodeURL): Ditto.
47309        (WebCore::XSSAuditor::findInRequest): Ditto.
47310        * page/XSSAuditor.h:
47311        (WebCore::XSSAuditor::CachingURLCanonicalizer::CachingURLCanonicalizer): Ditto.
47312
473132009-10-11  Dominic Cooney  <dominicc@google.com>
47314
47315        Reviewed by Adam Barth.
47316
47317        Fixes a build break in the V8 bindings caused by revision 49420.
47318        https://bugs.webkit.org/show_bug.cgi?id=30294
47319
47320        Revision 49420 introduces an IDL-defined CanvasActiveInfo
47321        type. This causes a build break in the V8 bindings where
47322        CanvasGraphicsContext3D naively refers to CanvasActiveInfo as a
47323        non-ref type.
47324
47325        * WebCore.gypi: Include CanvasActiveInfo.idl in build.
47326        * bindings/scripts/CodeGeneratorV8.pm: CanvasActiveInfo is a ref
47327          ptr type.
47328        * bindings/v8/DOMObjectsInclude.h: Include generated
47329          CanvasActiveInfo files.
47330        * bindings/v8/DerivedSourcesAllInOne.cpp:
47331        * bindings/v8/V8Index.cpp:
47332        * bindings/v8/V8Index.h:
47333
473342009-10-11  Collin Jackson  <collinj@webkit.org>
47335
47336        Reviewed by Adam Barth.
47337
47338        Log mixed content warnings to console
47339
47340        https://bugs.webkit.org/show_bug.cgi?id=30290
47341
47342        * loader/FrameLoader.cpp:
47343        (WebCore::FrameLoader::checkIfDisplayInsecureContent):
47344        (WebCore::FrameLoader::checkIfRunInsecureContent):
47345
473462009-10-11  Søren Gjesse  <sgjesse@chromium.org>
47347
47348        Reviewed by Adam Barth.
47349
47350        [V8] Add a context scope in JS listener destructor. The destructor code uses the cotext. See http://crbug.com/24200.
47351        https://bugs.webkit.org/show_bug.cgi?id=30250
47352
47353        * bindings/v8/V8AbstractEventListener.cpp:
47354        (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
47355
473562009-10-11  Lyon Chen  <lyon.chen@torchmobile.com>
47357
47358        Reviewed by Alexey Proskuryakov.
47359
47360        Correct the position of #endif sentence inside WebCore::Document::finishedParsing().
47361
47362        https://bugs.webkit.org/show_bug.cgi?id=30244
47363
47364        This change requires no test case as it fix a compiling error.
47365
47366        * dom/Document.cpp:
47367        (WebCore::Document::finishedParsing):
47368
473692009-10-11  Dominic Cooney  <dominicc@google.com>
47370
47371        Reviewed by Adam Barth.
47372
47373        Sets a 500K stack limit for JavaScript workers in Chromium.
47374        https://bugs.webkit.org/show_bug.cgi?id=29797
47375
47376        Runaway recursion in JavaScript workers crashes the Chromium
47377        worker process on OS X. This is because V8's default stack limit
47378        is 512K on ia32 or 1M on x64, but the worker process runs workers
47379        on a thread with the OS X default stack size--512K. Because there
47380        are already some C+frames on the stack when V8 establishes its
47381        512K default stack limit, and V8 doesn't precisely enforce the
47382        stack limit, runaway recursion in V8 workers overflows the OS
47383        stack and segfaults, killing the worker process. This is described
47384        in Chromium bug 21653 <http://crbug.com/21653>.
47385
47386        This patch sets the V8 stack limit for worker JavaScript in
47387        Chromium to a more conservative 500K on all platforms. This allows
47388        some "headroom" for the C+stack in use when the limit is set up,
47389        and some "legroom" for the V8 helper functions which in practice
47390        briefly flout the V8 stack limit.
47391
47392        Test: LayoutTests/fast/workers/use-machine-stack.html
47393
47394        * bindings/v8/WorkerContextExecutionProxy.cpp:
47395        (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):
47396        * bindings/v8/WorkerContextExecutionProxy.h:
47397
473982009-10-11  Kevin Ollivier  <kevino@theolliviers.com>
47399
47400        wx build fix for wxMac 2.9, use wxGC API for measuring text.
47401
47402        * platform/wx/wxcode/mac/carbon/fontprops.cpp:
47403        (GetTextExtent):
47404
474052009-10-10  Cameron McCormack  <cam@mcc.id.au>
47406
47407        Reviewed by Sam Weinig.
47408
47409        Allow [Reflect] on SVG elements.
47410        https://bugs.webkit.org/show_bug.cgi?id=28936
47411
47412        Update the JS binding generators to reference SVGNames instead of
47413        HTMLNames, if [Reflect]ing an attribute on an SVG element.  Make
47414        SVGElement::id use [Reflect].
47415
47416        Also make [Reflect] on an attribute with a setter exception work in ObjC
47417        bindings.
47418
47419        Test: svg/dom/id-reflect.html
47420
47421        * bindings/scripts/CodeGenerator.pm: Add a function to determine the
47422        appropriate C+namespace for attribute name constants.
47423        * bindings/scripts/CodeGeneratorObjC.pm: Generate ExceptionCode handling
47424        code for [Reflect] on an attribute with a setter exception.
47425        * bindings/scripts/CodeGeneratorCOM.pm: Generate "SVGNames" instead of
47426        "HTMLNames" when appropriate.
47427        * bindings/scripts/CodeGeneratorJS.pm: Ditto.
47428        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
47429        * svg/SVGElement.cpp: Remove getter and setter methods for id.
47430        * svg/SVGElement.h: Ditto.
47431        * svg/SVGElement.idl: Add [Reflect] to id.
47432
474332009-10-10  Oliver Hunt  <oliver@apple.com>
47434
47435        Fix paths in xcode.
47436
47437        * WebCore.xcodeproj/project.pbxproj:
47438
474392009-10-10  Oliver Hunt  <oliver@apple.com>
47440
47441        Reviewed by Eric Carlson.
47442
47443        Implement getActiveAttrib and getActiveUniform
47444        https://bugs.webkit.org/show_bug.cgi?id=30276
47445
47446        Implements the getActiveAttrib and getActiveUniform APIs.
47447        Rather simple patch, adds CanvasActiveInfo definition and implementation
47448        and adds forwarding to the GraphicsContext3D.
47449
47450        Test: fast/canvas/webgl/getActiveTest.html
47451
47452        * DerivedSources.make:
47453        * WebCore.xcodeproj/project.pbxproj:
47454        * html/canvas/CanvasActiveInfo.h: Added.
47455        (WebCore::CanvasActiveInfo::create):
47456        (WebCore::CanvasActiveInfo::name):
47457        (WebCore::CanvasActiveInfo::type):
47458        (WebCore::CanvasActiveInfo::size):
47459        (WebCore::CanvasActiveInfo::CanvasActiveInfo):
47460        * html/canvas/CanvasActiveInfo.idl: Added.
47461        * html/canvas/CanvasObject.h:
47462        (WebCore::CanvasObject::context):
47463          Need to make the context public as it is needed to ensure we don't
47464          provide a program from one context as an argument to another.
47465        * html/canvas/CanvasRenderingContext3D.cpp:
47466        (WebCore::CanvasRenderingContext3D::getActiveAttrib):
47467        (WebCore::CanvasRenderingContext3D::getActiveUniform):
47468        * html/canvas/CanvasRenderingContext3D.h:
47469        * html/canvas/CanvasRenderingContext3D.idl:
47470        * platform/graphics/GraphicsContext3D.h:
47471        * platform/graphics/mac/GraphicsContext3DMac.cpp:
47472        (WebCore::GraphicsContext3D::getActiveAttrib):
47473        (WebCore::GraphicsContext3D::getActiveUniform):
47474
474752009-10-10  Pavel Feldman  <pfeldman@chromium.org>
47476
47477        Reviewed by Timothy Hatcher.
47478
47479        Web Inspector: Adding new attributes in Element Panel is
47480        counterintuitive.
47481
47482        https://bugs.webkit.org/show_bug.cgi?id=30057
47483
47484        * inspector/front-end/ElementsTreeOutline.js:
47485        (WebInspector.ElementsTreeOutline.prototype._onmousemove):
47486        (WebInspector.ElementsTreeElement.prototype.set hovered):
47487        (WebInspector.ElementsTreeElement.prototype.toggleNewAttributeButton):
47488
474892009-10-10  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
47490
47491        Reviewed by Holger Freyther.
47492
47493        Build fix if Netscape plugin support is turned off
47494        https://bugs.webkit.org/show_bug.cgi?id=30275
47495
47496        In addition to fixing the build break with guards
47497        remove notImplemented() from PluginViewNone.cpp and
47498        make them just just be empty functions.
47499
47500        * plugins/PluginView.cpp:
47501        (WebCore::PluginView::handleEvent):
47502        (WebCore::PluginView::PluginView):
47503        * plugins/PluginView.h:
47504        * plugins/PluginViewNone.cpp:
47505        (WebCore::PluginView::setFocus):
47506        (WebCore::PluginView::show):
47507        (WebCore::PluginView::hide):
47508        (WebCore::PluginView::paint):
47509        (WebCore::PluginView::handleKeyboardEvent):
47510        (WebCore::PluginView::handleMouseEvent):
47511        (WebCore::PluginView::setParent):
47512        (WebCore::PluginView::setNPWindowRect):
47513        (WebCore::PluginView::handlePostReadFile):
47514        (WebCore::PluginView::getValue):
47515        (WebCore::PluginView::getValueStatic):
47516        (WebCore::PluginView::invalidateRect):
47517        (WebCore::PluginView::invalidateRegion):
47518        (WebCore::PluginView::forceRedraw):
47519        (WebCore::PluginView::platformStart):
47520        (WebCore::PluginView::platformDestroy):
47521        (WebCore::PluginView::setParentVisible):
47522        (WebCore::PluginView::updatePluginWidget):
47523
475242009-10-10  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
47525
47526        Unreviewed.
47527
47528        [Qt] Build fix for QtWebKit after r49415.
47529
47530        Add HistoryController.cpp to the build.
47531
47532        * WebCore.pro:
47533
475342009-10-09  Darin Fisher  <darin@chromium.org>
47535
47536        Reviewed by Eric Seidel.
47537
47538        [Chromium] KURLGoogle's protocolIs barfs on input containing hyphens
47539        https://bugs.webkit.org/show_bug.cgi?id=30262
47540
47541        This is not testable from WebKit since WebKit never uses the member
47542        function form of protocolIs with input that can be controlled from a
47543        web page.  It always passes string literals lacking hyphens.
47544
47545        * platform/KURLGoogle.cpp:
47546        (WebCore::lowerCaseEqualsASCII): Only assert if toASCIILower would
47547        transform the input character.
47548
475492009-10-10  Adam Barth  <abarth@webkit.org>
47550
47551        Reviewed by Oliver Hunt.
47552
47553        Move HistoryController to its own file
47554        https://bugs.webkit.org/show_bug.cgi?id=30272
47555
47556        Purely mechanical.
47557
47558        * GNUmakefile.am:
47559        * WebCore.gypi:
47560        * WebCore.vcproj/WebCore.vcproj:
47561        * WebCore.xcodeproj/project.pbxproj:
47562        * WebCoreSources.bkl:
47563        * loader/FrameLoader.cpp:
47564        * loader/FrameLoader.h:
47565        * loader/HistoryController.cpp: Added.
47566        * loader/HistoryController.h: Added.
47567
475682009-10-09  Ryosuke Niwa  <rniwa@webkit.org>
47569
47570        Reviewed by Eric Seidel.
47571
47572        ApplyStyleCommand removes presentational tags even when not necessary
47573        https://bugs.webkit.org/show_bug.cgi?id=28091
47574
47575        This patch updates implicitlyStyledElementShouldBeRemovedWhenApplyingStyle to return true
47576        (triggering removal of tag) only if the style implicitly added by the element is not present in
47577        the new style to apply. It also changes surroundNodeRangeWithElement so that it merges the
47578        surrounding element when possible. applyTextDecorationStyle is modified so that it does not add
47579        style span when the style attribute is empty.
47580
47581        Test: editing/execCommand/toggle-style-3.html
47582
47583        * editing/ApplyStyleCommand.cpp:
47584        (WebCore::ApplyStyleCommand::shouldRemoveTextDecorationTag): Returns true if specified text
47585        decoration is not present in the style to apply
47586        (WebCore::ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle): No longer
47587        returns true if the tag is used in new style
47588        (WebCore::ApplyStyleCommand::applyTextDecorationStyle): Does not add style-span when redundant
47589        (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement): Merges the newly created element
47590        with the surrounding identical elements
47591        * editing/ApplyStyleCommand.h:
47592
475932009-10-09  Adam Barth  <abarth@webkit.org>
47594
47595        Reviewed by Darin Adler.
47596
47597        Factor HistoryController out of FrameLoader
47598        https://bugs.webkit.org/show_bug.cgi?id=30246
47599
47600        HistoryController is in charge of managing the current / previous /
47601        provisional HistoryItems.  The split isn't perfect, but it's a place to
47602        start.  I'll move HistoryController into its own file in another patch.
47603
47604        * WebCore.base.exp:
47605        * loader/FrameLoader.cpp:
47606        (WebCore::HistoryController::HistoryController):
47607        (WebCore::HistoryController::~HistoryController):
47608        (WebCore::FrameLoader::FrameLoader):
47609        (WebCore::FrameLoader::closeURL):
47610        (WebCore::FrameLoader::begin):
47611        (WebCore::HistoryController::restoreDocumentState):
47612        (WebCore::HistoryController::setCurrentItem):
47613        (WebCore::HistoryController::setProvisionalItem):
47614        (WebCore::FrameLoader::loadURLIntoChildFrame):
47615        (WebCore::FrameLoader::canCachePageContainingThisFrame):
47616        (WebCore::FrameLoader::logCanCacheFrameDecision):
47617        (WebCore::FrameLoader::scrollToAnchor):
47618        (WebCore::FrameLoader::commitProvisionalLoad):
47619        (WebCore::FrameLoader::transitionToCommitted):
47620        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
47621        (WebCore::FrameLoader::didFirstLayout):
47622        (WebCore::HistoryController::updateForFrameLoadCompleted):
47623        (WebCore::FrameLoader::frameLoadCompleted):
47624        (WebCore::FrameLoader::detachFromParent):
47625        (WebCore::FrameLoader::receivedMainResourceError):
47626        (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
47627        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
47628        (WebCore::HistoryController::addHistoryItemForFragmentScroll):
47629        (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
47630        (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent):
47631        (WebCore::HistoryController::createHistoryItem):
47632        (WebCore::FrameLoader::checkDidPerformFirstNavigation):
47633        (WebCore::HistoryController::addBackForwardItemClippedAtTarget):
47634        (WebCore::HistoryController::createHistoryItemTree):
47635        (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
47636        (WebCore::HistoryController::restoreScrollPositionAndViewState):
47637        (WebCore::HistoryController::invalidateCurrentItemCachedPage):
47638        (WebCore::HistoryController::saveDocumentState):
47639        (WebCore::FrameLoader::loadItem):
47640        (WebCore::HistoryController::urlsMatchItem):
47641        (WebCore::HistoryController::goToItem):
47642        (WebCore::HistoryController::recursiveGoToItem):
47643        (WebCore::HistoryController::childFramesMatchItem):
47644        (WebCore::HistoryController::updateForStandardLoad):
47645        (WebCore::HistoryController::updateForClientRedirect):
47646        (WebCore::HistoryController::updateForBackForwardNavigation):
47647        (WebCore::HistoryController::updateForReload):
47648        (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
47649        (WebCore::HistoryController::updateForCommit):
47650        (WebCore::HistoryController::updateForAnchorScroll):
47651        (WebCore::HistoryController::saveDocumentAndScrollState):
47652        (WebCore::HistoryController::setCurrentItemTitle):
47653        (WebCore::FrameLoader::didChangeTitle):
47654        * loader/FrameLoader.h:
47655        (WebCore::HistoryController::current):
47656        (WebCore::HistoryController::provisional):
47657        (WebCore::FrameLoader::policyChecker):
47658        (WebCore::FrameLoader::history):
47659        (WebCore::FrameLoader::creatingInitialEmptyDocument):
47660        * page/Page.cpp:
47661        (WebCore::Page::goToItem):
47662
476632009-10-09  Alexey Proskuryakov  <ap@apple.com>
47664
47665        Unreviewed - fixing an obvious typo in my previous check-in.
47666
47667        https://bugs.webkit.org/show_bug.cgi?id=30260
47668        <rdar://problem/6447115> REGRESSION: Logging out from SAP doesn't work
47669
47670        Fixes existing tests (which I thought I had run the previous time).
47671
47672        * platform/network/CredentialStorage.cpp: (WebCore::originsWithCredentials): Return the
47673        set by reference.
47674
476752009-10-09  David Levin  <levin@chromium.org>
47676
47677        Reviewed by Eric Seidel.
47678
47679        [v8] Need change to V8WorkerContextEventListener::reportError signature to match the base class.
47680        https://bugs.webkit.org/show_bug.cgi?id=30264
47681
47682        The base class method changed in r48884.
47683
47684        Test: fast/worker/worker-script-error.html
47685
47686        * bindings/v8/V8WorkerContextEventListener.cpp:
47687        (WebCore::V8WorkerContextEventListener::reportError):
47688        * bindings/v8/V8WorkerContextEventListener.h:
47689
476902009-10-09  Alexey Proskuryakov  <ap@apple.com>
47691
47692        Reviewed by Brady Eidson.
47693
47694        https://bugs.webkit.org/show_bug.cgi?id=30260
47695        <rdar://problem/6447115> REGRESSION: Logging out from SAP doesn't work
47696
47697        Tests: http/tests/xmlhttprequest/logout.html
47698               http/tests/xmlhttprequest/re-login-async.html
47699               http/tests/xmlhttprequest/re-login.html
47700
47701        Fix several issues with existing credential handling code.
47702
47703        * platform/network/CredentialStorage.cpp:
47704        (WebCore::pathToDefaultProtectionSpaceMap): Changed the data structure to a simpler one.
47705        (WebCore::originsWithCredentials): The reason for two-stage lookup above was that we didn't
47706        want to iterate paths for origins that never had credentials associated with them. Changed
47707        to use a separate HashSet for this.
47708        (WebCore::pathToDefaultProtectionSpaceMap): The concept of default per-path credentials didn't
47709        match the spec very well. UAs are supposed to deduce protection space from an URL, and then
47710        use whichever credentials are known for this protection space. So, OriginToDefaultBasicCredentialMap
47711        is now PathToDefaultProtectionSpaceMap.
47712        (WebCore::protectionSpaceMapKeyFromURL): Factored out a helper that extracts a directory
47713        URL from a given URL. These directory URLs are what we use as keys in PathToDefaultProtectionSpaceMap.
47714        (WebCore::CredentialStorage::set): Updated for above changes.
47715        (WebCore::findDefaultProtectionSpaceForURL): Factored out code iterating path length to find
47716        a prefix in OriginToDefaultBasicCredentialMap.
47717        (WebCore::CredentialStorage::set): Another version of set() can update credentials for a
47718        URL default protection space. It does nothing if the given URL doesn't correspond to a known
47719        protection space.
47720        (WebCore::CredentialStorage::get): Renamed from getDefaultAuthenticationCredential.
47721
47722        * platform/network/CredentialStorage.h: Made the distinction between methods that use a known
47723        protection space and those that deduce one from URL more clear.
47724
47725        * platform/network/mac/ResourceHandleMac.mm:
47726        (WebCore::ResourceHandle::start): Update credentials before starting the request for real.
47727        This makes the following pattern work:
47728          var req = new XMLHttpRequest("GET", "logout.html", "logout", "logout"); // wrong credentials
47729          req.send("");
47730          req.abort();
47731        Abort() is used here to avoid having UA present an auth dialog after getting a 401 response.
47732        Note that one cannot log in using the same method, because there isn't a known protection
47733        space for the URL yet in that case, so the added code has no effect.
47734        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Use a correct persistence for
47735        calling receivedCredential(). This fixes logging in using an async XHR (withut abort(), of
47736        course), and matches sync case.
47737        (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]):
47738        Renamed getDefaultAuthenticationCredential() to get().
47739
47740        * platform/network/cf/ResourceHandleCFNet.cpp:
47741        (WebCore::ResourceHandle::start):
47742        (WebCore::WebCoreSynchronousLoader::load):
47743        Same changes as in Mac code.
47744
477452009-10-09  Enrica Casucci  <enrica@apple.com>
47746
47747        Reviewed by Adele Peterson.
47748
47749        Undoing a indent removes text instead of it's formatting.
47750        <rdar://problem/7169206>
47751        https://bugs.webkit.org/show_bug.cgi?id=28722
47752        Restored the behavior prior to http://trac.webkit.org/changeset/46143. This change implemented the
47753        indent command making simple DOM operation, without using moveParagraph which cause undo to be broken.
47754        
47755        Added editing/undo/undo-indent.html test.
47756
47757        * editing/IndentOutdentCommand.cpp:
47758        (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion): Restored. 
47759        (WebCore::IndentOutdentCommand::tryIndentingAsListItem): Merged changes.
47760        (WebCore::IndentOutdentCommand::indentIntoBlockquote): Restored.
47761        (WebCore::IndentOutdentCommand::indentRegion): Restored and added call to updateLayout to
47762        ensure TextIterator could correctly calculate the position starting from the index.
47763        * editing/IndentOutdentCommand.h: Restored.
47764
477652009-10-09  Jens Alfke  <snej@chromium.org>
47766
47767        Reviewed by Darin Adler.
47768        
47769        Optimization: Many StringImpl transformations are no-ops and should just return 'this'
47770        https://bugs.webkit.org/show_bug.cgi?id=30186
47771
47772        Optimized StringImpl methods lower(), stripWhiteSpace() and simplifyWhiteSpace() to
47773        detect no-ops and return this instead of creating a new instance.
47774        Empirical testing shows that the majority of calls to these methods are no-ops, making
47775        this worthwhile even if (in the case of lower()) the non-no-op case is slightly slowed.
47776        Upper() is very rarely a no-op, so it wasn't worthwhile to optimize it.
47777
47778        * platform/text/StringImpl.cpp:
47779        (WebCore::StringImpl::lower):
47780        (WebCore::StringImpl::upper): Just add a comment explaining why this wasn't optimized
47781        (WebCore::StringImpl::stripWhiteSpace):
47782        (WebCore::StringImpl::simplifyWhiteSpace):
47783
477842009-10-09  Dirk Schulze  <krit@webkit.org>
47785
47786        Reviewed by Oliver Hunt.
47787
47788        SVG Filter feGaussianBlur implementation is missing
47789        [https://bugs.webkit.org/show_bug.cgi?id=28141]
47790
47791        This is the implementation of GaussianBlur filter for SVG.
47792
47793        There is already a test for feGaussianBlur
47794        Test: svg/W3C-SVG-1.1/filters-gauss-01-b-w3c.svg 
47795
47796        Test: svg/filters/feGaussianBlur.svg
47797
47798        * platform/graphics/filters/FilterEffect.cpp:
47799        (WebCore::FilterEffect::FilterEffect):
47800        * platform/graphics/filters/FilterEffect.h:
47801        (WebCore::FilterEffect::isAlphaImage):
47802        (WebCore::FilterEffect::setIsAlphaImage):
47803        * platform/graphics/filters/SourceAlpha.cpp:
47804        (WebCore::SourceAlpha::apply):
47805        * svg/graphics/filters/SVGFEGaussianBlur.cpp:
47806        (WebCore::boxBlur):
47807        (WebCore::FEGaussianBlur::apply):
47808
478092009-10-09  Philippe Normand  <pnormand@igalia.com>
47810
47811        Reviewed by Gustavo Noronha.
47812
47813        [GTK] QoS support in the video sink
47814        https://bugs.webkit.org/show_bug.cgi?id=29959
47815
47816        Removed the async buffer queue from the sink. Synchronize the
47817        render method of the sink using a g_timeout_add() combined with a
47818        gcond triggered when the buffer has been rendered.
47819        Also fixed the video sink reference handling in the player, now
47820        that the idle is not there anymore to mess up things.
47821
47822        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
47823        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
47824        (WebCore::MediaPlayerPrivate::createGSTPlayBin):
47825        * platform/graphics/gtk/VideoSinkGStreamer.cpp:
47826        (webkit_video_sink_init):
47827        (webkit_video_sink_timeout_func):
47828        (webkit_video_sink_render):
47829        (webkit_video_sink_dispose):
47830        (unlock_buffer_mutex):
47831        (webkit_video_sink_unlock):
47832        (webkit_video_sink_stop):
47833        (webkit_video_sink_class_init):
47834
478352009-10-09  Dirk Schulze  <krit@webkit.org>
47836
47837        Reviewed by Nikolas Zimmermann.
47838
47839        feMorphology filter is not implemented
47840        [https://bugs.webkit.org/show_bug.cgi?id=5863]
47841
47842        Adds SVGFEMorphologyElement, for the SVG filter. It also fixes a bug
47843        with the attribute "operator". It was only accessible via "_operator" 
47844        on JavaScript.
47845
47846        Test: svg/dom/operatorAttribute.xhtml
47847
47848        * DerivedSources.cpp:
47849        * DerivedSources.make:
47850        * GNUmakefile.am:
47851        * WebCore.SVG.Filters.exp:
47852        * WebCore.gypi:
47853        * WebCore.pro:
47854        * WebCore.xcodeproj/project.pbxproj:
47855        * bindings/objc/DOM.mm:
47856        (WebCore::createElementClassMap):
47857        * bindings/objc/DOMSVG.h:
47858        * bindings/scripts/CodeGeneratorJS.pm:
47859        * bindings/scripts/CodeGeneratorObjC.pm:
47860        * page/DOMWindow.idl:
47861        * svg/SVGAllInOne.cpp:
47862        * svg/SVGFECompositeElement.idl:
47863        * svg/SVGFEMorphologyElement.cpp: Added.
47864        (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement):
47865        (WebCore::SVGFEMorphologyElement::~SVGFEMorphologyElement):
47866        (WebCore::SVGFEMorphologyElement::setRadius):
47867        (WebCore::SVGFEMorphologyElement::parseMappedAttribute):
47868        (WebCore::SVGFEMorphologyElement::build):
47869        * svg/SVGFEMorphologyElement.h: Added.
47870        * svg/SVGFEMorphologyElement.idl: Added.
47871        * svg/graphics/filters/SVGFEMorphology.cpp:
47872        (WebCore::operator<<):
47873        * svg/graphics/filters/SVGFEMorphology.h:
47874        (WebCore::):
47875        * svg/svgtags.in:
47876
478772009-10-09  Yury Semikhatsky  <yurys@chromium.org>
47878
47879        Reviewed by Dimitri Glazkov.
47880
47881        Fix Chromium breakage.
47882
47883        https://bugs.webkit.org/show_bug.cgi?id=30104
47884
47885        * inspector/front-end/inspector.js:
47886        (WebInspector.addCookieDomain): check that Storage panel is present before calling its methods.
47887
478882009-10-09  Joe Ligman  <joseph.ligman@nokia.com>
47889
47890        Reviewed by Simon Hausmann.
47891
47892        [Qt] Added pure virtual methods setInputMethodEnabled and setInputMethodHint to QWebPageClient
47893
47894        https://bugs.webkit.org/show_bug.cgi?id=30023
47895
47896        * platform/qt/QWebPageClient.h:
47897
478982009-10-08  Dave Hyatt  <hyatt@apple.com>
47899
47900        Reviewed by Darin Adler.
47901
47902        Implement beforeload for images.  ImageLoadEventSender has been refactored into a more generic
47903        ImageEventSender that can be used by both load and beforeload events.  If the document has any
47904        beforeload listeners, then the installation of images onto the renderer becomes asynchronous
47905        and will be held up until the beforeload event can fire at a later date.
47906
47907        Both beforeload and load events now fire at the end of the tokenizer write() methods, so that
47908        in the typical parsing case we don't have to put off the beforeload/load events until after
47909        a layout or paint might already have happened.  This lets beforeload/load not cause extra
47910        layouts and repaints.
47911
47912        * dom/ContainerNode.cpp:
47913        (WebCore::ContainerNode::dispatchBeforeLoadEvent):
47914        * dom/Document.cpp:
47915        (WebCore::Document::implicitClose):
47916        (WebCore::Document::addListenerTypeIfNeeded):
47917        * dom/Document.h:
47918        (WebCore::Document::):
47919        * dom/XMLTokenizer.cpp:
47920        (WebCore::XMLTokenizer::write):
47921        * html/HTMLImageElement.cpp:
47922        (WebCore::HTMLImageElement::attach):
47923        * html/HTMLInputElement.cpp:
47924        (WebCore::HTMLInputElement::attach):
47925        * html/HTMLTokenizer.cpp:
47926        (WebCore::HTMLTokenizer::write):
47927        * loader/ImageLoader.cpp:
47928        (WebCore::ImageBeforeLoadEventSender::ImageBeforeLoadEventSender):
47929        (WebCore::ImageLoadEventSender::ImageLoadEventSender):
47930        (WebCore::beforeLoadEventSender):
47931        (WebCore::ImageLoader::ImageLoader):
47932        (WebCore::ImageLoader::~ImageLoader):
47933        (WebCore::ImageLoader::setImage):
47934        (WebCore::ImageLoader::setLoadingImage):
47935        (WebCore::ImageLoader::updateFromElement):
47936        (WebCore::ImageLoader::notifyFinished):
47937        (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
47938        (WebCore::ImageLoader::dispatchPendingEvents):
47939        (WebCore::ImageEventSender::ImageEventSender):
47940        (WebCore::ImageEventSender::dispatchEventSoon):
47941        (WebCore::ImageEventSender::cancelEvent):
47942        (WebCore::ImageEventSender::dispatchPendingEvents):
47943        (WebCore::ImageEventSender::timerFired):
47944        * loader/ImageLoader.h:
47945        (WebCore::ImageLoader::haveFiredBeforeLoadEvent):
47946        * wml/WMLImageElement.cpp:
47947        (WebCore::WMLImageElement::attach):
47948
479492009-10-09  Pavel Feldman  <pfeldman@chromium.org>
47950
47951        Reviewed by Dimitri Glazkov.
47952
47953        Web Inspector: Wrap Database into ScriptObject in v8 bindings.
47954
47955        https://bugs.webkit.org/show_bug.cgi?id=30174
47956
47957        No tests due to no Script* test infrastructure.
47958
47959        * bindings/v8/ScriptObjectQuarantine.cpp:
47960        (WebCore::getQuarantinedScriptObject):
47961
479622009-10-09  Girish Ramakrishnan  <girish@forwardbias.in>
47963
47964        Reviewed by Simon Hausmann.
47965
47966        [Qt] Windowless Plugins : Fix crash when using QWebPage without QWebView.
47967        
47968        'client' is 0 when we have no view.
47969
47970        https://bugs.webkit.org/show_bug.cgi?id=30251
47971
47972        * plugins/qt/PluginViewQt.cpp:
47973        (WebCore::PluginView::paint):
47974
479752009-10-09  Girish Ramakrishnan  <girish@forwardbias.in>
47976
47977        Reviewed by Simon Hausmann.
47978
47979        [Qt] Plugins : Add missing setCurrentPlugin(0)
47980
47981        https://bugs.webkit.org/show_bug.cgi?id=30248
47982
47983        * plugins/qt/PluginViewQt.cpp:
47984        (WebCore::PluginView::dispatchNPEvent):
47985
479862009-10-09  Jakub Wieczorek  <faw217@gmail.com>
47987
47988        Reviewed by Simon Hausmann.
47989
47990        [Qt] beforeload event does not fire on script elements in XML
47991        https://bugs.webkit.org/show_bug.cgi?id=30235
47992
47993        r49194 was lacking a change to XMLTokenizerQt.cpp, equivalent to the one
47994        made in XMLTokenizerLibxml2.cpp.
47995
47996        * dom/XMLTokenizerQt.cpp:
47997        (WebCore::XMLTokenizer::parseEndElement):
47998
479992009-10-09  Zoltan Horvath  <zoltan@webkit.org>
48000
48001        Reviewed by Darin Adler.
48002
48003        Allow custom memory allocation control for WebCore's CSSParserValueList
48004        https://bugs.webkit.org/show_bug.cgi?id=30249
48005
48006        Inherits CSSParserValueList class from FastAllocBase because it has 
48007        been instantiated by 'new' in WebCore/css/CSSGrammar.y:1271.
48008
48009        * css/CSSParserValues.h:
48010
480112009-10-09  Girish Ramakrishnan  <girish@forwardbias.in>
48012
48013        Reviewed by Simon Hausmann.
48014
48015        [Qt] Windowless Plugins : Create Pixmap only when size changes.
48016
48017        https://bugs.webkit.org/show_bug.cgi?id=30214
48018
48019        * plugins/qt/PluginViewQt.cpp:
48020        (WebCore::PluginView::updatePluginWidget):
48021
480222009-10-08  Jon Honeycutt  <jhoneycutt@apple.com>
48023
48024        Remove the WebKitPluginHalterEnabledPreferenceKey in favor of checking
48025        for the existence of a PluginHalterDelegate.
48026
48027        This fixes a leak of WebPluginHalterClients:
48028        https://bugs.webkit.org/show_bug.cgi?id=30119.
48029
48030        Reviewed by Dan Bernstein.
48031
48032        * WebCore.base.exp:
48033        Removed the export of WebCore::Settings::setPluginHalterEnabled().
48034
48035        * loader/EmptyClients.h:
48036        (WebCore::EmptyPluginHalterClient::enabled):
48037
48038        * page/Page.cpp:
48039        (WebCore::Page::Page):
48040        Remove initialization of m_pluginHalterClient, which was removed. If a
48041        non-null PluginHalterClient was passed, create the PluginHalter, and
48042        set its allowed run time.
48043
48044        * page/Page.h:
48045        Removed pluginHalterEnabledStateChanged() and m_pluginHalterClient.
48046
48047        * page/PluginHalter.cpp:
48048        (WebCore::PluginHalter::didStartPlugin):
48049        Check whether the PluginHalterClient is enabled.
48050        (WebCore::PluginHalter::didStopPlugin):
48051        Ditto.
48052
48053        * page/PluginHalter.h:
48054        Made m_client an OwnPtr.
48055
48056        * page/PluginHalterClient.h:
48057        Added a function to return the enabled state.
48058
48059        * page/Settings.cpp:
48060        (WebCore::Settings::Settings):
48061        Remove initialization of removed member.
48062
48063        * page/Settings.h:
48064        Removed settings for the enabled state of the PluginHalter; we now use
48065        the existence of a WebPluginHalterDelegate to determine whether the
48066        PluginHalter is enabled.
48067
480682009-10-08  Adam Barth  <abarth@webkit.org>
48069
48070        Reviewed by Eric Seidel.
48071
48072        Move executeScript from FrameLoader to ScriptController
48073        https://bugs.webkit.org/show_bug.cgi?id=30200
48074
48075        These methods have virtually no interaction with FrameLoader.  They
48076        really seem like they ought to belong to ScriptController.
48077
48078        * WebCore.base.exp:
48079        * bindings/js/ScheduledAction.cpp:
48080        (WebCore::ScheduledAction::execute):
48081        * bindings/js/ScriptController.cpp:
48082        (WebCore::ScriptController::ScriptController):
48083        (WebCore::ScriptController::executeScript):
48084        (WebCore::ScriptController::executeIfJavaScriptURL):
48085        (WebCore::ScriptController::evaluate):
48086        * bindings/js/ScriptController.h:
48087        * bindings/v8/ScriptController.cpp:
48088        (WebCore::ScriptController::ScriptController):
48089        (WebCore::ScriptController::executeScript):
48090        (WebCore::ScriptController::executeIfJavaScriptURL):
48091        * bindings/v8/ScriptController.h:
48092        * dom/XMLTokenizer.cpp:
48093        (WebCore::XMLTokenizer::notifyFinished):
48094        * dom/XMLTokenizerLibxml2.cpp:
48095        (WebCore::XMLTokenizer::endElementNs):
48096        * dom/XMLTokenizerQt.cpp:
48097        (WebCore::XMLTokenizer::parseEndElement):
48098        * html/HTMLTokenizer.cpp:
48099        (WebCore::HTMLTokenizer::scriptExecution):
48100        * loader/FrameLoader.cpp:
48101        (WebCore::FrameLoader::changeLocation):
48102        (WebCore::FrameLoader::urlSelected):
48103        (WebCore::FrameLoader::requestFrame):
48104        (WebCore::FrameLoader::submitForm):
48105        (WebCore::FrameLoader::replaceDocument):
48106        * loader/FrameLoader.h:
48107        * plugins/PluginView.cpp:
48108        (WebCore::PluginView::performRequest):
48109
481102009-10-08  Geoffrey Garen  <ggaren@apple.com>
48111
48112        Windows build fix: added missing #include.
48113
48114        * ForwardingHeaders/runtime/StructureChain.h: Copied from WebCore/ForwardingHeaders/runtime/PropertyNameArray.h.
48115
481162009-10-08  Brian Weinstein  <bweinstein@apple.com>
48117
48118        Reviewed by Timothy Hatcher.
48119
48120        Fixes <https://bugs.webkit.org/show_bug.cgi?id=30237>.
48121        DOM Content and Load lines aren't shown if a page is loaded when the inspector is up.
48122        
48123        Make sure to call update script object if we have an InspectorFrontend to
48124        call it on when we get one of the new events.
48125
48126        * inspector/InspectorController.cpp:
48127        (WebCore::InspectorController::mainResourceFiredDOMContentEvent):
48128        (WebCore::InspectorController::mainResourceFiredLoadEvent):
48129
481302009-10-08  Geoffrey Garen  <ggaren@apple.com>
48131
48132        Build fix: updated for removal of Structure::markAggregate().
48133
48134        * bindings/js/JSDOMGlobalObject.cpp:
48135        (WebCore::JSDOMGlobalObject::markChildren):
48136
481372009-10-08  Jens Alfke  <snej@chromium.org>
48138
48139        Reviewed by Darin Adler.
48140
48141        Make AtomicString create its StringImpl via create(), not the constructor,
48142        so it gets allocated in a single heap block, saving memory and CPU cycles.
48143        This eliminates two StringImpl constructors, making the remaining ones
48144        unambiguous, so the "AdoptBuffer" parameter is no longer needed.
48145        Added const attribute to UChar* in StringImpl constructor, eliminating the
48146        need for several const_casts in calls to it.
48147        StringImpl also unfriends AtomicString (OMG drama!!!)
48148        https://bugs.webkit.org/show_bug.cgi?id=30141
48149
48150        * platform/text/AtomicString.cpp:
48151        (WebCore::CStringTranslator::translate): Call StringImpl::create().
48152        (WebCore::UCharBufferTranslator::translate): Ditto.
48153        (WebCore::HashAndCharactersTranslator::translate): Ditto.
48154        * platform/text/StringImpl.cpp:
48155        (WebCore::StringImpl::StringImpl): Remove unnecessary AdoptBuffer param.
48156        (WebCore::StringImpl::adopt): Ditto.
48157        (WebCore::StringImpl::createUninitialized): Ditto.
48158        (WebCore::StringImpl::create): Ditto.
48159        (WebCore::StringImpl::crossThreadString): Ditto.
48160        * platform/text/StringImpl.h:
48161        (WebCore::StringImpl::setHash): Used by AtomicString when creating StringImpls.
48162
481632009-10-08  Anders Carlsson  <andersca@apple.com>
48164
48165        Reviewed by Sam Weinig.
48166
48167        Remove the shouldLoadMediaElementURL frame loader client function.
48168
48169        * loader/FrameLoader.cpp:
48170        (WebCore::FrameLoader::willLoadMediaElementURL):
48171
481722009-10-08  John Gregg  <johnnyg@google.com>
48173
48174        Reviewed by Dimitri Glazkov.
48175
48176        SVGURIReference Build problem for V8.  An additional stale reference to SVGURIReference bindings
48177        which wasn't exposed until a clean build.
48178        https://bugs.webkit.org/show_bug.cgi?id=30217
48179
48180        No new tests, just a build fix.
48181
48182        * bindings/v8/V8Index.cpp:
48183
481842009-10-08  Nikolas Zimmermann  <nzimmermann@rim.com>
48185
48186        Not reviewed. Sort XCode project file.
48187
48188        * WebCore.xcodeproj/project.pbxproj:
48189
481902009-10-08  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
48191
48192        Reviewed by Timothy Hatcher.
48193
48194        unselectable resources in resource panel
48195        https://bugs.webkit.org/show_bug.cgi?id=30079
48196
48197        manual test added
48198        
48199        Also changed the way DnD for resources in the Resources panel is 
48200        handled.
48201
48202        * inspector/front-end/ResourcesPanel.js:
48203        (WebInspector.ResourceSidebarTreeElement.prototype.onattach):
48204        (WebInspector.ResourceSidebarTreeElement.prototype.ondragstart):
48205        * manual-tests/inspector/duplicate-resource-urls.html: Added.
48206
482072009-10-08  Brian Weinstein  <bweinstein@apple.com>
48208
48209        Reviewed by Timothy Hatcher.
48210
48211        Fixes <http://webkit.org/b/30233>
48212        Local Storage and Cookies show Blank Titles on Local Files.
48213
48214        If a local storage or cookies sidebar item has no domain, set the 
48215        title to "Local Files", because that is what it represents.
48216
48217        * English.lproj/localizedStrings.js:
48218        * inspector/front-end/StoragePanel.js:
48219        (WebInspector.DOMStorageSidebarTreeElement.prototype.get mainTitle):
48220        (WebInspector.CookieSidebarTreeElement.prototype.get mainTitle):
48221        (WebInspector.CookieSidebarTreeElement.prototype.set mainTitle):
48222
482232009-10-08  Dave Hyatt  <hyatt@apple.com>
48224
48225        Reviewed by Oliver Hunt.
48226
48227        Fix failing media layout tests.  Don't make beforeload block loads of objects that aren't in the
48228        document, since video/audio (and images eventually too) can load when not in the document yet.
48229
48230        * dom/ContainerNode.cpp:
48231        (WebCore::ContainerNode::dispatchBeforeLoadEvent):
48232
482332009-10-08  Nikolas Zimmermann  <nzimmermann@rim.com>
48234
48235        Reviewed by Eric Seidel.
48236
48237        Move SVGFitToViewBox ANIMATED_* macros in classes that inherit from it
48238        https://bugs.webkit.org/show_bug.cgi?id=30230
48239
48240        This patch also devirtualizes viewBoxToViewTransform(), is it's superflous.
48241        viewBoxToViewTransform() is now a simple static heper function in SVGFitToViewBox.
48242        As a result, the SVGSVGElement::viewBoxToViewTransform() function now resuses the same logic.
48243
48244        As side-effect this patch fixes svg/custom/linking-a-03-b-transform.svg, the return
48245        statement in SVGSVGElement::viewBoxToViewTransform() was clearly wrong.
48246
48247        * svg/SVGFitToViewBox.cpp:
48248        (WebCore::SVGFitToViewBox::SVGFitToViewBox):
48249        (WebCore::SVGFitToViewBox::viewBoxToViewTransform):
48250        * svg/SVGFitToViewBox.h:
48251        * svg/SVGMarkerElement.cpp:
48252        (WebCore::SVGMarkerElement::SVGMarkerElement):
48253        (WebCore::SVGMarkerElement::viewBoxToViewTransform):
48254        * svg/SVGMarkerElement.h:
48255        * svg/SVGPatternElement.cpp:
48256        (WebCore::SVGPatternElement::SVGPatternElement):
48257        (WebCore::SVGPatternElement::buildPattern):
48258        * svg/SVGPatternElement.h:
48259        * svg/SVGSVGElement.cpp:
48260        (WebCore::SVGSVGElement::SVGSVGElement):
48261        (WebCore::SVGSVGElement::viewBoxToViewTransform):
48262        * svg/SVGSVGElement.h:
48263        * svg/SVGSymbolElement.cpp:
48264        (WebCore::SVGSymbolElement::SVGSymbolElement):
48265        * svg/SVGSymbolElement.h:
48266        * svg/SVGViewElement.cpp:
48267        (WebCore::SVGViewElement::SVGViewElement):
48268        * svg/SVGViewElement.h:
48269        * svg/SVGViewSpec.cpp:
48270        (WebCore::SVGViewSpec::SVGViewSpec):
48271        * svg/SVGViewSpec.h:
48272
482732009-10-08  Brian Weinstein  <bweinstein@apple.com>
48274
48275        Reviewed by Jon Honeycutt.
48276
48277        Correct a typo that fixes the resizing of columns in Cookie view when you
48278        resize the Inspector window.
48279
48280        * inspector/front-end/CookieItemsView.js:
48281        (WebInspector.CookieItemsView.prototype.resize):
48282
482832009-10-08  Brian Weinstein  <bweinstein@apple.com>
48284
48285        Reviewed by Adam Roben.
48286
48287        Fixes <https://bugs.webkit.org/show_bug.cgi?id=29811>
48288        Text in Inspector's Styles gear menu is invisible.
48289        
48290        Adds a style rule for the option text and hr's in the gear menu,
48291        to prevent them from being transparent.
48292
48293        * inspector/front-end/inspector.css:
48294
482952009-10-08  John Gregg  <johnnyg@google.com>
48296
48297        Reviewed by David Levin.
48298
48299        Fix build problem with SVGURIReference in V8.
48300        https://bugs.webkit.org/show_bug.cgi?id=30217
48301
48302        No new tests, just a build fix.
48303
48304        * WebCore.gypi:
48305        * bindings/v8/DerivedSourcesAllInOne.cpp:
48306
483072009-10-07  Dave Hyatt  <hyatt@apple.com>
48308
48309        Reviewed by Eric Carlson.
48310
48311        Make beforeload work on <video>/<audio> elements.
48312
48313        Added fast/dom/beforeload/video-before-load.html
48314
48315        * html/HTMLMediaElement.cpp:
48316        (WebCore::HTMLMediaElement::parseMappedAttribute):
48317        (WebCore::HTMLMediaElement::selectMediaResource):
48318        (WebCore::HTMLMediaElement::selectNextSourceChild):
48319
483202009-10-08  Nikolas Zimmermann  <nzimmermann@rim.com>
48321
48322        Reviewed by Eric Seidel.
48323
48324        Move SVGExternalResourcesRequired ANIMATED_* macros in classes that inherit from it
48325        https://bugs.webkit.org/show_bug.cgi?id=30218
48326
48327        The long term goal is to kill the need for the virtual contextElement() function in SVG code. 
48328        No change in functionality, thus no new tests.
48329
48330        * svg/SVGAElement.cpp:
48331        (WebCore::SVGAElement::SVGAElement):
48332        * svg/SVGAElement.h:
48333        * svg/SVGAnimationElement.cpp:
48334        (WebCore::SVGAnimationElement::SVGAnimationElement):
48335        * svg/SVGAnimationElement.h:
48336        * svg/SVGCircleElement.cpp:
48337        (WebCore::SVGCircleElement::SVGCircleElement):
48338        * svg/SVGCircleElement.h:
48339        * svg/SVGClipPathElement.cpp:
48340        (WebCore::SVGClipPathElement::SVGClipPathElement):
48341        * svg/SVGClipPathElement.h:
48342        * svg/SVGCursorElement.cpp:
48343        (WebCore::SVGCursorElement::SVGCursorElement):
48344        * svg/SVGCursorElement.h:
48345        * svg/SVGDefsElement.cpp:
48346        (WebCore::SVGDefsElement::SVGDefsElement):
48347        * svg/SVGDefsElement.h:
48348        * svg/SVGEllipseElement.cpp:
48349        (WebCore::SVGEllipseElement::SVGEllipseElement):
48350        * svg/SVGEllipseElement.h:
48351        * svg/SVGExternalResourcesRequired.cpp:
48352        (WebCore::SVGExternalResourcesRequired::SVGExternalResourcesRequired):
48353        * svg/SVGExternalResourcesRequired.h:
48354        * svg/SVGFEImageElement.cpp:
48355        (WebCore::SVGFEImageElement::SVGFEImageElement):
48356        * svg/SVGFEImageElement.h:
48357        * svg/SVGFilterElement.cpp:
48358        (WebCore::SVGFilterElement::SVGFilterElement):
48359        * svg/SVGFilterElement.h:
48360        * svg/SVGFontElement.cpp:
48361        (WebCore::SVGFontElement::SVGFontElement):
48362        * svg/SVGFontElement.h:
48363        * svg/SVGForeignObjectElement.cpp:
48364        (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
48365        * svg/SVGForeignObjectElement.h:
48366        * svg/SVGGElement.cpp:
48367        (WebCore::SVGGElement::SVGGElement):
48368        * svg/SVGGElement.h:
48369        * svg/SVGGradientElement.cpp:
48370        (WebCore::SVGGradientElement::SVGGradientElement):
48371        * svg/SVGGradientElement.h:
48372        * svg/SVGImageElement.cpp:
48373        (WebCore::SVGImageElement::SVGImageElement):
48374        * svg/SVGImageElement.h:
48375        * svg/SVGLineElement.cpp:
48376        (WebCore::SVGLineElement::SVGLineElement):
48377        * svg/SVGLineElement.h:
48378        * svg/SVGMPathElement.cpp:
48379        (WebCore::SVGMPathElement::SVGMPathElement):
48380        * svg/SVGMPathElement.h:
48381        * svg/SVGMarkerElement.cpp:
48382        (WebCore::SVGMarkerElement::SVGMarkerElement):
48383        * svg/SVGMarkerElement.h:
48384        * svg/SVGMaskElement.cpp:
48385        (WebCore::SVGMaskElement::SVGMaskElement):
48386        * svg/SVGMaskElement.h:
48387        * svg/SVGPathElement.cpp:
48388        (WebCore::SVGPathElement::SVGPathElement):
48389        * svg/SVGPathElement.h:
48390        * svg/SVGPatternElement.cpp:
48391        (WebCore::SVGPatternElement::SVGPatternElement):
48392        * svg/SVGPatternElement.h:
48393        * svg/SVGPolyElement.cpp:
48394        (WebCore::SVGPolyElement::SVGPolyElement):
48395        * svg/SVGPolyElement.h:
48396        * svg/SVGRectElement.cpp:
48397        (WebCore::SVGRectElement::SVGRectElement):
48398        * svg/SVGRectElement.h:
48399        * svg/SVGSVGElement.cpp:
48400        (WebCore::SVGSVGElement::SVGSVGElement):
48401        * svg/SVGSVGElement.h:
48402        * svg/SVGScriptElement.cpp:
48403        (WebCore::SVGScriptElement::SVGScriptElement):
48404        * svg/SVGScriptElement.h:
48405        * svg/SVGSwitchElement.cpp:
48406        (WebCore::SVGSwitchElement::SVGSwitchElement):
48407        * svg/SVGSwitchElement.h:
48408        * svg/SVGSymbolElement.cpp:
48409        (WebCore::SVGSymbolElement::SVGSymbolElement):
48410        * svg/SVGSymbolElement.h:
48411        * svg/SVGTextContentElement.cpp:
48412        (WebCore::SVGTextContentElement::SVGTextContentElement):
48413        * svg/SVGTextContentElement.h:
48414        * svg/SVGUseElement.cpp:
48415        (WebCore::SVGUseElement::SVGUseElement):
48416        * svg/SVGUseElement.h:
48417        * svg/SVGViewElement.cpp:
48418        (WebCore::SVGViewElement::SVGViewElement):
48419        * svg/SVGViewElement.h:
48420
484212009-10-08  Dirk Schulze  <krit@webkit.org>
48422
48423        Reviewed by Darin Adler.
48424
48425        SVG feComposite: operator over mixes up inputs
48426        [https://bugs.webkit.org/show_bug.cgi?id=30205]
48427
48428        SVG feComposite operator over mixed up the inputs.
48429        The pixel-test svg/filters/feComposite.svg can already test this.
48430        No new test result is needed as long as filters are disabled.
48431
48432        * platform/graphics/filters/FEComposite.cpp:
48433        (WebCore::FEComposite::apply):
48434
484352009-10-08  Nikolas Zimmermann  <nzimmermann@rim.com>
48436
48437        Reviewed by George Staikos.
48438
48439        Move SVGURIReference ANIMATED_* macros in classes that inherit from it
48440        https://bugs.webkit.org/show_bug.cgi?id=30184
48441
48442        The long term goal is to kill the need for the virtual contextElement() function in SVG code. 
48443        No change in functionality, thus no new tests.
48444
48445        * svg/SVGAElement.cpp:
48446        (WebCore::SVGAElement::SVGAElement):
48447        * svg/SVGAElement.h:
48448        * svg/SVGAltGlyphElement.cpp:
48449        (WebCore::SVGAltGlyphElement::SVGAltGlyphElement):
48450        * svg/SVGAltGlyphElement.h:
48451        * svg/SVGCursorElement.cpp:
48452        (WebCore::SVGCursorElement::SVGCursorElement):
48453        * svg/SVGCursorElement.h:
48454        * svg/SVGFEImageElement.cpp:
48455        (WebCore::SVGFEImageElement::SVGFEImageElement):
48456        * svg/SVGFEImageElement.h:
48457        * svg/SVGFilterElement.cpp:
48458        (WebCore::SVGFilterElement::SVGFilterElement):
48459        * svg/SVGFilterElement.h:
48460        * svg/SVGForeignObjectElement.cpp:
48461        (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
48462        * svg/SVGForeignObjectElement.h:
48463        * svg/SVGGradientElement.cpp:
48464        (WebCore::SVGGradientElement::SVGGradientElement):
48465        * svg/SVGGradientElement.h:
48466        * svg/SVGImageElement.cpp:
48467        (WebCore::SVGImageElement::SVGImageElement):
48468        * svg/SVGImageElement.h:
48469        * svg/SVGMPathElement.cpp:
48470        (WebCore::SVGMPathElement::SVGMPathElement):
48471        (WebCore::SVGMPathElement::pathElement):
48472        * svg/SVGMPathElement.h:
48473        * svg/SVGMaskElement.cpp:
48474        (WebCore::SVGMaskElement::SVGMaskElement):
48475        * svg/SVGMaskElement.h:
48476        * svg/SVGPatternElement.cpp:
48477        (WebCore::SVGPatternElement::SVGPatternElement):
48478        * svg/SVGPatternElement.h:
48479        * svg/SVGScriptElement.cpp:
48480        (WebCore::SVGScriptElement::SVGScriptElement):
48481        * svg/SVGScriptElement.h:
48482        * svg/SVGTRefElement.cpp:
48483        (WebCore::SVGTRefElement::SVGTRefElement):
48484        * svg/SVGTRefElement.h:
48485        * svg/SVGTextPathElement.cpp:
48486        (WebCore::SVGTextPathElement::SVGTextPathElement):
48487        * svg/SVGTextPathElement.h:
48488        * svg/SVGURIReference.cpp:
48489        (WebCore::SVGURIReference::SVGURIReference):
48490        * svg/SVGURIReference.h:
48491        * svg/SVGUseElement.cpp:
48492        (WebCore::SVGUseElement::SVGUseElement):
48493        * svg/SVGUseElement.h:
48494
484952009-10-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
48496
48497        Reviewed by Simon Hausmann.
48498
48499        [Qt] Re-add the QApplication::syncX() line for plugin windows removed
48500        by r49169. Also changed the location of the sync just after the
48501        creation instead of just before sending it to the plugin.
48502        https://bugs.webkit.org/show_bug.cgi?id=25053
48503
48504        * plugins/qt/PluginViewQt.cpp:
48505        (WebCore::PluginView::platformStart):
48506
485072009-10-08  Joseph Pecoraro  <joepeck@webkit.org>
48508
48509        Reviewed by Timothy Hatcher.
48510
48511        Inspector: NodeLists Don't Display Well in the Console
48512        https://bugs.webkit.org/show_bug.cgi?id=28061
48513
48514        * inspector/front-end/InjectedScript.js:
48515        (Object.type):
48516
485172009-10-08  Girish Ramakrishnan  <girish@forwardbias.in>
48518
48519        Reviewed by Simon Hausmann.
48520
48521        [Qt] Windowless plugins: Remove unnecessary XSync for opaque mode.
48522        
48523        The reason for the XSync was that the plugin would not know about the
48524        Drawable. It turns out that the real reason behind this is that even
48525        though XCreatePixmap returns a handle, this id is unknown to the server
48526        until we flush the connection.
48527        
48528        So, move the XSync to right after we create the Pixmap.
48529
48530        https://bugs.webkit.org/show_bug.cgi?id=30207
48531
48532        * plugins/qt/PluginViewQt.cpp:
48533        (WebCore::PluginView::updatePluginWidget):
48534        (WebCore::PluginView::paint):
48535
485362009-10-07  Daniel Bates  <dbates@webkit.org>
48537
48538        Reviewed by Eric Seidel.
48539
48540        https://bugs.webkit.org/show_bug.cgi?id=30188
48541        
48542        Fixes an issue where performing a non DHTML drag-and-drop operation 
48543        does not work as expected. For instance, dragging some selected text 
48544        to an external application, such as TextEdit.
48545        
48546        This issue was a regression that arose from patching bug #30107.
48547        
48548        This change is covered by the manual test: 
48549        drag-out-of-background-window.html
48550
48551        * page/DragController.cpp:
48552        (WebCore::DragController::startDrag): When performing a non-DHTML drag 
48553        operation then default to drag operations DragOperationGeneric and 
48554        DragOperationCopy according to similar functionality removed when fixing
48555        bug #30107, see: 
48556        http://trac.webkit.org/browser/trunk/WebKit/mac/WebView/WebHTMLView.mm?rev=48526#L3430 
48557
485582009-10-07  Xan Lopez  <xlopez@igalia.com>
48559
48560        Fix more breakage in the GTKbuild.
48561
48562        * GNUmakefile.am:
48563
485642009-10-07  Adam Barth  <abarth@webkit.org>
48565
48566        Reviewed by Eric Seidel.
48567
48568        Move PolicyChecker to it's own file
48569        https://bugs.webkit.org/show_bug.cgi?id=30193
48570
48571        This is just moving code around and re-naming things.
48572
48573        * GNUmakefile.am:
48574        * WebCore.gypi:
48575        * WebCore.pro:
48576        * WebCore.vcproj/WebCore.vcproj:
48577        * WebCore.xcodeproj/project.pbxproj:
48578        * loader/FrameLoader.cpp:
48579        * loader/FrameLoader.h:
48580        * loader/PolicyCallback.cpp: Added.
48581        (WebCore::PolicyCallback::PolicyCallback):
48582        (WebCore::PolicyCallback::~PolicyCallback):
48583        (WebCore::PolicyCallback::clear):
48584        (WebCore::PolicyCallback::set):
48585        (WebCore::PolicyCallback::call):
48586        (WebCore::PolicyCallback::clearRequest):
48587        (WebCore::PolicyCallback::cancel):
48588        * loader/PolicyCallback.h: Added.
48589        (WebCore::PolicyCallback::request):
48590        * loader/PolicyCheck.cpp: Removed.
48591        * loader/PolicyCheck.h: Removed.
48592
485932009-10-07  Joel Stanley  <joel@jms.id.au>
48594
48595        Reviewed by Mark Rowe.
48596
48597        Include <limits> for std::numeric_limits.  Required by gcc-4.4
48598        https://bugs.webkit.org/show_bug.cgi?id=30197
48599
48600        * html/canvas/CanvasByteArray.h:
48601        * html/canvas/CanvasIntArray.h:
48602        * html/canvas/CanvasShortArray.h:
48603        * html/canvas/CanvasUnsignedByteArray.h:
48604        * html/canvas/CanvasUnsignedIntArray.h:
48605        * html/canvas/CanvasUnsignedShortArray.h:
48606
486072009-10-07  Adam Barth  <abarth@webkit.org>
48608
48609        Reviewed by Darin Adler.
48610
48611        Factor PolicyChecker out of FrameLoader
48612        https://bugs.webkit.org/show_bug.cgi?id=30155
48613
48614        This patch separates PolicyChecker from FrameLoader.  Loader policy is
48615        in change of managing the FrameLoaderClient callbacks.  Ideally, it
48616        shouldn't know anything about FrameLoader, but I couldn't quite remove
48617        all knowledge (although we might be able to do more later).  In a
48618        future patch, I'll move PolicyChecker into a separate file.
48619
48620        * loader/FrameLoader.cpp:
48621        (WebCore::FrameLoader::FrameLoader):
48622        (WebCore::FrameLoader::loadURL):
48623        (WebCore::FrameLoader::load):
48624        (WebCore::FrameLoader::loadWithDocumentLoader):
48625        (WebCore::PolicyChecker::handleUnimplementablePolicy):
48626        (WebCore::PolicyChecker::cannotShowMIMEType):
48627        (WebCore::PolicyChecker::PolicyChecker):
48628        (WebCore::PolicyChecker::checkNavigationPolicy):
48629        (WebCore::PolicyChecker::checkContentPolicy):
48630        (WebCore::FrameLoader::shouldReloadToHandleUnreachableURL):
48631        (WebCore::FrameLoader::stopAllLoaders):
48632        (WebCore::PolicyChecker::cancelCheck):
48633        (WebCore::PolicyChecker::stopCheck):
48634        (WebCore::PolicyChecker::continueAfterContentPolicy):
48635        (WebCore::PolicyChecker::continueLoadAfterWillSubmitForm):
48636        (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
48637        (WebCore::FrameLoader::loadPostRequest):
48638        (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
48639        (WebCore::PolicyChecker::checkNewWindowPolicy):
48640        (WebCore::PolicyChecker::continueAfterNewWindowPolicy):
48641        (WebCore::PolicyChecker::continueAfterNavigationPolicy):
48642        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
48643        * loader/FrameLoader.h:
48644        (WebCore::PolicyChecker::loadType):
48645        (WebCore::PolicyChecker::setLoadType):
48646        (WebCore::PolicyChecker::delegateIsDecidingNavigationPolicy):
48647        (WebCore::PolicyChecker::delegateIsHandlingUnimplementablePolicy):
48648        (WebCore::FrameLoader::policy):
48649        * loader/FrameLoaderClient.h:
48650        * loader/MainResourceLoader.cpp:
48651        (WebCore::MainResourceLoader::didCancel):
48652        (WebCore::MainResourceLoader::willSendRequest):
48653        (WebCore::MainResourceLoader::continueAfterContentPolicy):
48654        (WebCore::MainResourceLoader::didReceiveResponse):
48655        * svg/graphics/SVGImage.cpp:
48656        (WebCore::SVGImage::dataChanged):
48657
486582009-10-07  Geoffrey Garen  <ggaren@apple.com>
48659
48660        Reviewed by Oliver Hunt.
48661
48662        Fixed <rdar://problem/5751979> Database code takes JSLock on secondary
48663        thread, permanently slowing down JavaScript
48664
48665        Changed callback objects to use a standard helper object. The helper
48666        object ASSERTs that it is deleted on the main thread, so no lock is
48667        required when unprotecting its members. It also centralizes some previously
48668        duplicated code.
48669        
48670        Callback objects that might be deleted on a secondary thread use
48671        callOnMainThread to delete their helper objects on the main thread.
48672
48673        * WebCore.xcodeproj/project.pbxproj:
48674        * bindings/js/JSCallbackData.cpp: Copied from bindings/js/JSCustomSQLTransactionCallback.cpp.
48675        (WebCore::JSCallbackData::deleteData):
48676        (WebCore::JSCallbackData::invokeCallback):
48677        * bindings/js/JSCallbackData.h: Copied from bindings/js/JSCustomSQLTransactionCallback.cpp.
48678        (WebCore::JSCallbackData::JSCallbackData):
48679        (WebCore::JSCallbackData::~JSCallbackData):
48680        (WebCore::JSCallbackData::callback):
48681        * bindings/js/JSCustomPositionCallback.cpp:
48682        (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
48683        (WebCore::JSCustomPositionCallback::handleEvent):
48684        * bindings/js/JSCustomPositionCallback.h:
48685        * bindings/js/JSCustomPositionErrorCallback.cpp:
48686        (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
48687        (WebCore::JSCustomPositionErrorCallback::handleEvent):
48688        * bindings/js/JSCustomPositionErrorCallback.h:
48689        * bindings/js/JSCustomSQLStatementCallback.cpp:
48690        (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback):
48691        (WebCore::JSCustomSQLStatementCallback::~JSCustomSQLStatementCallback):
48692        (WebCore::JSCustomSQLStatementCallback::handleEvent):
48693        * bindings/js/JSCustomSQLStatementCallback.h:
48694        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
48695        (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback):
48696        (WebCore::JSCustomSQLStatementErrorCallback::~JSCustomSQLStatementErrorCallback):
48697        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
48698        * bindings/js/JSCustomSQLStatementErrorCallback.h:
48699        * bindings/js/JSCustomSQLTransactionCallback.cpp:
48700        (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
48701        (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
48702        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
48703        * bindings/js/JSCustomSQLTransactionCallback.h:
48704        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
48705        (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback):
48706        (WebCore::JSCustomSQLTransactionErrorCallback::~JSCustomSQLTransactionErrorCallback):
48707        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
48708        * bindings/js/JSCustomSQLTransactionErrorCallback.h:
48709        * bindings/js/JSCustomVoidCallback.cpp:
48710        (WebCore::JSCustomVoidCallback::JSCustomVoidCallback):
48711        (WebCore::JSCustomVoidCallback::~JSCustomVoidCallback):
48712        (WebCore::JSCustomVoidCallback::handleEvent):
48713        * bindings/js/JSCustomVoidCallback.h:
48714        * storage/Database.cpp:
48715        (WebCore::Database::Database):
48716
487172009-10-07  Jens Alfke  <snej@chromium.org>
48718
48719        Reviewed by Dave Levin.
48720
48721        Fix StringImpl::m_buffer
48722        https://bugs.webkit.org/show_bug.cgi?id=30189
48723
48724        Fix my previous StringImpl patch to avoid using an indefinite-length array member,
48725        since MSVC doesn't like it. Instead, go back to offsetting by sizeof(StringImpl).
48726
48727        * platform/text/StringImpl.cpp:
48728        (WebCore::StringImpl::StringImpl):
48729        (WebCore::StringImpl::createUninitialized):
48730        * platform/text/StringImpl.h:
48731        (WebCore::StringImpl::bufferIsInternal):
48732
487332009-10-07  Aaron Boodman  <aa@chromium.org>
48734
48735        Reviewed by Adam Barth.
48736
48737        Update isolated worlds under v8 to support world reuse.
48738        https://bugs.webkit.org/show_bug.cgi?id=30145
48739
48740        * bindings/v8/ScriptController.cpp:
48741        Replace evaluateInNewIsolatedWorld() withe evaluateInIsolatedWorld(id).
48742        (WebCore::ScriptController::evaluateInIsolatedWorld):
48743        * bindings/v8/ScriptController.h: Ditto.
48744        * bindings/v8/V8Proxy.cpp: Ditto.
48745        (WebCore::V8Proxy::~V8Proxy): Dittio.
48746        (WebCore::V8Proxy::evaluateInIsolatedWorld): Ditto.
48747        * bindings/v8/V8Proxy.h: Ditto.
48748        * bindings/v8/V8IsolatedWorld.cpp:
48749        Add support for controlling lifetime of a world, rather than relying on GC.
48750        (WebCore::V8IsolatedWorld::contextWeakReferenceCallback): Ditto.
48751        (WebCore::V8IsolatedWorld::V8IsolatedWorld): Ditto.
48752        (WebCore::V8IsolatedWorld::destroy): Ditto.
48753        * bindings/v8/V8IsolatedWorld.h: Ditto.
48754
487552009-10-07  Jeremy Orlow  <jorlow@chromium.org>
48756
48757        Build fix for http://trac.webkit.org/changeset/49272 on Windows
48758
48759        * platform/text/StringImpl.h:
48760
487612009-10-07  Jens Alfke  <snej@chromium.org>
48762
48763        Reviewed by Darin Adler.
48764
48765        Optimization of StringImpl:
48766        - Remove unnecessary m_bufferIsInternal member (saves 4 bytes). Instead, check whether
48767          m_data points to just past the end of the object's members.
48768        - copy() and createWithTerminatingNullCharacter() create the string in a single malloc
48769          block instead of 2 (saves ~20 bytes and considerable CPU cycles, increases locality).
48770        - Move m_length next to m_hash to save 4 bytes of padding in 64-bit builds.
48771          
48772        https://bugs.webkit.org/show_bug.cgi?id=29500
48773
48774        * platform/text/StringImpl.cpp:
48775        (WebCore::StringImpl::StringImpl): Re-ordered members.
48776        (WebCore::StringImpl::~StringImpl): Change to is-buffer-internal check.
48777        (WebCore::StringImpl::createUninitialized): Use new m_buffer member instead of sizeof()
48778            to ensure chars are copied to correct location.
48779        (WebCore::StringImpl::createWithTerminatingNullCharacter): Make sure copy is created
48780            in a single malloc block.
48781        (WebCore::StringImpl::threadsafeCopy): Make sure copy is created in a single malloc block.
48782        (WebCore::StringImpl::crossThreadString): Make sure copy is created in a single malloc block.
48783        (WebCore::StringImpl::sharedBuffer): Change to is-buffer-internal check.
48784        * platform/text/StringImpl.h:
48785        (WebCore::StringImpl::startsWith): Just fixed a confusing param name.
48786        (WebCore::StringImpl::bufferIsInternal): Changed member var into accessor method.
48787        (WebCore::StringImpl::m_data): Repositioned for optimal member packing in 64-bit.
48788        (WebCore::StringImpl::m_buffer): Added to provide an explicit location for where internal buffer goes.
48789
487902009-10-07  Daniel Bates  <dbates@webkit.org>
48791
48792        Reviewed by Darin Adler.
48793
48794        https://bugs.webkit.org/show_bug.cgi?id=30102
48795        And
48796        <rdar://problem/5015957>
48797        
48798        Manual test to confirm that the not-allowed cursor is shown for an
48799        invalid drag-and-drop operation.
48800        
48801        We cannot test this using DRT because of a discrepancy between the Windows
48802        API-based drop effect and the WebKit drop effect. See bug #24731 for more
48803        details.
48804
48805        * manual-tests/drag-cursor-notallowed.html: Added.
48806
488072009-10-07  Mark Rowe  <mrowe@apple.com>
48808
48809        Fix the build.
48810
48811        * WebCore.xcodeproj/project.pbxproj:
48812
488132009-10-07  Brian Weinstein  <bweinstein@apple.com>
48814
48815        Reviewed by Timothy Hatcher.
48816
48817        Fixes <http://webkit.org/b/30104>.
48818        Inspector should show cookies of sub-resources on the page.
48819        
48820        This function implements showing cookies for all sub-resources of a page.
48821        When the page is loaded, it populates the Storage Panel with a list of all
48822        domains that were loaded as part of the full page load (iframes, ads, etc).
48823        When the user selects one of the domains, the inspector calls back into the
48824        controller, and the controller combines all of the cookies from that domain
48825        into a list, and sends that list is sent back to the controller to render.
48826        
48827        A domain now needs to be passed into CookieItemsView, and CookieSidebarTreeElement.
48828        
48829        As a result of a previous patch, we now have detailed cookie information for
48830        both Windows on CFNetwork and Mac. Additionally, this patch provides deleteCookie
48831        support on Windows.
48832
48833        * bindings/js/ScriptObject.cpp:
48834        (WebCore::ScriptObject::set):
48835        * bindings/js/ScriptObject.h:
48836        * inspector/InspectorBackend.cpp:
48837        (WebCore::InspectorBackend::getCookies):
48838        (WebCore::InspectorBackend::deleteCookie):
48839        * inspector/InspectorBackend.h:
48840        * inspector/InspectorBackend.idl:
48841        * inspector/InspectorController.cpp:
48842        (WebCore::InspectorController::populateScriptObjects):
48843        (WebCore::InspectorController::didFinishLoading):
48844        (WebCore::InspectorController::getCookies):
48845        (WebCore::InspectorController::buildArrayForCookies):
48846        (WebCore::InspectorController::buildObjectForCookie):
48847        (WebCore::InspectorController::deleteCookie):
48848        * inspector/InspectorController.h:
48849        * inspector/InspectorDOMAgent.cpp:
48850        * inspector/InspectorDOMAgent.h:
48851        * inspector/InspectorFrontend.cpp:
48852        (WebCore::InspectorFrontend::addCookieDomainForDocument):
48853        * inspector/InspectorFrontend.h:
48854        * inspector/front-end/CookieItemsView.js:
48855        (WebInspector.CookieItemsView):
48856        (WebInspector.CookieItemsView.prototype.update):
48857        (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
48858        * inspector/front-end/DOMAgent.js:
48859        (WebInspector.Cookies.getCookiesAsync):
48860        * inspector/front-end/StoragePanel.js:
48861        (WebInspector.StoragePanel):
48862        (WebInspector.StoragePanel.prototype.reset):
48863        (WebInspector.StoragePanel.prototype.addCookieDomain):
48864        (WebInspector.StoragePanel.prototype.showCookies):
48865        (WebInspector.CookieSidebarTreeElement):
48866        (WebInspector.CookieSidebarTreeElement.prototype.onselect):
48867        * inspector/front-end/inspector.js:
48868        (WebInspector.addCookieDomain):
48869        * platform/Cookie.h:
48870        (WebCore::CookieHash::hash):
48871        (WebCore::CookieHash::equal):
48872        (WTF::):
48873        * platform/network/win/CookieJarCFNetWin.cpp:
48874        (WebCore::deleteCookie):
48875
488762009-10-07  Pavel Feldman  <pfeldman@chromium.org>
48877
48878        Reviewed by Timothy Hatcher.
48879
48880        Web Inspector: Add ScriptObject::set(const char*, unsigned).
48881
48882        https://bugs.webkit.org/show_bug.cgi?id=30104
48883
48884        * bindings/v8/ScriptObject.cpp:
48885        (WebCore::ScriptObject::set):
48886        * bindings/v8/ScriptObject.h:
48887
488882009-10-07  Brent Fulgham  <bfulgham@webkit.org>
48889
48890        Unreviewed build fix for Windows (Cairo).
48891
48892        Provide implementation of new BitmapImage::create that was
48893        added in @r49060.
48894
48895        * platform/graphics/win/ImageCairoWin.cpp:
48896
488972009-10-07  Andrew Scherkus  <scherkus@chromium.org>
48898
48899        Reviewed by Eric Carlson.
48900
48901        Refactor RenderThemeChromiumMac and RenderThemeChromiumSkia to render media controls using GraphicsContext.
48902
48903        Design was based on existing RenderMediaControls.cpp used by RenderThemeSafari/Win.
48904
48905        https://bugs.webkit.org/show_bug.cgi?id=29987
48906
48907        Covered by existing layout tests as no new functionality was introduced.
48908
48909        * WebCore.gypi: Added RenderMediaControlsChromium.cpp/h.
48910        * css/mediaControlsChromium.css: Tweaked media slider position and border style.
48911        * rendering/MediaControlElements.cpp:
48912        (WebCore::toParentMediaElement): Taken from RenderMediaControls.
48913        (WebCore::MediaControlElement::rendererIsNeeded): Don't call shouldRenderMediaControlPart() if element has no appearance.
48914        (WebCore::MediaControlInputElement::rendererIsNeeded): Ditto.
48915        * rendering/RenderMediaControls.cpp: Moved parentMediaElement() to MediaControlElements.
48916        * rendering/RenderMediaControlsChromium.cpp: Added.
48917        (WebCore::platformResource): Helper to load and cache media control image resources.
48918        (WebCore::mediaSliderThumbImage): Implementation refactored from RenderThemeChromiumMac/Skia.
48919        (WebCore::mediaVolumeSliderThumbImage): Ditto.
48920        (WebCore::paintMediaButton): Ditto.
48921        (WebCore::paintMediaMuteButton): Ditto.
48922        (WebCore::paintMediaPlayButton): Ditto.
48923        (WebCore::paintMediaSlider): Ditto.
48924        (WebCore::paintMediaSliderThumb): Ditto.
48925        (WebCore::paintMediaVolumeSlider): Ditto.
48926        (WebCore::paintMediaVolumeSliderThumb): Ditto.
48927        (WebCore::paintMediaTimelineContainer): Ditto.
48928        (WebCore::RenderMediaControlsChromium::shouldRenderMediaControlPart): Ditto.
48929        (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): Same
48930        (WebCore::RenderMediaControlsChromium::adjustMediaSliderThumbSize):
48931        * rendering/RenderMediaControlsChromium.h: Added.
48932        * rendering/RenderThemeChromiumMac.h:
48933        * rendering/RenderThemeChromiumMac.mm:
48934        (WebCore::RenderThemeChromiumMac::adjustSliderThumbSize): Implementation delegated to RenderMediaControlsChromium.
48935        (WebCore::RenderThemeChromiumMac::shouldRenderMediaControlPart): Ditto.
48936        (WebCore::RenderThemeChromiumMac::paintMediaPlayButton): Ditto.
48937        (WebCore::RenderThemeChromiumMac::paintMediaMuteButton): Ditto.
48938        (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack): Ditto.
48939        (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderTrack): Ditto.
48940        (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb): Ditto.
48941        (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderThumb): Ditto.
48942        (WebCore::RenderThemeChromiumMac::paintMediaControlsBackground): Ditto.
48943        * rendering/RenderThemeChromiumSkia.cpp:
48944        (WebCore::RenderThemeChromiumSkia::paintMediaControlsBackground): Implementation delegated to RenderMediaControlsChromium.
48945        (WebCore::RenderThemeChromiumSkia::paintMediaSliderTrack): Ditto.
48946        (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderTrack): Ditto.
48947        (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize): Ditto.
48948        (WebCore::RenderThemeChromiumSkia::paintMediaSliderThumb): Ditto.
48949        (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderThumb): Ditto.
48950        (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton): Ditto.
48951        (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton): Ditto.
48952        (WebCore::RenderThemeChromiumSkia::shouldRenderMediaControlPart): Ditto.
48953
489542009-10-07  Dave Hyatt  <hyatt@apple.com>
48955
48956        Reviewed by Adam Roben.
48957
48958        Make plugins work with beforeload.
48959
48960        Added fast/dom/beforeload/flash-before-load.html
48961
48962        * html/HTMLObjectElement.cpp:
48963        (WebCore::HTMLObjectElement::parseMappedAttribute):
48964        * rendering/RenderPartObject.cpp:
48965        (WebCore::RenderPartObject::updateWidget):
48966
489672009-10-07  Vitaly Repeshko  <vitalyr@chromium.org>
48968
48969        Reviewed by Adam Barth.
48970
48971        [V8] Protect JS listener object from GC while clearing a property on it.
48972        See http://crbug.com/23780.
48973        https://bugs.webkit.org/show_bug.cgi?id=30137
48974
48975        * bindings/v8/V8AbstractEventListener.cpp:
48976        (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
48977
489782009-10-07  Zoltan Horvath  <zoltan@webkit.org>
48979
48980        Rubber-stamped by Eric Seidel.
48981
48982        Allow custom memory allocation control for WebCore's CachedResourceClient class
48983        https://bugs.webkit.org/show_bug.cgi?id=30165
48984
48985        Inherits CachedResourceClient class from FastAllocBase because (its
48986        child class) CSSFontFaceSource has been instantiated by 'new' in WebCore/css/CSSFontFaceSource.h:46.
48987
48988        * loader/CachedResourceClient.h:
48989
489902009-10-07  Zoltan Horvath  <zoltan@webkit.org>
48991
48992        Reviewed by Darin Adler.
48993
48994        Allow custom memory allocation control for WebCore's IdentifierRep 
48995        https://bugs.webkit.org/show_bug.cgi?id=30159                                                        
48996
48997        Inherits IdentifierRep class from FastAllocBase because it has been                                 
48998        instantiated by 'new' in WebCore/bridge/IdentifierRep.cpp:61.  
48999
49000        * bridge/IdentifierRep.h:
49001
490022009-10-07  Anton Muhin  <antonm@chromium.org>
49003
49004        Reviewed by Adam Barth.
49005
49006        Fetch pointers to C+DOM window immediately from holder
49007        object (do not search prototype chain for proper JS wrapper).
49008        https://bugs.webkit.org/show_bug.cgi?id=29031
49009
49010        * bindings/scripts/CodeGeneratorV8.pm:
49011        * bindings/v8/V8DOMWrapper.cpp:
49012        (WebCore::V8DOMWrapper::getTemplate):
49013        * bindings/v8/V8Proxy.cpp:
49014        (WebCore::V8Proxy::createNewContext):
49015        (WebCore::V8Proxy::installDOMWindow):
49016        * bindings/v8/custom/V8DOMWindowCustom.cpp:
49017        (WebCore::ACCESSOR_GETTER):
49018        (WebCore::ACCESSOR_SETTER):
49019        (WebCore::INDEXED_PROPERTY_GETTER):
49020        (WebCore::NAMED_PROPERTY_GETTER):
49021        (WebCore::NAMED_ACCESS_CHECK):
49022        (WebCore::INDEXED_ACCESS_CHECK):
490232009-10-07  Adam Roben  <aroben@apple.com>
49024
49025        Fix typo in PluginView::load that was causing cross-origin loads to
49026        be allowed
49027
49028        This typo was introduced in the build fix in r49213.
49029
49030        Fixes <http://webkit.org/b/30168> REGRESSION (r49213):
49031        http/tests/plugins/local-geturl-from-remote.html is failing on Windows
49032
49033        Reviewed by Sam Weinig.
49034
49035        * plugins/PluginView.cpp:
49036        (WebCore::PluginView::load): Removed a comma operator that was making
49037        a condition always evaluate to true.
49038
490392009-10-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>
49040
49041        Reviewed by Simon Hausmann.
49042
49043        Do not create valid QColor's for invalid WebCore::Color's.
49044
49045        * platform/graphics/qt/ColorQt.cpp:
49046        (WebCore::Color::operator QColor):
49047
490482009-10-07  Janne Koskinen  <janne.p.koskinen@digia.com>
49049
49050        Reviewed by Simon Hausmann.
49051
49052        [Qt] Symbian SBSv2 .data segment adress fix
49053        https://bugs.webkit.org/show_bug.cgi?id=30157
49054
49055        RO-section in qtwebkit.dll exceeds allocated space in SBSv2. Move RW-section
49056        base address to start from 0x800000 instead of the toolchain default 0x400000
49057
49058        * WebCore.pro:
49059
490602009-10-07  Pavel Feldman  <pfeldman@chromium.org>
49061
49062        Reviewed by Timothy Hatcher.
49063
49064        Web Inspector: Migrate database inspection to the injected script-based schema.
49065
49066        https://bugs.webkit.org/show_bug.cgi?id=29788
49067
49068        * bindings/js/JSInspectorBackendCustom.cpp:
49069        (WebCore::JSInspectorBackend::databaseForId):
49070        * bindings/v8/custom/V8CustomBinding.h:
49071        * bindings/v8/custom/V8InspectorBackendCustom.cpp:
49072        (WebCore::CALLBACK_FUNC_DECL):
49073        * inspector/InspectorBackend.cpp:
49074        (WebCore::InspectorBackend::dispatchOnInjectedScript):
49075        (WebCore::InspectorBackend::databaseForId):
49076        (WebCore::InspectorBackend::selectDatabase):
49077        (WebCore::InspectorBackend::getDatabaseTableNames):
49078        (WebCore::InspectorBackend::reportDidDispatchOnInjectedScript):
49079        * inspector/InspectorBackend.h:
49080        * inspector/InspectorBackend.idl:
49081        * inspector/InspectorController.cpp:
49082        (WebCore::InspectorController::populateScriptObjects):
49083        (WebCore::InspectorController::resetScriptObjects):
49084        (WebCore::InspectorController::selectDatabase):
49085        (WebCore::InspectorController::databaseForId):
49086        (WebCore::InspectorController::didOpenDatabase):
49087        (WebCore::InspectorController::didUseDOMStorage):
49088        (WebCore::InspectorController::selectDOMStorage):
49089        (WebCore::InspectorController::getDOMStorageResourceForId):
49090        * inspector/InspectorController.h:
49091        * inspector/InspectorDatabaseResource.cpp:
49092        (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
49093        (WebCore::InspectorDatabaseResource::bind):
49094        * inspector/InspectorDatabaseResource.h:
49095        (WebCore::InspectorDatabaseResource::database):
49096        (WebCore::InspectorDatabaseResource::id):
49097        * inspector/InspectorFrontend.cpp:
49098        (WebCore::InspectorFrontend::addDatabase):
49099        (WebCore::InspectorFrontend::selectDatabase):
49100        (WebCore::InspectorFrontend::didGetDatabaseTableNames):
49101        (WebCore::InspectorFrontend::addDOMStorage):
49102        * inspector/InspectorFrontend.h:
49103        * inspector/front-end/Database.js:
49104        (WebInspector.Database):
49105        (WebInspector.Database.prototype.get id):
49106        (WebInspector.Database.prototype.set name):
49107        (WebInspector.Database.prototype.set version):
49108        (WebInspector.Database.prototype.set domain):
49109        (WebInspector.Database.prototype.getTableNames):
49110        (WebInspector.Database.prototype.executeSql):
49111        * inspector/front-end/InjectedScript.js:
49112        (InjectedScript.dispatch):
49113        (InjectedScript.executeSql):
49114        (InjectedScript.executeSql.errorCallback):
49115        (InjectedScript.executeSql.queryTransaction):
49116        * inspector/front-end/InjectedScriptAccess.js:
49117        (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
49118        (InjectedScriptAccess._installHandler):
49119        * inspector/front-end/StoragePanel.js:
49120        (WebInspector.StoragePanel.prototype.selectDatabase):
49121        (WebInspector.StoragePanel.prototype.dataGridForResult):
49122        * inspector/front-end/inspector.js:
49123        (WebInspector.addDatabase):
49124
491252009-10-07  Girish Ramakrishnan  <girish@forwardbias.in>
49126
49127        Reviewed by Simon Hausmann.
49128
49129        [Qt] Windowless Plugins: Disable content propagation for QGraphicsView items
49130        
49131        We cannot support content propagation for items in QGraphicsView because
49132        the contents of the backing store might be transformed. So turn it off
49133        if we are not painting on QWidget.
49134        
49135        Note that this check will not work for a QWebView in a
49136        QGraphicsProxyWidget, but I guess it's fine. Alternative is to do an
49137        even uglier cast: static_cast painter's paintDevice() to QWidget and
49138        check if it is the viewport() of QGraphicsView.
49139
49140        https://bugs.webkit.org/show_bug.cgi?id=30149
49141
49142        * plugins/qt/PluginViewQt.cpp:
49143        (WebCore::PluginView::paint):
49144
491452009-10-07  Simon Hausmann  <simon.hausmann@nokia.com>
49146
49147        Fix the Qt build by adding the missing files to the build.
49148
49149        * WebCore.pro:
49150
491512009-10-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
49152
49153        Reviewed by Xan Lopez.
49154
49155        Fix incorrect convertion of double into int while assigning it to
49156        a float.
49157
49158        * platform/graphics/gtk/SimpleFontDataGtk.cpp:
49159        (WebCore::SimpleFontData::platformInit):
49160        * platform/graphics/gtk/SimpleFontDataPango.cpp:
49161        (WebCore::SimpleFontData::platformInit):
49162
491632009-10-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
49164
49165        Reviewed by Xan Lopez.
49166
49167        Fix rounding error issues in height calculation in 64 bits.
49168
49169        Already covered by existing tests.
49170
49171        * platform/graphics/gtk/SimpleFontDataGtk.cpp:
49172        (WebCore::SimpleFontData::platformInit):
49173        * platform/graphics/gtk/SimpleFontDataPango.cpp:
49174        (WebCore::SimpleFontData::platformInit):
49175
491762009-10-07  Shinichiro Hamaji  <hamaji@chromium.org>
49177
49178        Reviewed by Eric Seidel.
49179
49180        Dual lines in css2.1 layout tests do not match:
49181        https://bugs.webkit.org/show_bug.cgi?id=23262
49182
49183        Now we can put a counter node as the next sibling of a reset node.
49184        Re-layout the counter content when the count is updated.
49185
49186        Tests: fast/css/counters/t1204-increment-00-c-o.html
49187               fast/css/counters/t1204-increment-01-c-o.html
49188
49189        * rendering/CounterNode.cpp:
49190        (WebCore::CounterNode::recount):
49191        * rendering/RenderCounter.cpp:
49192        (WebCore::findPlaceForCounter):
49193
491942009-10-06  Xan Lopez  <xlopez@igalia.com>
49195
49196        Try to fix the GTKbuild.
49197
49198        * GNUmakefile.am:
49199
492002009-10-06  Adam Barth  <abarth@webkit.org>
49201
49202        Reviewed by Adam Barth.
49203
49204        Removed unused member variable from FrameLoader
49205        https://bugs.webkit.org/show_bug.cgi?id=30146
49206
49207        * loader/FrameLoader.cpp:
49208        (WebCore::FrameLoader::FrameLoader):
49209        * loader/FrameLoader.h:
49210
492112009-10-06  David Levin  <levin@chromium.org>
49212
49213        Reviewed by NOBODY (build fix).
49214
49215        A few small/trivial tweaks to the last build fix.
49216
49217        * bindings/scripts/CodeGeneratorV8.pm:
49218
492192009-10-06  David Levin  <levin@chromium.org>
49220
49221        Reviewed by Dimitri Glazkov.
49222
49223        [Chromium] Need to adjust MessagePort, etc. code for the post clone work done.
49224        https://bugs.webkit.org/show_bug.cgi?id=30147
49225
49226        No change in functionality so no new tests.
49227
49228        * WebCore.gypi:
49229        * bindings/scripts/CodeGeneratorV8.pm:
49230        * bindings/v8/SerializedScriptValue.h: Added.
49231         A very simple implementation of SerializedScriptValue
49232         that only works for strings.
49233        * bindings/v8/custom/V8DOMWindowCustom.cpp:
49234        (WebCore::CALLBACK_FUNC_DECL):
49235        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
49236        (WebCore::CALLBACK_FUNC_DECL):
49237        * bindings/v8/custom/V8MessageEventCustom.cpp:
49238        (WebCore::CALLBACK_FUNC_DECL):
49239        * bindings/v8/custom/V8MessagePortCustom.cpp:
49240        (WebCore::CALLBACK_FUNC_DECL):
49241        * bindings/v8/custom/V8WorkerCustom.cpp:
49242        (WebCore::CALLBACK_FUNC_DECL):
49243
492442009-10-06  Sam Weinig  <sam@webkit.org>
49245
49246        Reviewed by Brady Eidson.
49247
49248        Fix for <rdar://problem/7271202>
49249        Dispatch resource load delegate functions for the media element.
49250        Since we don't get the required callbacks from the media engine,
49251        just fake the parameters to the delegate functions as best as possible.
49252
49253        * html/HTMLMediaElement.cpp:
49254        (WebCore::HTMLMediaElement::loadResource):
49255        (WebCore::HTMLMediaElement::isSafeToLoadURL):
49256        * loader/FrameLoader.cpp:
49257        (WebCore::FrameLoader::willLoadMediaElementURL):
49258        * loader/FrameLoader.h:
49259
492602009-10-06  Oliver Hunt  <oliver@apple.com>
49261
49262        Reviewed by NOBODY (Build fix).
49263
49264        More build fixes.
49265
49266        * bindings/js/SerializedScriptValue.cpp:
49267        (WebCore::DeserializingTreeWalker::getProperty):
49268        (WebCore::TeardownTreeWalker::getProperty):
49269        * bindings/js/SerializedScriptValue.h:
49270        (WebCore::SerializedScriptValue::SerializedScriptValue):
49271
492722009-10-06  Oliver Hunt  <oliver@apple.com>
49273
49274        Reviewed by NOBODY (Build fix).
49275
49276        Build and formatting fix.
49277
49278        * ForwardingHeaders/runtime/ExceptionHelpers.h: Added.
49279        * bindings/js/SerializedScriptValue.cpp:
49280        * bindings/js/SerializedScriptValue.h:
49281        (WebCore::SerializedScriptValueData::operator bool):
49282        (WebCore::SerializedScriptValueData::release):
49283        (WebCore::SerializedScriptValue::release):
49284        (WebCore::SerializedScriptValue::toString):
49285        (WebCore::SerializedScriptValue::~SerializedScriptValue):
49286        (WebCore::SerializedScriptValue::SerializedScriptValue):
49287
492882009-10-05  Oliver Hunt  <oliver@apple.com>
49289
49290        Reviewed by Gavin Barraclough.
49291
49292        It should be possible to post (clone) built-in JS objects to Workers
49293        https://bugs.webkit.org/show_bug.cgi?id=22878
49294
49295        Implement object cloning semantics for postMessage.  Currently only
49296        a partial implementation of the spec -- cloning of File, FileList,
49297        ImageData, and RegExp were left out as they would have significantly
49298        increased patch size.
49299
49300        Cloning requires multiple tree walks so we use a templated tree
49301        walk function, allowing us to share a single implementation for
49302        serialization, deserialization, and eventual destruction of the
49303        serialized object tree.
49304
49305        Test: fast/dom/Window/window-postmessage-clone.html
49306
49307        * WebCore.vcproj/WebCore.vcproj:
49308        * WebCore.xcodeproj/project.pbxproj:
49309        * bindings/js/JSDOMWindowCustom.cpp:
49310        (WebCore::JSDOMWindow::postMessage):
49311        * bindings/js/JSMessageEventCustom.cpp:
49312        (WebCore::JSMessageEvent::initMessageEvent):
49313        * bindings/js/JSMessagePortCustom.h:
49314        (WebCore::handlePostMessage):
49315        * bindings/js/SerializedScriptValue.cpp: Added.
49316        (WebCore::SerializedObject::set):
49317        (WebCore::SerializedObject::names):
49318        (WebCore::SerializedObject::values):
49319        (WebCore::SerializedObject::create):
49320        (WebCore::SerializedObject::clear):
49321        (WebCore::SerializedObject::SerializedObject):
49322        (WebCore::SerializedArray::setIndex):
49323        (WebCore::SerializedArray::canDoFastRead):
49324        (WebCore::SerializedArray::getIndex):
49325        (WebCore::SerializedArray::getSparseIndex):
49326        (WebCore::SerializedArray::length):
49327        (WebCore::SerializedArray::create):
49328        (WebCore::SerializedArray::clear):
49329        (WebCore::SerializedArray::SerializedArray):
49330        (WebCore::SerializedScriptValueData::SerializedScriptValueData):
49331        (WebCore::SharedSerializedData::asArray):
49332        (WebCore::SharedSerializedData::asObject):
49333        (WebCore::):
49334        (WebCore::walk):
49335        (WebCore::BaseWalker::BaseWalker):
49336        (WebCore::BaseWalker::shouldTerminate):
49337        (WebCore::BaseWalker::ticksUntilNextCheck):
49338        (WebCore::BaseWalker::didTimeOut):
49339        (WebCore::BaseWalker::throwStackOverflow):
49340        (WebCore::BaseWalker::throwInterruptedException):
49341        (WebCore::SerializingTreeWalker::SerializingTreeWalker):
49342        (WebCore::SerializingTreeWalker::null):
49343        (WebCore::SerializingTreeWalker::isArray):
49344        (WebCore::SerializingTreeWalker::isObject):
49345        (WebCore::SerializingTreeWalker::asInputArray):
49346        (WebCore::SerializingTreeWalker::asInputObject):
49347        (WebCore::SerializingTreeWalker::createOutputArray):
49348        (WebCore::SerializingTreeWalker::createOutputObject):
49349        (WebCore::SerializingTreeWalker::length):
49350        (WebCore::SerializingTreeWalker::canDoFastRead):
49351        (WebCore::SerializingTreeWalker::getIndex):
49352        (WebCore::SerializingTreeWalker::getSparseIndex):
49353        (WebCore::SerializingTreeWalker::getProperty):
49354        (WebCore::SerializingTreeWalker::convertIfTerminal):
49355        (WebCore::SerializingTreeWalker::getPropertyNames):
49356        (WebCore::SerializingTreeWalker::putIndex):
49357        (WebCore::SerializingTreeWalker::putProperty):
49358        (WebCore::SerializingTreeWalker::startArray):
49359        (WebCore::SerializingTreeWalker::endArray):
49360        (WebCore::SerializingTreeWalker::startObject):
49361        (WebCore::SerializingTreeWalker::endObject):
49362        (WebCore::SerializedScriptValueData::serialize):
49363        (WebCore::DeserializingTreeWalker::DeserializingTreeWalker):
49364        (WebCore::DeserializingTreeWalker::null):
49365        (WebCore::DeserializingTreeWalker::isArray):
49366        (WebCore::DeserializingTreeWalker::isObject):
49367        (WebCore::DeserializingTreeWalker::asInputArray):
49368        (WebCore::DeserializingTreeWalker::asInputObject):
49369        (WebCore::DeserializingTreeWalker::createOutputArray):
49370        (WebCore::DeserializingTreeWalker::createOutputObject):
49371        (WebCore::DeserializingTreeWalker::length):
49372        (WebCore::DeserializingTreeWalker::canDoFastRead):
49373        (WebCore::DeserializingTreeWalker::getIndex):
49374        (WebCore::DeserializingTreeWalker::getSparseIndex):
49375        (WebCore::DeserializingTreeWalker::getProperty):
49376        (WebCore::DeserializingTreeWalker::convertIfTerminal):
49377        (WebCore::DeserializingTreeWalker::getPropertyNames):
49378        (WebCore::DeserializingTreeWalker::putIndex):
49379        (WebCore::DeserializingTreeWalker::putProperty):
49380        (WebCore::DeserializingTreeWalker::startArray):
49381        (WebCore::DeserializingTreeWalker::endArray):
49382        (WebCore::DeserializingTreeWalker::startObject):
49383        (WebCore::DeserializingTreeWalker::endObject):
49384        (WebCore::SerializedScriptValueData::deserialize):
49385        (WebCore::TeardownTreeWalker::shouldTerminate):
49386        (WebCore::TeardownTreeWalker::ticksUntilNextCheck):
49387        (WebCore::TeardownTreeWalker::didTimeOut):
49388        (WebCore::TeardownTreeWalker::throwStackOverflow):
49389        (WebCore::TeardownTreeWalker::throwInterruptedException):
49390        (WebCore::TeardownTreeWalker::null):
49391        (WebCore::TeardownTreeWalker::isArray):
49392        (WebCore::TeardownTreeWalker::isObject):
49393        (WebCore::TeardownTreeWalker::asInputArray):
49394        (WebCore::TeardownTreeWalker::asInputObject):
49395        (WebCore::TeardownTreeWalker::createOutputArray):
49396        (WebCore::TeardownTreeWalker::createOutputObject):
49397        (WebCore::TeardownTreeWalker::length):
49398        (WebCore::TeardownTreeWalker::canDoFastRead):
49399        (WebCore::TeardownTreeWalker::getIndex):
49400        (WebCore::TeardownTreeWalker::getSparseIndex):
49401        (WebCore::TeardownTreeWalker::getProperty):
49402        (WebCore::TeardownTreeWalker::convertIfTerminal):
49403        (WebCore::TeardownTreeWalker::getPropertyNames):
49404        (WebCore::TeardownTreeWalker::putIndex):
49405        (WebCore::TeardownTreeWalker::putProperty):
49406        (WebCore::TeardownTreeWalker::startArray):
49407        (WebCore::TeardownTreeWalker::endArray):
49408        (WebCore::TeardownTreeWalker::startObject):
49409        (WebCore::TeardownTreeWalker::endObject):
49410        (WebCore::SerializedScriptValueData::tearDownSerializedData):
49411        * bindings/js/SerializedScriptValue.h: Added.
49412        (WebCore::SharedSerializedData::~SharedSerializedData):
49413        (WebCore::SerializedScriptValueData::):
49414        (WebCore::SerializedScriptValueData::type):
49415        (WebCore::SerializedScriptValueData::~SerializedScriptValueData):
49416        (WebCore::SerializedScriptValueData::SerializedScriptValueData):
49417        (WebCore::SerializedScriptValueData::asImmediate):
49418        (WebCore::SerializedScriptValueData::asDouble):
49419        (WebCore::SerializedScriptValueData::asString):
49420        (WebCore::SerializedScriptValueData::asObject):
49421        (WebCore::SerializedScriptValueData::asArray):
49422        (WebCore::SerializedScriptValueData::operator bool ):
49423        (WebCore::SerializedScriptValueData::release):
49424        (WebCore::SerializedScriptValue::create):
49425        (WebCore::SerializedScriptValue::release):
49426        (WebCore::SerializedScriptValue::toString):
49427        (WebCore::SerializedScriptValue::deserialize):
49428        (WebCore::SerializedScriptValue::~SerializedScriptValue):
49429        (WebCore::SerializedScriptValue::SerializedScriptValue):
49430        * bindings/scripts/CodeGeneratorJS.pm:
49431        * bindings/scripts/CodeGeneratorObjC.pm:
49432        * dom/MessageEvent.cpp:
49433        (WebCore::MessageEvent::MessageEvent):
49434        (WebCore::MessageEvent::initMessageEvent):
49435        * dom/MessageEvent.h:
49436        (WebCore::MessageEvent::create):
49437        (WebCore::MessageEvent::data):
49438        * dom/MessageEvent.idl:
49439        * dom/MessagePort.cpp:
49440        (WebCore::MessagePort::postMessage):
49441        * dom/MessagePort.h:
49442        * dom/MessagePortChannel.cpp:
49443        (WebCore::MessagePortChannel::EventData::create):
49444        (WebCore::MessagePortChannel::EventData::EventData):
49445        * dom/MessagePortChannel.h:
49446        (WebCore::MessagePortChannel::EventData::message):
49447        * page/DOMWindow.cpp:
49448        (WebCore::PostMessageTimer::PostMessageTimer):
49449        (WebCore::DOMWindow::postMessage):
49450        * page/DOMWindow.h:
49451        * page/DOMWindow.idl:
49452        * page/EventSource.cpp:
49453        (WebCore::EventSource::createMessageEvent):
49454        * websockets/WebSocket.cpp:
49455        (WebCore::WebSocket::didReceiveMessage):
49456        * workers/DedicatedWorkerContext.cpp:
49457        (WebCore::DedicatedWorkerContext::postMessage):
49458        * workers/DedicatedWorkerContext.h:
49459        * workers/DedicatedWorkerContext.idl:
49460        * workers/Worker.cpp:
49461        (WebCore::Worker::postMessage):
49462        * workers/Worker.h:
49463        * workers/Worker.idl:
49464        * workers/WorkerContextProxy.h:
49465        * workers/WorkerMessagingProxy.cpp:
49466        (WebCore::MessageWorkerContextTask::create):
49467        (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
49468        (WebCore::MessageWorkerTask::create):
49469        (WebCore::MessageWorkerTask::MessageWorkerTask):
49470        (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
49471        (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
49472        * workers/WorkerMessagingProxy.h:
49473        * workers/WorkerObjectProxy.h:
49474
494752009-10-06  Adam Barth  <abarth@webkit.org>
49476
49477        Unreviewed build fix for Windows.
49478
49479        * plugins/PluginView.cpp:
49480        (WebCore::PluginView::load):
49481
494822009-10-06  Adam Barth  <abarth@webkit.org>
49483
49484        Reviewed by Eric Seidel.
49485
49486        Move FrameLoader::canLoad to SecurityOrigin
49487        https://bugs.webkit.org/show_bug.cgi?id=30111
49488
49489        * WebCore.base.exp:
49490        * html/HTMLMediaElement.cpp:
49491        (WebCore::HTMLMediaElement::isSafeToLoadURL):
49492        * loader/Cache.cpp:
49493        (WebCore::Cache::requestResource):
49494        * loader/FrameLoader.cpp:
49495        (WebCore::FrameLoader::loadSubframe):
49496        (WebCore::FrameLoader::loadPlugin):
49497        (WebCore::FrameLoader::loadFrameRequest):
49498        (WebCore::FrameLoader::loadResourceSynchronously):
49499        (WebCore::FrameLoader::createJavaAppletWidget):
49500        * loader/FrameLoader.h:
49501        * loader/SubresourceLoader.cpp:
49502        (WebCore::SubresourceLoader::create):
49503        * page/SecurityOrigin.cpp:
49504        (WebCore::SecurityOrigin::canLoad):
49505        (WebCore::SecurityOrigin::shouldHideReferrer):
49506        * page/SecurityOrigin.h:
49507
495082009-10-06  Adam Barth  <abarth@webkit.org>
49509
49510        Reviewed by Eric Seidel.
49511
49512        Move setLocalLoadPolicy and friends to SecurityOrigin
49513        https://bugs.webkit.org/show_bug.cgi?id=30110
49514
49515        These have more to do with security policies than with loading frames.
49516
49517        * WebCore.base.exp:
49518        * dom/Document.cpp:
49519        (WebCore::Document::initSecurityContext):
49520        * loader/Cache.cpp:
49521        (WebCore::Cache::requestResource):
49522        * loader/FrameLoader.cpp:
49523        * loader/FrameLoader.h:
49524        * loader/SubresourceLoader.cpp:
49525        (WebCore::SubresourceLoader::create):
49526        * page/SecurityOrigin.cpp:
49527        (WebCore::SecurityOrigin::setLocalLoadPolicy):
49528        (WebCore::SecurityOrigin::restrictAccessToLocal):
49529        (WebCore::SecurityOrigin::allowSubstituteDataAccessToLocal):
49530        * page/SecurityOrigin.h:
49531        (WebCore::SecurityOrigin::):
49532
495332009-10-06  Brian Weinstein  <bweinstein@apple.com>
49534
49535        Reviewed by Brady Eidson.
49536
49537        Preparation for <http://webkit.org/b/30104>.
49538        Inspector should show cookies of sub-resources on the page.
49539        
49540        Implement getRawCookies for CFNetwork for Windows, so we can see more
49541        than just a key/value pair for Cookies when we are on Windows.
49542
49543        * platform/network/win/CookieJarCFNetWin.cpp:
49544        (WebCore::getRawCookies):
49545
495462009-10-06  Dave Hyatt  <hyatt@apple.com>
49547
49548        Reviewed by Adam Roben.
49549
49550        https://bugs.webkit.org/show_bug.cgi?id=30132, make beforeload work with <link> elements and
49551        XML processing instructions.
49552
49553        Fix up ProcessingInstruction's setData call so that it actually updates a stylesheet when the
49554        data gets changed.
49555
49556        Move dispatchBeforeLoadedEvent to ContainerNode so all Elements (and ProcessingInstruction) can
49557        access it.
49558
49559        Added fast/dom/beforeload/link-before-load.html
49560
49561        * dom/ContainerNode.cpp:
49562        (WebCore::ContainerNode::dispatchBeforeLoadEvent):
49563        * dom/ContainerNode.h:
49564        * dom/ProcessingInstruction.cpp:
49565        (WebCore::ProcessingInstruction::checkStyleSheet):
49566        (WebCore::ProcessingInstruction::setData):
49567        * dom/ScriptElement.cpp:
49568        (WebCore::ScriptElementData::requestScript):
49569        * dom/ScriptElement.h:
49570        * dom/XMLTokenizerLibxml2.cpp:
49571        (WebCore::XMLTokenizer::endElementNs):
49572        * html/HTMLLinkElement.cpp:
49573        (WebCore::HTMLLinkElement::parseMappedAttribute):
49574        (WebCore::HTMLLinkElement::process):
49575        * html/HTMLScriptElement.cpp:
49576        (WebCore::HTMLScriptElement::forAttributeValue):
49577        * html/HTMLScriptElement.h:
49578        * svg/SVGScriptElement.cpp:
49579        * svg/SVGScriptElement.h:
49580
495812009-10-06  Simon Fraser  <simon.fraser@apple.com>
49582
49583        Reviewed by Mark Rowe.
49584
49585        accessibility/media-element.html crashes (and has incorrect result)
49586        https://bugs.webkit.org/show_bug.cgi?id=30108
49587
49588        Fix up the accessibilty label for the newly added fullscreen button,
49589        and update the test result accordingly.
49590
49591        * accessibility/AccessibilityMediaControls.cpp:
49592        (WebCore::AccessibilityMediaControl::controlTypeName):
49593
495942009-10-06  Kelly Norton  <knorton@google.com>
49595
49596        Reviewed by Timothy Hatcher.
49597
49598        Fixes <https://bugs.webkit.org/show_bug.cgi?id=30028>
49599        Multiple calls to SetFrontendProxyObject can leave an InspectorTimelineAgent with an invalid
49600        InspectorFrontend.
49601
49602        * inspector/InspectorController.cpp:
49603        (WebCore::InspectorController::setFrontendProxyObject): Adds a check for an existing timeline agent.
49604
496052009-10-06  Antti Koivisto  <antti@apple.com>
49606
49607        Reviewed by Dave Kilzer.
49608
49609        Move textRects to the right category in DOM.mm. Include DOMPrivate.h to ensure that the interfaces match.
49610
49611        * bindings/objc/DOM.mm:
49612        (-[DOMNode textRects]):
49613
496142009-10-06  Benjamin C Meyer  <bmeyer@rim.com>
49615
49616        Reviewed by Ariya Hidayat.
49617        
49618        Match the behavior of other WebKit browser and have the first url of the drag data be the url passed in declareAndWriteDragImage and set the text of the drag data to be the title argument.
49619        
49620        Manual test: Drag the readability js link from http://lab.arc90.com/experiments/readability/
49621        
49622        * platform/qt/ClipboardQt.cpp:
49623        (WebCore::ClipboardQt::declareAndWriteDragImage):
49624
496252009-10-06  Kent Tamura  <tkent@chromium.org>
49626
49627        Reviewed by Darin Adler.
49628
49629        Implement min/max attributes, ValidityState.rangeUnderflow and
49630        ValidityState.rangeOverflow for <input type=number> and <input type=range>
49631        https://bugs.webkit.org/show_bug.cgi?id=29069
49632        
49633        HTMLInputElement::max and min are not defined for COM because they
49634        conflict with the standard min() and max() macros.
49635
49636        Tests: fast/forms/ValidityState-rangeOverflow-number.html
49637               fast/forms/ValidityState-rangeOverflow-range.html
49638               fast/forms/ValidityState-rangeUnderflow-number.html
49639               fast/forms/ValidityState-rangeUnderflow-range.html
49640               fast/forms/input-minmax.html
49641
49642        * html/HTMLInputElement.cpp:
49643        (WebCore::HTMLInputElement::rangeUnderflow):
49644        (WebCore::HTMLInputElement::rangeOverflow):
49645        (WebCore::HTMLInputElement::rangeMinimum):
49646        (WebCore::HTMLInputElement::rangeMaximum):
49647        * html/HTMLInputElement.h:
49648        * html/HTMLInputElement.idl:
49649        * html/ValidityState.cpp:
49650        (WebCore::ValidityState::rangeUnderflow):
49651        (WebCore::ValidityState::rangeOverflow):
49652        * html/ValidityState.h:
49653        * rendering/RenderSlider.cpp:
49654        (WebCore::SliderRange::SliderRange):
49655        (WebCore::SliderRange::valueFromElement):
49656
496572009-10-06  Adam Barth  <abarth@webkit.org>
49658
49659        Reviewed by Eric Seidel.
49660
49661        Move m_openedByDOM to Page
49662        https://bugs.webkit.org/show_bug.cgi?id=30109
49663
49664        We only need one instance of m_openedByDOM per page, we should move it
49665        to a page-scoped object.  Notice that it's only ever touched for the
49666        main frame.
49667
49668        * bindings/js/JSDOMWindowCustom.cpp:
49669        (WebCore::createWindow):
49670        * bindings/v8/custom/V8DOMWindowCustom.cpp:
49671        (WebCore::createWindow):
49672        * loader/FrameLoader.cpp:
49673        * loader/FrameLoader.h:
49674        * page/DOMWindow.cpp:
49675        (WebCore::DOMWindow::close):
49676        * page/Page.cpp:
49677        (WebCore::Page::Page):
49678        (WebCore::Page::openedByDOM):
49679        (WebCore::Page::setOpenedByDOM):
49680        * page/Page.h:
49681
496822009-10-06  Carol Szabo  <carol.szabo@nokia.com>
49683
49684        Reviewed by Ariya Hidayat.
49685
49686        [Qt] Some functions in GraphicsContext do not work
49687        as expected if the associated painter has no clipping.
49688        https://bugs.webkit.org/show_bug.cgi?id=29691
49689
49690        No new tests are associated with this because DumpRenderTree
49691        always sets clipping on the painter, thus it would never hit 
49692        the test case, but fast/box-shadow/basic-shadows.html is a
49693        good example of what happens if the clipping is not set by
49694        the user of QtWebKit.
49695
49696        * platform/graphics/qt/GraphicsContextQt.cpp:
49697        (WebCore::GraphicsContext::clipOut):
49698        (WebCore::GraphicsContext::clipOutEllipseInRect):
49699        Fixed to handle the case that there is no clipping
49700        before the call.
49701
497022009-10-06  Dave Hyatt  <hyatt@apple.com>
49703
49704        Reviewed by Adam Roben.
49705
49706        https://bugs.webkit.org/show_bug.cgi?id=30131, make beforeload fire on script elements.
49707
49708        Added tests in fast/dom/beforeload/.
49709
49710        * dom/ScriptElement.cpp:
49711        (WebCore::ScriptElementData::requestScript):
49712        * dom/ScriptElement.h:
49713        * dom/XMLTokenizerLibxml2.cpp:
49714        (WebCore::XMLTokenizer::endElementNs):
49715        * html/HTMLAttributeNames.in:
49716        * html/HTMLScriptElement.cpp:
49717        (WebCore::HTMLScriptElement::parseMappedAttribute):
49718        (WebCore::HTMLScriptElement::dispatchBeforeLoadEvent):
49719        * html/HTMLScriptElement.h:
49720        * html/HTMLTokenizer.cpp:
49721        (WebCore::HTMLTokenizer::scriptHandler):
49722        * svg/SVGScriptElement.cpp:
49723        (WebCore::SVGScriptElement::dispatchBeforeLoadEvent):
49724        * svg/SVGScriptElement.h:
49725
497262009-10-06  Xan Lopez  <xlopez@igalia.com>
49727
49728        Reviewed by Eric Seidel.
49729
49730        https://bugs.webkit.org/show_bug.cgi?id=25526
49731        [Gtk] Additional support is needed for caret browsing
49732
49733        Enable caret movement commands also when caret browsing setting is
49734        enabled.
49735
49736        * editing/EditorCommand.cpp:
49737        (WebCore::caretBrowsingEnabled):
49738        (WebCore::enabledVisibleSelectionOrCaretBrowsing):
49739        (WebCore::enabledInEditableTextOrCaretBrowsing):
49740        (WebCore::CommandEntry::):
49741        * manual-tests/gtk/caret-browsing.html: Added.
49742
497432009-10-06  Anton Muhin  <antonm@chromium>
49744
49745        Reviewed by Dimitri Glazkov.
49746
49747        Non standard, but popular exetension allows automagically
49748        turn a function into a namespace resolver.  Support that in
49749        Chromium as well.
49750
49751        Adjust CodeGeneratorV8 to treat XPathNSResolver in a special way.
49752        https://bugs.webkit.org/show_bug.cgi?id=30128
49753
49754        * bindings/scripts/CodeGeneratorV8.pm:
49755        * bindings/v8/V8DOMWrapper.h:
49756        (WebCore::V8DOMWrapper::getXPathNSResolver):
49757        * bindings/v8/custom/V8DocumentCustom.cpp:
49758        (WebCore::CALLBACK_FUNC_DECL):
49759
497602009-10-06  Pavel Feldman  <pfeldman@chromium.org>
49761
49762        Reviewed by Timothy Hatcher.
49763
49764        Web Inspector: close inspector client view on
49765        InspectorController::close API call.
49766
49767        In order to run batch web inspector layout tests (and not affect
49768        subsequent tests) we should close inspector client's view upon
49769        InspectorController::close API call.
49770
49771        https://bugs.webkit.org/show_bug.cgi?id=30009
49772
49773        * inspector/InspectorController.cpp:
49774        (WebCore::InspectorController::inspectedPageDestroyed):
49775        (WebCore::InspectorController::close):
49776
497772009-10-06  Simon Hausmann  <simon.hausmann@nokia.com>
49778
49779        Reviewed by Tor Arne Vestbø.
49780
49781        Fix the Qt/Windows build by stubbing out the still image
49782        support for halted plugins for the Qt build.
49783
49784        Bugzilla entry https://bugs.webkit.org/show_bug.cgi?id=30130
49785        tracks removing this by implementing Frame::nodeImage().
49786
49787        * plugins/win/PluginViewWin.cpp:
49788        (WebCore::PluginView::halt):
49789
497902009-10-05  Holger Hans Peter Freyther  <zecke@selfish.org>
49791
49792        Reviewed by Simon Hausmann.
49793
49794        [Qt] Change QImageReader usage in ImageDecoderQt
49795        https://bugs.webkit.org/show_bug.cgi?id=27538
49796
49797        Replace the ReadContext with another appoach to
49798        reading the image. Attempt to only read meta information
49799        like the image size and number of frames (for animations)
49800        first and then when the page is getting drawn decode
49801        the image with the QImageReader.
49802
49803        This is a huge benefit on pages with many images and saves
49804        ~2GB of memory on the szeged image test page.
49805
49806        * platform/graphics/qt/ImageDecoderQt.cpp:
49807        (WebCore::ImageDecoderQt::ImageDecoderQt):
49808        (WebCore::ImageDecoderQt::setData):
49809        (WebCore::ImageDecoderQt::isSizeAvailable):
49810        (WebCore::ImageDecoderQt::frameCount):
49811        (WebCore::ImageDecoderQt::repetitionCount):
49812        (WebCore::ImageDecoderQt::filenameExtension):
49813        (WebCore::ImageDecoderQt::frameBufferAtIndex):
49814        (WebCore::ImageDecoderQt::clearFrameBufferCache):
49815        (WebCore::ImageDecoderQt::internalDecodeSize):
49816        (WebCore::ImageDecoderQt::internalReadImage):
49817        (WebCore::ImageDecoderQt::internalHandleCurrentImage):
49818        (WebCore::ImageDecoderQt::forceLoadEverything):
49819        (WebCore::ImageDecoderQt::failRead):
49820        * platform/graphics/qt/ImageDecoderQt.h:
49821
498222009-10-05  Holger Hans Peter Freyther  <zecke@selfish.org>
49823
49824        Reviewed by Simon Hausmann.
49825
49826        [Qt] Make use of RGBA32Buffer in ImageDecoderQt
49827        https://bugs.webkit.org/show_bug.cgi?id=27538
49828
49829        Use the RGBA32Buffer instead of the internal ImageData
49830        to be able to use support of the base class, optionally
49831        support WebCore decoders for Qt and most importantly
49832        separate metadata and image data for better cache control.
49833
49834        Remove ImageSourceQt as everything is now shared with
49835        the normal ImageSource.
49836
49837        Change the ownership of the NativeImagePtr/QPixmap in
49838        ImageQt.cpp to delete the m_frame to be subject to cache
49839        control.
49840
49841        * WebCore.pro:
49842        * platform/graphics/ImageSource.cpp:
49843        * platform/graphics/qt/ImageDecoderQt.cpp:
49844        (WebCore::ImageDecoderQt::ReadContext::ReadContext):
49845        (WebCore::ImageDecoderQt::ReadContext::read):
49846        (WebCore::ImageDecoderQt::ReadContext::readImageLines):
49847        (WebCore::ImageDecoderQt::ImageDecoderQt):
49848        (WebCore::ImageDecoderQt::setData):
49849        (WebCore::ImageDecoderQt::frameCount):
49850        (WebCore::ImageDecoderQt::frameBufferAtIndex):
49851        (WebCore::ImageDecoderQt::clearFrameBufferCache):
49852        * platform/graphics/qt/ImageDecoderQt.h:
49853        * platform/graphics/qt/ImageSourceQt.cpp: Removed.
49854        * platform/image-decoders/ImageDecoder.h:
49855        (WebCore::RGBA32Buffer::decodedImage):
49856        (WebCore::RGBA32Buffer::getAddr):
49857        * platform/image-decoders/qt/RGBA32BufferQt.cpp: Added.
49858        (WebCore::RGBA32Buffer::RGBA32Buffer):
49859        (WebCore::RGBA32Buffer::setDecodedImage):
49860        (WebCore::RGBA32Buffer::clear):
49861        (WebCore::RGBA32Buffer::zeroFill):
49862        (WebCore::RGBA32Buffer::copyBitmapData):
49863        (WebCore::RGBA32Buffer::setSize):
49864        (WebCore::RGBA32Buffer::asNewNativeImage):
49865        (WebCore::RGBA32Buffer::hasAlpha):
49866        (WebCore::RGBA32Buffer::setHasAlpha):
49867        (WebCore::RGBA32Buffer::setStatus):
49868        (WebCore::RGBA32Buffer::operator=):
49869        (WebCore::RGBA32Buffer::width):
49870        (WebCore::RGBA32Buffer::height):
49871
498722009-10-05  Holger Hans Peter Freyther  <zecke@selfish.org>
49873
49874        Reviewed by Simon Hausmann.
49875
49876        [Qt] ImageDecoderQt avoid QString creation.
49877        https://bugs.webkit.org/show_bug.cgi?id=27538
49878
49879        Avoid going from CString to QString to String
49880        and go directly from CString to String. Also
49881        avoid going to lower case to avoid an extra
49882        memory allocation.
49883
49884        * platform/graphics/qt/ImageDecoderQt.cpp:
49885        (WebCore::ImageDecoder::create):
49886        (WebCore::ImageDecoderQt::ImageDecoderQt):
49887        * platform/graphics/qt/ImageDecoderQt.h:
49888
498892009-10-05  Holger Hans Peter Freyther  <zecke@selfish.org>
49890
49891        Reviewed by Simon Hausmann.
49892
49893        [Qt] Cleanup the ImageDecoder of Qt.
49894        https://bugs.webkit.org/show_bug.cgi?id=27538
49895
49896        Remove the various enums for partial load. The fact is
49897        that this image decoder will decode everything that is
49898        in the file at once. Make it look like it behaves to
49899        ease fixing this core problem.
49900
49901        * platform/graphics/qt/ImageDecoderQt.cpp:
49902        (WebCore::ImageDecoderQt::ImageData::ImageData):
49903        (WebCore::ImageDecoderQt::ReadContext::ReadContext):
49904        (WebCore::ImageDecoderQt::ReadContext::read):
49905        (WebCore::ImageDecoderQt::ReadContext::readImageLines):
49906        (WebCore::ImageDecoderQt::hasFirstImageHeader):
49907        (WebCore::ImageDecoderQt::setData):
49908        * platform/graphics/qt/ImageDecoderQt.h:
49909
499102009-10-04  Holger Hans Peter Freyther  <zecke@selfish.org>
49911
49912        Reviewed by Simon Hausmann.
49913
49914        [Qt] Reimplement instead of overload frameCount in ImageDecoderQt.cpp
49915        https://bugs.webkit.org/show_bug.cgi?id=27538
49916
49917        Reimplement frameCount instead of overloading it.
49918
49919        * platform/graphics/qt/ImageDecoderQt.cpp:
49920        (WebCore::ImageDecoderQt::frameCount):
49921        * platform/graphics/qt/ImageDecoderQt.h:
49922
499232009-10-04  Holger Hans Peter Freyther  <zecke@selfish.org>
49924
49925        Reviewed by Simon Hausmann.
49926
49927        [Qt] QImageReader does not support progressive reading
49928        https://bugs.webkit.org/show_bug.cgi?id=27538
49929
49930        Change the ImageDecoderQt::setData to store the encoded
49931        data in ImageDecoder.
49932
49933        Only call ReadContext when the whole Resource has been
49934        loaded to avoid needless calls to reset and the
49935        ReadContext as progressive loading is not supported.
49936
49937        * platform/graphics/qt/ImageDecoderQt.cpp:
49938        (WebCore::ImageDecoderQt::setData):
49939        * platform/graphics/qt/ImageDecoderQt.h:
49940
499412009-10-04  Holger Hans Peter Freyther  <zecke@selfish.org>
49942
49943        Reviewed by Simon Hausmann.
49944
49945        [Qt] Remove dead code from ImageDecoderQt
49946        https://bugs.webkit.org/show_bug.cgi?id=27538
49947
49948        Remove unused variables and debugging code. The debug
49949        code has never been used and does not provide anything
49950        useful.
49951
49952        * platform/graphics/qt/ImageDecoderQt.cpp:
49953        (WebCore::ImageDecoderQt::ReadContext::read):
49954        (WebCore::ImageDecoderQt::ReadContext::readImageLines):
49955        (WebCore::ImageDecoderQt::setData):
49956        (WebCore::ImageDecoderQt::isSizeAvailable):
49957        (WebCore::ImageDecoderQt::frameCount):
49958        (WebCore::ImageDecoderQt::repetitionCount):
49959        (WebCore::ImageDecoderQt::filenameExtension):
49960        (WebCore::ImageDecoderQt::imageAtIndex):
49961
499622009-10-06  Philippe Normand  <pnormand@igalia.com>
49963
49964        Reviewed by Xan Lopez.
49965
49966        [GTK] segfault when calling gst_video_format_parse_caps in the video sink
49967        https://bugs.webkit.org/show_bug.cgi?id=30120
49968
49969        Fix use of gst_video_format_parse_caps()
49970
49971        * platform/graphics/gtk/VideoSinkGStreamer.cpp:
49972        (webkit_video_sink_idle_func):
49973
499742009-10-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
49975
49976        Reviewed by Simon Hausmann.
49977
49978        [Qt] Update mediaControls CSS
49979
49980        * css/mediaControlsQt.css:
49981
499822009-10-06  Pavel Feldman  <pfeldman@chromium.org>
49983
49984        Reviewed by Timothy Hatcher.
49985
49986        Web Inspector: Get rid of Preferences.ignoreWhitespace.
49987
49988        https://bugs.webkit.org/show_bug.cgi?id=30092
49989
49990        * inspector/front-end/DOMAgent.js:
49991        (WebInspector.DOMAgent):
49992        (WebInspector.DOMAgent.prototype._childNodeCountUpdated):
49993        * inspector/front-end/ElementsTreeOutline.js:
49994        (WebInspector.ElementsTreeOutline.prototype.update):
49995        (WebInspector.ElementsTreeElement):
49996        (WebInspector.ElementsTreeElement.prototype.onpopulate):
49997        (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
49998        (WebInspector.ElementsTreeElement.prototype._updateChildren):
49999        * inspector/front-end/TextPrompt.js:
50000        (WebInspector.TextPrompt.prototype.isCaretAtEndOfPrompt):
50001        * inspector/front-end/inspector.js:
50002        * inspector/front-end/utilities.js:
50003        (Node.prototype.rangeOfWord):
50004        (traverseNextNode):
50005        (traversePreviousNode):
50006        (onlyTextChild):
50007
500082009-10-06  Pavel Feldman  <pfeldman@chromium.org>
50009
50010        Reviewed by Timothy Hatcher.
50011
50012        Web Inspector: Do not call nodeTitleInfo twice +
50013        followup fixes for r49101.
50014
50015        https://bugs.webkit.org/show_bug.cgi?id=30087
50016
50017        * inspector/front-end/ElementsTreeOutline.js:
50018        (WebInspector.ElementsTreeElement):
50019
500202009-10-06  Girish Ramakrishnan  <girish@forwardbias.in>
50021
50022        Reviewed by Simon Hausmann.
50023
50024        [Qt] Windowless plugins: Enable painting on printer.
50025
50026        The print preview dialog crashed because the depth of the drawable
50027        changed owing to a bug in Qt - if you draw onto a 32-bit pixmap,
50028        and set a 24-bit pixmap as source, it will convert the source to
50029        32-bit.
50030
50031        1210fa5b2d65895ad2be1f9ca7cae586e3b29dc1 is the bug fix in Qt.
50032
50033        https://bugs.webkit.org/show_bug.cgi?id=20081
50034
50035        * plugins/qt/PluginViewQt.cpp:
50036        (WebCore::PluginView::paint):
50037
500382009-10-06  Girish Ramakrishnan  <girish@forwardbias.in>
50039
50040        Reviewed by Simon Hausmann.
50041
50042        [Qt] Windowless plugins: Make painting and events work when page is zoomed.
50043
50044        The element gets resized when zoomed. So, we have to make sure that we resize
50045        the drawable and do a setwindow call. Multiple calls to setwindow do not
50046        crash plugin in windowless mode (unlike in windowed mode).
50047
50048        For mouse events we have to convert the pos to post-zoom position.
50049
50050        https://bugs.webkit.org/show_bug.cgi?id=20081
50051
50052        * plugins/qt/PluginViewQt.cpp:
50053        (WebCore::setXButtonEventSpecificFields):
50054        (WebCore::setXMotionEventSpecificFields):
50055        (WebCore::setXCrossingEventSpecificFields):
50056        (WebCore::PluginView::handleMouseEvent):
50057        (WebCore::PluginView::setNPWindowIfNeeded):
50058
500592009-10-06  Girish Ramakrishnan  <girish@forwardbias.in>
50060
50061        Reviewed by Simon Hausmann.
50062
50063        [Qt] Windowless plugins: Add PluginQuirkRequiresDefaultScreenDepth quirk for Flash.
50064
50065        Flash does not use the visual provided by us to draw into the drawable.
50066        It instead uses the system default visual (as returned by XDefaultVisual).
50067        This means that if the screen default visual is 24-bit, Flash won't be
50068        able to draw on 32-bit drawable created by us. This is a bug in Flash
50069        and for the moment, the above quirk is only set for Flash.
50070
50071        Our strategy to create the drawable:
50072        1. Create a 32-bit drawable if the default screen depth is 32 or the
50073        quirk is not set (i.e not flash)
50074        2. If we didn't create a 32-bit drawable (maybe the Display has no such
50075        visual), we create a drawable with default screen depth.
50076
50077        As a result of the above changes, content propagation behavior changes as:
50078        1. Content propagation is possible only if the drawable we create and
50079        Qt's backing store are of the same depth.
50080        2. If we created a 32-bit drawable, there is no need for content
50081        propagation (Qt will take care of it).
50082
50083        https://bugs.webkit.org/show_bug.cgi?id=20081
50084
50085        * plugins/PluginPackage.cpp:
50086        (WebCore::PluginPackage::determineQuirks):
50087        * plugins/PluginQuirkSet.h:
50088        (WebCore::):
50089        * plugins/PluginView.cpp:
50090        (WebCore::PluginView::PluginView):
50091        * plugins/PluginView.h:
50092        * plugins/qt/PluginViewQt.cpp:
50093        (WebCore::PluginView::updatePluginWidget):
50094        (WebCore::PluginView::paint):
50095        (WebCore::getVisualAndColormap):
50096        (WebCore::PluginView::platformStart):
50097        (WebCore::PluginView::platformDestroy):
50098
500992009-10-06  Fumitoshi Ukai  <ukai@chromium.org>
50100
50101        Reviewed by Ariya Hidayat.
50102
50103        Qt build fix.
50104        https://bugs.webkit.org/show_bug.cgi?id=29362.
50105
50106        In Qt 4.5, a new function QPainter::fillRect(QRect, QColor) is
50107        introduced to avoid the expensive construction of QBrush.
50108        By casting WebCore::Color to QColor, we can compile on Qt 4.4
50109        and use optimization for solid color fill in Qt 4.5.
50110
50111        * platform/graphics/qt/GraphicsContextQt.cpp:
50112        (WebCore::GraphicsContext::drawRect):
50113        (WebCore::GraphicsContext::drawLine):
50114        (WebCore::drawBorderlessRectShadow):
50115
501162009-10-05  Andrei Popescu  <andreip@google.com>
50117
50118        Reviewed by Eric Carlson.
50119
50120        Allow the platform media player to know the <video> poster URL.
50121        Add MediaPlayerPrivate::prepareToPlay() to support media engines
50122        that do not buffer video data automatically. This method allows
50123        such media engines to start the buffering just before starting
50124        playback.
50125        https://bugs.webkit.org/show_bug.cgi?id=29133
50126
50127        All platforms that currently implement <video> return false
50128        in MediaPlayerPrivate::canLoadPoster() and do nothing in
50129        MediaPlayerPrivate::prepareToPlay() their behavior is
50130        unchanged. The current set of media test should then be
50131        sufficient to guarantee that this patch does not break anything.
50132
50133        * html/HTMLMediaElement.cpp:
50134        (WebCore::HTMLMediaElement::loadResource):
50135        After the MediaPlayer is created, inform it what the poster URL is.
50136        (WebCore::HTMLMediaElement::updatePlayState):
50137        Add another case where prepareToPlay is called for the platforms
50138        that do not buffer video content automatically.
50139        (WebCore::HTMLMediaElement::couldPlayIfEnoughData)
50140        Same as potentiallyPlaying, except that we don't check for
50141        the readyState being at least HAVE_FUTURE_DATA.
50142        * platform/graphics/MediaPlayer.cpp:
50143        (WebCore::NullMediaPlayerPrivate::canLoadPoster):
50144        Empty implementation for the NullMediaPlayerPrivate.
50145        (WebCore::NullMediaPlayerPrivate::setPoster):
50146        Empty implementation for the NullMediaPlayerPrivate.
50147        (WebCore::MediaPlayer::canLoadPoster):
50148        Proxy to the m_private.
50149        (WebCore::MediaPlayer::setPoster):
50150        Proxy to m_private.
50151        * platform/graphics/MediaPlayer.h:
50152        * platform/graphics/MediaPlayerPrivate.h:
50153        (WebCore::MediaPlayerPrivateInterface::canLoadPoster):
50154        (WebCore::MediaPlayerPrivateInterface::setPoster):
50155        Add new methods that allow the platform player to receive the poster URL.
50156        (WebCore::MediaPlayerPrivateInterface::prepareToPlay):
50157        Notifies the media engine that playback should start. The media engine
50158        should start preparing (e.g. by initializing the player and starting to buffer)
50159        and call back when the state is changed to HAVE_FUTURE_DATA.
50160
501612009-10-06  David Levin  <levin@chromium.org>
50162
50163        Reviewed by Oliver Hunt.
50164
50165        StringImpl needs a method to get an instance for another thread which doesn't copy the underlying buffer.
50166        https://bugs.webkit.org/show_bug.cgi?id=30095
50167
50168        All String::copy methods were changed to call either threadsafeCopy or crossThreadString. The method
50169        call was made threadsafeCopy unless I could show that threadsafety wasn't needed.
50170
50171        No visible change in functionality so no new tests.
50172
50173        * dom/MessagePortChannel.cpp:
50174        (WebCore::MessagePortChannel::EventData::EventData):
50175        * loader/WorkerThreadableLoader.cpp:
50176        (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
50177        * loader/icon/IconDatabase.cpp:
50178        (WebCore::IconDatabase::open):
50179        (WebCore::IconDatabase::iconForPageURL):
50180        (WebCore::IconDatabase::iconURLForPageURL):
50181        (WebCore::IconDatabase::retainIconForPageURL):
50182        (WebCore::IconDatabase::releaseIconForPageURL):
50183        (WebCore::IconDatabase::setIconDataForIconURL):
50184        (WebCore::IconDatabase::setIconURLForPageURL):
50185        (WebCore::IconDatabase::databasePath):
50186        (WebCore::IconDatabase::defaultDatabaseFilename):
50187        * page/SecurityOrigin.cpp:
50188        (WebCore::SecurityOrigin::SecurityOrigin): Since this is used by SecurityOrigin::threadsafeCopy,
50189        it makes threadsafe calls.
50190        (WebCore::SecurityOrigin::threadsafeCopy): The only place that called this
50191        needed a threadsafe method.
50192        * page/SecurityOrigin.h:
50193        * platform/CrossThreadCopier.cpp:
50194        (WebCore::::copy):
50195        * platform/KURL.cpp:
50196        (WebCore::KURL::copy):
50197        * platform/network/HTTPHeaderMap.cpp:
50198        (WebCore::HTTPHeaderMap::copyData):
50199        * platform/network/ResourceErrorBase.cpp:
50200        (WebCore::ResourceErrorBase::copy):
50201        * platform/network/ResourceRequestBase.cpp:
50202        (WebCore::ResourceRequestBase::copyData):
50203        * platform/network/ResourceResponseBase.cpp:
50204        (WebCore::ResourceResponseBase::copyData):
50205        * platform/sql/SQLValue.cpp:
50206        (WebCore::SQLValue::SQLValue):
50207        (WebCore::SQLValue::string):
50208        * platform/sql/SQLValue.h:
50209        (WebCore::SQLValue::SQLValue):
50210        All constructors now initialize the m_number which is a double. Failure to
50211        do so can result in unexpected crashes when it is copied in the copy constructor.
50212        See http://blogs.msdn.com/oldnewthing/archive/2008/07/02/8679191.aspx, I was that colleague.
50213        * platform/text/PlatformString.h:
50214        * platform/text/String.cpp:
50215        (WebCore::String::threadsafeCopy):
50216        (WebCore::String::crossThreadString):
50217        * platform/text/StringImpl.cpp:
50218        Removed StringImpl::substringCopy which was no longer being used anywhere.
50219        (WebCore::StringImpl::threadsafeCopy): Changed the name to indicate that
50220        it is threadsafe.
50221        (WebCore::StringImpl::crossThreadString): The way to get strings for
50222        another thread which is not threadsafe. This shares the underlying buffer
50223        with both strings and gives them a way to do threadsafe refcounting for it.
50224        * platform/text/StringImpl.h:
50225        * storage/ChangeVersionWrapper.cpp:
50226        (WebCore::ChangeVersionWrapper::ChangeVersionWrapper):
50227        * storage/Database.cpp:
50228        (WebCore::updateGuidVersionMap):
50229        (WebCore::Database::Database):
50230        (WebCore::Database::getVersionFromDatabase):
50231        (WebCore::Database::setVersionInDatabase):
50232        (WebCore::Database::version):
50233        (WebCore::Database::setExpectedVersion):
50234        (WebCore::Database::securityOriginCopy):
50235        (WebCore::Database::stringIdentifier):
50236        * storage/DatabaseTracker.cpp:
50237        (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
50238        * storage/OriginQuotaManager.cpp:
50239        (WebCore::OriginQuotaManager::addDatabase):
50240        * storage/SQLError.h:
50241        (WebCore::SQLError::message):
50242        (WebCore::SQLError::SQLError):
50243        * storage/SQLStatement.cpp:
50244        (WebCore::SQLStatement::SQLStatement):
50245        * storage/StorageAreaSync.cpp:
50246        (WebCore::StorageAreaSync::syncTimerFired):
50247        * storage/StorageMap.cpp:
50248        (WebCore::StorageMap::importItem):
50249        * storage/StorageNamespaceImpl.cpp:
50250        (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
50251        * storage/StorageSyncManager.cpp:
50252        (WebCore::StorageSyncManager::StorageSyncManager):
50253        * workers/DefaultSharedWorkerRepository.cpp:
50254        (WebCore::SharedWorkerProxy::url): Do the copy of the url in a way that is threadsafe.
50255        (WebCore::SharedWorkerProxy::name):
50256        (WebCore::SharedWorkerProxy::SharedWorkerProxy):
50257        (WebCore::DefaultSharedWorkerRepository::getProxy): Do the copy of the url in a way that is threadsafe.
50258        * workers/SharedWorkerThread.cpp:
50259        (WebCore::SharedWorkerThread::SharedWorkerThread):
50260        * workers/WorkerMessagingProxy.cpp:
50261        (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
50262        (WebCore::MessageWorkerTask::MessageWorkerTask):
50263        (WebCore::WorkerExceptionTask::WorkerExceptionTask):
50264        * workers/WorkerRunLoop.cpp:
50265        (WebCore::WorkerRunLoop::Task::Task):
50266        (WebCore::WorkerRunLoop::postTaskForMode):
50267        * workers/WorkerThread.cpp:
50268        (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
50269
502702009-10-06  Girish Ramakrishnan  <girish@forwardbias.in>
50271
50272        Reviewed by Simon Hausmann.
50273
50274        [Qt] Windowless plugins: Use X Pixmap instead of QPixmap.
50275
50276        This has the following advantages:
50277        1. Allows more sharing of code between gtk and Qt ports in the future
50278        2. QPixmap creates 24-bit by default. We have to later 'upgrade' it to 32-bit.
50279        3. QPixmap may sometime change depth behind our back! This will require us to
50280        update the plugin about the new visual and colormap.
50281        4. We cannot ensure that QPixmap is backed by a X Drawable. For example, with
50282        -graphicssystem raster, QPixmap uses the raster (image) backend.
50283
50284        https://bugs.webkit.org/show_bug.cgi?id=20081
50285
50286        * plugins/PluginView.cpp:
50287        (WebCore::PluginView::PluginView):
50288        * plugins/PluginView.h:
50289        * plugins/qt/PluginViewQt.cpp:
50290        (WebCore::PluginView::updatePluginWidget):
50291        (WebCore::PluginView::paint):
50292        (WebCore::PluginView::platformDestroy):
50293
502942009-10-06  Girish Ramakrishnan  <girish@forwardbias.in>
50295
50296        Reviewed by Simon Hausmann.
50297
50298        [Qt] Add support for windowless NPAPI plugins
50299
50300        https://bugs.webkit.org/show_bug.cgi?id=20081
50301
50302        * plugins/PluginView.cpp:
50303        (WebCore::PluginView::setFrameRect):
50304        (WebCore::PluginView::handleEvent):
50305        (WebCore::PluginView::PluginView):
50306        * plugins/PluginView.h:
50307        * plugins/qt/PluginViewQt.cpp:
50308        (WebCore::PluginView::updatePluginWidget):
50309        (WebCore::PluginView::paint):
50310        (WebCore::PluginView::dispatchNPEvent):
50311        (WebCore::setSharedXEventFields):
50312        (WebCore::PluginView::initXEvent):
50313        (WebCore::setXKeyEventSpecificFields):
50314        (WebCore::PluginView::handleKeyboardEvent):
50315        (WebCore::inputEventState):
50316        (WebCore::setXButtonEventSpecificFields):
50317        (WebCore::setXMotionEventSpecificFields):
50318        (WebCore::setXCrossingEventSpecificFields):
50319        (WebCore::PluginView::handleMouseEvent):
50320        (WebCore::PluginView::handleFocusInEvent):
50321        (WebCore::PluginView::handleFocusOutEvent):
50322        (WebCore::PluginView::setNPWindowRect):
50323        (WebCore::PluginView::setNPWindowIfNeeded):
50324        (WebCore::PluginView::getValueStatic):
50325        (WebCore::PluginView::invalidateRect):
50326        (WebCore::PluginView::invalidateRegion):
50327        (WebCore::PluginView::forceRedraw):
50328        (WebCore::getPluginDisplay):
50329        (WebCore::PluginView::platformStart):
50330
503312009-10-05  Dirk Schulze  <krit@webkit.org>
50332
50333        Reviewed by Nikolas Zimmermann.
50334
50335        SVG Filters do not support source images besides "sourceGraphic"
50336        [https://bugs.webkit.org/show_bug.cgi?id=6022]
50337
50338        Add support for SourceAlpha to SVG filters.
50339
50340        Test: svg/filters/sourceAlpha.svg
50341
50342        * platform/graphics/filters/SourceAlpha.cpp:
50343        (WebCore::SourceAlpha::calculateEffectRect):
50344        (WebCore::SourceAlpha::apply):
50345        * platform/graphics/filters/SourceAlpha.h:
50346
503472009-10-05  John Abd-El-Malek  <jam@chromium.org>
50348
50349        Reviewed by Adam Barth.
50350
50351        Fix reliablity bot crash in DateExtension.
50352        https://bugs.webkit.org/show_bug.cgi?id=30033
50353
50354        There were a few problems using the weak persistent pointers because no one else had a
50355        handle to them.  The new approach stores them as a hidden value on the Date constructor.
50356
50357        * bindings/v8/DateExtension.cpp:
50358        (WebCore::DateExtension::setAllowSleep):
50359        (WebCore::DateExtension::GetNativeFunction):
50360        (WebCore::DateExtension::Setup):
50361        (WebCore::DateExtension::OnSleepDetected):
50362        * bindings/v8/DateExtension.h:
50363        * bindings/v8/V8HiddenPropertyName.cpp:
50364        (WebCore::V8HiddenPropertyName::sleepFunction):
50365        * bindings/v8/V8HiddenPropertyName.h:
50366
503672009-10-05  Stephanie Lewis  <slewis@apple.com>
50368
50369        Reviewed by Dan Bernstein.
50370
50371        Crash when trying to load a null stylesheet for a site specific hack. 
50372        https://bugs.webkit.org/show_bug.cgi?id=30105
50373
50374        Created a testcase and tested in browser.  DRT doesn't test
50375        site specific hacks.
50376
50377        * html/HTMLLinkElement.cpp:
50378        (WebCore::HTMLLinkElement::setCSSStyleSheet):
50379
503802009-10-05  James Robinson  <jamesr@google.com>
50381
50382        Reviewed by Darin Adler.
50383
50384        Fix forward declaration (struct vs class mismatch)
50385
50386        https://bugs.webkit.org/show_bug.cgi?id=30094
50387
50388        * loader/RedirectScheduler.h:
50389
503902009-10-05  Julie Parent  <jparent@chromium.org>
50391
50392        Unreviewed, last Chromium build fix corresponding to revision 49113.
50393        Add include for BeforeLoadEvent to DOMObjectsInclude.h.
50394
50395        * bindings/v8/DOMObjectsInclude.h:
50396
503972009-10-05  Simon Fraser  <simon.fraser@apple.com>
50398
50399        Fix Windows build.
50400
50401        * html/HTMLMediaElement.cpp:
50402
504032009-10-05  Simon Fraser  <simon.fraser@apple.com>
50404
50405        Fix the build: MediaControllerThemeQT was renamed to MediaControllerThemeQuickTime.
50406
50407        * rendering/RenderThemeMac.mm:
50408        (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
50409
504102009-10-05  Pierre d'Herbemont  <pdherbemont@webkit.org>
50411
50412        Reviewed by Simon Fraser
50413        
50414        Support fullscreen in MediaPlayer (Mac)
50415        https://bugs.webkit.org/show_bug.cgi?id=26742
50416
50417        Add a fullscreen button to the <video> controller if the media engine,
50418        and the theme have support for fullscreen, and can show appropriate controls.
50419        Clicking the button calls through the ChromeClient to the WebVideoFullscreenController
50420        in WebKit to do a nice animation to fullscreen, with a custom controller.
50421
50422        * DerivedSources.make:
50423        * WebCore.Video.exp: Added.
50424        New export file for when VIDEO is enabled.
50425        
50426        * WebCore.base.exp: Export WebCore::HTMLNames::videoTag
50427        * WebCore.xcodeproj/project.pbxproj: New files
50428        
50429        * html/HTMLMediaElement.h:
50430        * html/HTMLMediaElement.cpp:
50431        (WebCore::HTMLMediaElement::HTMLMediaElement):
50432        (WebCore::HTMLMediaElement::willRemove):
50433        (WebCore::HTMLMediaElement::screenRect):
50434        (WebCore::HTMLMediaElement::enterFullscreen):
50435        (WebCore::HTMLMediaElement::exitFullscreen):
50436        (WebCore::HTMLMediaElement::platformMedia):
50437        Add fullscreen logic. platformMedia returns a pointer to platform-specific playback data
50438        used for fullscreen.
50439        
50440        * html/HTMLVideoElement.h:
50441        * html/HTMLVideoElement.cpp:
50442        (WebCore::HTMLVideoElement::supportsFullscreen): Check with both the player and the ChromeClient
50443        to see if it's possile to enter fullscreen for this element.
50444        
50445        * page/ChromeClient.h:
50446        (WebCore::ChromeClient::supportsFullscreenForNode):
50447        (WebCore::ChromeClient::enterFullscreenForNode):
50448        (WebCore::ChromeClient::exitFullscreenForNode):
50449        New methods
50450        
50451        * platform/graphics/MediaPlayer.h:
50452        * platform/graphics/MediaPlayer.cpp:
50453        (WebCore::NullMediaPlayerPrivate::platformMedia):
50454        (WebCore::MediaPlayer::platformMedia):
50455        * platform/graphics/MediaPlayerPrivate.h:
50456        (WebCore::MediaPlayerPrivateInterface::platformMedia):
50457        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
50458        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
50459        (WebCore::MediaPlayerPrivate::platformMedia):
50460        (WebCore::MediaPlayerPrivate::supportsFullscreen):
50461        New methods to return platform-specific playback data for fullscreen.
50462        
50463        * rendering/MediaControlElements.cpp:
50464        (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
50465        Hook up the fullscreen button.
50466        * rendering/RenderThemeMac.h:
50467        * rendering/RenderThemeMac.mm:
50468        (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
50469        Allow the RenderThemeMac to make a decision about the availability of fullscreen based
50470        on the QuickTime version, since this affects what controls are availabl.e
50471
504722009-10-05  Kevin Decker  <kdecker@apple.com>
50473
50474        Export a few more methods from Settings.h
50475        
50476        Rubberstamped by Jon Honeycutt.
50477        
50478        * WebCore.base.exp:
50479
504802009-10-05  Dmitry Titov  <dimich@chromium.org>
50481
50482        Reviewed by Darin Adler.
50483
50484        1-char fix for obviously reverse condition.
50485        https://bugs.webkit.org/show_bug.cgi?id=30100
50486        No test since the only difference is a timing of GC.
50487
50488        * bindings/js/ScriptCachedFrameData.cpp:
50489        (WebCore::ScriptCachedFrameData::clear): Revert condition. Almost a typo.
50490
504912009-09-30  Kenneth Russell  <kbr@google.com>
50492
50493        Reviewed by Darin Fisher.
50494
50495        Update platform-specific #ifdefs in GraphicsContext3D.h for the
50496        Chromium port.
50497        https://bugs.webkit.org/show_bug.cgi?id=29936
50498
50499        * platform/graphics/GraphicsContext3D.h:
50500        Changed #if PLATFORM(SKIA) to #if PLATFORM(CHROMIUM).
50501
505022009-10-05  Dan Bernstein  <mitz@apple.com>
50503
50504        Reviewed by Darin Adler.
50505
50506        REGRESSION (r47440): Inserting text in the middle of content in a scrolled textfield results in painting bugs
50507        <rdar://problem/7269108>
50508        https://bugs.webkit.org/show_bug.cgi?id=29982
50509
50510        Test: fast/repaint/line-in-scrolled-clipped-block.html
50511
50512        * rendering/RenderBlock.cpp:
50513        (WebCore::RenderBlock::layoutBlock): Use the unclipped overflow rect
50514        (including layout overflow) for the repaint rect calculation.
50515
505162009-10-05  Drew Wilson  <atwilson@google.com>
50517
50518        Reviewed by David Levin.
50519
50520        Chromium wants to turn off SharedWorkers at runtime
50521        https://bugs.webkit.org/show_bug.cgi?id=29757
50522
50523        * bindings/js/JSDOMWindowCustom.cpp:
50524        (WebCore::JSDOMWindow::sharedWorker):
50525        Now returns jsUndefined if isAvailable() returns false, to allow SharedWorkers to be disabled at runtime.
50526        * workers/DefaultSharedWorkerRepository.cpp:
50527        (WebCore::SharedWorkerRepository::isAvailable):
50528        Made SharedWorkers available by default.
50529        * workers/SharedWorkerRepository.h:
50530        Added definition for SharedWorkerRepository::isAvailable().
50531
505322009-10-05  Hironori Bono  <hbono@chromium.org>
50533
50534        Reviewed by Eric Seidel.
50535
50536        A super quick fix for Bug 28710.
50537
50538        https://bugs.webkit.org/show_bug.cgi?id=28710
50539
50540        This change just resets the style sent to addStyleMarkup() to avoid an assertion error
50541        and creates an empty style when computedStyleAtPosition is 0 to avoid a crash.
50542        (This change is nothing but a better-than-crash change.)
50543
50544        Tests: editing/selection/select-crash-001.html
50545               editing/selection/select-crash-002.html
50546
50547        * editing/ApplyStyleCommand.cpp:
50548        (WebCore::editingStyleAtPosition): Resets the style sent to addStyleMarkup() if it is not valid.
50549        * editing/markup.cpp:
50550        (WebCore::createMarkup): Creates an empty style if computedStyleAtPosition is 0.
50551
505522009-10-05  Sam Weinig  <sam@webkit.org>
50553
50554        Reviewed by Mark Rowe.
50555
50556        Silence duplicate errors logged for missing getComputedStyle
50557        implementations. Improves the error message as well.
50558
50559        * css/CSSComputedStyleDeclaration.cpp:
50560        (WebCore::logUnimplementedPropertyID):
50561        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
50562
505632009-10-05  Julie Parent  <jparent@chromium.org>
50564
50565        Unreviewed, Chromium build fix #3.  Add V8BeforeLoadEvent.[cc|h] to derived sources.
50566
50567        * bindings/v8/DerivedSourcesAllInOne.cpp:
50568        * bindings/v8/V8Index.cpp:
50569
505702009-10-05  Mark Rowe  <mrowe@apple.com>
50571
50572        Try and fix the GTK build.
50573
50574        * GNUmakefile.am:
50575
505762009-10-05  Julie Parent  <jparent@chromium.org>
50577
50578        Unreviewed, Chromium build fix #2.  Add new BEFORELOADEVENT to V8ClassIndex.
50579
50580        * bindings/v8/V8Index.h:
50581
505822009-10-05  Julie Parent  <jparent@chromium.org>
50583
50584        Unreviewed, Chromium build fix.  Missing "," after entry for BeforeLoadEvent.idl. 
50585
50586        * WebCore.gypi:
50587
505882009-10-05  Dave Hyatt  <hyatt@apple.com>
50589
50590        Reviewed by Sam Weinig.
50591
50592        Add a beforeload event that will be fired before subresources load. (It isn't fired yet.)  The event
50593        has one field, the URL that is going to be requested.  Setting preventDefault will stop the load
50594        from occurring.
50595
50596        * DerivedSources.cpp:
50597        * DerivedSources.make:
50598        * WebCore.gypi:
50599        * WebCore.vcproj/WebCore.vcproj:
50600        * WebCore.xcodeproj/project.pbxproj:
50601        * dom/BeforeLoadEvent.h: Added.
50602        (WebCore::BeforeLoadEvent::create):
50603        (WebCore::BeforeLoadEvent::initBeforeLoadEvent):
50604        (WebCore::BeforeLoadEvent::url):
50605        (WebCore::BeforeLoadEvent::BeforeLoadEvent):
50606        * dom/BeforeLoadEvent.idl: Added.
50607        * dom/EventNames.h:
50608        * page/DOMWindow.idl:
50609
506102009-10-05  Priit Laes  <plaes@plaes.org>
50611
50612        Reviewed by Gustavo Noronha.
50613
50614        Add Gentoo-specific paths for searching browser plugins.
50615        https://bugs.webkit.org/show_bug.cgi?id=30088
50616
50617        * plugins/PluginDatabase.cpp:
50618        (WebCore::PluginDatabase::defaultPluginDirectories):
50619
506202009-10-02  Chris Marrin  <cmarrin@apple.com>
50621
50622        Reviewed by Adele Peterson.
50623
50624        Add functionality to pause/throttle CSS transitions/animations in a WebView
50625        https://bugs.webkit.org/show_bug.cgi?id=29942
50626
50627        Exporting call from AnimationController
50628
50629        * WebCore.base.exp:
50630
506312009-10-05  Kevin Decker  <kdecker@apple.com>
50632
50633        Rubberstamped by Anders Carlsson.
50634        
50635        * WebCore.base.exp: Update export of HaltablePlugin/PluginHalterClient.
50636        * WebCore.xcodeproj/project.pbxproj: Likewise.
50637
506382009-10-05  Eric Seidel  <eric@webkit.org>
50639
50640        No review, rolling out r49104.
50641        http://trac.webkit.org/changeset/49104
50642
50643        * html/HTMLInputElement.cpp:
50644        * html/HTMLInputElement.h:
50645        * html/HTMLInputElement.idl:
50646        * html/ValidityState.cpp:
50647        * html/ValidityState.h:
50648        (WebCore::ValidityState::rangeUnderflow):
50649        (WebCore::ValidityState::rangeOverflow):
50650        * rendering/RenderSlider.cpp:
50651        (WebCore::SliderRange::SliderRange):
50652        (WebCore::SliderRange::valueFromElement):
50653
506542009-10-05  Kent Tamura  <tkent@chromium.org>
50655
50656        Reviewed by Eric Seidel.
50657
50658        Update style immediately when validation-related values are updated.
50659        https://bugs.webkit.org/show_bug.cgi?id=28868
50660
50661        In order to apply :valid, :invalid, :optional or :required lively,
50662          - call setNeedsStyleRecalc() when properties which can change
50663            willValidate state are updated, and
50664             (Parent form element, name, disabled, readonly)
50665          - call updateValidity() when properties which can change validity
50666            state are updated. (value, pattern, required)
50667
50668        Tests: fast/forms/input-live-pseudo-selectors.html
50669               fast/forms/textarea-live-pseudo-selectors.html
50670
50671        * html/HTMLFormControlElement.cpp:
50672        (WebCore::HTMLFormControlElement::HTMLFormControlElement):
50673        (WebCore::HTMLFormControlElement::parseMappedAttribute):
50674        (WebCore::HTMLFormControlElement::required):
50675        (WebCore::HTMLFormControlElement::updateValidity):
50676        * html/HTMLFormControlElement.h:
50677        * html/HTMLInputElement.cpp:
50678        (WebCore::HTMLInputElement::setInputType):
50679        (WebCore::HTMLInputElement::parseMappedAttribute):
50680        (WebCore::HTMLInputElement::setValue):
50681        (WebCore::HTMLInputElement::setValueFromRenderer):
50682        (WebCore::HTMLInputElement::setFileListFromRenderer):
50683        * html/HTMLTextAreaElement.cpp:
50684        (WebCore::HTMLTextAreaElement::setValue):
50685        * rendering/RenderTextControlMultiLine.cpp:
50686        (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
50687
506882009-10-05  Kent Tamura  <tkent@chromium.org>
50689
50690        Reviewed by Darin Adler.
50691
50692        Implement min/max attributes, ValidityState.rangeUnderflow and
50693        ValidityState.rangeOverflow for <input type=number> and <input type=range>
50694        https://bugs.webkit.org/show_bug.cgi?id=29069
50695
50696        Tests: fast/forms/ValidityState-rangeOverflow-number.html
50697               fast/forms/ValidityState-rangeOverflow-range.html
50698               fast/forms/ValidityState-rangeUnderflow-number.html
50699               fast/forms/ValidityState-rangeUnderflow-range.html
50700               fast/forms/input-minmax.html
50701
50702        * html/HTMLInputElement.cpp:
50703        (WebCore::HTMLInputElement::rangeUnderflow):
50704        (WebCore::HTMLInputElement::rangeOverflow):
50705        (WebCore::HTMLInputElement::rangeMinimum):
50706        (WebCore::HTMLInputElement::rangeMaximum):
50707        * html/HTMLInputElement.h:
50708        * html/HTMLInputElement.idl:
50709        * html/ValidityState.cpp:
50710        (WebCore::ValidityState::rangeUnderflow):
50711        (WebCore::ValidityState::rangeOverflow):
50712        * html/ValidityState.h:
50713        * rendering/RenderSlider.cpp:
50714        (WebCore::SliderRange::SliderRange):
50715        (WebCore::SliderRange::valueFromElement):
50716
507172009-10-05  Kent Tamura  <tkent@chromium.org>
50718
50719        Reviewed by Eric Seidel.
50720
50721        Introduces
50722         - new CSS pseudo selector: "-webkit-input-list-button"
50723         - new CSS apperance type: "list-button"
50724         - new ControlPart value: "ListButtonPart"
50725        for the UI of the list attribute of the input element, and adds
50726        implementation to draw ListButtonPart on Mac.
50727        The code is guarded by ENABLE(DATALIST).
50728
50729        https://bugs.webkit.org/show_bug.cgi?id=27794
50730
50731        Test: platform/mac/fast/forms/input-list-button-size.html
50732
50733        * css/CSSPrimitiveValueMappings.h:
50734        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
50735        * css/CSSSelector.cpp:
50736        (WebCore::CSSSelector::extractPseudoType):
50737        * css/CSSSelector.h:
50738        (WebCore::CSSSelector::):
50739        * css/CSSStyleSelector.cpp:
50740        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
50741        * css/CSSValueKeywords.in:
50742        * css/html.css:
50743        * html/HTMLInputElement.cpp:
50744        * platform/ThemeTypes.h:
50745        (WebCore::):
50746        * platform/mac/ThemeMac.mm:
50747        (WebCore::listButtonSizes):
50748        (WebCore::button):
50749        (WebCore::paintButton):
50750        (WebCore::ThemeMac::controlSize):
50751        (WebCore::ThemeMac::minimumControlSize):
50752        (WebCore::ThemeMac::controlBorder):
50753        (WebCore::ThemeMac::paint):
50754        * rendering/RenderTheme.cpp:
50755        (WebCore::RenderTheme::adjustStyle):
50756        (WebCore::RenderTheme::paint):
50757        (WebCore::RenderTheme::paintBorderOnly):
50758        (WebCore::RenderTheme::paintDecorations):
50759        * rendering/RenderThemeMac.mm:
50760        (WebCore::RenderThemeMac::adjustRepaintRect):
50761        * rendering/style/RenderStyleConstants.h:
50762        (WebCore::):
50763
507642009-10-05  Brian Weinstein  <bweinstein@apple.com>
50765
50766        Reviewed by Timothy Hatcher.
50767
50768        Fixes <https://bugs.webkit.org/show_bug.cgi?id=30065>
50769        nodeTitleInfo should be placed in ElementsTreeOutline.
50770        
50771        Move nodeTitleInfo into ElementsTreeOutline.js from utilities.js.
50772
50773        * inspector/front-end/ElementsTreeOutline.js:
50774        (WebInspector.ElementsTreeElement):
50775        (WebInspector.ElementsTreeElement.prototype._updateTitle):
50776        (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
50777        * inspector/front-end/utilities.js:
50778
507792009-10-02  Yael Aharon  <yael.aharon@nokia.com>
50780
50781        Reviewed by Simon Hausmann.
50782
50783        [Qt] Inform the application when a new request is created
50784        https://bugs.webkit.org/show_bug.cgi?id=29975
50785
50786        Emit a signal each time a request is created, with the request and the frame
50787        that created it.
50788
50789        * platform/network/qt/QNetworkReplyHandler.cpp:
50790        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
50791        (WebCore::QNetworkReplyHandler::start):
50792
507932009-10-05  Ben Murdoch  <benm@google.com>
50794
50795        Reviewed by Darin Adler.
50796
50797        Add an ASSERT in updateGuidVersionMap.
50798        https://bugs.webkit.org/show_bug.cgi?id=30077
50799
50800        * storage/Database.cpp:
50801        (WebCore::updateGuidVersionMap): ASSERT that the guidMutex() is locked.
50802
508032009-10-05  Nate Chapin  <japhet@chromium.org>
50804
50805        Reviewed by Eric Seidel.
50806
50807        Allow V8 to throw an exception in _NPN_SetException without worrying about context
50808        if we don't have enough information to find the correct context.
50809
50810        https://bugs.webkit.org/show_bug.cgi?id=30026
50811
50812        Part of the fix for Chromium's failure of LayouTests/plugins/netscape-throw-exception.html.
50813
50814        * bindings/v8/NPV8Object.cpp: 
50815        (_NPN_SetException): Don't suppress the exception if we can't find the relevant context.
50816
508172009-10-05  Mikhail Naganov  <mnaganov@chromium.org>
50818
50819        Reviewed by Timothy Hatcher.
50820
50821        Place "Close" button in docked mode on the same side as the window "Close" button in detached mode.
50822
50823        https://bugs.webkit.org/show_bug.cgi?id=29961
50824
50825        * inspector/front-end/inspector.css:
50826        * inspector/front-end/inspector.html:
50827        * inspector/front-end/inspector.js:
50828        (WebInspector.loaded):
50829
508302009-10-05  J-P Nurmi  <jpnurmi@gmail.com>
50831
50832        Reviewed by Simon Hausmann.
50833
50834        [Qt] Added pure virtual QWebPageClient::pluginParent()
50835
50836        https://bugs.webkit.org/show_bug.cgi?id=29710
50837
50838        * platform/qt/QWebPageClient.h:
50839
508402009-10-05  Jakub Wieczorek  <faw217@gmail.com>
50841
50842        Reviewed by Tor Arne Vestbø.
50843
50844        [Qt] windowsKeyCodeForKeyEvent() returns a wrong value for the F10 key.
50845        https://bugs.webkit.org/show_bug.cgi?id=30042
50846
50847        * platform/qt/PlatformKeyboardEventQt.cpp:
50848        (WebCore::windowsKeyCodeForKeyEvent):
50849
508502009-10-05  Fumitoshi Ukai  <ukai@chromium.org>
50851
50852        Unreviewed build fix for ENABLE(WEB_SOCKETS) and v8.
50853
50854        V8ObjectEventListener.h has been removed at r48978
50855
50856        * bindings/v8/custom/V8WebSocketCustom.cpp:
50857
508582009-10-04  Pavel Feldman  <pfeldman@chromium.org>
50859
50860        Reviewed by Timothy Hatcher.
50861
50862        Web Inspector console stops working while JS in IFRAME is paused.
50863
50864        https://bugs.webkit.org/show_bug.cgi?id=29958
50865
50866        * inspector/front-end/InjectedScript.js:
50867        (InjectedScript._evaluateOn):
50868        (InjectedScript.addInspectedNode):
50869        (InjectedScript._ensureCommandLineAPIInstalled):
50870
508712009-10-04  Pavel Feldman  <pfeldman@chromium.org>
50872
50873        Reviewed by Timothy Hatcher.
50874
50875        Web Inspector: Introduce inspected object groups for console
50876        and watch evaluation results so that they could be released
50877        explicitly.
50878
50879        https://bugs.webkit.org/show_bug.cgi?id=29891
50880
50881        * bindings/js/JSInspectorBackendCustom.cpp:
50882        (WebCore::JSInspectorBackend::wrapObject):
50883        * bindings/v8/custom/V8InspectorBackendCustom.cpp:
50884        (WebCore::CALLBACK_FUNC_DECL):
50885        * inspector/InspectorBackend.cpp:
50886        (WebCore::InspectorBackend::wrapObject):
50887        (WebCore::InspectorBackend::releaseWrapperObjectGroup):
50888        * inspector/InspectorBackend.h:
50889        * inspector/InspectorBackend.idl:
50890        * inspector/InspectorController.cpp:
50891        (WebCore::InspectorController::clearConsoleMessages):
50892        (WebCore::InspectorController::resetScriptObjects):
50893        (WebCore::InspectorController::wrapObject):
50894        (WebCore::InspectorController::unwrapObject):
50895        (WebCore::InspectorController::releaseWrapperObjectGroup):
50896        * inspector/InspectorController.h:
50897        * inspector/InspectorFrontend.cpp:
50898        (WebCore::InspectorFrontend::addMessageToConsole):
50899        * inspector/front-end/ConsoleView.js:
50900        (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
50901        (WebInspector.ConsoleView.prototype.doEvalInWindow):
50902        (WebInspector.ConsoleView.prototype._enterKeyPressed):
50903        * inspector/front-end/InjectedScript.js:
50904        (InjectedScript.evaluate):
50905        (InjectedScript._evaluateAndWrap):
50906        (InjectedScript.evaluateInCallFrame):
50907        * inspector/front-end/ScriptsPanel.js:
50908        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
50909        (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
50910        * inspector/front-end/WatchExpressionsSidebarPane.js:
50911        (WebInspector.WatchExpressionsSidebarPane):
50912        (WebInspector.WatchExpressionsSection.prototype.update):
50913
509142009-10-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
50915
50916        Reviewed by Eric Carlson.
50917
50918        Move mediaControls extras for the Qt port into WebCore/css like other ports
50919
50920        https://bugs.webkit.org/show_bug.cgi?id=30013
50921
50922        * WebCore.pro:
50923        * WebCore.qrc:
50924        * css/mediaControlsQt.css: Renamed from WebCore/css/qt/mediaControls-extras.css.
50925        * platform/qt/RenderThemeQt.cpp:
50926        (WebCore::RenderThemeQt::extraMediaControlsStyleSheet):
50927
509282009-10-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
50929
50930        Reviewed by Eric Carlson.
50931
50932        Rename WebCore/css/mediaControlsQT.css and MediaControllerThemeQT
50933
50934        https://bugs.webkit.org/show_bug.cgi?id=30013
50935
50936        The QT suffix has been expanded to QuickTime, to not cause confusion
50937        and name-crashes with similar files in the Qt port.
50938
50939        * DerivedSources.make:
50940        * WebCore.xcodeproj/project.pbxproj:
50941        * css/mediaControlsQuickTime.css: Renamed from WebCore/css/mediaControlsQT.css.
50942        * rendering/RenderThemeMac.mm:
50943        (WebCore::):
50944        (WebCore::mediaControllerTheme):
50945        (WebCore::RenderThemeMac::adjustSliderThumbSize):
50946        (WebCore::getUnzoomedRectAndAdjustCurrentContext):
50947        (WebCore::RenderThemeMac::extraMediaControlsStyleSheet):
50948
509492009-10-04  Brian Weinstein  <bweinstein@apple.com>
50950
50951        Reviewed by Timothy Hatcher.
50952        
50953        Fixes <https://bugs.webkit.org/show_bug.cgi?id=30064>
50954        Syntax Highlighting CSS shouldn't be duplicated.
50955
50956        Refactor syntax highlighting CSS into a new file, add it to the
50957        projects, and have SourceFrame.js and inspector.html include the
50958        new CSS file.
50959
50960        * WebCore.gypi:
50961        * WebCore.vcproj/WebCore.vcproj:
50962        * inspector/front-end/SourceFrame.js:
50963        (WebInspector.SourceFrame.prototype._loaded):
50964        * inspector/front-end/inspector.css:
50965        * inspector/front-end/inspector.html:
50966        * inspector/front-end/inspectorSyntaxHighlight.css: Added.
50967        * inspector/front-end/WebKit.qrc:
50968
509692009-10-04  Brian Weinstein  <bweinstein@apple.com>
50970
50971        Reviewed by Timothy Hatcher.
50972        
50973        Fixes <https://bugs.webkit.org/show_bug.cgi?id=30062>
50974        Inspector should syntax highlight JS/CSS in elements view.
50975
50976        Add syntax highlighting of CSS and JavaScript tags to the elements panel.
50977        Copied CSS rules from SourceFrame.js to inspector.css, and have the text nodes
50978        in utilities.js call the CSS or JS Syntax highlighters if their parent is a script
50979        or style tag.
50980
50981        * inspector/front-end/inspector.css:
50982        * inspector/front-end/utilities.js:
50983
509842009-10-04  Fumitoshi Ukai  <ukai@chromium.org>
50985
50986        Reviewed by Eric Seidel
50987
50988        Enable Web Sockets in chromium build.
50989        https://bugs.webkit.org/show_bug.cgi?id=29917
50990
50991        * WebCore.gyp/WebCore.gyp:
50992
509932009-10-04  Xan Lopez  <xlopez@igalia.com>
50994
50995        Reviewed by Gustova Noronha.
50996
50997        [GTK] performs a POST when refreshing a view that was obtained with a GET
50998        https://bugs.webkit.org/show_bug.cgi?id=29761
50999
51000        Update the HTTP method in the request stored by willSendRequest
51001        after a redirect, since it could have changed.
51002
51003        Test: http/tests/navigation/postredirect-reload.html
51004
51005        * platform/network/soup/ResourceHandleSoup.cpp:
51006        (WebCore::restartedCallback):
51007
510082009-10-04  Xan Lopez  <xlopez@igalia.com>
51009
51010        Revert previous patch, as the newly added test breaks other tests.
51011
51012        * platform/network/soup/ResourceHandleSoup.cpp:
51013        (WebCore::restartedCallback):
51014
510152009-10-04  Xan Lopez  <xlopez@igalia.com>
51016
51017        Reviewed by Gustova Noronha.
51018
51019        [GTK] performs a POST when refreshing a view that was obtained with a GET
51020        https://bugs.webkit.org/show_bug.cgi?id=29761
51021
51022        Update the HTTP method in the request stored by willSendRequest
51023        after a redirect, since it could have changed.
51024
51025        Test: http/tests/navigation/postredirect-reload.html
51026
51027        * platform/network/soup/ResourceHandleSoup.cpp:
51028        (WebCore::restartedCallback):
51029
510302009-10-04  Vitaly Repeshko  <vitalyr@chromium.org>
51031
51032        Reviewed by Adam Barth.
51033
51034        [V8] Fixed Function leak in V8LazyEventListener.
51035        (Should fix the remaning leak in
51036        https://bugs.webkit.org/show_bug.cgi?id=29093).
51037        V8LazyEventListeners used to create FunctionTemplates for each
51038        wrapped listener which in turn created Functions that were cached
51039        forever in V8 Context. Now there is at most one such Function per
51040        Context.
51041        https://bugs.webkit.org/show_bug.cgi?id=30060
51042
51043        Added new hidden property name to store toString result:
51044        * bindings/v8/V8HiddenPropertyName.cpp:
51045        * bindings/v8/V8HiddenPropertyName.h:
51046
51047        Switched to static FunctionTemplate:
51048        * bindings/v8/V8LazyEventListener.cpp:
51049        (WebCore::V8LazyEventListenerToString):
51050        (WebCore::V8LazyEventListener::prepareListenerObject):
51051
510522009-10-03  Joseph Pecoraro  <joepeck@webkit.org>
51053
51054        Reviewed by Timothy Hatcher.
51055
51056        CSS Source View Should be Syntax Highlighted
51057        https://bugs.webkit.org/show_bug.cgi?id=14359
51058
51059          Support for WebKit's CSS Variables @variables and var()
51060
51061        * inspector/front-end/SourceFrame.js:
51062        (WebInspector.CSSSourceSyntaxHighligher):
51063
510642009-10-03  Joseph Pecoraro  <joepeck@webkit.org>
51065
51066        Reviewed by Timothy Hatcher.
51067
51068        Inspector should remember preferences for docked/undocked etc
51069        https://bugs.webkit.org/show_bug.cgi?id=29089
51070
51071        * inspector/front-end/ResourcesPanel.js:
51072        (WebInspector.ResourcesPanel.prototype._toggleLargerResources): toggle the preference
51073        * inspector/front-end/inspector.js:
51074        (WebInspector._loadPreferences): factored out loading preferences
51075        (WebInspector.loaded):
51076
510772009-10-03  Joseph Pecoraro  <joepeck@webkit.org>
51078
51079        Reviewed by Timothy Hatcher.
51080
51081        CSS Source View Should be Syntax Highlighted
51082        https://bugs.webkit.org/show_bug.cgi?id=14359
51083
51084          Trigger the Syntax Highlighter for CSS files.
51085
51086        * inspector/front-end/SourceFrame.js:
51087        (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript):
51088        (WebInspector.SourceFrame.prototype.syntaxHighlightCSS):
51089        * inspector/front-end/SourceView.js:
51090        (WebInspector.SourceView.prototype._contentLoaded):
51091
51092          Factored out the Syntax Highlighting procedure into a "Class"
51093          Added CSSSourceSyntaxHighlighter and JavaScriptSourceSyntaxHighlighter
51094
51095        (WebInspector.SourceSyntaxHighligher):
51096        (WebInspector.SourceSyntaxHighligher.prototype.createSpan):
51097        (WebInspector.SourceSyntaxHighligher.prototype.process.processChunk):
51098        (WebInspector.SourceSyntaxHighligher.prototype.process):
51099        (WebInspector.CSSSourceSyntaxHighligher): the CSS Highlighter
51100        (WebInspector.JavaScriptSourceSyntaxHighligher): the JS Highlighter
51101
511022009-10-03  Adam Barth  <abarth@webkit.org>
51103
51104        Reviewed by Sam Weinig.
51105
51106        Factor back-forward list methods out of FrameLoader
51107        https://bugs.webkit.org/show_bug.cgi?id=30037
51108
51109        This change moves these back-forward related methods from FrameLoader
51110        to Page.  It's possible we should move these methods into some kind of
51111        "page controller" object, but we can figure that out in a future patch.
51112
51113        * loader/FrameLoader.cpp:
51114        * loader/FrameLoader.h:
51115        * loader/RedirectScheduler.cpp:
51116        (WebCore::RedirectScheduler::timerFired):
51117        * page/ContextMenuController.cpp:
51118        (WebCore::ContextMenuController::contextMenuItemSelected):
51119        * page/DOMWindow.cpp:
51120        (WebCore::DOMWindow::close):
51121        * page/History.cpp:
51122        (WebCore::History::length):
51123        * page/Page.cpp:
51124        (WebCore::Page::canGoBackOrForward):
51125        (WebCore::Page::goBackOrForward):
51126        (WebCore::Page::getHistoryLength):
51127        * page/Page.h:
51128        * platform/ContextMenu.cpp:
51129        (WebCore::ContextMenu::populate):
51130        (WebCore::ContextMenu::checkOrEnableIfNeeded):
51131
511322009-10-02  Pavel Feldman  <pfeldman@chromium.org>
51133
51134        Reviewed by Timothy Hatcher.
51135
51136        Web Inspector: prepare InspectorController for being used from layout tests.
51137        This change adds evaluateForTestInFrontend method with the callback that
51138        allows evaluating arbitrary code in the frontend context.
51139
51140        https://bugs.webkit.org/show_bug.cgi?id=30008
51141
51142        * WebCore.Inspector.exp:
51143        * WebCore.order:
51144        * inspector/InspectorBackend.cpp:
51145        (WebCore::InspectorBackend::didEvaluateForTestInFrontend):
51146        * inspector/InspectorBackend.h:
51147        * inspector/InspectorBackend.idl:
51148        * inspector/InspectorController.cpp:
51149        (WebCore::InspectorController::populateScriptObjects):
51150        (WebCore::InspectorController::evaluateForTestInFrontend):
51151        (WebCore::InspectorController::didEvaluateForTestInFrontend):
51152        * inspector/InspectorController.h:
51153        * inspector/InspectorFrontend.cpp:
51154        (WebCore::InspectorFrontend::evaluateForTestInFrontend):
51155        * inspector/InspectorFrontend.h:
51156        * inspector/front-end/inspector.js:
51157        (WebInspector.evaluateForTestInFrontend):
51158
511592009-10-02  Pavel Feldman  <pfeldman@chromium.org>
51160
51161        Reviewed by Timothy Hatcher.
51162
51163        Web Inspector: Node search mode is not getting reset on element selection.
51164
51165        https://bugs.webkit.org/show_bug.cgi?id=30016
51166
51167        * inspector/front-end/ElementsPanel.js:
51168        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
51169
511702009-10-02  Brian Weinstein  <bweinstein@apple.com>
51171
51172        Reviewed by Timothy Hatcher.
51173
51174        Fixes <https://bugs.webkit.org/show_bug.cgi?id=30036>
51175        Should be able to resize Cookie Columns.
51176
51177        * inspector/front-end/CookieItemsView.js:
51178        (WebInspector.CookieItemsView.prototype.update.callback):
51179        (WebInspector.CookieItemsView.prototype.update):
51180        (WebInspector.CookieItemsView.prototype.resize):
51181
511822009-09-25  Jon Honeycutt  <jhoneycutt@apple.com>
51183
51184        Make WebCore::PluginView participate in plug-in halting.
51185
51186        Reviewed by Sam Weinig.
51187
51188        * platform/graphics/BitmapImage.h:
51189        Declare a create() function that takes an HBITMAP.
51190
51191        * platform/graphics/win/ImageCGWin.cpp:
51192        (WebCore::BitmapImage::create):
51193        Use GetObject() to fill out a DIBSECTION structure for the given
51194        HBITMAP. Call CGBitmapContextCreate() to create a CG context from the
51195        bits of the bitmap. Create a CG image from the context, and pass this
51196        when creating a new BitmapImage.
51197
51198        * plugins/PluginView.cpp:
51199        (WebCore::PluginView::start):
51200        If we successfully started, tell our parent frame's Page.
51201        (WebCore::PluginView::stop):
51202        Tell our parent frame's Page that we stopped.
51203        (WebCore::PluginView::node):
51204
51205        * plugins/PluginView.h:
51206        Inherit from HaltablePlugin.
51207        (WebCore::PluginView::setPlatformPluginWidget):
51208        On platforms where the platform plug-in widget is the WebCore::Widget's
51209        platform widget, have setPlatformPluginWidget() call
51210        setPlatformWidget().
51211
51212        * plugins/PluginViewNone.cpp:
51213        (WebCore::PluginView::halt):
51214        Stubbed.
51215        (WebCore::PluginView::restart):
51216        Stubbed.
51217
51218        * plugins/gtk/PluginViewGtk.cpp:
51219        (WebCore::PluginView::halt):
51220        Stubbed.
51221        (WebCore::PluginView::restart):
51222        Stubbed.
51223
51224        * plugins/mac/PluginViewMac.cpp:
51225        (WebCore::PluginView::halt):
51226        Stubbed.
51227        (WebCore::PluginView::restart):
51228        Stubbed.
51229
51230        * plugins/qt/PluginViewQt.cpp:
51231        (WebCore::PluginView::halt):
51232        Stubbed.
51233        (WebCore::PluginView::restart):
51234        Stubbed.
51235
51236        * plugins/win/PluginViewWin.cpp:
51237        (WebCore::PluginView::platformDestroy):
51238        After destroying the window, set the platform plug-in widget to 0 to
51239        ensure that Widget isn't holding a stale handle.
51240        (WebCore::PluginView::halt):
51241        Have our element's RenderWidget display a screenshot of the plug-in,
51242        then stop the plug-in and destroy it.
51243        (WebCore::PluginView::restart):
51244        Clear the RenderWidget's substitute image, then start the plug-in.
51245
51246        * rendering/RenderWidget.cpp:
51247        (WebCore::RenderWidget::showSubstituteImage):
51248        Set m_substituteImage to the passed image, and repaint.
51249        (WebCore::RenderWidget::paint):
51250        If we have a substitute image, paint that instead of allowing the
51251        widget to paint itself.
51252
51253        * rendering/RenderWidget.h:
51254        Declare showSubstituteImage(). Added a member to store the substitute
51255        image.
51256
512572009-10-02  Adam Barth  <abarth@webkit.org>
51258
51259        Reviewed by Darin Adler.
51260
51261        Move PolicyCheck out of FrameLoader.{h,cpp}
51262        https://bugs.webkit.org/show_bug.cgi?id=30035
51263
51264        Purely code motion (and adding a destructor).
51265
51266        * GNUmakefile.am:
51267        * WebCore.gypi:
51268        * WebCore.pro:
51269        * WebCore.vcproj/WebCore.vcproj:
51270        * WebCore.xcodeproj/project.pbxproj:
51271        * loader/FrameLoader.cpp:
51272        * loader/FrameLoader.h:
51273        * loader/PolicyCheck.cpp:
51274        * loader/PolicyCheck.h:
51275
512762009-10-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
51277
51278        Reviewed by Tor Arne Vestbø.
51279
51280        [Qt] Add NPNVToolkit value quirk in plugins for nspluginwrapper.
51281        Plugin error message was:
51282        ERROR: failed to initialize brower-side RPC events listener
51283        https://bugs.webkit.org/show_bug.cgi?id=25053
51284
51285        (WebCore::staticPluginQuirkRequiresGtkToolKit_NPN_GetValue):
51286        (WebCore::PluginPackage::load):
51287
512882009-10-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
51289
51290        Reviewed by Tor Arne Vestbø.
51291
51292        [Qt] X sync our XEmbed container window creation before sending the
51293        xid to plugins.
51294        https://bugs.webkit.org/show_bug.cgi?id=25053
51295
51296        * plugins/qt/PluginViewQt.cpp:
51297        (WebCore::PluginView::setNPWindowIfNeeded):
51298
512992009-10-02  Simon Fraser  <simon.fraser@apple.com>
51300
51301        Reviewed by Dan Bernstein.
51302
51303        Setting zero size on a container of a video element doesn't hide the controller
51304        https://bugs.webkit.org/show_bug.cgi?id=30031
51305        
51306        Fix a logic error in enclosingCompositingLayer() when mixing normal flow and 
51307        positioned layers. This resulted in enclosingCompositingLayer() giving back a different
51308        answer to the logic used to actually parent compositing layers, so layer positions
51309        and layer hierarchy would be out of agreement.
51310        
51311        Test: compositing/geometry/clipped-video-controller.html
51312
51313        * rendering/RenderLayer.cpp:
51314        (WebCore::compositingContainer):
51315        (WebCore::RenderLayer::enclosingCompositingLayer):
51316        * rendering/RenderLayerCompositor.cpp:
51317        (WebCore::RenderLayerCompositor::setCompositingParent):
51318
513192009-10-02  Kent Tamura  <tkent@chromium.org>
51320
51321        Reviewed by Eric Seidel.
51322
51323        - Move the following methods of HTMLInputElement and HTMLTextAreaElement
51324          to HTMLTextFormControlElement.
51325           setSelectionStart()
51326           setSelectionEnd()
51327           select()
51328           setSelectionRange()
51329           selectionStart()
51330           selectionEnd()
51331           selection()
51332
51333        - Introduce cachedSelectionStart() and cachedSelectionEnd().
51334
51335        - Unify HTMLInputElement::isTextFieldWithRenderer() and
51336         HTMLTextAreaElement::rendererAfterUpdateLayout() into textRendererAfterUpdateLayout().
51337        
51338        - Unify a part of parseMappedAttribute() of HTMLInputElement and HTMLTextAreaElement.
51339
51340        https://bugs.webkit.org/show_bug.cgi?id=29782
51341
51342        * html/HTMLFormControlElement.cpp:
51343        (WebCore::HTMLTextFormControlElement::textRendererAfterUpdateLayout):
51344        (WebCore::HTMLTextFormControlElement::setSelectionStart):
51345        (WebCore::HTMLTextFormControlElement::setSelectionEnd):
51346        (WebCore::HTMLTextFormControlElement::select):
51347        (WebCore::HTMLTextFormControlElement::setSelectionRange):
51348        (WebCore::HTMLTextFormControlElement::selectionStart):
51349        (WebCore::HTMLTextFormControlElement::selectionEnd):
51350        (WebCore::HTMLTextFormControlElement::selection):
51351        (WebCore::HTMLTextFormControlElement::parseMappedAttribute):
51352        * html/HTMLFormControlElement.h:
51353        * html/HTMLInputElement.cpp:
51354        (WebCore::HTMLInputElement::parseMappedAttribute):
51355        * html/HTMLInputElement.h:
51356        (WebCore::HTMLInputElement::select):
51357        (WebCore::HTMLInputElement::cachedSelectionStart):
51358        (WebCore::HTMLInputElement::cachedSelectionEnd):
51359        * html/HTMLTextAreaElement.cpp:
51360        (WebCore::HTMLTextAreaElement::parseMappedAttribute):
51361        * html/HTMLTextAreaElement.h:
51362        (WebCore::HTMLTextAreaElement::cachedSelectionStart):
51363        (WebCore::HTMLTextAreaElement::cachedSelectionEnd):
51364
513652009-10-02  Vitaly Repeshko  <vitalyr@chromium.org>
51366
51367        Reviewed by Dimitri Glazkov.
51368
51369        [V8] Disconnect event listeners on navigation.
51370        Fixes http://crbug.com/23597.
51371        https://bugs.webkit.org/show_bug.cgi?id=30027
51372
51373        Added V8ListenerGuard that is shared by listeners and proxy. On
51374        navigation proxy sets a flag in the guard turning off listeners.
51375
51376        * bindings/v8/V8AbstractEventListener.cpp:
51377        (WebCore::V8AbstractEventListener::V8AbstractEventListener):
51378        * bindings/v8/V8AbstractEventListener.h:
51379        (WebCore::V8ListenerGuard::create):
51380        (WebCore::V8ListenerGuard::isDisconnected):
51381        (WebCore::V8ListenerGuard::disconnectListeners):
51382        (WebCore::V8ListenerGuard::V8ListenerGuard):
51383        (WebCore::V8AbstractEventListener::disconnected):
51384        * bindings/v8/V8DOMWrapper.cpp:
51385        (WebCore::V8DOMWrapper::getEventListener):
51386        * bindings/v8/V8EventListenerList.h:
51387        (WebCore::V8EventListenerList::findOrCreateWrapper):
51388        * bindings/v8/V8LazyEventListener.cpp:
51389        (WebCore::V8LazyEventListener::V8LazyEventListener):
51390        * bindings/v8/V8Proxy.cpp:
51391        (WebCore::V8Proxy::V8Proxy):
51392        (WebCore::V8Proxy::disconnectFrame):
51393        (WebCore::V8Proxy::disconnectEventListeners):
51394        (WebCore::V8Proxy::clearForNavigation):
51395        * bindings/v8/V8Proxy.h:
51396        (WebCore::V8Proxy::listenerGuard):
51397        * bindings/v8/V8WorkerContextEventListener.cpp:
51398        (WebCore::V8WorkerContextEventListener::V8WorkerContextEventListener):
51399        * bindings/v8/V8WorkerContextEventListener.h:
51400        (WebCore::V8WorkerContextEventListener::create):
51401        * bindings/v8/WorkerContextExecutionProxy.cpp:
51402        (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
51403        (WebCore::WorkerContextExecutionProxy::dispose):
51404        (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener):
51405        * bindings/v8/WorkerContextExecutionProxy.h:
51406        * bindings/v8/custom/V8CustomEventListener.cpp:
51407        (WebCore::V8EventListener::V8EventListener):
51408        * bindings/v8/custom/V8CustomEventListener.h:
51409        (WebCore::V8EventListener::create):
51410
514112009-10-02  Kenneth Russell  <kbr@google.com>
51412
51413        Reviewed by Dimitri Glazkov.
51414
51415        [chromium] Fix WebGL build after CustomGetter constructor changes
51416        https://bugs.webkit.org/show_bug.cgi?id=30020
51417
51418        * page/DOMWindow.idl:
51419        Changed CustomGetter to JSCCustomGetter for CanvasArray constructors.
51420
514212009-10-02  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
51422
51423        Reviewed by Timothy Hatcher.
51424
51425        Web Inspector: text in a "Request Payload" section disappears on selection
51426        https://bugs.webkit.org/show_bug.cgi?id=29967
51427
51428        No new tests.
51429
51430        * inspector/front-end/ResourceView.js:
51431        (WebInspector.ResourceView.prototype._refreshRequestPayload):
51432
514332009-10-02  Vitaly Repeshko  <vitalyr@chromium.org>
51434
51435        Reviewed by Dimitri Glazkov.
51436
51437        [V8] Recursion guard for V8Proxy::callFunction.
51438        Fixes http://crbug.com/23278.
51439        https://bugs.webkit.org/show_bug.cgi?id=29974
51440
51441        Test: fast/xmlhttprequest/xmlhttprequest-recursive-sync-event.html
51442
51443        * bindings/v8/V8Proxy.cpp:
51444        (WebCore::V8Proxy::callFunction):
51445
514462009-10-02  Brian Weinstein  <bweinstein@apple.com>
51447
51448        Reviewed by Jon Honeycutt.
51449
51450        Fix test breakages by adding null checks, and putting inspector code in
51451        ENABLE(INSPECTOR).
51452
51453        * dom/Document.cpp:
51454        (WebCore::Document::finishedParsing):
51455        * page/DOMWindow.cpp:
51456        (WebCore::DOMWindow::dispatchLoadEvent):
51457
514582009-10-02  Kenneth Rohde Christiansen  <kenneth@webkit.org>
51459
51460        Reviewed by Simon Hausmann.
51461
51462        Clean up the QNetworkReplyHandler to only apply HTTP headers
51463        for protocols in the HTTP family.
51464
51465        * platform/network/qt/QNetworkReplyHandler.cpp:
51466        (WebCore::QNetworkReplyHandler::finish):
51467        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
51468
514692009-10-02  Kenneth Rohde Christiansen  <kenneth@webkit.org>
51470
51471        Reviewed by Simon Hausmann.
51472
51473        Move error check into sendResponseIfNeeded() as suggested
51474        by Eric Seidel. Also, remove some dead code.
51475
51476        * platform/network/qt/QNetworkReplyHandler.cpp:
51477        (WebCore::QNetworkReplyHandler::finish):
51478        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
51479
514802009-10-02  Enrica Casucci  <enrica@apple.com>
51481
51482        Reviewed by Adele Peterson.
51483
51484        Assertion failure in CompositeEditCommand::moveParagraphs() and crash in Node::nodeIndex() when pasting.
51485        <rdar://problem/7148712>
51486        https://bugs.webkit.org/show_bug.cgi?id=28992
51487
51488        Test: editing/selection/replace-selection-crash.html
51489
51490        * editing/ReplaceSelectionCommand.cpp:
51491        (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded): Handle properly the case of
51492        the destination position matching the end of the paragraph to move.
51493
514942009-10-02  Jeremy Orlow  <jorlow@chromium.org>
51495
51496        Reviewed by Dimitri Glazkov.
51497
51498        Implement per-storage-area quotas for LocalStorage
51499        https://bugs.webkit.org/show_bug.cgi?id=29991
51500
51501        I put 90% of the code in StorageMap since the decision to allow an update is
51502        closely tied to quota tracking.  The quota is set via a page's Settings class.
51503        Like with the local storage path and whether it's enabled, it's assumed that
51504        all pages in the same group will have the same settings.  The setting defaults
51505        to 5mb which is what the spec suggests, but it can easily be changed to
51506        anything else--including StorageMap::noQuota.  Any values in LocalStorage are
51507        grandfathered in regarudless of quota, so importItem only tracks (and will
51508        never block) imports.
51509
51510        I believe this change is a good transition to more complex quota management.
51511        For example, if we wanted to track quotas in the SQLite DB, then we'd just add
51512        a function to the StorageMap that sets the quota.  This would be fine since all
51513        use of LocalStorage is blocked on the import completing, so you'd never hit a
51514        quota error in the mean time.  Also, if embedders wanted to ask the user
51515        whether to expand the quota whenever it's hit (before deciding whether or not
51516        to raise an exception), a callback via the chrome client should be fairly easy.
51517        That said, I think it's best to add these features in steps rather than one
51518        huge patch.  (Both of these are on my TODO list, btw.)
51519
51520        Included is a layout test that verifies the behavior.  It assumes the default
51521        quota is 5mb (since that's what Settings defaults to).
51522
51523        Test: storage/domstorage/localstorage/quota.html
51524
51525        * page/PageGroup.cpp:
51526        (WebCore::PageGroup::localStorage):
51527        * page/Settings.cpp:
51528        (WebCore::Settings::Settings):
51529        (WebCore::Settings::setLocalStorageQuota):
51530        * page/Settings.h:
51531        (WebCore::Settings::localStorageQuota):
51532        * storage/StorageAreaImpl.cpp:
51533        (WebCore::StorageAreaImpl::create):
51534        (WebCore::StorageAreaImpl::StorageAreaImpl):
51535        (WebCore::StorageAreaImpl::setItem):
51536        (WebCore::StorageAreaImpl::clear):
51537        * storage/StorageAreaImpl.h:
51538        * storage/StorageMap.cpp:
51539        (WebCore::StorageMap::create):
51540        (WebCore::StorageMap::StorageMap):
51541        (WebCore::StorageMap::copy):
51542        (WebCore::StorageMap::setItem):
51543        (WebCore::StorageMap::removeItem):
51544        (WebCore::StorageMap::importItem):
51545        * storage/StorageMap.h:
51546        (WebCore::StorageMap::quota):
51547        * storage/StorageNamespace.cpp:
51548        (WebCore::StorageNamespace::localStorageNamespace):
51549        * storage/StorageNamespace.h:
51550        * storage/StorageNamespaceImpl.cpp:
51551        (WebCore::StorageNamespaceImpl::localStorageNamespace):
51552        (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
51553        (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
51554        (WebCore::StorageNamespaceImpl::copy):
51555        (WebCore::StorageNamespaceImpl::storageArea):
51556        * storage/StorageNamespaceImpl.h:
51557
515582009-10-02  Joseph Pecoraro  <joepeck@webkit.org>
51559
51560        Reviewed by Timothy Hatcher.
51561
51562        Database Inspector crashes Safari when table has more than 21 columns
51563        https://bugs.webkit.org/show_bug.cgi?id=29924
51564
51565        * inspector/front-end/StoragePanel.js:
51566        (WebInspector.StoragePanel.prototype.dataGridForResult): adjust the minimum column width percentage to be flexible for many columns.
51567
515682009-10-02  Brian Weinstein  <bweinstein@apple.com>
51569
51570        Reviewed by Timothy Hatcher.
51571
51572        Fixes <http://webkit.org/b/14370>.
51573        Inspector's timeline should record when certain DOM events fired.
51574        
51575        This patch adds calls into the Web Inspector when the main frame
51576        fires an load event, and when the document fires its DOMContent
51577        event. Once these values are passed in, they are sent to the Web Inspector
51578        as a timing change, and these are denoted by vertical lines in the resources
51579        panel (blue for DOM Content, red for load event).
51580
51581        * English.lproj/localizedStrings.js: Added tooltip text.
51582        * dom/Document.cpp:
51583        (WebCore::Document::finishedParsing): Added an Inspector callback for DOM Content.
51584        * inspector/InspectorController.cpp:
51585        (WebCore::InspectorController::mainResourceFiredDOMContentEvent): Tell the main resource it got the event.
51586        (WebCore::InspectorController::mainResourceFiredLoadEvent): Ditto.
51587        * inspector/InspectorController.h:
51588        * inspector/InspectorResource.cpp:
51589        (WebCore::InspectorResource::InspectorResource): Added new variables.
51590        (WebCore::InspectorResource::updateScriptObject): Send new variables to inspector.js.
51591        (WebCore::InspectorResource::markDOMContentEventTime): Send a TimingChange event.
51592        (WebCore::InspectorResource::markLoadEventTime): Ditto.
51593        * inspector/InspectorResource.h:
51594        * inspector/front-end/ResourcesPanel.js:
51595        (WebInspector.ResourcesPanel.prototype.get mainResourceLoadTime):
51596        (WebInspector.ResourcesPanel.prototype.set mainResourceLoadTime):
51597        (WebInspector.ResourcesPanel.prototype.get mainResourceDOMContentTime):
51598        (WebInspector.ResourcesPanel.prototype.set mainResourceDOMContentTime):
51599        (WebInspector.ResourcesPanel.prototype.reset):
51600        (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded): Draw dividers for event timings.
51601        (WebInspector.ResourceTimeCalculator.prototype.computePercentageFromEventTime):
51602        * inspector/front-end/inspector.css:
51603        * inspector/front-end/inspector.js:
51604        (WebInspector.updateResource):
51605        * page/DOMWindow.cpp:
51606        (WebCore::DOMWindow::dispatchLoadEvent): Add an Inspector callback for the Load event.
51607
516082009-10-02  Dave Hyatt  <hyatt@apple.com>
51609
51610        Reviewed by Adam Roben.
51611
51612        Add support for blacklist patterns to user stylesheets and scripts in addition to whitelist patterns.
51613
51614        * WebCore.base.exp:
51615        * dom/Document.cpp:
51616        (WebCore::Document::pageGroupUserSheets):
51617        * page/Frame.cpp:
51618        (WebCore::Frame::injectUserScriptsForWorld):
51619        * page/PageGroup.cpp:
51620        (WebCore::PageGroup::addUserScript):
51621        (WebCore::PageGroup::addUserStyleSheet):
51622        (WebCore::PageGroup::removeUserContentWithURLForWorld):
51623        (WebCore::PageGroup::removeUserContentForWorld):
51624        * page/PageGroup.h:
51625        * page/UserContentURLPattern.cpp:
51626        (WebCore::UserContentURLPattern::matchesPatterns):
51627        * page/UserContentURLPattern.h:
51628        * page/UserScript.h:
51629        (WebCore::UserScript::UserScript):
51630        (WebCore::UserScript::whitelist):
51631        (WebCore::UserScript::blacklist):
51632        * page/UserStyleSheet.h:
51633        (WebCore::UserStyleSheet::UserStyleSheet):
51634        (WebCore::UserStyleSheet::whitelist):
51635        (WebCore::UserStyleSheet::blacklist):
51636
516372009-10-02  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
51638
51639        Reviewed by Darin Adler.
51640
51641        Build fix when SVG is not enabled
51642        https://bugs.webkit.org/show_bug.cgi?id=30011
51643
51644        Move TextRenderingMode related functions out from
51645        the ENABLE(SVG) guard.
51646
51647        * css/CSSPrimitiveValueMappings.h:
51648        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
51649        (WebCore::CSSPrimitiveValue::operator TextRenderingMode):
51650
516512009-10-02  Kenneth Russell  <kbr@google.com>
51652
51653        Reviewed by Oliver Hunt.
51654
51655        WebGL crashes with recent CanvasArray change
51656        https://bugs.webkit.org/show_bug.cgi?id=30018
51657
51658        Test: fast/canvas/webgl/array-unit-tests.html
51659
51660        * html/canvas/CanvasArray.cpp:
51661        (WebCore::CanvasArray::CanvasArray):
51662        Fix bug where PassRefPtr was tested after transferring value to RefPtr.
51663
516642009-10-02  Steve Falkenburg  <sfalken@apple.com>
51665
51666        Reviewed by Mark Rowe.
51667
51668        <https://bugs.webkit.org/show_bug.cgi?id=29989>
51669        Safari version number shouldn't be exposed in WebKit code
51670        
51671        For a WebKit version of 532.3.4:
51672        Product version is: 5.32.3.4 (was 4.0.3.0)
51673        File version is: 5.32.3.4 (was 4.532.3.4)
51674
51675        * WebCore.vcproj/QTMovieWin.rc:
51676
516772009-10-02  Stephen White  <senorblanco@chromium.org>
51678
51679        Reviewed by Dimitri Glazkov.
51680
51681        Enable two point radial gradients in Chromium/Skia.
51682
51683        https://bugs.webkit.org/show_bug.cgi?id=30017
51684
51685        Covered by the following tests:
51686
51687        LayoutTests/svg/W3C-SVG-1.1/pservers-grad-13-b.svg
51688        LayoutTests/fast/backgrounds/svg-as-background-3.html
51689        LayoutTests/fast/gradients/generated-gradients.html
51690        LayoutTests/fast/gradients/simple-gradients.html
51691
51692        * platform/graphics/skia/GradientSkia.cpp:
51693        (WebCore::Gradient::platformGradient):
51694
516952009-10-02  Norbert Leser  <norbert.leser@nokia.com>
51696
51697        Reviewed by Simon Hausmann.
51698
51699        Conditionally guard cursor code (cursor and updateCursor functions) with !QT_NO_CURSOR.
51700        Otherwise, it is inconsistent with class declaration of QCursor.
51701
51702        No new tests.
51703
51704        * platform/qt/QWebPageClient.h:
51705
517062009-10-02  Philippe Normand  <pnormand@igalia.com>
51707
51708        Reviewed by Gustavo Noronha.
51709
51710        [GTK] missing support for anamorphic PAR video size
51711        https://bugs.webkit.org/show_bug.cgi?id=29717
51712
51713        cleanup of caps handling in the video sink
51714
51715        * platform/graphics/gtk/VideoSinkGStreamer.cpp:
51716        (webkit_video_sink_set_caps):
51717
517182009-10-02  Prasanth Ullattil  <prasanth.ullattil@nokia.com>
51719
51720        Reviewed by Simon Hausmann.
51721
51722        Fix compiler warnings about unused function arguments.
51723
51724        * bridge/qt/qt_class.h:
51725        * bridge/qt/qt_runtime.cpp:
51726        (JSC::Bindings::QtRuntimeMetaMethod::call):
51727        (JSC::Bindings::QtRuntimeConnectionMethod::call):
51728        * dom/XMLTokenizerQt.cpp:
51729        (WebCore::XMLTokenizer::initializeParserContext):
51730        * platform/graphics/qt/FontCacheQt.cpp:
51731        (WebCore::FontCache::getTraitsInFamily):
51732        (WebCore::FontCache::getCachedFontPlatformData):
51733        * platform/graphics/qt/FontFallbackListQt.cpp:
51734        (WebCore::FontFallbackList::setPlatformFont):
51735        * platform/graphics/qt/FontQt.cpp:
51736        (WebCore::Font::offsetForPositionForComplexText):
51737        * platform/graphics/qt/GraphicsContextQt.cpp:
51738        (WebCore::GraphicsContext::drawLineForText):
51739        (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
51740        (WebCore::GraphicsContext::setPlatformShadow):
51741        (WebCore::GraphicsContext::setURLForRect):
51742        * platform/graphics/qt/IconQt.cpp:
51743        (WebCore::Icon::createIconForFiles):
51744        * platform/graphics/qt/ImageBufferQt.cpp:
51745        (WebCore::ImageBuffer::ImageBuffer):
51746        * platform/graphics/qt/ImageDecoderQt.cpp:
51747        (WebCore::ImageDecoderQt::frameBufferAtIndex):
51748        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
51749        (WebCore::MediaPlayerPrivate::supportsType):
51750        (WebCore::MediaPlayerPrivate::setEndTime):
51751        * platform/graphics/qt/SimpleFontDataQt.cpp:
51752        (WebCore::SimpleFontData::containsCharacters):
51753        * platform/graphics/qt/StillImageQt.h:
51754        (WebCore::StillImage::destroyDecodedData):
51755        * platform/network/qt/DnsPrefetchHelper.h:
51756        (WebCore::DnsPrefetchHelper::lookedUp):
51757        * platform/qt/ContextMenuQt.cpp:
51758        (WebCore::ContextMenu::setPlatformDescription):
51759        * platform/qt/DragDataQt.cpp:
51760        (WebCore::DragData::asURL):
51761        * platform/qt/PopupMenuQt.cpp:
51762        (WebCore::PopupMenu::populate):
51763        * platform/qt/RenderThemeQt.cpp:
51764        (WebCore::RenderThemeQt::supportsFocusRing):
51765        (WebCore::RenderThemeQt::systemFont):
51766        (WebCore::RenderThemeQt::adjustButtonStyle):
51767        (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
51768        (WebCore::RenderThemeQt::paintMediaSeekBackButton):
51769        (WebCore::RenderThemeQt::paintMediaSeekForwardButton):
51770        * platform/qt/ScrollViewQt.cpp:
51771        (WebCore::ScrollView::platformAddChild):
51772        * platform/qt/SearchPopupMenuQt.cpp:
51773        (WebCore::SearchPopupMenu::saveRecentSearches):
51774        (WebCore::SearchPopupMenu::loadRecentSearches):
51775        * platform/qt/TemporaryLinkStubs.cpp:
51776        (WebCore::signedPublicKeyAndChallengeString):
51777        * platform/qt/WidgetQt.cpp:
51778        (WebCore::Widget::paint):
51779        * xml/XSLStyleSheetQt.cpp:
51780        (WebCore::XSLStyleSheet::loadChildSheet):
51781        (WebCore::XSLStyleSheet::setParentStyleSheet):
51782        * xml/XSLTProcessorQt.cpp:
51783        (WebCore::XSLTMessageHandler::handleMessage):
51784        (WebCore::XSLTProcessor::transformToString):
51785
517862009-10-02  Philippe Normand  <pnormand@igalia.com>
51787
51788        Reviewed by Gustavo Noronha.
51789
51790        [GTK] missing support for anamorphic PAR video size
51791        https://bugs.webkit.org/show_bug.cgi?id=29717
51792
51793        Scale the cairo surface of the video sink depending on the
51794        pixel-aspect-ratio of the video buffer to paint. Also
51795        destruct/re-create the surface when setSize() is called with a new
51796        size.
51797
51798        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
51799        (WebCore::MediaPlayerPrivate::naturalSize):
51800        (WebCore::MediaPlayerPrivate::setSize):
51801        (WebCore::MediaPlayerPrivate::paint):
51802        * platform/graphics/gtk/VideoSinkGStreamer.cpp:
51803        (webkit_video_sink_idle_func):
51804
518052009-10-02  Ben Murdoch  <benm@google.com>
51806
51807        Reviewed by David Kilzer.
51808
51809        Stale database version persists through browser refresh (changeVersion doesn't work)
51810        https://bugs.webkit.org/show_bug.cgi?id=27836
51811
51812        Tests: storage/change-version-handle-reuse.html
51813               storage/change-version.html
51814
51815        * bindings/v8/custom/V8DatabaseCustom.cpp:
51816        (WebCore::CALLBACK_FUNC_DECL): Implement the V8 binding for database.changeVersion().
51817        (WebCore::createTransaction): Fix a bug that was checking the wrong argument index to save the success callback.
51818        * storage/Database.cpp:
51819        (WebCore::updateGuidVersionMap): Safely update the Guid/version hash map.
51820        (WebCore::Database::~Database): Remove code that removes the database from the guid->database and guid->version maps.
51821        (WebCore::Database::setVersionInDatabase): Add a comment to explain some behaviour.
51822        (WebCore::Database::close): Move the code that updates the maps from the destructor to here.
51823        (WebCore::Database::performOpenAndVerify): Call updateGuidVersionMap instead of setting the hash map directly.
51824        (WebCore::Database::setExpectedVersion): Update the in memory guid->version map when we want to update the database version.
51825
518262009-10-02  Janne Koskinen <janne.p.koskinen@digia.com>
51827
51828        Reviewed by Simon Hausmann.
51829
51830        Partial WINSCW build fix.
51831
51832        Add parentheses around the function pointer declaration, similar to the
51833        second hunk in r48825.
51834
51835        * loader/CachedResourceHandle.h:
51836
518372009-10-02  Adam Barth  <abarth@webkit.org>
51838
51839        Unreviewed attempted build fix by Xcode magic.
51840
51841        * WebCore.xcodeproj/project.pbxproj:
51842
518432009-10-02  Adam Barth  <abarth@webkit.org>
51844
51845        Unreviewed build fix.  Actually add the new files.
51846
51847        * loader/RedirectScheduler.cpp: Added.
51848        (WebCore::ScheduledRedirection::):
51849        (WebCore::ScheduledRedirection::ScheduledRedirection):
51850        (WebCore::RedirectScheduler::RedirectScheduler):
51851        (WebCore::RedirectScheduler::~RedirectScheduler):
51852        (WebCore::RedirectScheduler::redirectScheduledDuringLoad):
51853        (WebCore::RedirectScheduler::clear):
51854        (WebCore::RedirectScheduler::scheduleRedirect):
51855        (WebCore::RedirectScheduler::mustLockBackForwardList):
51856        (WebCore::RedirectScheduler::scheduleLocationChange):
51857        (WebCore::RedirectScheduler::scheduleFormSubmission):
51858        (WebCore::RedirectScheduler::scheduleRefresh):
51859        (WebCore::RedirectScheduler::locationChangePending):
51860        (WebCore::RedirectScheduler::scheduleHistoryNavigation):
51861        (WebCore::RedirectScheduler::timerFired):
51862        (WebCore::RedirectScheduler::schedule):
51863        (WebCore::RedirectScheduler::startTimer):
51864        (WebCore::RedirectScheduler::cancel):
51865        * loader/RedirectScheduler.h: Added.
51866
518672009-10-01  Adam Barth  <abarth@webkit.org>
51868
51869        Reviewed by Darin Adler.
51870
51871        Move RedirectScheduler to its own file
51872        https://bugs.webkit.org/show_bug.cgi?id=29952
51873
51874        This change is purely code motion.
51875
51876        No behavior change.
51877
51878        * GNUmakefile.am:
51879        * WebCore.gypi:
51880        * WebCore.pro:
51881        * WebCore.vcproj/WebCore.vcproj:
51882        * WebCore.xcodeproj/project.pbxproj:
51883        * WebCoreSources.bkl:
51884        * loader/FrameLoader.cpp:
51885        * loader/FrameLoader.h:
51886        * loader/RedirectScheduler.cpp: Added.
51887        (WebCore::ScheduledRedirection::):
51888        (WebCore::ScheduledRedirection::ScheduledRedirection):
51889        (WebCore::RedirectScheduler::RedirectScheduler):
51890        (WebCore::RedirectScheduler::~RedirectScheduler):
51891        (WebCore::RedirectScheduler::redirectScheduledDuringLoad):
51892        (WebCore::RedirectScheduler::clear):
51893        (WebCore::RedirectScheduler::scheduleRedirect):
51894        (WebCore::RedirectScheduler::mustLockBackForwardList):
51895        (WebCore::RedirectScheduler::scheduleLocationChange):
51896        (WebCore::RedirectScheduler::scheduleFormSubmission):
51897        (WebCore::RedirectScheduler::scheduleRefresh):
51898        (WebCore::RedirectScheduler::locationChangePending):
51899        (WebCore::RedirectScheduler::scheduleHistoryNavigation):
51900        (WebCore::RedirectScheduler::timerFired):
51901        (WebCore::RedirectScheduler::schedule):
51902        (WebCore::RedirectScheduler::startTimer):
51903        (WebCore::RedirectScheduler::cancel):
51904        * loader/RedirectScheduler.h: Added.
51905
519062009-10-02  Dave MacLachlan  <dmaclach@gmail.com>
51907
51908        Reviewed by David Levin.
51909
51910        Clean up warnings in WebCore/bindings/v8/npruntime.cpp
51911        https://bugs.webkit.org/show_bug.cgi?id=29971
51912
51913        Gets rid of warnings on gcc about using anonymous namespaces 
51914          warning: 'StringKeyHashTraits' has a base
51915          'WTF::GenericHashTraits<<unnamed>::StringKey>' 
51916          whose type uses the anonymous namespace
51917        and
51918          warning: 'WTF::PairHashTraits<StringKeyHashTraits,
51919          WTF::HashTraits<PrivateIdentifier*> >' has a base
51920          'WTF::GenericHashTraits<std::pair<<unnamed>::StringKey,
51921          PrivateIdentifier*> >' whose type uses the anonymous namespace
51922
51923        No tests required.
51924
51925        * bindings/v8/npruntime.cpp:
51926
519272009-10-01  Mark Rowe  <mrowe@apple.com>
51928
51929        Fix the Tiger build.  Don't unconditionally enable 3D canvas as it is not supported on Tiger.
51930
51931        * Configurations/FeatureDefines.xcconfig:
51932
519332009-10-01  Chris Marrin  <cmarrin@apple.com>
51934
51935        Reviewed by Oliver Hunt.
51936
51937        Turn on ENABLE_3D_CANVAS in TOT
51938        https://bugs.webkit.org/show_bug.cgi?id=29906
51939
51940        Fixed a bug found when running tests with flag on
51941
51942        * Configurations/FeatureDefines.xcconfig:
51943        * WebCore.base.exp:
51944        * bindings/js/JSCanvasArrayBufferConstructor.h:
51945        (WebCore::construct):
51946        * html/HTMLCanvasElement.cpp:
51947        (WebCore::HTMLCanvasElement::getContext):
51948        * html/canvas/CanvasArray.cpp:
51949        (WebCore::CanvasArray::CanvasArray):
51950        * html/canvas/CanvasByteArray.cpp:
51951        (WebCore::CanvasByteArray::create):
51952        * html/canvas/CanvasFloatArray.cpp:
51953        (WebCore::CanvasFloatArray::create):
51954        * html/canvas/CanvasIntArray.cpp:
51955        (WebCore::CanvasIntArray::create):
51956        * html/canvas/CanvasShortArray.cpp:
51957        (WebCore::CanvasShortArray::create):
51958        * html/canvas/CanvasUnsignedByteArray.cpp:
51959        (WebCore::CanvasUnsignedByteArray::create):
51960        * html/canvas/CanvasUnsignedIntArray.cpp:
51961        (WebCore::CanvasUnsignedIntArray::create):
51962        * html/canvas/CanvasUnsignedShortArray.cpp:
51963        (WebCore::CanvasUnsignedShortArray::create):
51964        * page/Settings.cpp:
51965        (WebCore::Settings::Settings):
51966        (WebCore::Settings::setWebGLEnabled):
51967        * page/Settings.h:
51968        (WebCore::Settings::webGLEnabled):
51969
519702009-10-01  Beth Dakin  <bdakin@apple.com>
51971
51972        Reviewed by Dan Bernstein.
51973
51974        Fix for <rdar://problem/7264725> Re-add a vendor prefix to box-
51975        shadow (29927)
51976        -and corresponding-
51977        https://bugs.webkit.org/show_bug.cgi?id=29927
51978
51979        * css/CSSComputedStyleDeclaration.cpp:
51980        (WebCore::):
51981        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
51982        * css/CSSParser.cpp:
51983        (WebCore::CSSParser::parseValue):
51984        (WebCore::ShadowParseContext::ShadowParseContext):
51985        (WebCore::ShadowParseContext::commitValue):
51986        (WebCore::ShadowParseContext::commitLength):
51987        (WebCore::ShadowParseContext::commitColor):
51988        (WebCore::cssPropertyID):
51989        * css/CSSPropertyNames.in:
51990        * css/CSSStyleSelector.cpp:
51991        (WebCore::CSSStyleSelector::applyProperty):
51992        * page/animation/AnimationBase.cpp:
51993        (WebCore::ensurePropertyMap):
51994
519952009-10-01  Beth Dakin  <bdakin@apple.com>
51996
51997        Rubber-stamped by Sam Weinig.
51998
51999        At bad merge at some point in the development of my patch must have 
52000        put TextRenderMode.h in a weird spot in the xcodeproj. Moving it 
52001        back where it belongs!
52002
52003        * WebCore.xcodeproj/project.pbxproj:
52004
520052009-09-30  Adam Barth  <abarth@webkit.org>
52006
52007        Reviewed by Darin Adler.
52008
52009        Remove FrameLoader::schedule* APIs
52010        https://bugs.webkit.org/show_bug.cgi?id=29950
52011
52012        Change clients of FrameLoader::schedule* to call redirectScheduler
52013        directly.
52014
52015        No behavior change.
52016
52017        * bindings/js/JSDOMWindowCustom.cpp:
52018        (WebCore::JSDOMWindow::setLocation):
52019        (WebCore::createWindow):
52020        (WebCore::JSDOMWindow::open):
52021        * bindings/js/JSDocumentCustom.cpp:
52022        (WebCore::JSDocument::setLocation):
52023        * bindings/js/JSLocationCustom.cpp:
52024        (WebCore::navigateIfAllowed):
52025        (WebCore::JSLocation::reload):
52026        * bindings/v8/V8Utilities.cpp:
52027        (WebCore::navigateIfAllowed):
52028        * bindings/v8/custom/V8DOMWindowCustom.cpp:
52029        (WebCore::createWindow):
52030        (WebCore::CALLBACK_FUNC_DECL):
52031        * bindings/v8/custom/V8LocationCustom.cpp:
52032        (WebCore::CALLBACK_FUNC_DECL):
52033        * dom/Document.cpp:
52034        (WebCore::Document::implicitClose):
52035        (WebCore::Document::processHttpEquiv):
52036        * html/HTMLTokenizer.cpp:
52037        (WebCore::HTMLTokenizer::write):
52038        * loader/FrameLoader.cpp:
52039        (WebCore::FrameLoader::requestFrame):
52040        (WebCore::FrameLoader::submitForm):
52041        (WebCore::FrameLoader::receivedFirstData):
52042        * loader/FrameLoader.h:
52043        * loader/appcache/ApplicationCacheGroup.cpp:
52044        (WebCore::ApplicationCacheGroup::selectCache):
52045        * page/History.cpp:
52046        (WebCore::History::back):
52047        (WebCore::History::forward):
52048        (WebCore::History::go):
52049
520502009-10-01  Beth Dakin  <bdakin@apple.com>
52051
52052        Just removing a comment I accidentally committed earlier. 
52053
52054        * platform/graphics/mac/SimpleFontDataMac.mm:
52055        (WebCore::SimpleFontData::getCFStringAttributes):
52056
520572009-09-30  Jeremy Orlow  <jorlow@chromium.org>
52058
52059        Reviewed by Darin Adler.
52060
52061        Clean up use of const and mutable in StorageMap
52062        https://bugs.webkit.org/show_bug.cgi?id=29933
52063
52064        What's the point of having every single member variable be mutable and nearly
52065        every method be const?  Let's clean it up.
52066
52067        * storage/StorageMap.cpp:
52068        (WebCore::StorageMap::setIteratorToIndex):
52069        (WebCore::StorageMap::key):
52070        (WebCore::StorageMap::importItem):
52071        * storage/StorageMap.h:
52072
520732009-10-01  Beth Dakin  <bdakin@apple.com>
52074
52075        Reviewed by Dave Hyatt.
52076
52077        Fix for <rdar://problem/6934421> Support CSS for Text Kerning and 
52078        ligature
52079        -and corresponding-
52080        https://bugs.webkit.org/show_bug.cgi?id=6136
52081
52082        This patch makes the SVG CSS property text-rendering work with any 
52083        HTML, much like it does in Firefox. It accepts four possible input 
52084        values: auto, optimizeSpeed, optimizeLegibility, and 
52085        geometricPrecision. Right now, in this implementation, here is what 
52086        those values correspond to:
52087
52088        auto = optimizeSpeed = what we normally when the value's not set
52089        optimizeLegibility = geometricPrecision = ligatures kerning
52090
52091        Add new file TextRenderingMode.h to the project files.
52092        * WebCore.vcproj/WebCore.vcproj:
52093        * WebCore.xcodeproj/project.pbxproj:
52094
52095        CSS support for the new CSSPropertyTextRendering
52096        * css/CSSComputedStyleDeclaration.cpp:
52097        (WebCore::):
52098        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
52099        * css/CSSParser.cpp:
52100        (WebCore::CSSParser::parseValue):
52101        * css/CSSPrimitiveValueMappings.h:
52102        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
52103        (WebCore::CSSPrimitiveValue::operator TextRenderingMode):
52104        * css/CSSPropertyNames.in:
52105        * css/CSSStyleSelector.cpp:
52106        (WebCore::CSSStyleSelector::applyProperty):
52107        * css/CSSValueKeywords.in:
52108
52109        All the old SVG CSS support for this property can go away. When 
52110        it's used in SVG, it will just fall into the normal HTML case.
52111        * css/SVGCSSComputedStyleDeclaration.cpp:
52112        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
52113        * css/SVGCSSParser.cpp:
52114        (WebCore::CSSParser::parseSVGValue):
52115        * css/SVGCSSPropertyNames.in:
52116        * css/SVGCSSStyleSelector.cpp:
52117        (WebCore::CSSStyleSelector::applySVGProperty):
52118        * css/SVGCSSValueKeywords.in:
52119
52120        FontDescription stores the m_textRendering bit.
52121        * platform/graphics/FontDescription.h:
52122        (WebCore::FontDescription::FontDescription):
52123        (WebCore::FontDescription::textRenderingMode):
52124        (WebCore::FontDescription::setTextRenderingMode):
52125        (WebCore::FontDescription::operator==):
52126
52127        We want to fall into the complex text rendering code path if 
52128        kerning and ligatures have been enabled with this property.
52129        * platform/graphics/FontFastPath.cpp:
52130        (WebCore::Font::canUseGlyphCache):
52131
52132        Now takes a TextRenderingMode as a parameter.
52133        * platform/graphics/SimpleFontData.h:
52134
52135        New header for the enum.
52136        * platform/graphics/TextRenderingMode.h: Added.
52137        (WebCore::):
52138
52139        getCFStringAttributes() now takes a TextRenderingMode as an 
52140        attribute.
52141        * platform/graphics/mac/CoreTextController.cpp:
52142        (WebCore::CoreTextController::collectCoreTextRunsForCharacters):
52143
52144        Enable kerning and ligatures whenever the TextRenderingMode is 
52145        OptimizeLegibility or GeometricPrecision
52146        * platform/graphics/mac/FontMacATSUI.mm:
52147        (WebCore::disableLigatures):
52148        (WebCore::initializeATSUStyle):
52149        (WebCore::ATSULayoutParameters::initialize):
52150        * platform/graphics/mac/SimpleFontDataMac.mm:
52151        (WebCore::SimpleFontData::getCFStringAttributes):
52152
52153        More SVG CSS stuff that isn't needed anymore since SVG will use the 
52154        new HTML CSS implementation.
52155        * rendering/style/SVGRenderStyle.h:
52156        (WebCore::SVGRenderStyle::InheritedFlags::operator==):
52157        (WebCore::SVGRenderStyle::setBitDefaults):
52158        * rendering/style/SVGRenderStyleDefs.h:
52159
521602009-10-01  Yury Semikhatsky  <yurys@chromium.org>
52161
52162        Reviewed by Timothy Hatcher.
52163
52164        Use isClosure property of scope proxy to decide whether the
52165        scope is a closure.
52166
52167        https://bugs.webkit.org/show_bug.cgi?id=29965
52168
52169        * inspector/front-end/ScopeChainSidebarPane.js:
52170        (WebInspector.ScopeChainSidebarPane.prototype.update):
52171
521722009-10-01  Simon Fraser  <simon.fraser@apple.com>
52173
52174        Reviewed by Dave Hyatt.
52175
52176        Odd color transitions on anchors with transition-property: all
52177        https://bugs.webkit.org/show_bug.cgi?id=29911
52178
52179        When transitioning maybe-invalid colors, if the source and destination
52180        color are both invalid, then don't animate.
52181        
52182        This fixes an issue where a child element of an element running a color
52183        transition, with -webkit-transition-property:all, would show a color change.
52184        This happened because the "maybe invalid color" logic copied the color style
52185        into -webkit-text-fill-color for both endpoints, causing -webkit-text-fill-color
52186        to animate while the transition ran, and to then to disappear when the transition
52187        finished.
52188        
52189        Test: transitions/color-transition-all.html
52190
52191        * page/animation/AnimationBase.cpp:
52192        (WebCore::PropertyWrapperMaybeInvalidColor::equals):
52193        (WebCore::PropertyWrapperMaybeInvalidColor::blend):
52194
521952009-10-01  Victor Wang  <victorw@chromium.org>
52196
52197        Reviewed by Oliver Hunt.
52198
52199        Allow dragging a node who has child nodes.
52200
52201        https://bugs.webkit.org/show_bug.cgi?id=28632
52202
52203        Test: fast/events/drag-parent-node.html
52204
52205        * page/EventHandler.cpp:
52206        (WebCore::EventHandler::shouldDragAutoNode):
52207
522082009-10-01  Philippe Normand  <pnormand@igalia.com>
52209
52210        Reviewed by Gustavo Noronha.
52211
52212        [GTK] media player: better mute support
52213        https://bugs.webkit.org/show_bug.cgi?id=29960
52214
52215        Handle volume and mute state with the two corresponding properties
52216        of playbin2.
52217
52218        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
52219        (WebCore::MediaPlayerPrivate::setMuted):
52220        (WebCore::MediaPlayerPrivate::setVolume):
52221
522222009-10-01  Philippe Normand  <pnormand@igalia.com>
52223
52224        Reviewed by Gustavo Noronha.
52225
52226        [GTK] video sink pad template colorspace is wrong
52227        https://bugs.webkit.org/show_bug.cgi?id=29953
52228
52229        Set sink pad template colorspace depending on byte order.
52230
52231        * platform/graphics/gtk/VideoSinkGStreamer.cpp:
52232        (webkit_video_sink_idle_func):
52233
522342009-10-01  Vitaly Repeshko  <vitalyr@chromium.org>
52235
52236        Reviewed by Dimitri Glazkov.
52237
52238        [V8] Refactored V8 event listeners:
52239        (This change should fix http://crbug.com/21079 and
52240        https://bugs.webkit.org/show_bug.cgi?id=29093.)
52241         o All listeners use weak handles to JS objects to avoid creating
52242           cycles and leaking memory.
52243         o "Object" variants of listeners removed.
52244         o All event accessor callbacks are generated.
52245         o Custom event accessors removed.
52246         o All wrappers have hidden dependencies on their listeners to
52247           prevent listeners from being collected.
52248         o All variats of getEventListener function grouped in V8DOMWrapper.
52249         o Pointers to C+EventListener wrappers are stored in JS objects
52250           instead of event listener lists.
52251        https://bugs.webkit.org/show_bug.cgi?id=29825
52252
52253        * WebCore.gypi: Removed "Object" listeners.
52254        * bindings/scripts/CodeGeneratorV8.pm: Now handles event accessors.
52255        * bindings/v8/DOMObjectsInclude.h:
52256
52257        V8AbstractEventListener manages weak JS handle:
52258        * bindings/v8/V8AbstractEventListener.cpp:
52259        (WebCore::weakEventListenerCallback):
52260        (WebCore::V8AbstractEventListener::V8AbstractEventListener):
52261        (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
52262        (WebCore::V8AbstractEventListener::handleEvent):
52263        (WebCore::V8AbstractEventListener::disposeListenerObject):
52264        (WebCore::V8AbstractEventListener::setListenerObject):
52265        * bindings/v8/V8AbstractEventListener.h:
52266        (WebCore::V8AbstractEventListener::cast):
52267        (WebCore::V8AbstractEventListener::isLazy):
52268        (WebCore::V8AbstractEventListener::getListenerObject):
52269        (WebCore::V8AbstractEventListener::getExistingListenerObject):
52270        (WebCore::V8AbstractEventListener::hasExistingListenerObject):
52271        (WebCore::V8AbstractEventListener::disconnectFrame):
52272        (WebCore::V8AbstractEventListener::disconnected):
52273        (WebCore::V8AbstractEventListener::prepareListenerObject):
52274        (WebCore::V8AbstractEventListener::lineNumber):
52275        (WebCore::V8AbstractEventListener::virtualisAttribute):
52276
52277        Grouped getEventListener functions:
52278        * bindings/v8/V8DOMWrapper.cpp:
52279        (WebCore::V8DOMWrapper::getTemplate):
52280        (WebCore::V8DOMWrapper::getEventListener):
52281        * bindings/v8/V8DOMWrapper.h:
52282
52283        Removed most event listener objects bookkeeping:
52284        * bindings/v8/V8EventListenerList.cpp:
52285        * bindings/v8/V8EventListenerList.h:
52286        (WebCore::V8EventListenerList::findWrapper):
52287        (WebCore::V8EventListenerList::clearWrapper):
52288        (WebCore::V8EventListenerList::doFindWrapper):
52289        (WebCore::V8EventListenerList::getHiddenProperty):
52290        (WebCore::V8EventListenerList::findOrCreateWrapper):
52291
52292        Added hidden properties for storing EventListener wrappers:
52293        * bindings/v8/V8HiddenPropertyName.cpp:
52294        (WebCore::V8HiddenPropertyName::listener):
52295        (WebCore::V8HiddenPropertyName::attributeListener):
52296        * bindings/v8/V8HiddenPropertyName.h:
52297
52298        * bindings/v8/V8LazyEventListener.cpp:
52299        (WebCore::V8LazyEventListener::V8LazyEventListener):
52300        (WebCore::V8LazyEventListener::callListenerFunction):
52301        (WebCore::V8LazyEventListener::prepareListenerObject):
52302        * bindings/v8/V8LazyEventListener.h:
52303        (WebCore::V8LazyEventListener::isLazy):
52304        * bindings/v8/V8ObjectEventListener.cpp: Removed.
52305        * bindings/v8/V8ObjectEventListener.h: Removed.
52306        * bindings/v8/V8Proxy.cpp:
52307        (WebCore::V8Proxy::disconnectFrame):
52308        (WebCore::V8Proxy::disconnectEventListeners):
52309        * bindings/v8/V8Proxy.h:
52310        * bindings/v8/V8WorkerContextEventListener.cpp:
52311        (WebCore::V8WorkerContextEventListener::reportError):
52312        (WebCore::V8WorkerContextEventListener::getReceiverObject):
52313        * bindings/v8/V8WorkerContextEventListener.h:
52314        * bindings/v8/V8WorkerContextObjectEventListener.cpp: Removed.
52315        * bindings/v8/V8WorkerContextObjectEventListener.h: Removed.
52316        * bindings/v8/WorkerContextExecutionProxy.cpp:
52317        (WebCore::WorkerContextExecutionProxy::dispose):
52318        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
52319        (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener):
52320        * bindings/v8/WorkerContextExecutionProxy.h:
52321        * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
52322        (WebCore::CALLBACK_FUNC_DECL):
52323        * bindings/v8/custom/V8CustomBinding.h:
52324        * bindings/v8/custom/V8CustomEventListener.cpp:
52325        (WebCore::V8EventListener::V8EventListener):
52326        (WebCore::V8EventListener::getListenerFunction):
52327        (WebCore::V8EventListener::callListenerFunction):
52328        * bindings/v8/custom/V8CustomEventListener.h:
52329        * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
52330        (WebCore::CALLBACK_FUNC_DECL):
52331        * bindings/v8/custom/V8DOMWindowCustom.cpp:
52332        (WebCore::CALLBACK_FUNC_DECL):
52333        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
52334        * bindings/v8/custom/V8MessagePortCustom.cpp:
52335        (WebCore::getEventListener):
52336        (WebCore::CALLBACK_FUNC_DECL):
52337        * bindings/v8/custom/V8NodeCustom.cpp:
52338        (WebCore::CALLBACK_FUNC_DECL):
52339        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
52340        (WebCore::CALLBACK_FUNC_DECL):
52341        * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
52342        (WebCore::CALLBACK_FUNC_DECL):
52343        * bindings/v8/custom/V8WebSocketCustom.cpp:
52344        * bindings/v8/custom/V8WorkerContextCustom.cpp:
52345        (WebCore::CALLBACK_FUNC_DECL):
52346        * bindings/v8/custom/V8WorkerCustom.cpp:
52347        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
52348        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
52349        (WebCore::CALLBACK_FUNC_DECL):
52350        * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
52351
523522009-10-01  Alexis Menard  <alexis.menard@nokia.com>
52353
52354        Reviewed by Tor Arne Vestbø.
52355
52356        Rename QWebGraphicsItem to QGraphicsWebView
52357
52358        * WebCore.pro:
52359
523602009-10-01  Dumitru Daniliuc  <dumi@chromium.org>
52361
52362        Reviewed by Dimitri Glazkov.
52363
52364        Read-only transactions do not change file sizes and therefore
52365        should not trigger quota updates.
52366
52367        https://bugs.webkit.org/show_bug.cgi?id=29945
52368
52369        * storage/SQLTransaction.cpp:
52370        (WebCore::SQLTransaction::openTransactionAndPreflight):
52371        (WebCore::SQLTransaction::runStatements):
52372
523732009-09-30  Timothy Hatcher  <timothy@apple.com>
52374
52375        Fix list box scrolling by correctly overriding the scroll()
52376        function on RenderBox.
52377
52378        <rdar://problem/7255440> REGRESSION (r48683): Mousewheel scrolling
52379        of listboxes is broken (29756)
52380
52381        Reviewed by Dan Bernstein.
52382
52383        * rendering/RenderListBox.cpp:
52384        (WebCore::RenderListBox::scroll):
52385        * rendering/RenderListBox.h:
52386        * rendering/RenderTextControlSingleLine.cpp:
52387        (WebCore::RenderTextControlSingleLine::scroll):
52388        * rendering/RenderTextControlSingleLine.h:
52389
523902009-10-01  Yury Semikhatsky  <yurys@chromium.org>
52391
52392        Reviewed by Timothy Hatcher.
52393
52394        Make a copy of listeners array before dispatching an event in
52395        WebInspector.Object.prototype.dispatchEventToListeners. Otherwise if current
52396        listener removes itself from the array next listener will be skipped.
52397
52398        https://bugs.webkit.org/show_bug.cgi?id=29920
52399
52400        * inspector/front-end/Object.js:
52401        (WebInspector.Object.prototype.dispatchEventToListeners): make a copy of listeners array before dispatching an event
52402
524032009-10-01  Martin Robinson  <martin.james.robinson@gmail.com>
52404
52405        Reviewed by Xan Lopez.
52406
52407        [GTK] GtkIMContext filtering interferes with DOM key events
52408        https://bugs.webkit.org/show_bug.cgi?id=28733
52409
52410        Ensure that keyboard events filtered by the GtkIMContext still create
52411        the proper DOM events.
52412
52413        No tests added. Instead previously skipped tests have been enabled.
52414
52415        * platform/gtk/KeyEventGtk.cpp:
52416        (WebCore::keyIdentifierForGdkKeyCode):
52417        (WebCore::singleCharacterString):
52418
524192009-10-01  Philippe Normand  <pnormand@igalia.com>
52420
52421        Reviewed by Xan Lopez.
52422
52423        [GTK] data: uri support in media player
52424        https://bugs.webkit.org/show_bug.cgi?id=29842
52425
52426        New GStreamer element to handle data: uris. For now only base64
52427        encoded data is supported. Decoded data is handed over to
52428        giostreamsrc.
52429
52430        * GNUmakefile.am:
52431        * platform/graphics/gtk/DataSourceGStreamer.cpp: Added.
52432        (_do_init):
52433        (webkit_data_src_base_init):
52434        (webkit_data_src_class_init):
52435        (webkit_data_src_reset):
52436        (webkit_data_src_init):
52437        (webkit_data_src_finalize):
52438        (webkit_data_src_uri_get_type):
52439        (webkit_data_src_uri_get_protocols):
52440        (webkit_data_src_uri_get_uri):
52441        (webkit_data_src_uri_set_uri):
52442        (webkit_data_src_uri_handler_init):
52443        * platform/graphics/gtk/DataSourceGStreamer.h: Added.
52444        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
52445        (WebCore::do_gst_init):
52446        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
52447        (WebCore::MediaPlayerPrivate::mimeTypeCache):
52448
524492009-09-30  Daniel Bates  <dbates@webkit.org>
52450
52451        Reviewed by Adam Barth.
52452
52453        https://bugs.webkit.org/show_bug.cgi?id=29944
52454        
52455        Reduces false positives in the XSSAuditor by explicitly allowing requests
52456        that do not contain illegal URI characters.
52457        
52458        As a side effect of this change, the tests property-inject.html, 
52459        property-escape-noquotes.html, and property-escape-noquotes-tab-slash-chars.html 
52460        fail because these attacks do not contain any illegal URI characters and 
52461        thus are now allowed by the XSSAuditor, where previously they weren't. A future
52462        change may reinstate this functionality.
52463
52464        Tests: http/tests/security/xssAuditor/script-tag-safe2.html
52465               http/tests/security/xssAuditor/script-tag-safe3.html
52466
52467        * page/XSSAuditor.cpp:
52468        (WebCore::isIllegalURICharacter): Added method.
52469        (WebCore::XSSAuditor::canEvaluate):
52470        (WebCore::XSSAuditor::canCreateInlineEventListener):
52471        (WebCore::XSSAuditor::findInRequest): Added parameter 
52472        allowRequestIfNoIllegalURICharacters.
52473        * page/XSSAuditor.h:
52474
524752009-09-30  Oliver Hunt  <oliver@apple.com>
52476
52477        Reviewed by Maciej Stachowiak.
52478
52479        reproducible freeze and crash on closing form popup at bosch-home.nl
52480        https://bugs.webkit.org/show_bug.cgi?id=28948
52481
52482        showModalDialog calls getDirect on what is actually a window shell,
52483        so ends up not getting a value (since no value can ever be placed
52484        directly on the shell), which leads to incorrect behaviour.
52485
52486        We use a manual test rather than automatic as it was not
52487        possible to get a modal run loop to work inside DRT.
52488
52489        * bindings/js/JSDOMWindowCustom.cpp:
52490        (WebCore::JSDOMWindow::showModalDialog):
52491        * manual-tests/showModalDialog-returnValue.html: manual testcase.
52492
524932009-09-30  Kent Tamura  <tkent@chromium.org>
52494
52495        Reviewed by Darin Adler.
52496
52497        Adds ValidityState.tooLong support for <input> and <textarea>.
52498
52499        Introduces tooLong() in HTMLFormControlElement and it always returns false.
52500        HTMLInputElement and HTMLTextAreaElement overrides it and checks the text
52501        length and maxLength.  tooLong() should work only for `dirty' values.
52502        So, introduces m_isDirty flag for HTMLTextAreaElement, and
52503        !m_data.value().isNull() works as a dirty flag for HTMLInputElement.
52504
52505        Renames parameter names of setMaxLength().
52506
52507        https://bugs.webkit.org/show_bug.cgi?id=27454
52508
52509        Tests: fast/forms/ValidityState-tooLong-input.html
52510               fast/forms/ValidityState-tooLong-textarea.html
52511
52512        * html/HTMLFormControlElement.h:
52513        (WebCore::HTMLFormControlElement::tooLong):
52514        * html/HTMLInputElement.cpp:
52515        (WebCore::HTMLInputElement::tooLong):
52516        (WebCore::HTMLInputElement::setMaxLength):
52517        * html/HTMLInputElement.h:
52518        * html/HTMLTextAreaElement.cpp:
52519        (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
52520        (WebCore::HTMLTextAreaElement::reset):
52521        (WebCore::HTMLTextAreaElement::updateValue):
52522        (WebCore::HTMLTextAreaElement::setMaxLength):
52523        (WebCore::HTMLTextAreaElement::tooLong):
52524        * html/HTMLTextAreaElement.h:
52525        * html/ValidityState.h:
52526        (WebCore::ValidityState::tooLong):
52527
525282009-09-30  Adam Barth  <abarth@webkit.org>
52529
52530        Reviewed by Maciej Stachowiak.
52531
52532        Factor RedirectScheduler out of FrameLoader
52533        https://bugs.webkit.org/show_bug.cgi?id=29948
52534
52535        This change introduces a new sub-object of Frame, redirectScheduler.
52536        The redirectScheduler is responsible for scheduling redirects.
52537
52538        This change leaves the code for the redirectScheduler in
52539        FrameLoader.cpp.  A future change will move the class into its own
52540        file.
52541
52542        No behavior change (hopefully!).
52543
52544        * loader/FrameLoader.cpp:
52545        (WebCore::RedirectScheduler::RedirectScheduler):
52546        (WebCore::RedirectScheduler::~RedirectScheduler):
52547        (WebCore::RedirectScheduler::redirectScheduledDuringLoad):
52548        (WebCore::RedirectScheduler::clear):
52549        (WebCore::FrameLoader::FrameLoader):
52550        (WebCore::FrameLoader::setDefersLoading):
52551        (WebCore::FrameLoader::stopLoading):
52552        (WebCore::FrameLoader::didOpenURL):
52553        (WebCore::FrameLoader::didExplicitOpen):
52554        (WebCore::FrameLoader::cancelAndClear):
52555        (WebCore::FrameLoader::clear):
52556        (WebCore::FrameLoader::checkCompleted):
52557        (WebCore::FrameLoader::isScheduledLocationChangePending):
52558        (WebCore::FrameLoader::scheduleHTTPRedirection):
52559        (WebCore::RedirectScheduler::scheduleRedirect):
52560        (WebCore::RedirectScheduler::mustLockBackForwardList):
52561        (WebCore::FrameLoader::scheduleLocationChange):
52562        (WebCore::RedirectScheduler::scheduleLocationChange):
52563        (WebCore::FrameLoader::scheduleFormSubmission):
52564        (WebCore::RedirectScheduler::scheduleFormSubmission):
52565        (WebCore::FrameLoader::scheduleRefresh):
52566        (WebCore::RedirectScheduler::scheduleRefresh):
52567        (WebCore::RedirectScheduler::locationChangePending):
52568        (WebCore::FrameLoader::scheduleHistoryNavigation):
52569        (WebCore::RedirectScheduler::scheduleHistoryNavigation):
52570        (WebCore::RedirectScheduler::timerFired):
52571        (WebCore::FrameLoader::provisionalLoadStarted):
52572        (WebCore::RedirectScheduler::schedule):
52573        (WebCore::RedirectScheduler::startTimer):
52574        (WebCore::RedirectScheduler::cancel):
52575        (WebCore::FrameLoader::completed):
52576        (WebCore::FrameLoader::open):
52577        * loader/FrameLoader.h:
52578        (WebCore::FrameLoader::committedFirstRealDocumentLoad):
52579        * page/Frame.cpp:
52580        (WebCore::Frame::Frame):
52581        (WebCore::Frame::redirectScheduler):
52582        * page/Frame.h:
52583
525842009-09-30  Maciej Stachowiak  <mjs@apple.com>
52585
52586        Build fix, not reviewed.
52587
52588        More Windows build fixes for https://bugs.webkit.org/show_bug.cgi?id=29943
52589
52590        * platform/network/cf/ResourceHandleCFNet.cpp:
52591        (WebCore::willSendRequest):
52592
525932009-09-30  Maciej Stachowiak  <mjs@apple.com>
52594
52595        Build fix, not reviewed.
52596
52597        Fix windows build for fix for https://bugs.webkit.org/show_bug.cgi?id=29943
52598
52599        * platform/network/cf/ResourceHandleCFNet.cpp:
52600        (WebCore::willSendRequest):
52601
526022009-09-30  Dimitri Glazkov  <dglazkov@chromium.org>
52603
52604        Reviewed by Darin Fisher.
52605
52606        [V8] HTMLAudioElement, HTMLImageElement, and HTMLOptionElement are constructable, but they shouldn't be.
52607        Only Audio, Image, and Option should be constructable.
52608        https://bugs.webkit.org/show_bug.cgi?id=29940
52609
52610        Test: fast/dom/dom-constructor.html
52611
52612        * WebCore.gypi: Added new files to project.
52613        * bindings/scripts/CodeGeneratorV8.pm: Modified to generate custom constructors.
52614        * bindings/v8/V8DOMWrapper.cpp:
52615        (WebCore::V8DOMWrapper::getTemplate): Removed handling of HTMLImageElement, HTMLOptionElement
52616          and HTMLAudioElement construction.
52617        * bindings/v8/V8HTMLAudioElementConstructor.h: Added.
52618        * bindings/v8/V8HTMLImageElementConstructor.h: Added.
52619        * bindings/v8/V8HTMLOptionElementConstructor.h: Added.
52620        * bindings/v8/V8Index.cpp: Added new headers.
52621        * bindings/v8/V8Index.h: Added Audio, Image and Option decls.
52622        * bindings/v8/custom/V8CustomBinding.h: Ditto.
52623        * bindings/v8/custom/V8DOMWindowCustom.cpp:
52624        (WebCore::ACCESSOR_GETTER): Added custom constructors.
52625        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
52626        (WebCore::V8HTMLImageElementConstructor::GetTemplate): Added custom template creator.
52627        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
52628        (WebCore::V8HTMLOptionElementConstructor::GetTemplate): Ditto.
52629        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
52630        (WebCore::V8HTMLImageElementConstructor::GetTemplate): Ditto.
52631
526322009-09-30  Maciej Stachowiak  <mjs@apple.com>
52633
52634        Reviewed by Brady Eidson.
52635
52636        307 redirects should pass along http body and Content-Type header
52637        https://bugs.webkit.org/show_bug.cgi?id=29943
52638
52639        Follow-up fix for:
52640        <rdar://problem/3802660> SAP: 307 (Temporary Redirect) responses should use POST, not GET
52641        
52642        Test: http/tests/loading/resources/redirect-methods-result.php
52643
52644        * platform/network/cf/ResourceHandleCFNet.cpp:
52645        (WebCore::willSendRequest): Pass along http body and Content-Type header.
52646        * platform/network/mac/ResourceHandleMac.mm:
52647        (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): ditto
52648
526492009-09-30  Geoffrey Garen  <ggaren@apple.com>
52650
52651        Reviewed by Mark Rowe.
52652
52653        Fixed https://bugs.webkit.org/show_bug.cgi?id=29941
52654        REGRESSION (r48882-r48888): Many memory leaks on SnowLeopard leaks bot
52655
52656        Forgot to implement a destructor for JSDOMWindowBaseData, so it was
52657        leaking its RefPtr data member.
52658
52659        * bindings/js/JSDOMWindowBase.cpp:
52660        (WebCore::JSDOMWindowBase::destroyJSDOMWindowBaseData):
52661        * bindings/js/JSDOMWindowBase.h:
52662        (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData::JSDOMWindowBaseData):
52663
526642009-09-30  Dave Hyatt  <hyatt@apple.com>
52665
52666        Reviewed by Tim Hatcher.
52667
52668        Make sure the removal of user stylesheets results in all of the WebViews being updated to
52669        reflect the changes.
52670
52671        * page/PageGroup.cpp:
52672        (WebCore::PageGroup::removeUserContentWithURLForWorld):
52673        (WebCore::PageGroup::removeUserContentForWorld):
52674
526752009-09-30  Dan Bernstein  <mitz@apple.com>
52676
52677        Reviewed by Sam Weinig.
52678
52679        REGRESSION(r47440): drop down menus at americanexpress.com disappear on mouse out
52680        https://bugs.webkit.org/show_bug.cgi?id=29209
52681
52682        Test: fast/inline/relative-positioned-overflow.html
52683
52684        * rendering/InlineFlowBox.cpp:
52685        (WebCore::InlineFlowBox::computeVerticalOverflow): Add self-painting
52686        inlines to overflow to ensure that they are included in hit-testing.
52687
526882009-09-30  Simon Fraser  <simon.fraser@apple.com>
52689
52690        Reviewed by Mark Rowe.
52691
52692        transforms/3d tests are not run in Release builds
52693        https://bugs.webkit.org/show_bug.cgi?id=29827
52694
52695        Make sure we export the WebCoreHas3DRendering symbol in Release builds,
52696        because this symbols is used by run-webkit-tests (via 'nm') to detect whether
52697        WebCore was built with ENABLE_3D_RENDERING turned on.
52698
52699        * DerivedSources.make:
52700        * WebCore.3DRendering.exp: Added.
52701        * WebCore.xcodeproj/project.pbxproj:
52702
527032009-09-30  Jeremy Orlow  <jorlow@chromium.org>
52704
52705        Build fix for QT.  Didn't know WebCore.pro existed.
52706
52707        * WebCore.pro:
52708
527092009-09-30  Dave Hyatt  <hyatt@apple.com>
52710
52711        Reviewed by Adam Roben.
52712
52713        Add a method for removal of user scripts and stylesheets by URL from a specific world.
52714
52715        * page/PageGroup.cpp:
52716        (WebCore::PageGroup::removeUserContentURLForWorld):
52717        * page/PageGroup.h:
52718
527192009-09-30  Chris Hawk  <hawk@chromium.org>
52720
52721        Reviewed by Dimitri Glazkov.
52722
52723        Fix for conditionals in the WebCore gyp file, which contained two separate
52724        'conditions' values for the webcore target. The first entry was ignored,
52725        resulting in some missine defines.
52726        https://bugs.webkit.org/show_bug.cgi?id=29907
52727
52728        * WebCore.gyp/WebCore.gyp:
52729
527302009-09-21  Jeremy Orlow  <jorlow@chromium.org>
52731
52732        Reviewed by Adam Barth.
52733
52734        DOM Storage needs to be more careful about where "ThreadSafe" objects are destroyed.
52735        https://bugs.webkit.org/show_bug.cgi?id=29265
52736
52737        DOM Storage needs to be more careful about where "ThreadSafe" objects are
52738        destroyed.  With the current code, there actually isn't a race condition, but
52739        it sure would be easy for someone to introduce one.  A bunch of
52740        ThreadSafeShared objects have RefPtrs to objects that are NOT ThreadSafeShared
52741        objects.  If it were possible any of these objects' destructors to be fired off
52742        the main thread, then the you'd have a race condition.  The code should be more
52743        clear and self-documenting about how things related to each other.
52744
52745        Since the lifetime of a LocalStorageTask is bounded by the LocalStorageThread
52746        which is bounded by the StorageSyncManager, StorageAreaImpl, and
52747        StorageAreaSync, there's no reason for LocalStorageTask to store anything other
52748        than pointers.  By breaking this dependency, we can eliminate the risk.
52749
52750        Note that we _could_ have LocalStorageThread's task queue just store
52751        LocalStorageTask*'s rather than RefPtr<LocalStorageTask>s but then we'd need to
52752        manually take care of deleting.  It'd probably also be possible to change
52753        LocalStorageThread around so that it needn't hold onto a reference of itself
52754        and have a more deterministic shutdown, but my initial attempts to do so
52755        failed, and I decided it wasn't worth changing.  The queue is killed before
52756        hand, so the thread is 100% impotent before the main thread continues anyway.
52757
52758        The constructors and destructors of StorageSyncManager, StorageAreaImpl, and
52759        StorageAreaSync now have ASSERTs to verify they're running on the main thread. 
52760        I'm fairly positive that it'd be impossible to hit these asserts and the fact
52761        that these classes are no longer ThreadSafeShared should make it clear how
52762        they're meant to be used, but I think it's worth it to be extra sure.  Of
52763        course, ideally, we'd have such an assert every time a ref is incremented or
52764        decremented.
52765
52766        Behavior should be unchanged and this is just an internal code cleanup, so no
52767        new tests.
52768
52769        * storage/LocalStorageTask.cpp:
52770        (WebCore::LocalStorageTask::LocalStorageTask):
52771        (WebCore::LocalStorageTask::performTask):
52772        * storage/LocalStorageTask.h:
52773        (WebCore::LocalStorageTask::createImport):
52774        (WebCore::LocalStorageTask::createSync):
52775        (WebCore::LocalStorageTask::createTerminate):
52776        * storage/LocalStorageThread.cpp:
52777        (WebCore::LocalStorageThread::scheduleImport):
52778        (WebCore::LocalStorageThread::scheduleSync):
52779        * storage/LocalStorageThread.h:
52780        * storage/StorageArea.h:
52781        * storage/StorageAreaImpl.cpp:
52782        (WebCore::StorageAreaImpl::~StorageAreaImpl):
52783        (WebCore::StorageAreaImpl::StorageAreaImpl):
52784        * storage/StorageAreaSync.cpp:
52785        (WebCore::StorageAreaSync::StorageAreaSync):
52786        (WebCore::StorageAreaSync::~StorageAreaSync):
52787        * storage/StorageSyncManager.cpp:
52788        (WebCore::StorageSyncManager::StorageSyncManager):
52789        (WebCore::StorageSyncManager::~StorageSyncManager):
52790        (WebCore::StorageSyncManager::scheduleImport):
52791        (WebCore::StorageSyncManager::scheduleSync):
52792        * storage/StorageSyncManager.h:
52793
527942009-09-28  Jeremy Orlow  <jorlow@chromium.org>
52795
52796        Reviewed by Darin Fisher.
52797
52798        Chromium needs to be able to override the way storage events are delivered
52799        https://bugs.webkit.org/show_bug.cgi?id=29655
52800
52801        Chromium needs to be able to override the way storage events are delivered.
52802        This replaced https://bugs.webkit.org/show_bug.cgi?id=29257 because it'll be
52803        faster (no vtables and extra allocation) and somewhat cleaner (no dependency
52804        injection).  This is necessary because Chromium needs to transport events across
52805        a process barrier and then dispatch them without use of a Frame*.
52806
52807        Behavior should not change with this, so no updates to tests.
52808
52809        * GNUmakefile.am:
52810        * WebCore.gypi:
52811        * WebCore.vcproj/WebCore.vcproj:
52812        * WebCore.xcodeproj/project.pbxproj:
52813        * WebCoreSources.bkl:
52814        * storage/StorageAreaImpl.cpp:
52815        (WebCore::StorageAreaImpl::setItem):
52816        (WebCore::StorageAreaImpl::removeItem):
52817        (WebCore::StorageAreaImpl::clear):
52818        * storage/StorageAreaImpl.h:
52819        * storage/StorageEventDispatcher.cpp: Copied from WebCore/storage/StorageAreaImpl.cpp.
52820        (WebCore::StorageEventDispatcher::dispatch):
52821        * storage/StorageEventDispatcher.h: Added.  (Well, technically in the other half of this patch.)
52822
528232009-09-30  Jian Li  <jianli@chromium.org>
52824
52825        Reviewed by Darin Adler.
52826
52827        Need to check NULL frame in EventHandler::updateDragAndDrop.
52828        https://bugs.webkit.org/show_bug.cgi?id=29929
52829
52830        Test: http/tests/misc/drag-over-iframe-invalid-source-crash.html
52831
52832        * page/EventHandler.cpp:
52833        (WebCore::EventHandler::updateDragAndDrop):
52834
528352009-09-29  Simon Fraser  <simon.fraser@apple.com>
52836
52837        Reviewed by Dan Bernstein.
52838
52839        ASSERTION FAILED: !repaintContainer || repaintContainer == this
52840        https://bugs.webkit.org/show_bug.cgi?id=29755
52841        
52842        Generalize the fix for this bug to account for cases where there may be multiple
52843        containing blocks between the repaint container, and the container of the element
52844        being repainted.
52845
52846        Test: compositing/repaint/opacity-between-absolute2.html
52847
52848        * rendering/RenderBox.cpp:
52849        (WebCore::RenderBox::mapLocalToContainer):
52850        Call offsetFromAncestorContainer() to get the correct offset.
52851        
52852        (WebCore::RenderBox::computeRectForRepaint): Ditto
52853        * rendering/RenderInline.cpp:
52854        (WebCore::RenderInline::computeRectForRepaint): Ditto.
52855        
52856        * rendering/RenderObject.h:
52857        * rendering/RenderObject.cpp:
52858        (WebCore::RenderObject::offsetFromAncestorContainer):
52859        New method that computes an offset from some object in the ancestor container() chain.
52860
528612009-09-30  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
52862
52863        Reviewed by Simon Hausmann.
52864
52865        [Qt] Fix TextCodecQt::decode method after r48752 to return a non-null string if the length of the input is 0.
52866        This fixes https://bugs.webkit.org/show_bug.cgi?id=29736.
52867
52868        * platform/text/qt/TextCodecQt.cpp:
52869        (WebCore::TextCodecQt::decode):
52870
528712009-09-29  Dave Hyatt  <hyatt@apple.com>
52872
52873        Reviewed by Jon Honeycutt.
52874
52875        Fix a couple of bugs with patterns.  Move the setting of the document URL to before the style
52876        selector gets constructed so that pattern match testing gets the correct URL.
52877
52878        * loader/FrameLoader.cpp:
52879        (WebCore::FrameLoader::begin):
52880        * page/UserContentURLPattern.cpp:
52881        (WebCore::UserContentURLPattern::parse):
52882
528832009-09-29  Alexey Proskuryakov  <ap@apple.com>
52884
52885        Rubber-stamped by Brady Eidson.
52886
52887        Assertion failure in http/tests/xmlhttprequest/failed-auth.html.
52888
52889        I couldn't find out why this only started to happen now, but it was incorrect to check
52890        persistence of a credential returned by CredentialStorage::get() without checking that it
52891        was non-null. When there is no credential for the protection space in storage, get()
52892        returns a new object, and Credentil constructor doesn't initialize m_persistence.
52893
52894        * platform/network/mac/ResourceHandleMac.mm:
52895        (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Moved the
52896        assertion after credential null check.
52897        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Added the same persistence
52898        assertion, matching sync code (and CF one, as well).
52899
529002009-09-29  Yong Li  <yong.li@torchmobile.com>
52901
52902        Reviewed by Darin Adler.
52903
52904        Add an ASSERT for UTF8Encoding().isValid()
52905        https://bugs.webkit.org/show_bug.cgi?id=29908
52906
52907        * platform/text/TextEncoding.cpp:
52908        (WebCore::UTF8Encoding):
52909
529102009-09-29  Dave Hyatt  <hyatt@apple.com>
52911
52912        Reviewed by Jon Honeycutt.
52913
52914        https://bugs.webkit.org/show_bug.cgi?id=29892
52915        Add support for whitelist patterns to control conditional injection of user scripts and
52916        user stylesheets.
52917
52918        No new tests. Not testable until WebKit portion is added in followup patch.
52919
52920        * GNUmakefile.am:
52921        * WebCore.gypi:
52922        * WebCore.pro:
52923        * WebCore.vcproj/WebCore.vcproj:
52924        * WebCore.xcodeproj/project.pbxproj:
52925        * dom/Document.cpp:
52926        (WebCore::Document::pageGroupUserSheets):
52927        * page/Frame.cpp:
52928        (WebCore::Frame::injectUserScriptsForWorld):
52929        * page/UserContentURLPattern.cpp: Added.
52930        (WebCore::UserContentURLPattern::matchesPatterns):
52931        (WebCore::UserContentURLPattern::parse):
52932        (WebCore::UserContentURLPattern::matches):
52933        (WebCore::UserContentURLPattern::matchesHost):
52934        (WebCore::MatchTester::MatchTester):
52935        (WebCore::MatchTester::testStringFinished):
52936        (WebCore::MatchTester::patternStringFinished):
52937        (WebCore::MatchTester::eatWildcard):
52938        (WebCore::MatchTester::eatSameChars):
52939        (WebCore::MatchTester::test):
52940        (WebCore::UserContentURLPattern::matchesPath):
52941        * page/UserContentURLPattern.h: Added.
52942        (WebCore::UserContentURLPattern::UserContentURLPattern):
52943        (WebCore::UserContentURLPattern::scheme):
52944        (WebCore::UserContentURLPattern::host):
52945        (WebCore::UserContentURLPattern::path):
52946        (WebCore::UserContentURLPattern::matchSubdomains):
52947
529482009-09-29  Enrica Casucci  <enrica@apple.com>
52949
52950        Reviewed by Adele Peterson.
52951
52952        Reproducible crash pressing return inside quoted content
52953        at WebCore::BreakBlockquoteCommand::doApply.
52954        <rdar://problem/7085453>
52955        In some case, like the one provided in the test case, m_downStreamEnd
52956        refers to a node that gets deleted when executing the DeleteSelectionCommand.
52957        We shouldn't use m_downStreamEnd to recalculate the new m_endPosition when
52958        pruning is needed, because it may be point to a node that has been deleted, but
52959        rather rely on removeNode in CompositeEditCommand to update m_endPosition correctly.
52960
52961        Test: editing/selection/blockquote-crash.html
52962
52963        * editing/BreakBlockquoteCommand.cpp:
52964        (WebCore::BreakBlockquoteCommand::doApply): Added check for invalid position
52965        to avoid dereferencing a null node pointer.
52966        * editing/DeleteSelectionCommand.cpp:
52967        (WebCore::DeleteSelectionCommand::mergeParagraphs): Don't reset m_endPosition
52968        using the value in m_downStreamEnd when it is necessary to prune the start block.
52969        
529702009-09-29  Alexey Proskuryakov  <ap@apple.com>
52971
52972        Reviewed by Brady Eidson.
52973
52974        Basic authentication credentials are not sent automatically to top resources
52975        https://bugs.webkit.org/show_bug.cgi?id=29901
52976
52977        No new tests - I don't want to pollute root directory of http tests to check for this rather
52978        minor issue.
52979
52980        * platform/network/CredentialStorage.cpp:
52981        (WebCore::CredentialStorage::set): Changed to always preserve leading slash.
52982        (WebCore::CredentialStorage::getDefaultAuthenticationCredential): Made breaking out of the
52983        loop more explicit.
52984
529852009-09-29  Pavel Feldman  <pfeldman@chromium.org>
52986
52987        Reviewed by Oliver Hunt.
52988
52989        Web Inspector REGRESSION(r47820-r47822): Profiles aren't
52990        added to the inspector unless the inspector is already open
52991        when the profile completes.
52992
52993        https://bugs.webkit.org/show_bug.cgi?id=29897
52994
52995        * inspector/front-end/ProfilesPanel.js:
52996        (WebInspector.ProfilesPanel.prototype._populateProfiles):
52997
529982009-09-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
52999
53000        Rubberstamped by David Hyatt.
53001
53002        Fix to logic of earlier commit 48902.
53003
53004        When merging two if's before committing, I forgot to invert the
53005        bool check.
53006
53007        * platform/network/qt/QNetworkReplyHandler.cpp:
53008        (WebCore::ignoreHttpError):
53009
530102009-09-29  Stephen White  <senorblanco@chromium.org>
53011
53012        Unreviewed, build fix.
53013
53014        Fixing Chromium build, following r48884.
53015
53016        [https://bugs.webkit.org/show_bug.cgi?id=29894]
53017
53018        * bindings/v8/V8AbstractEventListener.cpp:
53019        (WebCore::V8AbstractEventListener::handleEvent):
53020        * bindings/v8/V8AbstractEventListener.h:
53021        * bindings/v8/V8WorkerContextEventListener.cpp:
53022        (WebCore::V8WorkerContextEventListener::handleEvent):
53023        * bindings/v8/V8WorkerContextEventListener.h:
53024
530252009-09-29  Kent Tamura  <tkent@chromium.org>
53026
53027        Reviewed by Darin Adler.
53028
53029        Follows HTML5's maxLength change in September 2009.
53030        - Change HTMLTextAreaElement.maxLength type to signed.
53031        - HTMLTextAreaElement.maxLength returns -1 if maxlength= attribute is missing.
53032        - HTMLTextAreaElement.maxLength and HTMLInputElement.maxLength
53033          throw INDEX_SIZE_ERR for setting negative values.
53034        https://bugs.webkit.org/show_bug.cgi?id=29796
53035
53036        * html/HTMLInputElement.cpp:
53037        (WebCore::HTMLInputElement::setMaxLength):
53038        * html/HTMLInputElement.h:
53039        * html/HTMLInputElement.idl:
53040        * html/HTMLTextAreaElement.cpp:
53041        (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
53042        (WebCore::HTMLTextAreaElement::maxLength):
53043        (WebCore::HTMLTextAreaElement::setMaxLength):
53044        * html/HTMLTextAreaElement.h:
53045        * html/HTMLTextAreaElement.idl:
53046
530472009-09-29  Dimitri Glazkov  <dglazkov@chromium.org>
53048
53049        No review, rolling out r48894, because review discussion was not complete.
53050        http://trac.webkit.org/changeset/48894
53051
53052        * platform/sql/SQLiteTransaction.cpp:
53053        (WebCore::SQLiteTransaction::begin):
53054
530552009-09-29  Dirk Schulze  <krit@webkit.org>
53056
53057        Reviewed by Nikolas Zimmermann.
53058
53059        SVG Filter feComposite implementation is missing
53060        [https://bugs.webkit.org/show_bug.cgi?id=28362]
53061
53062        feComposite implementation for SVG.
53063
53064        Test: svg/filters/feComposite.svg
53065
53066        * platform/graphics/filters/FEComposite.cpp:
53067        (WebCore::arithmetic):
53068        (WebCore::FEComposite::apply):
53069
530702009-09-29  Dumitru Daniliuc  <dumi@chromium.org>
53071
53072        Reviewed by Dimitri Glazkov.
53073
53074        Starting all read-only transactions with an explicit BEGIN
53075        DEFERRED command instead of BEGIN, since some ports (chromium)
53076        might compile their own SQLite library and set BEGIN to BEGIN
53077        IMMEDIATE by default; which would result in a deadlock in case of
53078        two concurrent read-only transactions on the same DB, and would
53079        unnecessarily delay other potential transactions to the same DB.
53080
53081        https://bugs.webkit.org/show_bug.cgi?id=29729
53082
53083        * platform/sql/SQLiteTransaction.cpp:
53084        (WebCore::SQLiteTransaction::begin):
53085
530862009-09-29  Kenneth Russell  <kbr@google.com>
53087
53088        Reviewed by Dimitri Glazkov.
53089
53090        Add support for run-time flag for 3D canvas
53091        https://bugs.webkit.org/show_bug.cgi?id=29826
53092
53093        * html/HTMLCanvasElement.cpp:
53094        (WebCore::HTMLCanvasElement::getContext): Check page settings for
53095        experimental WebGL flag before returning 3D graphics context.
53096        * page/Settings.cpp:
53097        (WebCore::Settings::Settings): Initialize new flag to false.
53098        (WebCore::Settings::setExperimentalWebGLEnabled):
53099        * page/Settings.h: Set new flag.
53100        (WebCore::Settings::experimentalWebGLEnabled): Return new flag.
53101
531022009-09-29  Jeremy Orlow  <jorlow@chromium.org>
53103
53104        Reviewed by Darin Fisher.
53105
53106        Chromium needs to be able to override the way storage events are delivered - part 1
53107        https://bugs.webkit.org/show_bug.cgi?id=29889
53108
53109        Chromium needs to be able to override the way storage events are delivered.
53110        This replaced https://bugs.webkit.org/show_bug.cgi?id=29257 because it'll be
53111        faster (no vtables and extra allocation) and somewhat cleaner (no dependency
53112        injection).  This is necessary because Chromium needs to transport events across
53113        a process barrier and then dispatch them without use of a Frame*.
53114
53115        This patch should be a no-op for all ports other than Chromium.
53116
53117        * WebCore.gypi:
53118        * storage/StorageEventDispatcher.h: Added.
53119
531202009-09-29  Oliver Hunt  <oliver@apple.com>
53121
53122        Reviewed by NOBODY (missed file).
53123
53124        Adding file missed in previous commit.
53125
53126        * manual-tests/gtk/resources/long_cell.cur: Copied from WebCore/dom/PositionCreationFunctions.h.
53127
531282009-09-29  Dimitri Glazkov  <dglazkov@chromium.org>
53129
53130        Reviewed by Darin Fisher.
53131
53132        [V8] Correct an issue with XMLHttpRequest attribute event listeners never being cleared.
53133        https://bugs.webkit.org/show_bug.cgi?id=29888
53134
53135        Test: LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-abort-readyState-shouldDispatchEvent.html
53136
53137        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
53138        (WebCore::getEventListener): Added isAttribute parameter.
53139        (WebCore::ACCESSOR_SETTER): Made all event listener setters create attribute listeners.
53140        (WebCore::CALLBACK_FUNC_DECL): Made addEventListener create object listener.
53141
531422009-09-22  Martin Robinson  <martin.james.robinson@gmail.com>
53143
53144        Reviewed by Eric Seidel.
53145
53146        Fix corruption for non-square images.
53147
53148        [GTK] REGRESSION: BitmapImage::getGdkPixbuf fails for non-square images
53149        https://bugs.webkit.org/show_bug.cgi?id=29654
53150
53151        Added an additional manual-test for this issue to the existing Gtk
53152        cursor image test.
53153
53154        * manual-tests/gtk/cursor-image.html:
53155        * manual-tests/gtk/resources/long_cell.cur: Added.
53156        * platform/graphics/gtk/ImageGtk.cpp:
53157        (WebCore::BitmapImage::getGdkPixbuf):
53158
531592009-09-29  Alexey Proskuryakov  <ap@apple.com>
53160
53161        Reviewed by Timothy Hatcher.
53162
53163        Build fix - pass a proper ScriptExecutipnContext to getEventListenerHandlerBody()
53164
53165        * bindings/js/ScriptEventListener.cpp:
53166        (WebCore::getEventListenerHandlerBody):
53167        * bindings/js/ScriptEventListener.h:
53168        * bindings/v8/ScriptEventListener.cpp:
53169        (WebCore::getEventListenerHandlerBody):
53170        * bindings/v8/ScriptEventListener.h:
53171        * inspector/InspectorDOMAgent.cpp:
53172        (WebCore::InspectorDOMAgent::buildObjectForEventListener):
53173
531742009-09-29  Nate Chapin  <japhet@chromium.org>
53175
53176        Reviewed by Eric Seidel.
53177
53178        Ensure that we don't scroll lock to an anchor node after a
53179        user-initiated scroll, even if that scroll doesn't propagate
53180        all the way up to FrameView.
53181
53182        Test: fast/events/node-event-anchor-lock.html
53183
53184        * page/EventHandler.cpp: Call setFrameWasScrolledByUser() when a scroll is handled by a node rather than a frame.
53185        (WebCore::EventHandler::scrollOverflow):
53186        (WebCore::EventHandler::handleWheelEvent):
53187        (WebCore::EventHandler::sendScrollEvent): Use setFrameWasScrolledByUser();
53188        (WebCore::EventHandler::setFrameWasScrolledByUser): Split out of sendScrollEvent();
53189        (WebCore::EventHandler::passMousePressEventToScrollbar):
53190        * page/EventHandler.h: Declare setFrameWasScrolledByUser().
53191
531922009-09-28  Alexey Proskuryakov  <ap@apple.com>
53193
53194        Reviewed by Darin Adler and Sam Weinig.
53195
53196        Onclick not fired for an element copied with cloneContents() or cloneNode()
53197        https://bugs.webkit.org/show_bug.cgi?id=25130
53198
53199        The change here is that JS event listeners don't keep a reference to a global object from
53200        where they were created, and instead take it as a parameter when parsing source code. Also,
53201        the listener creation won't fail just because it happens for an element in a frameless
53202        document.
53203        Thus, moving nodes between documents no longer results in having incorrect registered
53204        lazy event listeners on them.
53205
53206        Tests: fast/events/attribute-listener-cloned-from-frameless-doc-context-2.html
53207               fast/events/attribute-listener-cloned-from-frameless-doc-context.html
53208               fast/events/attribute-listener-cloned-from-frameless-doc.xhtml
53209               fast/events/attribute-listener-extracted-from-frameless-doc-context-2.html
53210               fast/events/attribute-listener-extracted-from-frameless-doc-context.html
53211
53212        * bindings/js/JSEventListener.cpp:
53213        (WebCore::JSEventListener::JSEventListener): Don't take a reference to JSDOMGlobalObject.
53214        (WebCore::JSEventListener::jsFunction): Take ScriptExecutionContext as a parameter for
53215        getting to JSDOMGlobalObject. It's not used in base class, but is in JSLazyEventListner.
53216        (WebCore::JSEventListener::markJSFunction): Don't mark the global object.
53217        (WebCore::JSEventListener::handleEvent): Get global object from ScriptExecutionContext.
53218        (WebCore::JSEventListener::reportError): Ditto.
53219
53220        * bindings/js/JSEventListener.h: (WebCore::JSEventListener::create): Don't keep a reference
53221        to JSDOMGlobalObject.
53222
53223        * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::parseCode): Listener
53224        creation was split between this function and ScriptEventListener; moved it here, as JS
53225        global object can be different now.
53226
53227        * bindings/js/JSLazyEventListener.h: (WebCore::JSLazyEventListener::create): Keep source URL,
53228        which can not be determined at parsing time.
53229
53230        * bindings/js/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): Moved code
53231        for listener creation to JSLazyEventListener. XSSAuditor code remains here, because tests
53232        expect that errors are logged at document parsing time, and because I don't know what other
53233        side effects moving it vould have.
53234
53235        * dom/EventListener.h: handleEvent() and reportError() now take ScriptExecutionContext,
53236        because JSC needs a global context here.
53237
53238        * bindings/js/JSAbstractWorkerCustom.cpp:
53239        (WebCore::JSAbstractWorker::addEventListener):
53240        (WebCore::JSAbstractWorker::removeEventListener):
53241        * bindings/js/JSDOMApplicationCacheCustom.cpp:
53242        (WebCore::JSDOMApplicationCache::addEventListener):
53243        (WebCore::JSDOMApplicationCache::removeEventListener):
53244        * bindings/js/JSDOMGlobalObject.cpp:
53245        (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
53246        * bindings/js/JSDOMWindowCustom.cpp:
53247        (WebCore::JSDOMWindow::addEventListener):
53248        (WebCore::JSDOMWindow::removeEventListener):
53249        * bindings/js/JSEventSourceCustom.cpp:
53250        (WebCore::JSEventSource::addEventListener):
53251        (WebCore::JSEventSource::removeEventListener):
53252        * bindings/js/JSMessagePortCustom.cpp:
53253        (WebCore::JSMessagePort::addEventListener):
53254        (WebCore::JSMessagePort::removeEventListener):
53255        * bindings/js/JSNodeCustom.cpp:
53256        (WebCore::JSNode::addEventListener):
53257        (WebCore::JSNode::removeEventListener):
53258        * bindings/js/JSSVGElementInstanceCustom.cpp:
53259        (WebCore::JSSVGElementInstance::addEventListener):
53260        (WebCore::JSSVGElementInstance::removeEventListener):
53261        * bindings/js/JSWorkerContextCustom.cpp:
53262        (WebCore::JSWorkerContext::addEventListener):
53263        (WebCore::JSWorkerContext::removeEventListener):
53264        * bindings/js/JSXMLHttpRequestCustom.cpp:
53265        (WebCore::JSXMLHttpRequest::addEventListener):
53266        (WebCore::JSXMLHttpRequest::removeEventListener):
53267        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
53268        (WebCore::JSXMLHttpRequestUpload::addEventListener):
53269        (WebCore::JSXMLHttpRequestUpload::removeEventListener):
53270        * bindings/objc/ObjCEventListener.h:
53271        * bindings/objc/ObjCEventListener.mm:
53272        (WebCore::ObjCEventListener::handleEvent):
53273        * bindings/scripts/CodeGeneratorJS.pm:
53274        * dom/EventTarget.cpp:
53275        (WebCore::EventTarget::fireEventListeners):
53276        * inspector/InspectorDOMAgent.cpp:
53277        (WebCore::InspectorDOMAgent::handleEvent):
53278        * inspector/InspectorDOMAgent.h:
53279        * inspector/InspectorDOMStorageResource.cpp:
53280        (WebCore::InspectorDOMStorageResource::handleEvent):
53281        * inspector/InspectorDOMStorageResource.h:
53282        * loader/ImageDocument.cpp:
53283        (WebCore::ImageEventListener::handleEvent):
53284        * svg/animation/SVGSMILElement.cpp:
53285        (WebCore::ConditionEventListener::handleEvent):
53286        * workers/WorkerContext.cpp:
53287        (WebCore::WorkerContext::reportException):
53288        Don't pass global object to JSEventListener::create(), which no longer needs it.
53289        Note that some of these functions still have an early return for null global object, which
53290        can probably be removed in a later patch.
53291        Pass ScriptExecutionContext to EventListener methods that now need it.
53292
53293        * bindings/scripts/CodeGeneratorCOM.pm: Don't force EventTarget implementation on Node -
53294        it doesn't work yet (it didn't quite work before this patch, too, because it assumed that
53295        any object implementing EventTarget COM interface originated from WebCore).
53296
53297        * dom/EventListener.idl: Just like in ObjC, EventListener should be a pure interface in
53298        COM bindings.
53299
533002009-09-28  Geoffrey Garen  <ggaren@apple.com>
53301
53302        Reviewed by Sam Weinig.
53303
53304        Removed virtual destructor from JSGlobalObjectData to eliminate pointer
53305        fix-ups when accessing JSGlobalObject::d.
53306        
53307        Replaced with an explicit destructor function pointer.
53308
53309        * bindings/js/JSDOMGlobalObject.cpp:
53310        (WebCore::JSDOMGlobalObject::destroyJSDOMGlobalObjectData):
53311        * bindings/js/JSDOMGlobalObject.h:
53312        (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData):
53313
533142009-09-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
53315
53316        Reviewed by Simon Hausmann.
53317
53318        Don't rely on QNetworkReply::NetworkError codes, but
53319        on HTTP error codes instead.
53320
53321        * platform/network/qt/QNetworkReplyHandler.cpp:
53322        (WebCore::ignoreHttpError):
53323        (WebCore::QNetworkReplyHandler::finish):
53324
533252009-09-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
53326
53327        Reviewed by Simon Hausmann.
53328
53329        Use const references when using Qt's foreach.
53330
53331        * platform/network/qt/QNetworkReplyHandler.cpp:
53332        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
53333
533342009-09-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
53335
53336        Reviewed by Simon Hausmann.
53337
53338        Fix handling of QNetworkReply errors.
53339
53340        In the QNetworkReplyHandler::finish() a response was sent even when
53341        the reply contained an error. This resulted in a sendResponseIfNeeded()
53342        calling didReceiveResponse on the client, leading to the destruction
53343        of the m_resourceHandle, discontinuing further processing in finish(),
53344        and thus not calling didFail on the client.
53345
53346        Instead it continued as everything went fine, and
53347        FrameLoaderClientQt::dispatchDecidePolicyForMIMEType() changed the
53348        policy to PolicyDownload due to not being able to show the non existing
53349        MIMEType. As the download also obviously fails, it ended up with a
53350        policy change error.
53351
53352        * platform/network/qt/QNetworkReplyHandler.cpp:
53353        (WebCore::QNetworkReplyHandler::finish):
53354
533552009-09-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
53356
53357        Reviewed by Simon Hausmann.
53358
53359        The code for showing error pages when the response was
53360        a 401/403/404, was not actually doing so. This patch
53361        fixes that.
53362
53363        * platform/network/qt/QNetworkReplyHandler.cpp:
53364        (WebCore::QNetworkReplyHandler::finish):
53365
533662009-09-28  Alexey Proskuryakov  <ap@apple.com>
53367
53368        Reviewed by Brady Eidson.
53369
53370        <rdar://problem/7259965> REGRESSION: http/tests/xmlhttprequest/cross-origin-authorization.html
53371        is failing/crashing intermittently
53372        https://bugs.webkit.org/show_bug.cgi?id=29322
53373
53374        This was caused by CStringBuffer::encodeBase64() returning a buffer that wasn't zero terminated.
53375        The code had other issues as well, so I removed it altogether:
53376        - it claimed to avoid some buffer copies, but it didn't;
53377        - and I don't think that base64 encoding should be part of CString interface.
53378
53379        * platform/network/mac/ResourceHandleMac.mm:
53380        (WebCore::encodeBasicAuthorization): Encode username and password using Base64.h directly.
53381        (WebCore::ResourceHandle::start): Use encodeBasicAuthorization().
53382        (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]): Ditto.
53383        (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): Extended logging
53384        to synchronous case.
53385        (-[WebCoreSynchronousLoader connectionShouldUseCredentialStorage:]): Ditto.
53386        (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Ditto.
53387        (-[WebCoreSynchronousLoader connection:didReceiveResponse:]): Ditto.
53388        (-[WebCoreSynchronousLoader connection:didReceiveData:]): Ditto.
53389        (-[WebCoreSynchronousLoader connectionDidFinishLoading:]): Ditto.
53390        (-[WebCoreSynchronousLoader connection:didFailWithError:]): Ditto.
53391
53392        * platform/network/cf/ResourceHandleCFNet.cpp: Matched Mac changes.
53393
53394        * platform/text/CString.cpp:
53395        * platform/text/CString.h:
53396        (WebCore::CStringBuffer::create):
53397        (WebCore::CStringBuffer::CStringBuffer):
53398        Removed code that was added for Base64 in r48363.
53399
534002009-09-29  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
53401
53402        Reviewed by Simon Hausmann.
53403
53404        Fix typo in Localizations.cpp
53405
53406        https://bugs.webkit.org/show_bug.cgi?id=29872
53407
53408        * platform/qt/Localizations.cpp:
53409        (WebCore::localizedMediaControlElementHelpText):
53410
534112009-09-29  Simon Hausmann  <simon.hausmann@nokia.com>
53412
53413        Reviewed by Tor Arne Vestbø.
53414
53415        Make the XSLT conditional in DOMWindow.idl's xsltProcessor
53416        attribute conditional in the generated files, similar to
53417        r44116.
53418
53419        * page/DOMWindow.idl:
53420
534212009-09-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>
53422
53423        Reviewed by Simon Hausmann and Tor Arne Vestbø.
53424
53425        Use the ResourceError as it is supposed to and handle
53426        not HTTP errors from QNetworkReply.
53427
53428        Thanks to Adam Roben for his input.
53429
53430        * platform/network/qt/QNetworkReplyHandler.cpp:
53431        (WebCore::QNetworkReplyHandler::finish):
53432
534332009-09-29  Pavel Feldman  <pfeldman@chromium.org>
53434
53435        Reviewed by Timothy Hatcher.
53436
53437        Web Inspector: Encapsulate JS listeners specifics into ScriptEventListener.
53438
53439        https://bugs.webkit.org/show_bug.cgi?id=29816
53440
53441        * bindings/js/ScriptEventListener.cpp:
53442        (WebCore::getEventListenerHandlerBody):
53443        * bindings/js/ScriptEventListener.h:
53444        * bindings/v8/ScriptEventListener.cpp:
53445        (WebCore::getEventListenerHandlerBody):
53446        * bindings/v8/ScriptEventListener.h:
53447        * inspector/InspectorDOMAgent.cpp:
53448        (WebCore::InspectorDOMAgent::buildObjectForEventListener):
53449
534502009-09-29  Xan Lopez  <xlopez@igalia.com>
53451
53452        Unreviewed attempt to fix the build.
53453
53454        * page/Settings.cpp:
53455        (WebCore::Settings::Settings):
53456
534572009-09-28  Fumitoshi Ukai  <ukai@chromium.org>
53458
53459        Reviewed by Eric Seidel.
53460
53461        Add experimentalWebSocketsEnabled in Settings.
53462        https://bugs.webkit.org/show_bug.cgi?id=28941
53463
53464        * WebCore.base.exp:
53465        * bindings/js/JSDOMWindowCustom.cpp:
53466        (WebCore::JSDOMWindow::webSocket):
53467        * bindings/v8/V8DOMWrapper.cpp:
53468        (WebCore::V8DOMWrapper::getConstructor):
53469        * bindings/v8/custom/V8WebSocketCustom.cpp:
53470        * page/Settings.cpp:
53471        (WebCore::Settings::Settings):
53472        (WebCore::Settings::setExperimentalWebSocketsEnabled):
53473        * page/Settings.h:
53474        (WebCore::Settings::experimentalWebSocketsEnabled):
53475        
534762009-09-11  Fumitoshi Ukai  <ukai@chromium.org>
53477
53478        Reviewed by Adam Barth.
53479
53480        Add platform code to support WebSocket for chromium.
53481        https://bugs.webkit.org/show_bug.cgi?id=29171
53482
53483        To build within chromium tree, it requires a patch in bug 29174.
53484        Real implementation will be landed in chromium tree.
53485
53486        * WebCore.gypi:
53487        * platform/network/chromium/SocketStreamError.h: Added.
53488        (WebCore::SocketStreamError::SocketStreamError):
53489        * platform/network/chromium/SocketStreamHandle.h: Added.
53490        (WebCore::SocketStreamHandle::create):
53491
534922009-09-28  Dan Bernstein  <mitz@apple.com>
53493
53494        Reviewed by Sam Weinig.
53495
53496        <rdar://problem/7157288> Crash in RenderStyle::computedLineHeight()
53497        when Times New Roman is not installed
53498
53499        * platform/graphics/win/FontCacheWin.cpp:
53500        (WebCore::FontCache::getLastResortFallbackFont): If Times New Roman is
53501        not available, use the Windows default GUI font.
53502
535032009-09-28  Jian Li  <jianli@chromium.org>
53504
53505        Reviewed by David Levin.
53506
53507        Do not add platform-specific methods to cross-platform header
53508        FileSystem.h per Darin's feedback for 29109.
53509        https://bugs.webkit.org/show_bug.cgi?id=29830
53510
53511        * platform/FileSystem.h:
53512        * platform/chromium/DragDataChromium.cpp:
53513        (WebCore::DragData::asURL):
53514        * platform/chromium/FileSystemChromium.cpp:
53515
535162009-09-28  Dumitru Daniliuc  <dumi@chromium.org>
53517
53518        Reviewed by Dimitri Glazkov.
53519
53520        Register Chromium's VFSs with a proper sqlite3_io_methods
53521        finder. This should only affect the POSIX implementation. The
53522        Windows change is included for consistency and in case sqlite
53523        starts using something similar in its Windows VFS in the future.
53524
53525        https://bugs.webkit.org/show_bug.cgi?id=29743
53526
53527        * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
53528        (WebCore::SQLiteFileSystem::registerSQLiteVFS):
53529        * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
53530        (WebCore::SQLiteFileSystem::registerSQLiteVFS):
53531
535322009-09-28  Nate Chapin  <japhet@chromium.org>
53533
53534        Reviewed by Adam Barth.
53535
53536        Change the V8 bindings' handling of window.toString(),
53537        so we return [object DOMWindow] (like JSC), not [object global].
53538
53539        https://bugs.webkit.org/show_bug.cgi?id=29742
53540
53541        This will fix a couple of Chromium port test failures and enable us to
53542        use the default expectations for a bunch more.
53543
53544        * bindings/v8/custom/V8DOMWindowCustom.cpp: Use the DOMWindow wrapper instead
53545        of the global object wrapper when it's available in the DOMWindow toString callback.
53546
535472009-09-28  Nate Chapin  <japhet@chromium.org>
53548
53549        Rubber stamped by David Levin.
53550
53551        Chromium build fix, add back in #include of V8Proxy.h in V8WebKitPointConstructor.cpp.
53552
53553        * bindings/v8/custom/V8WebKitPointConstructor.cpp: Re-include V8Proxy.h.
53554
535552009-09-28  Geoffrey Garen  <ggaren@apple.com>
53556
53557        Reviewed by Darin Adler.
53558
53559        NotNullPassRefPtr: smart pointer optimized for passing references that are not null
53560        https://bugs.webkit.org/show_bug.cgi?id=29822
53561        
53562        Added NotNullPassRefPtr, and deployed it in all places that initialize
53563        JavaScript objects.
53564
53565        * bindings/js/DOMObjectWithSVGContext.h:
53566        (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext):
53567        * bindings/js/JSDOMBinding.cpp:
53568        (WebCore::cacheDOMStructure):
53569        * bindings/js/JSDOMBinding.h:
53570        (WebCore::DOMObject::DOMObject):
53571        (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
53572        (WebCore::DOMConstructorObject::DOMConstructorObject):
53573        (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
53574        * bindings/js/JSDOMGlobalObject.cpp:
53575        (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
53576        * bindings/js/JSDOMGlobalObject.h:
53577        * bindings/js/JSDOMWindowBase.cpp:
53578        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
53579        * bindings/js/JSDOMWindowBase.h:
53580        * bindings/js/JSHTMLAllCollection.h:
53581        (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
53582        * bindings/js/JSInspectedObjectWrapper.cpp:
53583        (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
53584        * bindings/js/JSInspectedObjectWrapper.h:
53585        * bindings/js/JSInspectorCallbackWrapper.cpp:
53586        (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
53587        * bindings/js/JSInspectorCallbackWrapper.h:
53588        * bindings/js/JSQuarantinedObjectWrapper.cpp:
53589        (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
53590        * bindings/js/JSQuarantinedObjectWrapper.h:
53591        * bindings/js/JSWorkerContextBase.cpp:
53592        (WebCore::JSWorkerContextBase::JSWorkerContextBase):
53593        * bindings/js/JSWorkerContextBase.h:
53594        * bindings/scripts/CodeGeneratorJS.pm:
53595        * bridge/runtime_object.cpp:
53596        (JSC::RuntimeObjectImp::RuntimeObjectImp):
53597        * bridge/runtime_object.h:
53598
535992009-09-28  Nate Chapin  <japhet@chromium.org>
53600
53601        Reviewed by Dimitri Glazkov.
53602
53603        Allow V8 to handle x/y parameters in a WebKitPoint constructor.
53604        https://bugs.webkit.org/show_bug.cgi?id=29823
53605
53606        Fixes V8's handling of LayoutTests/fast/dom/Window/webkitConvertPoint.html
53607
53608        * bindings/v8/custom/V8WebKitPointConstructor.cpp: Allow for x/y parameters in constructor.
53609
536102009-09-28  Mark Rowe  <mrowe@apple.com>
53611
53612        Fix the build by doing something approximating reasonableness in the Xcode project.
53613
53614        * WebCore.xcodeproj/project.pbxproj:
53615
536162009-09-28  Simon Hausmann  <hausmann@webkit.org>
53617
53618        Prospective Tiger build fix.
53619
53620        * WebCore.xcodeproj/project.pbxproj: Try to use unique IDs for the new files.
53621
536222009-09-28  Pavel Feldman  <pfeldman@chromium.org>
53623
53624        Reviewed by Timothy Hatcher.
53625
53626        Web Inspector: Add explicit frontend event for commit load.
53627
53628        https://bugs.webkit.org/show_bug.cgi?id=29814
53629
53630        * inspector/InspectorController.cpp:
53631        (WebCore::InspectorController::didCommitLoad):
53632        * inspector/InspectorFrontend.cpp:
53633        (WebCore::InspectorFrontend::didCommitLoad):
53634        * inspector/InspectorFrontend.h:
53635        * inspector/front-end/DOMAgent.js:
53636        (WebInspector.DOMAgent.prototype._setDocument):
53637        * inspector/front-end/inspector.js:
53638        (WebInspector.addResource):
53639        (WebInspector.didCommitLoad):
53640
536412009-09-28  Yaar Schnitman  <yaar@chromium.org>
53642
53643        Reviewed by Dimitri Glazkov.
53644
53645        Chromium port - recognize we are being built independently
53646        of chromium and look for dependencies under webkit/chromium rather
53647        than chromium/src.
53648
53649        https://bugs.webkit.org/show_bug.cgi?id=29722
53650
53651        * WebCore.gyp/WebCore.gyp: See above. Also removed a few files from
53652          the sources list, since they are not supposed to be built here.
53653
536542009-09-28  Jakub Wieczorek  <faw217@gmail.com>
53655
53656        Reviewed by Simon Hausmann.
53657
53658        [Qt] Implement XSLT support with QtXmlPatterns.
53659        https://bugs.webkit.org/show_bug.cgi?id=28303
53660
53661        * GNUmakefile.am:
53662        * WebCore.gypi:
53663        * WebCore.pro:
53664        * WebCore.vcproj/WebCore.vcproj:
53665        * WebCoreSources.bkl:
53666        * dom/Document.cpp:
53667        (WebCore::Document::Document):
53668        (WebCore::Document::~Document):
53669        (WebCore::Document::setTransformSource):
53670        * dom/Document.h:
53671        (WebCore::Document::transformSource):
53672        * dom/TransformSource.h: Added.
53673        (WebCore::TransformSource::platformSource):
53674        * dom/TransformSourceLibxslt.cpp: Added.
53675        (WebCore::TransformSource::TransformSource): Wraps a libxml2 document.
53676        (WebCore::TransformSource::~TransformSource):
53677        * dom/TransformSourceQt.cpp: Added.
53678        (WebCore::TransformSource::TransformSource): Wraps a plain string.
53679        (WebCore::TransformSource::~TransformSource):
53680        * dom/XMLTokenizerLibxml2.cpp:
53681        (WebCore::XMLTokenizer::doEnd):
53682        * dom/XMLTokenizerQt.cpp:
53683        (WebCore::XMLTokenizer::doEnd):
53684        (WebCore::XMLTokenizer::parseProcessingInstruction):
53685        * xml/XSLStyleSheet.h:
53686        (WebCore::XSLStyleSheet::sheetString):
53687        * xml/XSLStyleSheetLibxslt.cpp:
53688        (WebCore::XSLStyleSheet::document):
53689        * xml/XSLStyleSheetQt.cpp: Added.
53690        * xml/XSLTProcessor.h:
53691        * xml/XSLTProcessorLibxslt.cpp:
53692        (WebCore::xmlDocPtrFromNode):
53693        * xml/XSLTProcessorQt.cpp: Added.
53694        (WebCore::XSLTMessageHandler::XSLTMessageHandler): A subclass of QAbstractMessageHandler.
53695        (WebCore::XSLTMessageHandler::handleMessage): Forwards all processor messages to the Console.
53696        (WebCore::XSLTProcessor::transformToString): Uses QXmlQuery.
53697
536982009-09-28  Andrew Scherkus  <scherkus@chromium.org>
53699
53700        Reviewed by Eric Carlson.
53701
53702        Delegate implementation of rendererIsNeeded() for media control elements to RenderTheme.
53703
53704        https://bugs.webkit.org/show_bug.cgi?id=28689
53705
53706        Covered by LayoutTests/media/video-no-audio.html
53707
53708        * rendering/MediaControlElements.cpp: Removed subclass implementations of rendererIsNeeded().
53709        (WebCore::MediaControlElement::rendererIsNeeded): Include calling shouldRenderMediaControlPart().
53710        (WebCore::MediaControlInputElement::rendererIsNeeded): Include calling shouldRenderMediaControlPart().
53711        * rendering/MediaControlElements.h:
53712        * rendering/RenderTheme.cpp:
53713        (WebCore::RenderTheme::shouldRenderMediaControlPart): New method.  Contains logic moved from subclass implementations of rendererIsNeeded().
53714        * rendering/RenderTheme.h:
53715        * rendering/RenderThemeChromiumSkia.cpp:
53716        (WebCore::RenderThemeChromiumSkia::shouldRenderMediaControlPart): Override to always render mute button.
53717        * rendering/RenderThemeChromiumSkia.h:
53718
537192009-09-28  Jian Li  <jianli@chromium.org>
53720
53721        Reviewed by David Levin.
53722
53723        [chromium] DragData::asURL should return file URL.
53724        https://bugs.webkit.org/show_bug.cgi?id=29109
53725
53726        Tested by LayoutTests/fast/events/drag-to-navigate.html.
53727
53728        * platform/FileSystem.h:
53729        * platform/chromium/ChromiumBridge.h:
53730        * platform/chromium/DragDataChromium.cpp:
53731        (WebCore::DragData::asURL):
53732        * platform/chromium/FileSystemChromium.cpp:
53733        (WebCore::getAbsolutePath):
53734        (WebCore::isDirectory):
53735        (WebCore::filePathToURL):
53736
537372009-09-28  Dimitri Glazkov  <dglazkov@chromium.org>
53738
53739        Reviewed by David Levin.
53740
53741        [V8] Add a special case to handle index arguments, because we need to be
53742        able to see if they're < 0.
53743        https://bugs.webkit.org/show_bug.cgi?id=29810
53744
53745        Test: LayoutTests/dom/html/level1/core/hc_characterdataindexsizeerrdeletedatacountnegative.html
53746
53747        * bindings/scripts/CodeGeneratorV8.pm: Added special case (matching CodeGeneratorJS.pm)
53748          for index arguments.
53749
537502009-09-28  Dan Bernstein  <mitz@apple.com>
53751
53752        Reviewed by Darin Adler.
53753
53754        Extend the MediaWiki/KHTMLFixes.css workaround to cover older MediaWiki versions
53755        https://bugs.webkit.org/show_bug.cgi?id=29792
53756
53757        * html/HTMLLinkElement.cpp:
53758        (WebCore::HTMLLinkElement::setCSSStyleSheet): If site specific hacks are
53759        enabled, check if the linked style sheet is one of two versions of the
53760        MediaWiki KHTMLFixes.css. If so, remove the offending rule.
53761
537622009-09-28  Dimitri Glazkov  <dglazkov@chromium.org>
53763
53764        Reviewed by Adam Barth.
53765
53766        [V8] Fix an error in type logic in CodeGeneratorV8.pm, where
53767        unsigned ints are accidentally used as signed.
53768        https://bugs.webkit.org/show_bug.cgi?id=29810
53769
53770        Test: LayoutTests/fast/forms/textarea-maxlength.html
53771
53772        * bindings/scripts/CodeGeneratorV8.pm: Made sure "unsigned long" in IDL is
53773          properly generates on "unsigned" return value.
53774
537752009-09-28  Jakub Wieczorek  <faw217@gmail.com>
53776
53777        Reviewed by Simon Hausmann.
53778
53779        Rename XSLStyleSheet.cpp to XSLStyleSheetLibxslt.cpp.
53780        https://bugs.webkit.org/show_bug.cgi?id=28303
53781
53782        In preparation for adding XSLT support with QtXmlPatterns to the Qt
53783        port, rename XSLStyleSheet.cpp to XSLStyleSheetLibxslt.cpp as we will
53784        have our own implementation which most likely will not share any code
53785        with the current one.
53786
53787        Additionally, fix some coding style issues.
53788
53789        * GNUmakefile.am:
53790        * WebCore.gypi:
53791        * WebCore.vcproj/WebCore.vcproj:
53792        * WebCore.xcodeproj/project.pbxproj:
53793        * WebCoreSources.bkl:
53794        * xml/XSLStyleSheet.cpp: Renamed to XSLStyleSheetLibxslt.cpp.
53795        * xml/XSLStyleSheetLibxslt.cpp: Added.
53796
537972009-09-28  Simon Hausmann  <simon.hausmann@nokia.com>
53798
53799        Prospective build fix for r48812.
53800
53801        Forgot to remove the inline reset() implementation when reverting the indentation
53802        changes in the file.
53803
53804        * xml/XSLTProcessor.h:
53805
538062009-09-28  Pavel Feldman  <pfeldman@chromium.org>
53807
53808        Reviewed by nobody (trivial follow up fix), Joseph Pecoraro LGTM-ed.
53809
53810        Web Inspector: Follow up to r48809.
53811        InspectorController.wrapObject should only be called on the inspectable page side.
53812
53813        https://bugs.webkit.org/show_bug.cgi?id=17429
53814
53815        * inspector/front-end/EventListenersSidebarPane.js:
53816        (WebInspector.EventListenersSidebarPane.prototype.update.callback):
53817        (WebInspector.EventListenersSidebarPane.prototype.update):
53818        (WebInspector.EventListenersSection):
53819        (WebInspector.EventListenersSection.prototype.update):
53820        (WebInspector.EventListenerBar):
53821        (WebInspector.EventListenerBar.prototype.update):
53822
538232009-09-28  Jakub Wieczorek  <faw217@gmail.com>
53824
53825        Reviewed by Simon Hausmann.
53826
53827        Move the libxslt specific part of XSLTProcessor to a separate file.
53828        https://bugs.webkit.org/show_bug.cgi?id=28303
53829
53830        In preparation for adding XSLT support with QtXmlPatterns to the Qt
53831        port, move the libxslt part of the XSLTProcessor implementation into
53832        another file and leave the part that can be reused and shared.
53833
53834        Additionally, fix some coding style issues.
53835
53836        * GNUmakefile.am:
53837        * WebCore.gypi:
53838        * WebCore.vcproj/WebCore.vcproj:
53839        * WebCore.xcodeproj/project.pbxproj:
53840        * WebCoreSources.bkl:
53841        * xml/XSLTProcessor.cpp:
53842        (WebCore::XSLTProcessor::createDocumentFromSource): Remove trailing whitespaces.
53843        (WebCore::createFragmentFromSource): Remove trailing whitespaces.
53844        (WebCore::XSLTProcessor::transformToFragment): Remove trailing whitespaces.
53845        (WebCore::XSLTProcessor::reset): Moved out of the class definition.
53846        * xml/XSLTProcessorLibxslt.cpp: Added.
53847        (WebCore::XSLTProcessor::genericErrorFunc): Moved.
53848        (WebCore::XSLTProcessor::parseErrorFunc): Moved.
53849        (WebCore::docLoaderFunc): Moved.
53850        (WebCore::setXSLTLoadCallBack): Moved.
53851        (WebCore::writeToVector): Moved.
53852        (WebCore::saveResultToString): Moved.
53853        (WebCore::xsltParamArrayFromParameterMap): Moved.
53854        (WebCore::freeXsltParamArray): Moved.
53855        (WebCore::xsltStylesheetPointer): Moved.
53856        (WebCore::xmlDocPtrFromNode): Moved.
53857        (WebCore::resultMIMEType): Moved.
53858        (WebCore::XSLTProcessor::transformToString): Moved.
53859
538602009-09-28  Charles Wei  <charles.wei@torchmobile.com.cn>
53861
53862        Reviewed by Nikolas Zimmermann.
53863
53864        Fix the crash of SVG that crashes when use a non-exist symbol
53865        https://bugs.webkit.org/show_bug.cgi?id=27693
53866
53867        Test: svg/custom/use-non-existing-symbol-crash.svg
53868
53869        * svg/SVGUseElement.cpp:
53870        (WebCore::shadowTreeContainsChangedNodes):
53871
538722009-09-28  Joseph Pecoraro  <joepeck@webkit.org>
53873
53874        Reviewed by Timothy Hatcher.
53875
53876        Inspector Should Show Event Listeners/Handlers Registered on each Node
53877        https://bugs.webkit.org/show_bug.cgi?id=17429
53878        
53879          Extracted a method from dispatchEvent to get the event ancestor chain
53880        
53881        * dom/Node.cpp:
53882        (WebCore::Node::eventAncestors): the extracted method
53883        (WebCore::Node::dispatchGenericEvent): use eventAncestors
53884        * dom/Node.h:
53885
53886          Asynchronous Flow For the Inspector, Backend -> DOM Agent -> Frontend
53887          The DOMAgent's getEventListenersForNode handles the logic of finding
53888          all the relevant listeners in the event flow.
53889
53890        * inspector/InspectorBackend.cpp:
53891        (WebCore::InspectorBackend::getEventListenersForNode):
53892        * inspector/InspectorBackend.h:
53893        * inspector/InspectorBackend.idl:
53894        * inspector/InspectorDOMAgent.cpp:
53895        (WebCore::InspectorDOMAgent::getEventListenersForNode):
53896        (WebCore::InspectorDOMAgent::buildObjectForEventListener):
53897        (WebCore::InspectorDOMAgent::buildObjectForNode): added localName
53898        * inspector/InspectorDOMAgent.h:
53899        (WebCore::EventListenerInfo::EventListenerInfo):
53900        * inspector/InspectorFrontend.cpp:
53901        (WebCore::InspectorFrontend::didGetEventListenersForNode):
53902        * inspector/InspectorFrontend.h:
53903        (WebCore::InspectorFrontend::scriptState):
53904        * inspector/front-end/DOMAgent.js: added localName to WebInspector.DOMNode from payload
53905        (WebInspector.EventListeners.getEventListenersForNodeAsync.mycallback):
53906        (WebInspector.EventListeners.getEventListenersForNodeAsync):
53907
53908          New Sidebar Pane in the Element's Panel
53909          Includes Gear Menu for filtering the Event Listeners on the
53910          "Selected Node Only" or "All Nodes"
53911
53912        * inspector/front-end/ElementsPanel.js: Handles refreshing the Pane when necessary
53913        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
53914        (WebInspector.ElementsPanel):
53915        (WebInspector.ElementsPanel.prototype.updateEventListeners):
53916        * inspector/front-end/EventListenersSidebarPane.js: Added. 
53917        (WebInspector.EventListenersSidebarPane): The 1st level in the Pane
53918        (WebInspector.EventListenersSidebarPane.prototype.update.callback):
53919        (WebInspector.EventListenersSidebarPane.prototype.update):
53920        (WebInspector.EventListenersSection): The 2nd level in the Pane
53921        (WebInspector.EventListenersSection.prototype.update): filters on Preference
53922        (WebInspector.EventListenersSection.prototype.addListener):
53923        (WebInspector.EventListenerBar): The 3rd level in the Pane
53924        (WebInspector.EventListenerBar.prototype._getNodeDisplayName):
53925        (WebInspector.EventListenerBar.prototype._getFunctionDisplayName):
53926        (WebInspector.EventListenersSidebarPane.prototype._changeSetting): For the Gear Menu
53927        
53928          Consolidated "appropriateSelectorForNode"
53929
53930        * inspector/front-end/StylesSidebarPane.js:
53931        * inspector/front-end/utilities.js:
53932
53933          Miscellaneous Updates
53934
53935        * English.lproj/localizedStrings.js: "Event Listeners", "No Event Listeners", "Selected Node Only", "All Nodes"
53936        * WebCore.gypi: included the new inspector files
53937        * WebCore.vcproj/WebCore.vcproj: included source files that were missing
53938        * inspector/front-end/Images/grayConnectorPoint.png: Added. Thanks to Timothy Hatcher.
53939        * inspector/front-end/Images/whiteConnectorPoint.png: Added. Thanks to Timothy Hatcher.
53940        * inspector/front-end/inspector.js: Preferences for the Gear Menu Event Listeners filter
53941        * inspector/front-end/inspector.css: reused as much as possible
53942        * inspector/front-end/inspector.html: include the new script
53943        * inspector/front-end/WebKit.qrc: included the new inspector files
53944
539452009-09-27  Sam Weinig  <sam@webkit.org>
53946
53947        Reviewed by Dan Bernstein.
53948
53949        Fix for https://bugs.webkit.org/show_bug.cgi?id=29760
53950        Implement CSSOM Range.getClientRects/getBoundingClientRect 
53951
53952        Tests: fast/dom/Range/getBoundingClientRect-getClientRects-relative-to-viewport.html
53953               fast/dom/Range/getBoundingClientRect.html
53954               fast/dom/Range/getClientRects.html
53955
53956        * dom/Range.cpp:
53957        (WebCore::Range::getClientRects):
53958        (WebCore::Range::getBoundingClientRect):
53959        (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoom):
53960        (WebCore::Range::getBorderAndTextQuads):
53961        * dom/Range.h:
53962        * dom/Range.idl:
53963        Implement Range.getClientRects/getBoundingClientRect.
53964
53965        * dom/Element.cpp:
53966        * rendering/RenderObject.h: 
53967        (WebCore::adjustForAbsoluteZoom):
53968        (WebCore::adjustIntRectForAbsoluteZoom):
53969        (WebCore::adjustFloatPointForAbsoluteZoom):
53970        (WebCore::adjustFloatQuadForAbsoluteZoom):
53971        Move point/quad adjustment methods from Element.cpp to RenderObject.h
53972        so that Range.cpp can use them as well.
53973
539742009-09-27  Simon Hausmann  <hausmann@webkit.org>
53975
53976        Unreviewed fix for WebInspector with Qt build.
53977
53978        Simply re-generate the Qt resource file by running
53979        WebKitTools/Scripts/generate-qt-inspector-resource
53980
53981        * inspector/front-end/WebKit.qrc:
53982
539832009-09-27  Pavel Feldman  <pfeldman@chromium.org>
53984
53985        Reviewed by nobody (trivial ChangeLog fix).
53986
53987        Restore WebCore/ChangeLog truncated in r48778.
53988
539892009-09-27  Pavel Feldman  <pfeldman@chromium.org>
53990
53991        Reviewed by Timothy Hatcher.
53992
53993        Web Inspector: DOM store is being unbound twice, leading to assertion failure.
53994
53995        https://bugs.webkit.org/show_bug.cgi?id=29770
53996
53997        * inspector/InspectorController.cpp:
53998        (WebCore::InspectorController::didOpenDatabase):
53999        (WebCore::InspectorController::didUseDOMStorage):
54000        * inspector/InspectorDOMStorageResource.cpp:
54001        (WebCore::InspectorDOMStorageResource::unbind):
54002
540032009-09-26  Pavel Feldman  <pfeldman@chromium.org>
54004
54005        Reviewed by Timothy Hatcher.
54006
54007        Web Inspector: Do not track DOM changes while inspector window is closed.
54008
54009        https://bugs.webkit.org/show_bug.cgi?id=29769
54010
54011        * inspector/InspectorController.cpp:
54012        (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
54013        (WebCore::InspectorController::populateScriptObjects):
54014        (WebCore::InspectorController::resetScriptObjects):
54015        (WebCore::InspectorController::didCommitLoad):
54016        * inspector/InspectorController.h:
54017        * inspector/InspectorDOMAgent.cpp:
54018        (WebCore::InspectorDOMAgent::setDocument):
54019        * inspector/InspectorDOMAgent.h:
54020        * loader/FrameLoader.cpp:
54021        (WebCore::FrameLoader::dispatchWindowObjectAvailable):
54022        * page/android/InspectorControllerAndroid.cpp:
54023        (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
54024
540252009-09-26  Pavel Feldman  <pfeldman@chromium.org>
54026
54027        Reviewed by Timothy Hatcher.
54028
54029        Web Inspector: [REGRESSION] Double Clicking Resources Fails to Open in New Window
54030
54031        https://bugs.webkit.org/show_bug.cgi?id=29762
54032
54033        * inspector/front-end/InjectedScript.js:
54034        (InjectedScript.setStyleText):
54035        (InjectedScript.openInInspectedWindow):
54036        * inspector/front-end/InjectedScriptAccess.js:
54037        * inspector/front-end/ResourcesPanel.js:
54038        (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
54039
540402009-09-26  David Kilzer  <ddkilzer@apple.com>
54041
54042        Part 2 of 2: <http://webkit.org/b/29753> DerivedSources.make broken for non-Mac targets
54043
54044        Reviewed by Darin Adler.
54045
54046        Fix ENABLE_ORIENTATION_EVENTS for non-Mac platforms.
54047
54048        * DerivedSources.make: Moved Platform.h check for
54049        ENABLE_ORIENTATION_EVENTS into Mac-only section and added
54050        default of ENABLE_ORIENTATION_EVENTS = 0 to non-Mac section.
54051        Added ifndef test to make it possible to override both
54052        ENABLE_DASHBOARD_SUPPORT and ENABLE_ORIENTATION_EVENTS external
54053        to the makefile.  Moved addition of ENABLE_ORIENTATION_EVENTS to
54054        ADDITIONAL_IDL_DEFINES to common section.
54055        * GNUmakefile.am: Added support for ENABLE_ORIENTATION_EVENTS if
54056        it is ever used.
54057        * WebCore.pro: Ditto.
54058
540592009-09-26  Kent Tamura  <tkent@chromium.org>
54060
54061        Reviewed by David Kilzer.
54062
54063        Move placeholder-related code to HTMLTextFormControlElement from
54064        HTMLInputElement, WMLInputElement, InputElement, and
54065        HTMLTextAreaElement.
54066        https://bugs.webkit.org/show_bug.cgi?id=28703
54067
54068        * dom/InputElement.cpp:
54069        (WebCore::InputElement::dispatchFocusEvent):
54070        (WebCore::InputElement::dispatchBlurEvent):
54071        (WebCore::InputElement::setValueFromRenderer):
54072        * dom/InputElement.h:
54073        * html/HTMLFormControlElement.cpp:
54074        (WebCore::HTMLTextFormControlElement::HTMLTextFormControlElement):
54075        (WebCore::HTMLTextFormControlElement::~HTMLTextFormControlElement):
54076        (WebCore::HTMLTextFormControlElement::dispatchFocusEvent):
54077        (WebCore::HTMLTextFormControlElement::dispatchBlurEvent):
54078        (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
54079        (WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility):
54080        * html/HTMLFormControlElement.h:
54081        (WebCore::HTMLTextFormControlElement::handleFocusEvent):
54082        (WebCore::HTMLTextFormControlElement::handleBlurEvent):
54083        * html/HTMLInputElement.cpp:
54084        (WebCore::HTMLInputElement::HTMLInputElement):
54085        (WebCore::HTMLInputElement::handleFocusEvent):
54086        (WebCore::HTMLInputElement::handleBlurEvent):
54087        (WebCore::HTMLInputElement::parseMappedAttribute):
54088        (WebCore::HTMLInputElement::createRenderer):
54089        (WebCore::HTMLInputElement::setValue):
54090        (WebCore::HTMLInputElement::setValueFromRenderer):
54091        * html/HTMLInputElement.h:
54092        (WebCore::HTMLInputElement::supportsPlaceholder):
54093        (WebCore::HTMLInputElement::isEmptyValue):
54094        * html/HTMLIsIndexElement.cpp:
54095        (WebCore::HTMLIsIndexElement::parseMappedAttribute):
54096        * html/HTMLTextAreaElement.cpp:
54097        (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
54098        (WebCore::HTMLTextAreaElement::createRenderer):
54099        * html/HTMLTextAreaElement.h:
54100        (WebCore::HTMLTextAreaElement::supportsPlaceholder):
54101        (WebCore::HTMLTextAreaElement::isEmptyValue):
54102        * rendering/RenderTextControl.cpp:
54103        (WebCore::RenderTextControl::RenderTextControl):
54104        * rendering/RenderTextControl.h:
54105        * rendering/RenderTextControlMultiLine.cpp:
54106        (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
54107        * rendering/RenderTextControlMultiLine.h:
54108        * rendering/RenderTextControlSingleLine.cpp:
54109        (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
54110        (WebCore::RenderTextControlSingleLine::updateFromElement):
54111        * rendering/RenderTextControlSingleLine.h:
54112        * wml/WMLInputElement.cpp:
54113        (WebCore::WMLInputElement::setValue):
54114        (WebCore::WMLInputElement::createRenderer):
54115        * wml/WMLInputElement.h:
54116
541172009-09-26  Shu Chang  <Chang.Shu@nokia.com>
54118
54119        Reviewed by Alexey Proskuryakov.
54120
54121        Optimize the code so only the text from start to end is scanned.
54122        https://bugs.webkit.org/show_bug.cgi?id=29092
54123
54124        On a platform with webkit+Qt+Symbian, the parsing time for a 600K text
54125        file improved from 400ms to 40ms (10x faster).
54126
54127        * dom/Text.cpp:
54128        (WebCore::Text::createWithLengthLimit):
54129
541302009-09-26  Xiaomei Ji  <xji@chromium.org>
54131
54132        Reviewed by Eric Seidel.
54133
54134        This Patch fixes [chromium] the drop-down is always left-aligned even
54135        for RTL element.
54136        https://bugs.webkit.org/show_bug.cgi?id=29612
54137
54138        For auto-complete, the items in drop-down should be right-aligned if
54139        the directionality of <input> field is RTL.
54140        For <select><option>, the items in drop-down should be right-aligned
54141        if the directionality of <select> is RTL.
54142
54143        No automatic test is possible. Manual tests are added.
54144
54145        * manual-tests/autofill_alignment.html: Added.
54146        * manual-tests/select_alignment.html: Added.
54147        * platform/chromium/PopupMenuChromium.cpp:
54148        (WebCore::PopupListBox::paintRow): Adjust the starting x-axis of text to
54149        be paint if it should be right-aligned.
54150
541512009-09-25  Dan Bernstein  <mitz@apple.com>
54152
54153        Reviewed by Sam Weinig.
54154
54155        REGRESSION (r48775) FontList.plist written by TOT WebKit causes Safari 4
54156        to crash on launch
54157        https://bugs.webkit.org/show_bug.cgi?id=29759
54158
54159        * platform/graphics/win/FontDatabase.cpp:
54160        (WebCore::writeFontDatabaseToPlist): Reverted to saving the CG font DB
54161        property list at the root of FontList.plist, but with an additional
54162        key for the last value of the Fonts registry key.
54163        (WebCore::populateFontDatabase): Pass the FontList.plist in its entirety
54164        to populatFontDatabaseFromPlist.
54165
541662009-09-25  Kevin Ollivier  <kevino@theolliviers.com>
54167
54168        Build fix. Adding missing header files.
54169
54170        * bindings/js/JSNamedNodeMapCustom.cpp:
54171
541722009-09-25  David Kilzer  <ddkilzer@apple.com>
54173
54174        Part 1 of 2: <http://webkit.org/b/29753> DerivedSources.make broken for non-Mac targets
54175
54176        Reviewed by Darin Adler.
54177
54178        * DerivedSources.make: Move tests for ENABLE_CONTEXT_MENUS,
54179        ENABLE_DRAG_SUPPORT and ENABLE_INSPECTOR into Mac-only section.
54180
541812009-09-25  Adam Barth  <abarth@webkit.org>
54182
54183        Reviewed by Darin Adler.
54184
54185        Load blocks during unload should not affect targeted loads
54186        https://bugs.webkit.org/show_bug.cgi?id=29747
54187
54188        Move the check of the unload state after checking for targeted links.
54189
54190        Test: fast/loader/unload-hyperlink-targeted.html
54191
54192        * loader/FrameLoader.cpp:
54193        (WebCore::FrameLoader::loadURL):
54194
541952009-09-25  Kenneth Russell  <kbr@google.com>
54196
54197        Reviewed by Dimitri Glazkov.
54198
54199        [Chromium] Add initial V8 bindings for WebGL
54200        https://bugs.webkit.org/show_bug.cgi?id=29664
54201
54202        * WebCore.gypi:
54203        * bindings/scripts/CodeGeneratorV8.pm:
54204        * bindings/v8/DOMObjectsInclude.h:
54205        * bindings/v8/DerivedSourcesAllInOne.cpp:
54206        * bindings/v8/V8DOMWrapper.cpp:
54207        (WebCore::V8DOMWrapper::getTemplate):
54208        * bindings/v8/V8Index.cpp:
54209        * bindings/v8/V8Index.h:
54210        * bindings/v8/custom/V8CanvasArrayBufferCustom.cpp: Added.
54211        (WebCore::CALLBACK_FUNC_DECL):
54212        * bindings/v8/custom/V8CanvasArrayCustom.h: Added.
54213        (WebCore::constructCanvasArray):
54214        * bindings/v8/custom/V8CanvasByteArrayCustom.cpp: Added.
54215        (WebCore::CALLBACK_FUNC_DECL):
54216        (WebCore::INDEXED_PROPERTY_GETTER):
54217        (WebCore::INDEXED_PROPERTY_SETTER):
54218        * bindings/v8/custom/V8CanvasFloatArrayCustom.cpp: Added.
54219        (WebCore::CALLBACK_FUNC_DECL):
54220        (WebCore::INDEXED_PROPERTY_GETTER):
54221        (WebCore::INDEXED_PROPERTY_SETTER):
54222        * bindings/v8/custom/V8CanvasIntArrayCustom.cpp: Added.
54223        (WebCore::CALLBACK_FUNC_DECL):
54224        (WebCore::INDEXED_PROPERTY_GETTER):
54225        (WebCore::INDEXED_PROPERTY_SETTER):
54226        * bindings/v8/custom/V8CanvasRenderingContext3DCustom.cpp: Added.
54227        (WebCore::jsArrayToFloatArray):
54228        (WebCore::jsArrayToIntArray):
54229        (WebCore::CALLBACK_FUNC_DECL):
54230        (WebCore::):
54231        (WebCore::vertexAttribAndUniformHelperf):
54232        (WebCore::uniformHelperi):
54233        (WebCore::uniformMatrixHelper):
54234        * bindings/v8/custom/V8CanvasShortArrayCustom.cpp: Added.
54235        (WebCore::CALLBACK_FUNC_DECL):
54236        (WebCore::INDEXED_PROPERTY_GETTER):
54237        (WebCore::INDEXED_PROPERTY_SETTER):
54238        * bindings/v8/custom/V8CanvasUnsignedByteArrayCustom.cpp: Added.
54239        (WebCore::CALLBACK_FUNC_DECL):
54240        (WebCore::INDEXED_PROPERTY_GETTER):
54241        (WebCore::INDEXED_PROPERTY_SETTER):
54242        * bindings/v8/custom/V8CanvasUnsignedIntArrayCustom.cpp: Added.
54243        (WebCore::CALLBACK_FUNC_DECL):
54244        (WebCore::INDEXED_PROPERTY_GETTER):
54245        (WebCore::INDEXED_PROPERTY_SETTER):
54246        * bindings/v8/custom/V8CanvasUnsignedShortArrayCustom.cpp: Added.
54247        (WebCore::CALLBACK_FUNC_DECL):
54248        (WebCore::INDEXED_PROPERTY_GETTER):
54249        (WebCore::INDEXED_PROPERTY_SETTER):
54250        * bindings/v8/custom/V8CustomBinding.h:
54251        * bindings/v8/custom/V8DocumentCustom.cpp:
54252        (WebCore::CALLBACK_FUNC_DECL):
54253        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
54254        (WebCore::CALLBACK_FUNC_DECL):
54255        * platform/graphics/GraphicsContext3D.h:
54256
542572009-09-25  Jeremy Orlow  <jorlow@chromium.org>
54258
54259        This is breaking Chromium try bots, so I'm counting this as a build fix.
54260
54261        Add more svn:ignore exceptions.  On different platforms, these files are
54262        generated with different case for WebCore.
54263
54264        * WebCore.gyp: Changed property svn:ignore.
54265
542662009-09-25  Alexey Proskuryakov  <ap@apple.com>
54267
54268        Reverting r48767, as it broke Windows build in a non-trivial way.
54269
54270        * bindings/js/JSAbstractWorkerCustom.cpp:
54271        (WebCore::JSAbstractWorker::addEventListener):
54272        (WebCore::JSAbstractWorker::removeEventListener):
54273        * bindings/js/JSDOMApplicationCacheCustom.cpp:
54274        (WebCore::JSDOMApplicationCache::addEventListener):
54275        (WebCore::JSDOMApplicationCache::removeEventListener):
54276        * bindings/js/JSDOMGlobalObject.cpp:
54277        (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
54278        * bindings/js/JSDOMWindowCustom.cpp:
54279        (WebCore::JSDOMWindow::addEventListener):
54280        (WebCore::JSDOMWindow::removeEventListener):
54281        * bindings/js/JSEventListener.cpp:
54282        (WebCore::JSEventListener::JSEventListener):
54283        (WebCore::JSEventListener::jsFunction):
54284        (WebCore::JSEventListener::markJSFunction):
54285        (WebCore::JSEventListener::handleEvent):
54286        (WebCore::JSEventListener::reportError):
54287        * bindings/js/JSEventListener.h:
54288        (WebCore::JSEventListener::create):
54289        * bindings/js/JSEventSourceCustom.cpp:
54290        (WebCore::JSEventSource::addEventListener):
54291        (WebCore::JSEventSource::removeEventListener):
54292        * bindings/js/JSLazyEventListener.cpp:
54293        (WebCore::JSLazyEventListener::JSLazyEventListener):
54294        (WebCore::JSLazyEventListener::jsFunction):
54295        (WebCore::JSLazyEventListener::parseCode):
54296        * bindings/js/JSLazyEventListener.h:
54297        (WebCore::JSLazyEventListener::create):
54298        * bindings/js/JSMessagePortCustom.cpp:
54299        (WebCore::JSMessagePort::addEventListener):
54300        (WebCore::JSMessagePort::removeEventListener):
54301        * bindings/js/JSNodeCustom.cpp:
54302        (WebCore::JSNode::addEventListener):
54303        (WebCore::JSNode::removeEventListener):
54304        * bindings/js/JSSVGElementInstanceCustom.cpp:
54305        (WebCore::JSSVGElementInstance::addEventListener):
54306        (WebCore::JSSVGElementInstance::removeEventListener):
54307        * bindings/js/JSWorkerContextCustom.cpp:
54308        (WebCore::JSWorkerContext::addEventListener):
54309        (WebCore::JSWorkerContext::removeEventListener):
54310        * bindings/js/JSXMLHttpRequestCustom.cpp:
54311        (WebCore::JSXMLHttpRequest::addEventListener):
54312        (WebCore::JSXMLHttpRequest::removeEventListener):
54313        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
54314        (WebCore::JSXMLHttpRequestUpload::addEventListener):
54315        (WebCore::JSXMLHttpRequestUpload::removeEventListener):
54316        * bindings/js/ScriptEventListener.cpp:
54317        (WebCore::createAttributeEventListener):
54318        * bindings/objc/ObjCEventListener.h:
54319        * bindings/objc/ObjCEventListener.mm:
54320        (WebCore::ObjCEventListener::handleEvent):
54321        * bindings/scripts/CodeGeneratorJS.pm:
54322        * dom/EventListener.h:
54323        (WebCore::EventListener::reportError):
54324        (WebCore::EventListener::jsFunction):
54325        * dom/EventTarget.cpp:
54326        (WebCore::EventTarget::fireEventListeners):
54327        * inspector/InspectorDOMAgent.cpp:
54328        (WebCore::InspectorDOMAgent::handleEvent):
54329        * inspector/InspectorDOMAgent.h:
54330        * inspector/InspectorDOMStorageResource.cpp:
54331        (WebCore::InspectorDOMStorageResource::handleEvent):
54332        * inspector/InspectorDOMStorageResource.h:
54333        * loader/ImageDocument.cpp:
54334        (WebCore::ImageEventListener::handleEvent):
54335        * svg/animation/SVGSMILElement.cpp:
54336        (WebCore::ConditionEventListener::handleEvent):
54337        * workers/WorkerContext.cpp:
54338        (WebCore::WorkerContext::reportException):
54339
543402009-09-24  Tony Chang  <tony@chromium.org>
54341
54342        Reviewed by David Levin.
54343
54344        Add a gyp variable to allow building a debug webcore without debug
54345        symbols.  This allows for faster compile, link, and gdb times.
54346
54347        https://bugs.webkit.org/show_bug.cgi?id=29721
54348
54349        No new tests, build config change.
54350
54351        * WebCore.gyp/WebCore.gyp:
54352
543532009-09-25  Darin Fisher  <darin@chromium.org>
54354
54355        Reviewed by Dimitri Glazkov.
54356
54357        Declare RegisteredEventListener as a class instead of a struct.
54358        This fixes a warning in the Chromium build.
54359
54360        * dom/RegisteredEventListener.h:
54361
543622009-09-25  Dan Bernstein  <mitz@apple.com>
54363
54364        Reviewed by Jon Honeycutt.
54365
54366        WebCore part of
54367        <rdar://problem/7211635> 2 byte characters are displayed as garbaged
54368        <rdar://problem/7212626> garbled/gibberish text (off-by-one)
54369
54370        When the Windows Fonts directory contains more than one font file for a
54371        given font name, which of the fonts gets assigned to the name in the
54372        Core Graphics font database was determined arbitrarily and did not
54373        always match the font GDI used for the same font name. The mismatch
54374        caused character-to-glyph mapping to use one font and glyph rendering to
54375        use another.
54376
54377        The fix is to update the Core Graphics font database from the registry
54378        entries (that reflect the name-to-font mapping that GDI uses) after
54379        populating it with the result of scanning the Fonts directory. As a
54380        consequence, the directory needs to be scanned at startup every time the
54381        registry key changes, so the last value of the registry key is kept
54382        in the property list on disk so that it could be compared to the current
54383        value on startup.
54384
54385        * platform/graphics/win/FontDatabase.cpp:
54386        (WebCore::populateFontDatabaseFromPlist): Now takes a property list as
54387        a parameter and avoids round-tripping through XML by calling
54388        wkAddFontsFromPlist() instead of wkAddFontsFromPlistRepresentation().
54389        (WebCore::fontFilenamesFromRegistryKey):
54390        (WebCore::cgFontDBKey):
54391        (WebCore::writeFontDatabaseToPlist): Now takes the CG font DB property
54392        list and a property list with the font filenames from the registry and
54393        writes a dictionary with those property lists as values.
54394        (WebCore::fontFilenamesFromRegistry): Added. Returns an array with the
54395        values in the HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts
54396        registry key.
54397        (WebCore::populateFontDatabase): Changed to read the contents of the
54398        Fonts registry key and compare it with the last-saved value from the
54399        property list, and to call wkAddFontsFromRegistry() after populating the
54400        CG font DB from the file system. Uses wkCreateFontsPlist() instead of
54401        wkCreateFontsPlistRepresentation() to avoid round-tripping through XML.
54402
544032009-09-25  Geoffrey Garen  <ggaren@apple.com>
54404
54405        Reviewed by Darin Adler.
54406
54407        Inlined some object creation code, including lexicalGlobalObject access
54408        https://bugs.webkit.org/show_bug.cgi?id=29750
54409
54410        * bindings/js/JSInspectorBackendCustom.cpp:
54411        (WebCore::JSInspectorBackend::currentCallFrame):
54412        * inspector/JavaScriptDebugServer.cpp:
54413        (WebCore::JavaScriptDebugServer::hasBreakpoint): Updated for JavaScriptCore
54414        API changes.
54415
544162009-09-25  Dave Hyatt  <hyatt@apple.com>
54417
54418        Reviewed by Anders Carlsson.
54419
54420        https://bugs.webkit.org/show_bug.cgi?id=24399
54421        Make @import work in user stylesheets.  The first bug was that the URL wasn't being set on the
54422        user sheets themselves, so relative @import URLs couldn't resolve properly.  The second bug
54423        was that the loads would be denied.  This is fixed by using the requestUserCSSStyleSheet method
54424        instead of the normal request method.  In order to know when to do this, CSSStyleSheets now have
54425        a propagated boolean, m_isUserStyleSheet, that lets them know if they are user stylesheets or not.
54426
54427        * css/CSSImportRule.cpp:
54428        (WebCore::CSSImportRule::insertedIntoParent):
54429        * css/CSSStyleSheet.cpp:
54430        (WebCore::CSSStyleSheet::CSSStyleSheet):
54431        * css/CSSStyleSheet.h:
54432        (WebCore::CSSStyleSheet::setIsUserStyleSheet):
54433        (WebCore::CSSStyleSheet::isUserStyleSheet):
54434        * dom/Document.cpp:
54435        (WebCore::Document::pageUserSheet):
54436        (WebCore::Document::pageGroupUserSheets):
54437
544382009-09-25  Simon Fraser  <simon.fraser@apple.com>
54439
54440        Reviewed by Darin Adler.
54441
54442        ASSERTION FAILED: !repaintContainer || repaintContainer == this
54443        https://bugs.webkit.org/show_bug.cgi?id=29755
54444        
54445        It's possible for RenderObject::container() to return an object that is higher
54446        in the hierarchy than the repaintContainer that is being used to repaint an
54447        object. For example, this can happen when running an accelerated opacity
54448        transition on an element with a position:absolute parent, and a position:absolute child.
54449        
54450        In this case we need to detect when RenderObject::container() will skip over
54451        repaintContainer, and in that case adjust the coords to shift into repaintContainer's space.
54452
54453        Test: compositing/repaint/opacity-between-absolute.html
54454
54455        * rendering/RenderBox.cpp:
54456        (WebCore::RenderBox::mapLocalToContainer):
54457        (WebCore::RenderBox::computeRectForRepaint):
54458        * rendering/RenderInline.cpp:
54459        (WebCore::RenderInline::computeRectForRepaint):
54460        * rendering/RenderObject.cpp:
54461        (WebCore::RenderObject::container):
54462        * rendering/RenderObject.h:
54463
544642009-09-25  Simon Fraser  <simon.fraser@apple.com>
54465
54466        Reviewed by Darin Adler.
54467
54468        Crash with hardware accelerated rotation of a PDF image in a data URL
54469        <rdar://problem/7250378>
54470        
54471        PDF images don't return a color space from CGImageGetColorSpace(),
54472        so we need to null-check the return value before use.
54473
54474        Test: compositing/color-matching/pdf-image-match.html
54475
54476        * platform/graphics/mac/GraphicsLayerCA.mm:
54477        (WebCore::GraphicsLayerCA::setContentsToImage):
54478
544792009-09-25  Darin Adler  <darin@apple.com>
54480
54481        Reviewed by Geoffrey Garen.
54482
54483        Null-deref when first access to an Attr node is after its Element is destroyed
54484        https://bugs.webkit.org/show_bug.cgi?id=29748
54485
54486        Test: fast/dom/Attr/access-after-element-destruction.html
54487
54488        * bindings/js/JSAttrCustom.cpp:
54489        (WebCore::JSAttr::markChildren): Added. Keeps the ownerElement alive as
54490        long as the Attr is alive.
54491
54492        * bindings/js/JSNamedNodeMapCustom.cpp:
54493        (WebCore::JSNamedNodeMap::markChildren): Added. Keeps the Element alive as
54494        long as the NamedNodeMap is alive.
54495
54496        * dom/Attr.idl: Added CustomMarkFunction attribute.
54497
54498        * dom/NamedAttrMap.cpp:
54499        (WebCore::NamedNodeMap::getAttributeItem): Tweaked formatting.
54500        (WebCore::NamedNodeMap::detachFromElement): Call clearAttributes so we don't
54501        have attributes hanging around that might need an Attr node created; that way
54502        we won't crash with a null-dereference trying to deal with one of them. This
54503        can't happen when working with JavaScript since the Element will be kept
54504        alive due to the change above.
54505        (WebCore::NamedNodeMap::addAttribute): Fix function name in comment.
54506        (WebCore::NamedNodeMap::removeAttribute): Removed unneeded "1" and added
54507        missing braces.
54508
54509        * dom/NamedAttrMap.h: Made the element function public so it can be used by
54510        the JavaScript binding to keep the Element alive.
54511
54512        * dom/NamedNodeMap.idl: Added CustomMarkFunction attribute.
54513
545142009-09-24  Alexey Proskuryakov  <ap@apple.com>
54515
54516        Reviewed by Darin Adler and Sam Weinig.
54517
54518        Onclick not fired for an element copied with cloneContents() or cloneNode()
54519        https://bugs.webkit.org/show_bug.cgi?id=25130
54520
54521        The change here is that JS event listeners don't keep a reference to a global object from
54522        where they were created, and instead take it as a parameter when parsing source code. Also,
54523        the listener creation won't fail just because it happens for an element in a frameless
54524        document.
54525        Thus, moving nodes between documents no longer results in having incorrect registered
54526        lazy event listeners on them.
54527
54528        Tests: fast/events/attribute-listener-cloned-from-frameless-doc-context-2.html
54529               fast/events/attribute-listener-cloned-from-frameless-doc-context.html
54530               fast/events/attribute-listener-cloned-from-frameless-doc.xhtml
54531               fast/events/attribute-listener-extracted-from-frameless-doc-context-2.html
54532               fast/events/attribute-listener-extracted-from-frameless-doc-context.html
54533
54534        * bindings/js/JSEventListener.cpp:
54535        (WebCore::JSEventListener::JSEventListener): Don't take a reference to JSDOMGlobalObject.
54536        (WebCore::JSEventListener::jsFunction): Take ScriptExecutionContext as a parameter for
54537        getting to JSDOMGlobalObject. It's not used in base class, but is in JSLazyEventListner.
54538        (WebCore::JSEventListener::markJSFunction): Don't mark the global object.
54539        (WebCore::JSEventListener::handleEvent): Get global object from ScriptExecutionContext.
54540        (WebCore::JSEventListener::reportError): Ditto.
54541
54542        * bindings/js/JSEventListener.h: (WebCore::JSEventListener::create): Don't keep a reference
54543        to JSDOMGlobalObject.
54544
54545        * bindings/js/JSLazyEventListener.cpp: (WebCore::JSLazyEventListener::parseCode): Listener
54546        creation was split between this function and ScriptEventListener; moved it here, as JS
54547        global object can be different now.
54548
54549        * bindings/js/JSLazyEventListener.h: (WebCore::JSLazyEventListener::create): Keep source URL,
54550        which can not be determined at parsing time.
54551
54552        * bindings/js/ScriptEventListener.cpp: (WebCore::createAttributeEventListener): Moved code
54553        for listener creation to JSLazyEventListener. XSSAuditor code remains here, because tests
54554        expect that errors are logged at document parsing time, and because I don't know what other
54555        side effects moving it vould have.
54556
54557        * dom/EventListener.h: handleEvent() and reportError() now take ScriptExecutionContext,
54558        because JSC needs a global context here.
54559
54560        * bindings/js/JSAbstractWorkerCustom.cpp:
54561        (WebCore::JSAbstractWorker::addEventListener):
54562        (WebCore::JSAbstractWorker::removeEventListener):
54563        * bindings/js/JSDOMApplicationCacheCustom.cpp:
54564        (WebCore::JSDOMApplicationCache::addEventListener):
54565        (WebCore::JSDOMApplicationCache::removeEventListener):
54566        * bindings/js/JSDOMGlobalObject.cpp:
54567        (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
54568        * bindings/js/JSDOMWindowCustom.cpp:
54569        (WebCore::JSDOMWindow::addEventListener):
54570        (WebCore::JSDOMWindow::removeEventListener):
54571        * bindings/js/JSEventSourceCustom.cpp:
54572        (WebCore::JSEventSource::addEventListener):
54573        (WebCore::JSEventSource::removeEventListener):
54574        * bindings/js/JSMessagePortCustom.cpp:
54575        (WebCore::JSMessagePort::addEventListener):
54576        (WebCore::JSMessagePort::removeEventListener):
54577        * bindings/js/JSNodeCustom.cpp:
54578        (WebCore::JSNode::addEventListener):
54579        (WebCore::JSNode::removeEventListener):
54580        * bindings/js/JSSVGElementInstanceCustom.cpp:
54581        (WebCore::JSSVGElementInstance::addEventListener):
54582        (WebCore::JSSVGElementInstance::removeEventListener):
54583        * bindings/js/JSWorkerContextCustom.cpp:
54584        (WebCore::JSWorkerContext::addEventListener):
54585        (WebCore::JSWorkerContext::removeEventListener):
54586        * bindings/js/JSXMLHttpRequestCustom.cpp:
54587        (WebCore::JSXMLHttpRequest::addEventListener):
54588        (WebCore::JSXMLHttpRequest::removeEventListener):
54589        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
54590        (WebCore::JSXMLHttpRequestUpload::addEventListener):
54591        (WebCore::JSXMLHttpRequestUpload::removeEventListener):
54592        * bindings/objc/ObjCEventListener.h:
54593        * bindings/objc/ObjCEventListener.mm:
54594        (WebCore::ObjCEventListener::handleEvent):
54595        * bindings/scripts/CodeGeneratorJS.pm:
54596        * dom/EventTarget.cpp:
54597        (WebCore::EventTarget::fireEventListeners):
54598        * inspector/InspectorDOMAgent.cpp:
54599        (WebCore::InspectorDOMAgent::handleEvent):
54600        * inspector/InspectorDOMAgent.h:
54601        * inspector/InspectorDOMStorageResource.cpp:
54602        (WebCore::InspectorDOMStorageResource::handleEvent):
54603        * inspector/InspectorDOMStorageResource.h:
54604        * loader/ImageDocument.cpp:
54605        (WebCore::ImageEventListener::handleEvent):
54606        * svg/animation/SVGSMILElement.cpp:
54607        (WebCore::ConditionEventListener::handleEvent):
54608        * workers/WorkerContext.cpp:
54609        (WebCore::WorkerContext::reportException):
54610        Don't pass global object to JSEventListener::create(), which no longer needs it.
54611        Note that some of these functions still have an early return for null global object, which
54612        can probably be removed in a later patch.
54613        Pass ScriptExecutionContext to EventListener methods that now need it.
54614
546152009-09-25  Enrica Casucci  <enrica@apple.com>
54616
54617        Reviewed by Darin Adler, Dan Bernstein, Adele Peterson, and others.
54618
54619        Fix for https://bugs.webkit.org/show_bug.cgi?id=29740
54620        <rdar://problem/7168738> Gmail: After changing a foreground text color, pressing return doesn't apply background to new line
54621
54622        Change the way style is preserved when inserting a new paragraph.
54623        The original code handled insertion at the beginning and at the end of a paragraph as special
54624        cases. The newly created paragraph contained a set of nodes generated starting from the
54625        computed style of the insertion node. This approach has two problems:
54626        1. if the insertion node has a non opaque background color and one of the parent element did have
54627        a solid background color the new paragraph did not have the element with the solid color in the tree.
54628        2. in some circumstances it generated more markup than the original paragraph had (a span with bold, italic,
54629        background color and some font attribute was being reproduced as span bold italic font as separate tags.
54630        The new approach is to recreate in the new paragraph the same hierarchy of nodes found in the
54631        paragraph where the insertion point is.
54632
54633        Test: editing/inserting/insert-bg-font.html
54634
54635        * editing/InsertParagraphSeparatorCommand.cpp:
54636        (WebCore::InsertParagraphSeparatorCommand::getAncestorsInsideBlock): retrieves the list of all the ancestors
54637        between the insert node and the outer block.
54638        (WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock): uses the list of ancestors to recreate
54639        in the new paragraph the same element hierarchy present in the starting paragraph.
54640        (WebCore::InsertParagraphSeparatorCommand::doApply): changed the code to handle the general case of insertion
54641        in the middle of the paragraph to use the new methods. Changed the handling of the insertion at the beginning and
54642        at the end of the paragraph to use the new methods instead of applying the calculated style.
54643        * editing/InsertParagraphSeparatorCommand.h: added methods getAncestorsInsideBlock and cloneHierarchyUnderNewBlock.
54644
546452009-09-25  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
54646
54647        Reviewed by Timothy Hatcher.
54648
54649        Content-type parameters not taken into account when building form-data
54650        https://bugs.webkit.org/show_bug.cgi?id=28970
54651
54652        existing manual test case extended with new tests
54653
54654        * English.lproj/localizedStrings.js:
54655        * inspector/front-end/ResourceView.js:
54656        (WebInspector.ResourceView.prototype._refreshFormData):
54657        (WebInspector.ResourceView.prototype._refreshParms):
54658        * manual-tests/inspector/display-form-data.html:
54659
546602009-09-25  Yuan Song  <song.yuan@ericsson.com>
54661
54662        Reviewed by Darin Adler.
54663
54664        https://bugs.webkit.org/show_bug.cgi?id=14566
54665
54666        Raise SECURITY_ERR exception if an attempt is made to change document.domain to an invalid value.
54667
54668        Test: fast/js/invalid-domain-change-throws-exception.html
54669
54670        * dom/Document.cpp:
54671        (WebCore::Document::setDomain):
54672        * dom/Document.h:
54673        * dom/Document.idl:
54674
546752009-09-25  Adam Barth  <abarth@webkit.org>
54676
54677        Reviewed by Dimitri Glazkov.
54678
54679        [V8] Teach ScheduledAction::execute about isolated worlds
54680        https://bugs.webkit.org/show_bug.cgi?id=27703
54681
54682        When setTimeout is called with a string argument in an isolated
54683        world, we now compile the string in the isolated world.
54684
54685        Last time we tried this change, we got a lot of crashes.  This
54686        time we're using a fresh local handle as our context to avoid
54687        trouble if the peristent handle gets disposed before we leave
54688        the context.
54689
54690        Test: fast/dom/timer-clear-interval-in-handler-and-generate-error.html
54691
54692        * bindings/v8/ScheduledAction.cpp:
54693        (WebCore::ScheduledAction::execute):
54694
546952009-09-25  Paul Godavari  <paul@chromium.org>
54696
54697        Reviewed by Darin Fisher.
54698
54699        Fix a regression in Mac Chromium popup menus, where the user's
54700        selection was ignored and the popup became unresponsive.
54701        https://bugs.webkit.org/show_bug.cgi?id=29726
54702
54703        The fix is to notify the popup's client that the popup was hidden,
54704        even if the popup has no parent.
54705
54706        * platform/chromium/PopupMenuChromium.cpp:
54707        (WebCore::PopupListBox::hidePopup):
54708
547092009-09-25  Alexander Pavlov  <apavlov@chromium.org>
54710
54711        Reviewed by Dan Bernstein.
54712
54713        Enable Pasteboard::writePlainText for Chromium and fix code style nits.
54714        https://bugs.webkit.org/show_bug.cgi?id=29734
54715
54716        * platform/chromium/PasteboardChromium.cpp:
54717        (WebCore::Pasteboard::writePlainText):
54718        * platform/gtk/PasteboardGtk.cpp:
54719        (WebCore::Pasteboard::writePlainText):
54720        (WebCore::Pasteboard::writeURL):
54721        * platform/mac/PasteboardMac.mm:
54722        (WebCore::Pasteboard::writeSelection):
54723        (WebCore::Pasteboard::writePlainText):
54724        (WebCore::Pasteboard::writeURL):
54725        * platform/qt/PasteboardQt.cpp:
54726        (WebCore::Pasteboard::writePlainText):
54727
547282009-09-25  Yongjun Zhang  <yongjun.zhang@nokia.com>
54729
54730        Reviewed by Ariya Hidayat.
54731
54732        https://bugs.webkit.org/show_bug.cgi?id=28876
54733        [Qt] reduce peak memory consumption of text decoding.
54734
54735        Chop large input buffer into small buffers to reduce peak memory
54736        during decoding.
54737
54738        * platform/text/qt/TextCodecQt.cpp:
54739        (WebCore::TextCodecQt::decode):
54740
547412009-09-24  Jon Honeycutt  <jhoneycutt@apple.com>
54742
54743        Add a mechanism for automatically halting plug-ins.
54744
54745        Reviewed by Oliver Hunt and Alice Liu.
54746
54747        * GNUmakefile.am:
54748
54749        * WebCore.base.exp:
54750        Update export of Page constructor.
54751
54752        * WebCore.gypi:
54753
54754        * WebCore.pro:
54755
54756        * WebCore.vcproj/WebCore.vcproj:
54757        Add PluginHalter.{h,cpp}, PluginHalterClient.h, and
54758        HaltablePlugin.h.
54759
54760        * WebCore.xcodeproj/project.pbxproj:
54761        Add files to Mac project.
54762
54763        * loader/EmptyClients.h:
54764        Added an empty PluginHalterClient.
54765        (WebCore::EmptyPluginHalterClient::shouldHaltPlugin):
54766        Return false.
54767
54768        * page/PluginHalter.cpp: Added.
54769        (WebCore::PluginHalter::PluginHalter):
54770        (WebCore::PluginHalter::didStartPlugin):
54771        Add the object to the plug-in set. If this is the only item in the set,
54772        set m_oldestStartTime to this object's time, and start the timer.
54773        (WebCore::PluginHalter::didStopPlugin):
54774        Remove the plug-in from the set.
54775        (WebCore::PluginHalter::timerFired):
54776        Find the cut-off time as the current time minus the allowed run time;
54777        plug-ins older than this may be halted. Iterate over the plug-ins. Find
54778        the object with the oldest start time that is too young to be halted;
54779        we'll use its start time to set the timer's next fire time. For all
54780        plug-ins that are candidates to be halted, call the
54781        PluginHalterClient's shouldHaltPlugin(). If this function returns true,
54782        call the plug-in's halt() function. Remove these objects from the set
54783        of tracked plug-ins. Call startTimerIfNecessary() to restart the timer.
54784        (WebCore::PluginHalter::startTimerIfNecessary):
54785        If the timer is set to fire, or the set of tracked plug-ins is empty,
54786        return early. Set the timer to fire after the oldest plug-in has run
54787        for the allowed run time.
54788
54789        * page/PluginHalter.h: Added.
54790        (WebCore::PluginHalter::setPluginAllowedRunTime):
54791
54792        * page/PluginHalterClient.h: Added.
54793        (WebCore::PluginHalterClient::~PluginHalterClient):
54794
54795        * page/Page.cpp:
54796        (WebCore::Page::Page):
54797        Initialize m_pluginHalterClient. Call pluginHalterEnabledStateChanged()
54798        to create the PluginHalter if necessary.
54799        (WebCore::Page::pluginHalterEnabledStateChanged):
54800        If plug-in halting is enabled, create the PluginHalter. If it is
54801        disabled, clear it.
54802        (WebCore::Page::pluginAllowedRunTimeChanged):
54803        If there is a plug-in halter, call its setPluginAllowedRunTime().
54804        (WebCore::Page::didStartPlugin):
54805        If there is a plug-in halter, call its didStartPlugin().
54806        (WebCore::Page::didStopPlugin):
54807        If there is a plug-in halter, call its didStopPlugin().
54808
54809        * page/Page.h:
54810        Add a parameter to the Page constructor for the PluginHalterClient.
54811        Added declarations for didStartPlugin() and didStopPlugin(), which are
54812        called when HaltablePlugins are added to or removed from the page. Adds
54813        pluginAllowedRunTimeChanged() and pluginHalterEnabledStateChanged() to
54814        notify the Page when these settings are changed. Added members to hold
54815        the PluginHalter and the PluginHalterClient.
54816
54817        * page/Settings.cpp:
54818        (WebCore::Settings::Settings):
54819        (WebCore::Settings::setPluginHalterEnabled):
54820        If the enabled state has changed, call the Page's
54821        pluginHalterEnabledStateChanged().
54822        (WebCore::Settings::setPluginAllowedRunTime):
54823        Call the Page's pluginAllowedRunTimeChanged().
54824
54825        * page/Settings.h:
54826        (WebCore::Settings::pluginHalterEnabled):
54827        (WebCore::Settings::pluginAllowedRunTime):
54828
54829        * page/HaltablePlugin.h: Added. Defines an interface for plug-ins that
54830        can be automatically halted.
54831        (WebCore::HaltablePlugin::~HaltablePlugin):
54832
54833        * svg/graphics/SVGImage.cpp:
54834        (WebCore::SVGImage::dataChanged):
54835        Pass a dummy PluginHalterClient.
54836
548372009-09-24  Simon Fraser  <simon.fraser@apple.com>
54838
54839        Reviewed by Dan Bernstein.
54840
54841        REGRESSION: webkit-transform scale no longer works properly in nightly build
54842        https://bugs.webkit.org/show_bug.cgi?id=29730
54843        
54844        When the initial or final state of a scale animation does not specify a transform,
54845        use a default scale of 1, rather than zero.
54846
54847        Test: compositing/transitions/scale-transition-no-start.html
54848
54849        * platform/graphics/mac/GraphicsLayerCA.mm:
54850        (WebCore::getTransformFunctionValue):
54851
548522009-09-24  John Gregg  <johnnyg@google.com>
54853
54854        Reviewed by Eric Seidel.
54855
54856        isEnabled switch for notifications (experimental) in Page Settings
54857        https://bugs.webkit.org/show_bug.cgi?id=28930
54858
54859        Adds a run-time flag in Settings object that controls whether
54860        to expose desktop notifications.
54861
54862        No new test, but test code also modified to set this preference.
54863
54864        * page/DOMWindow.cpp:
54865        (WebCore::DOMWindow::webkitNotifications): check preference before returning notifications object
54866        * page/Settings.cpp:
54867        (WebCore::Settings::Settings):
54868        (WebCore::Settings::setExperimentalNotificationsEnabled):
54869        * page/Settings.h:
54870        (WebCore::Settings::experimentalNotificationsEnabled):
54871
548722009-09-24  Dan Bernstein  <mitz@apple.com>
54873
54874        Reviewed by Sam Weinig.
54875
54876        Fix <rdar://problem/7162000> Crash while trying to
54877        calculate the horizontal position of image
54878
54879        Test: fast/inline-block/relative-positioned-rtl-crash.html
54880
54881        * rendering/RenderBox.cpp:
54882        (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): Corrected an
54883        isInline() test to isRenderInline(). This is similar to r41259.
54884
548852009-09-24  Jessie Berlin  <jberlin@webkit.org>
54886
54887        Reviewed by Timothy Hatcher.
54888
54889        Fix expanding profile call stacks being broken after sorting.
54890        https://bugs.webkit.org/show_bug.cgi?id=26423
54891
54892        * inspector/front-end/ProfileDataGridTree.js:
54893        (WebInspector.ProfileDataGridNode.prototype.sort):
54894        Set shouldRefreshChildren to true on collapsed nodes with children so that expanding it
54895        causes the children to be placed in the right positions.
54896
548972009-09-24  Geoffrey Garen  <ggaren@apple.com>
54898
54899        Reviewed by Stephanie Lewis.
54900
54901        Fixed sudden termination console spew due to too many calls to
54902        enableSuddenTermination.
54903        
54904        <rdar://problem/7063125> 10A410: Safari logging enableSuddenTermination errors
54905
54906        * page/DOMWindow.cpp:
54907        (WebCore::removeUnloadEventListener):
54908        (WebCore::removeAllUnloadEventListeners):
54909        (WebCore::removeBeforeUnloadEventListener):
54910        (WebCore::removeAllBeforeUnloadEventListeners): Only
54911        enableSuddenTermination if the set of listeners is empty *and* this
54912        window was in the set. Otherwise, a no-op will cause us to enableSuddenTermination.
54913
549142009-09-24  Carol Szabo  <carol.szabo@nokia.com>
54915
54916        Reviewed by Alexey Proskuryakov.
54917
54918        WebKit returns "" instead of null when getting
54919        inexistent, forbidden or invalidly named headers.
54920        https://bugs.webkit.org/show_bug.cgi?id=29140
54921
54922        * xml/XMLHttpRequest.cpp:
54923        (WebCore::XMLHttpRequest::getResponseHeader):
54924        Changed to return null as it should according to the spec.
54925
549262009-09-24  Jeremy Orlow  <jorlow@chromium.org>
54927
54928        Reviewed by Dimitri Glazkov.
54929
54930        Add GYP generated files to svn:ignore
54931        https://bugs.webkit.org/show_bug.cgi?id=29724
54932
54933        Adding the following files to the svn:ignore list (all in the
54934        WebCore/WebCore.gyp directory)
54935
54936        WebCore.xcodeproj
54937        WebCore.sln
54938        WebCore.vcproj
54939        WebCore_Debug.rules
54940        WebCore_Release.rules
54941        WebCore_Release - no tcmalloc.rules
54942        WebCore_Purify.rules
54943        WebCore.mk
54944        WebCore_Debug_rules.mk
54945        WebCore_Release_rules.mk
54946        WebCore_Release - no tcmalloc_rules.mk
54947        WebCore_Purify_rules.mk
54948        WebCore.scons
54949        WebCore_main.scons
54950
54951        * WebCore.gyp: Changed property svn:ignore.
54952
549532009-09-24  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
54954
54955        Unreviewed. Mac build fix.
54956
54957        * page/EventHandler.cpp:
54958        (WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal):
54959        remove unused parameter from function signature;
54960
549612009-09-24  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
54962
54963        Reviewed by Oliver Hunt.
54964
54965        Implement correct horizontal scrollbar behavior for GTKalso on
54966        styled scrollbars.
54967
54968        https://bugs.webkit.org/show_bug.cgi?id=29348
54969        [Gtk] Scrollwheel on horizontal scrollbars should slide horizontally
54970
54971        Test: platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll.html
54972
54973        * page/EventHandler.cpp:
54974        (WebCore::EventHandler::handleWheelEvent): on GTK+, when using the
54975        wheel with the pointer on the horizontal scrollbar, scroll
54976        horizontally;
54977        * platform/PlatformWheelEvent.h:
54978        * platform/gtk/WheelEventGtk.cpp:
54979        (WebCore::PlatformWheelEvent::swapOrientation): allow adding a
54980        vertical scroll to the horizontal one;
54981
549822009-09-24  Jeremy Orlow  <jorlow@chromium.org>
54983
54984        Reviewed by Eric Seidel.
54985
54986        StorageNamespace::storageArea() should take in a PassRefPtr<StorageOrigin>
54987        https://bugs.webkit.org/show_bug.cgi?id=29290
54988
54989        Modified StorageNamespace::storageArea() to take in a PassRefPtr<StorageOrigin>
54990        per http://webkit.org/coding/RefPtr.html
54991
54992        No behavior change, so no tests.
54993
54994        * storage/StorageNamespace.h:
54995        * storage/StorageNamespaceImpl.cpp:
54996        (WebCore::StorageNamespaceImpl::storageArea):
54997        * storage/StorageNamespaceImpl.h:
54998
549992009-09-24  Geoffrey Garen  <ggaren@apple.com>
55000
55001        Reviewed by Sam Weinig.
55002
55003        Added back enable/disableSuddenTermination() functionality I accidentally
55004        removed in my last patch.
55005
55006        * page/DOMWindow.cpp:
55007        (WebCore::addUnloadEventListener):
55008        (WebCore::removeUnloadEventListener):
55009        (WebCore::removeAllUnloadEventListeners):
55010        (WebCore::addBeforeUnloadEventListener):
55011        (WebCore::removeBeforeUnloadEventListener):
55012        (WebCore::removeAllBeforeUnloadEventListeners):
55013        (WebCore::DOMWindow::dispatchAllPendingUnloadEvents):
55014        (WebCore::DOMWindow::~DOMWindow):
55015        (WebCore::DOMWindow::addEventListener):
55016        (WebCore::DOMWindow::removeEventListener):
55017        (WebCore::DOMWindow::removeAllEventListeners):
55018
550192009-09-24  Sam Weinig  <sam@webkit.org>
55020
55021        Reviewed by Steve Falkenburg and Mark Rowe.
55022
55023        Don't pass -F to GCC on non-mac platforms since it is an darwin only.
55024
55025        * DerivedSources.make:
55026
550272009-09-24  Sam Weinig  <sam@webkit.org>
55028
55029        Fix windows build.
55030
55031        * dom/Element.idl:
55032
550332009-09-23  Stephen White  <senorblanco@chromium.org>
55034
55035        Reviewed by Eric Seidel.
55036
55037        Revert the relevant parts of r47925, and implement an alternate
55038        fix (localize the coordinate check to GraphicsContext::clipPath()).
55039        This fixes http://crbug.com/21174.
55040
55041        Covered by LayoutTests/svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html.
55042
55043        * platform/graphics/skia/GraphicsContextSkia.cpp:
55044        (WebCore::GraphicsContext::clipPath):
55045        * platform/graphics/skia/PlatformContextSkia.cpp:
55046        (PlatformContextSkia::currentPathInLocalCoordinates):
55047
550482009-09-24  Brady Eidson  <beidson@apple.com>
55049
55050        Reviewed by Sam Weinig.
55051
55052        Merge changes from Mozilla's FTP directory parser.
55053        <rdar://problem/7227620> and https://bugs.webkit.org/show_bug.cgi?id=29294
55054
55055        FTP layout tests not possible at this time.
55056        https://bugs.webkit.org/show_bug.cgi?id=29719 tracks making them possible.
55057
55058        * loader/FTPDirectoryParser.cpp:
55059        (WebCore::ParsingFailed):
55060        (WebCore::parseOneFTPLine):
55061
550622009-09-24  Philippe Normand  <pnormand@igalia.com>
55063
55064        Reviewed by Gustavo Noronha.
55065
55066        [GTK] re-enable some media tests
55067        https://bugs.webkit.org/show_bug.cgi?id=29716
55068
55069        make canPlayType() return "probably" if mime-type is known
55070        and codecs string is not empty. If codecs is empty return
55071        "maybe".
55072
55073        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
55074        (WebCore::MediaPlayerPrivate::supportsType):
55075
550762009-09-24  Sam Weinig  <sam@webkit.org>
55077
55078        Reviewed by Dan Bernstein.
55079
55080        Fix for https://bugs.webkit.org/show_bug.cgi?id=29703
55081        Add a function to element to check whether it matches a CSS selector
55082
55083        Implement Element.webkitMatchesSelector.
55084
55085        * css/CSSSelectorList.cpp:
55086        (WebCore::forEachTagSelector):
55087        (WebCore::forEachSelector):
55088        (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
55089        (WebCore::CSSSelectorList::selectorsNeedNamespaceResolution):
55090        * css/CSSSelectorList.h:
55091        Moved code to iterate the CSSSelectorList and determine if any
55092        selectors need namespace resolution from a static function in
55093        Node.cpp to CSSSelectorList so that it can be used by webkitMatchesSelector
55094        as well as querySelector/querySelectorAll.
55095
55096        * dom/Element.cpp:
55097        (WebCore::Element::webkitMatchesSelector):
55098        * dom/Element.h: 
55099        * dom/Element.idl:
55100        Implement the new function. Handles exceptional cases identically to
55101        querySelector/querySelectorAll.
55102
55103        * dom/Node.cpp:
55104        (WebCore::Node::querySelector):
55105        (WebCore::Node::querySelectorAll):
55106        Moved selectorsNeedNamespaceResolution to CSSSelectorList from here.
55107
551082009-09-24  Vitaly Repeshko  <vitalyr@chromium.org>
55109
55110        Reviewed by Dimitri Glazkov.
55111
55112        [V8] Fixed bindings build after http://trac.webkit.org/changeset/48701
55113        https://bugs.webkit.org/show_bug.cgi?id=29713
55114
55115        Got rid of isWindowEvent in function signatures:
55116        * bindings/v8/V8AbstractEventListener.cpp:
55117        (WebCore::V8AbstractEventListener::invokeEventHandler):
55118        (WebCore::V8AbstractEventListener::handleEvent):
55119        (WebCore::V8AbstractEventListener::getReceiverObject):
55120        * bindings/v8/V8AbstractEventListener.h:
55121        * bindings/v8/V8LazyEventListener.cpp:
55122        (WebCore::V8LazyEventListener::callListenerFunction):
55123        * bindings/v8/V8LazyEventListener.h:
55124        * bindings/v8/V8WorkerContextEventListener.cpp:
55125        (WebCore::V8WorkerContextEventListener::handleEvent):
55126        (WebCore::V8WorkerContextEventListener::callListenerFunction):
55127        (WebCore::V8WorkerContextEventListener::getReceiverObject):
55128        * bindings/v8/V8WorkerContextEventListener.h:
55129        * bindings/v8/custom/V8CustomEventListener.cpp:
55130        (WebCore::V8EventListener::callListenerFunction):
55131        * bindings/v8/custom/V8CustomEventListener.h:
55132
55133        Switched to EventTarget methods of adding/removing listeners:
55134        * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
55135        (WebCore::toEventID):
55136        (WebCore::ACCESSOR_SETTER):
55137
55138        * dom/EventTarget.h: Some functions were incorrectly marked
55139        as JSC-specific.
55140
551412009-09-24  Pavel Feldman  <pfeldman@chromium.org>
55142
55143        Reviewed by Timothy Hatcher.
55144
55145        Web Inspector: Color-code watch expression errors with red.
55146
55147        https://bugs.webkit.org/show_bug.cgi?id=29707
55148
55149        * inspector/front-end/WatchExpressionsSidebarPane.js:
55150        (WebInspector.WatchExpressionsSection.prototype.update):
55151        (WebInspector.WatchExpressionTreeElement.prototype.update):
55152        * inspector/front-end/inspector.css:
55153
551542009-09-24  Pavel Feldman  <pfeldman@chromium.org>
55155
55156        Reviewed by Timothy Hatcher.
55157
55158        Web Inspector: Fix formatting for messages derived from resource warnings,
55159        couple of drive-by formatting fixes.
55160
55161        https://bugs.webkit.org/show_bug.cgi?id=29705
55162
55163        * inspector/InspectorFrontend.cpp:
55164        (WebCore::InspectorFrontend::addMessageToConsole):
55165        * inspector/front-end/ConsoleView.js:
55166        * inspector/front-end/InjectedScript.js:
55167        (InjectedScript._evaluateAndWrap):
55168        * inspector/front-end/WatchExpressionsSidebarPane.js:
55169        (WebInspector.WatchExpressionsSection.prototype.update):
55170
551712009-09-22  Pavel Feldman  <pfeldman@chromium.org>
55172
55173        Reviewed by Timothy Hatcher.
55174
55175        WebInspector: Implement InspectorController::copyNode(id).
55176
55177        https://bugs.webkit.org/show_bug.cgi?id=28357
55178
55179        * inspector/InspectorBackend.cpp:
55180        (WebCore::InspectorBackend::copyNode):
55181        * inspector/InspectorBackend.h:
55182        * inspector/InspectorBackend.idl:
55183        * inspector/front-end/ElementsPanel.js:
55184        (WebInspector.ElementsPanel.prototype.handleCopyEvent):
55185
551862009-09-24  Oliver Hunt  <oliver@apple.com>
55187
55188        Reviewed by NOBODY(rollout)
55189
55190        Roll out r48712 as it is incorrect.
55191
55192        Overriding getPropertyNames is incorrect.
55193
55194        * bridge/runtime_array.cpp:
55195        * bridge/runtime_array.h:
55196
551972009-09-24  Xan Lopez  <xlopez@igalia.com>
55198
55199        Revert r48697, since it broke key handling notification to GTK+.
55200
55201        * platform/gtk/KeyEventGtk.cpp:
55202        (WebCore::keyIdentifierForGdkKeyCode):
55203        (WebCore::singleCharacterString):
55204
552052009-09-24  Philippe Normand  <pnormand@igalia.com>
55206
55207        Reviewed by Xan Lopez.
55208
55209        [GTK] GStreamer MediaPlayer is unable to correctly querry duration
55210        https://bugs.webkit.org/show_bug.cgi?id=24639
55211
55212        check duration returned by gst_element_query_duration() only
55213        when using GStreamer < 0.10.23.
55214
55215        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
55216        (WebCore::MediaPlayerPrivate::duration):
55217
552182009-09-24  Benjamin Poulain  <benjamin.poulain@nokia.com>
55219
55220        Reviewed by Eric Seidel.
55221
55222        The indices of RuntimeArray should be enumerated like for a regular array.
55223        https://bugs.webkit.org/show_bug.cgi?id=29005
55224
55225        * bridge/runtime_array.cpp:
55226        (JSC::RuntimeArray::getPropertyNames):
55227        * bridge/runtime_array.h:
55228
552292009-09-23  Alexander Pavlov  <apavlov@chromium.org>
55230
55231        Reviewed by Eric Seidel.
55232
55233        Introduce Pasteboard::writePlaintext(const String&) so that copying
55234        of the inspected elements HTML will be possible in WebInspector.
55235        https://bugs.webkit.org/show_bug.cgi?id=29634
55236
55237        * platform/Pasteboard.h:
55238        * platform/android/TemporaryLinkStubs.cpp:
55239        (Pasteboard::writePlainText):
55240        * platform/chromium/ChromiumBridge.h:
55241        * platform/chromium/PasteboardChromium.cpp:
55242        (WebCore::Pasteboard::writePlainText):
55243        * platform/gtk/PasteboardGtk.cpp:
55244        (WebCore::Pasteboard::writePlainText):
55245        * platform/haiku/PasteboardHaiku.cpp:
55246        (WebCore::Pasteboard::writePlainText):
55247        * platform/mac/PasteboardMac.mm:
55248        (WebCore::Pasteboard::writePlainText):
55249        * platform/qt/PasteboardQt.cpp:
55250        (WebCore::Pasteboard::writePlainText):
55251        * platform/win/PasteboardWin.cpp:
55252        (WebCore::Pasteboard::writeSelection):
55253        (WebCore::Pasteboard::writePlainText):
55254        * platform/wince/PasteboardWince.cpp:
55255        (WebCore::Pasteboard::writePlainText):
55256        * platform/wx/PasteboardWx.cpp:
55257        (WebCore::Pasteboard::writeSelection):
55258        (WebCore::Pasteboard::writePlainText):
55259        (WebCore::Pasteboard::writeURL):
55260
552612009-09-24  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
55262
55263        Reviewed by Simon Hausmann.
55264
55265        Fix QApp::translate() calls to provide the correct class name without
55266        a trailing comma.
55267
55268        * platform/qt/Localizations.cpp:
55269        (WebCore::localizedMediaTimeDescription):
55270
552712009-09-24  Geoffrey Garen  <ggaren@apple.com>
55272
55273        More build fix: Removed JSSharedWorkerContextCustom.cpp from project
55274        files, since it no longer exists in the repository.
55275
55276        * GNUmakefile.am:
55277        * WebCore.gypi:
55278        * WebCore.pro:
55279        * WebCore.vcproj/WebCore.vcproj:
55280
552812009-09-24  Geoffrey Garen  <ggaren@apple.com>
55282
55283        Windows build fix: Declare set/unsetPendingActivity public, so
55284        SharedWorkerScriptLoader can call them.
55285
55286        * dom/ActiveDOMObject.h:
55287
552882009-09-24  Geoffrey Garen  <ggaren@apple.com>
55289
55290        Fixed a bit of the Windows build.
55291
55292        * workers/SharedWorker.idl: Declare a custom mark function. (I accidentally
55293        removed this in my last patch.)
55294        * WebCore.xcodeproj/project.pbxproj: Added JSSharedWorkerCustom.cpp back
55295        to the build. (I accidentally removed this in my last patch.)
55296
552972009-09-23  Geoffrey Garen  <ggaren@apple.com>
55298
55299        32-bit build fix: restore previous cast that I thought was unnecessary.
55300
55301        * xml/XMLHttpRequest.cpp:
55302        (WebCore::XMLHttpRequest::didSendData):
55303        (WebCore::XMLHttpRequest::didReceiveData):
55304
553052009-09-23  Geoffrey Garen  <ggaren@apple.com>
55306
55307        Reviewed by Sam Weinig.
55308
55309        Bring a little sanity to this crazy EventTarget world of ours
55310        https://bugs.webkit.org/show_bug.cgi?id=29701
55311
55312        Lots of EventTarget refactoring to achieve a single shared implementation
55313        that fixes some of the performance and correctness bugs of the many individual
55314        implementations, and makes reasoning about EventTargets and EventListeners
55315        much easier.
55316        
55317        The basic design is this:
55318            - EventTarget manages a set of EventListeners.
55319            - onXXX EventListener attributes forward to standard EventTarget APIs.
55320            - Since the onXXX code is repetitive, it is usually done with macros
55321              of the form DEFINE_ATTRIBUTE_EVENT_LISTENER(attributeName).
55322            - EventTarget provides a shared implementation of dispatchEvent,
55323              which subclasses with special event dispatch rules, like Node, override.
55324            - To support Node, which lazily instantiates its EventTarget data,
55325              EventTarget has no data members, and instead makes a virtual call
55326              to get its data from wherever its subclass chose to store it.
55327              
55328        Code that used to call dispatchEvent, passing an ExceptionCode paratmeter,
55329        even though no exception could be thrown, has been changed not to do so,
55330        to improve clarity and performance.
55331        
55332        Code that used to call a special dispatchXXXEvent function, which just
55333        turned around and called dispatchEvent, has been changed to call
55334        dispatchEvent, to improve clarity and performance.
55335
55336        * WebCore.base.exp:
55337        * WebCore.xcodeproj/project.pbxproj: Another day in the life of a WebKit
55338        engineer.
55339
55340        * bindings/js/JSDOMBinding.cpp:
55341        (WebCore::isObservableThroughDOM): Updated for Node API change. Added
55342        "is not in the document but is firing event listeners" as a condition
55343        that makes a Node observable in the DOM, so that event listeners firing
55344        on removed nodes are not destroyed midstream. (This was a long-standing
55345        bug that was somewhat hidden by the old implementation's habit of
55346        copying the RegisteredEventListener vector before firing events, which
55347        would keep almost all the relevant objects from being destroyed.)
55348
55349        * bindings/js/JSEventListener.cpp:
55350        (WebCore::JSEventListener::handleEvent): Removed the isWindowEvent flag
55351        because it was one of the most elaborately planned no-ops in the history
55352        of software crime, and one of the reasons clients thought they needed more
55353        than one dispatchEvent function even though they didn't.
55354        * bindings/js/JSEventListener.h:
55355
55356        * bindings/js/JSDOMWindowCustom.cpp:
55357        (WebCore::JSDOMWindow::markChildren):
55358        (WebCore::JSMessagePort::markChildren):
55359        * bindings/js/JSNodeCustom.cpp:
55360        (WebCore::JSNode::markChildren):
55361        * bindings/js/JSAbstractWorkerCustom.cpp:
55362        * bindings/js/JSDOMApplicationCacheCustom.cpp:
55363        * bindings/js/JSDedicatedWorkerContextCustom.cpp:
55364        * bindings/js/JSEventSourceCustom.cpp:
55365        * bindings/js/JSMessagePortCustom.cpp:
55366        * bindings/js/JSSharedWorkerContextCustom.cpp: Removed.
55367        * bindings/js/JSWebSocketCustom.cpp:
55368        * bindings/js/JSWorkerContextCustom.cpp:
55369        (WebCore::JSWorkerContext::markChildren):
55370        * bindings/js/JSWorkerCustom.cpp:
55371        * bindings/js/JSXMLHttpRequestCustom.cpp:
55372        (WebCore::JSXMLHttpRequest::markChildren):
55373        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
55374        (WebCore::JSXMLHttpRequestUpload::markChildren): EventListener marking is
55375        now autogenerated. Classes that still have custom mark functions for other
55376        reasons now call a shared EventTarget API to mark their EventListeners.
55377
55378        * bindings/objc/ObjCEventListener.h:
55379        * bindings/objc/ObjCEventListener.mm:
55380        (WebCore::ObjCEventListener::handleEvent): Bye bye isWindowEvent.
55381
55382        * bindings/scripts/CodeGeneratorJS.pm: Autogeneration support for
55383        marking and invalidating event listeners.
55384
55385        * dom/CharacterData.cpp:
55386        (WebCore::CharacterData::dispatchModifiedEvent):
55387        * dom/ContainerNode.cpp:
55388        (WebCore::ContainerNode::insertBefore):
55389        (WebCore::ContainerNode::replaceChild):
55390        (WebCore::willRemoveChild):
55391        (WebCore::ContainerNode::appendChild):
55392        (WebCore::dispatchChildInsertionEvents):
55393        (WebCore::dispatchChildRemovalEvents):
55394        * dom/Document.cpp:
55395        (WebCore::Document::removeAllEventListeners):
55396        (WebCore::Document::implicitClose):
55397        (WebCore::Document::setFocusedNode):
55398        (WebCore::Document::dispatchWindowEvent):
55399        (WebCore::Document::dispatchWindowLoadEvent):
55400        (WebCore::Document::finishedParsing):
55401        * dom/Document.h: Use dispatchEvent directly.
55402
55403        * dom/Element.h: Moved a few event listener attributes down from Node,
55404        since they don't apply to all Nodes, only Elements.
55405
55406        * dom/EventListener.h: Removed isWindowEvent parameter.
55407
55408        * dom/EventNames.h: Added the "display" event name, so it works correctly
55409        with attribute macros, and for performance.
55410
55411        * dom/EventTarget.cpp:
55412        (WebCore::forbidEventDispatch):
55413        (WebCore::allowEventDispatch):
55414        (WebCore::eventDispatchForbidden): Made this code (embarrasingly) thread
55415        safe, since it's now called on multiple threads. (Currently, we only forbid
55416        event dispatch on the main thread. If we ever want to forbid event dispatch
55417        on secondary threads, we can improve it then.)
55418
55419        (WebCore::EventTarget::addEventListener):
55420        (WebCore::EventTarget::removeEventListener):
55421        (WebCore::EventTarget::setAttributeEventListener):
55422        (WebCore::EventTarget::getAttributeEventListener):
55423        (WebCore::EventTarget::clearAttributeEventListener):
55424        (WebCore::EventTarget::dispatchEvent):
55425        (WebCore::EventTarget::fireEventListeners):
55426        (WebCore::EventTarget::getEventListeners):
55427        (WebCore::EventTarget::removeAllEventListeners):
55428        * dom/EventTarget.h:
55429        (WebCore::FiringEventEndIterator::FiringEventEndIterator):
55430        (WebCore::EventTarget::ref):
55431        (WebCore::EventTarget::deref):
55432        (WebCore::EventTarget::markEventListeners):
55433        (WebCore::EventTarget::invalidateEventListeners):
55434        (WebCore::EventTarget::isFiringEventListeners):
55435        (WebCore::EventTarget::hasEventListeners): The ONE TRUE IMPLEMENTATION of
55436        EventTarget APIs, crafted from an amalgam of all the different versions
55437        we used to have. The most significant change here is that we no longer
55438        make a copy of an EventListener vector before firing the events in the
55439        vector -- instead, we use a reference to the original vector, along with
55440        a notification mechanism for the unlikely case when an EventListener is
55441        removed from the vector. This substantially reduces malloc, copying, and
55442        refcount overhead, and complexity.
55443
55444        * dom/InputElement.cpp:
55445        (WebCore::InputElement::setValueFromRenderer):
55446        * dom/MessageEvent.h:
55447        (WebCore::MessageEvent::create): Use dispatchEvent directly.
55448
55449        * dom/MessagePort.cpp:
55450        (WebCore::MessagePort::dispatchMessages):
55451        (WebCore::MessagePort::eventTargetData):
55452        (WebCore::MessagePort::ensureEventTargetData):
55453        * dom/MessagePort.h:
55454        (WebCore::MessagePort::setOnmessage):
55455        (WebCore::MessagePort::onmessage):
55456        * dom/MessagePort.idl: Removed custom EventTarget implementation.
55457
55458        * dom/MutationEvent.h:
55459        (WebCore::MutationEvent::create): Added some default values so callers
55460        can construct MutationEvents more easily, without calling a custom dispatch
55461        function.
55462
55463        * dom/Node.cpp:
55464        (WebCore::Node::addEventListener):
55465        (WebCore::Node::removeEventListener):
55466        (WebCore::Node::eventTargetData):
55467        (WebCore::Node::ensureEventTargetData):
55468        (WebCore::Node::handleLocalEvents):
55469        (WebCore::Node::dispatchEvent):
55470        (WebCore::Node::dispatchGenericEvent):
55471        (WebCore::Node::dispatchSubtreeModifiedEvent):
55472        (WebCore::Node::dispatchUIEvent):
55473        (WebCore::Node::dispatchKeyEvent):
55474        (WebCore::Node::dispatchMouseEvent):
55475        (WebCore::Node::dispatchWheelEvent):
55476        (WebCore::Node::dispatchFocusEvent):
55477        (WebCore::Node::dispatchBlurEvent):
55478        * dom/Node.h:
55479        (WebCore::Node::preDispatchEventHandler):
55480        (WebCore::Node::postDispatchEventHandler):
55481        * dom/Node.idl:
55482        * dom/NodeRareData.h:
55483        (WebCore::NodeRareData::eventTargetData):
55484        (WebCore::NodeRareData::ensureEventTargetData): Use the shared EventTarget
55485        interface, and call dispatchEvent directly instead of custom dispatchXXXEvent
55486        functions that just forwarded to dispatchEvent.
55487
55488        * dom/RegisteredEventListener.cpp:
55489        * dom/RegisteredEventListener.h:
55490        (WebCore::RegisteredEventListener::RegisteredEventListener):
55491        (WebCore::operator==): This is just a simple struct now, since we no longer
55492        do a complicated copy / refCount / isRemoved dance just to honor the rule
55493        that an EventListener can be removed during event dispatch.
55494
55495        * history/CachedFrame.cpp:
55496        (WebCore::CachedFrameBase::restore): Removed another custom dispatchEvent.
55497
55498        * html/HTMLBodyElement.cpp:
55499        * html/HTMLBodyElement.h: Use the shared EventTarget API.
55500
55501        * html/HTMLFormControlElement.cpp:
55502        (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent):
55503        (WebCore::HTMLFormControlElement::checkValidity):
55504        * html/HTMLFormElement.cpp:
55505        (WebCore::HTMLFormElement::handleLocalEvents):
55506        (WebCore::HTMLFormElement::prepareSubmit):
55507        (WebCore::HTMLFormElement::reset):
55508        * html/HTMLFormElement.h: Use the standard dispatchEvent API.
55509
55510        * html/HTMLFrameSetElement.cpp:
55511        * html/HTMLFrameSetElement.h: Use the shared EventTarget API.
55512
55513        * html/HTMLImageLoader.cpp:
55514        (WebCore::HTMLImageLoader::dispatchLoadEvent):
55515        * html/HTMLInputElement.cpp:
55516        (WebCore::HTMLInputElement::onSearch):
55517        * html/HTMLMediaElement.cpp:
55518        (WebCore::HTMLMediaElement::loadInternal):
55519        * html/HTMLScriptElement.cpp:
55520        (WebCore::HTMLScriptElement::dispatchLoadEvent):
55521        (WebCore::HTMLScriptElement::dispatchErrorEvent):
55522        * html/HTMLSourceElement.cpp:
55523        (WebCore::HTMLSourceElement::errorEventTimerFired):
55524        * html/HTMLTokenizer.cpp:
55525        (WebCore::HTMLTokenizer::notifyFinished): Use the standard dispatchEvent API.
55526
55527        * inspector/InspectorDOMAgent.cpp:
55528        (WebCore::InspectorDOMAgent::handleEvent):
55529        * inspector/InspectorDOMAgent.h:
55530        * inspector/InspectorDOMStorageResource.cpp:
55531        (WebCore::InspectorDOMStorageResource::handleEvent):
55532        * inspector/InspectorDOMStorageResource.h:
55533        * loader/FrameLoader.cpp:
55534        (WebCore::FrameLoader::stopLoading):
55535        (WebCore::FrameLoader::canCachePageContainingThisFrame):
55536        (WebCore::FrameLoader::logCanCacheFrameDecision):
55537        (WebCore::HashChangeEventTask::performTask):
55538        (WebCore::FrameLoader::pageHidden): No more isWindowEvent.
55539
55540        * loader/ImageDocument.cpp:
55541        (WebCore::ImageEventListener::handleEvent):
55542        * loader/appcache/ApplicationCacheGroup.cpp:
55543        (WebCore::CallCacheListenerTask::performTask):
55544        * loader/appcache/ApplicationCacheHost.cpp:
55545        (WebCore::ApplicationCacheHost::notifyDOMApplicationCache):
55546        * loader/appcache/ApplicationCacheHost.h:
55547        * loader/appcache/DOMApplicationCache.cpp:
55548        (WebCore::DOMApplicationCache::eventTargetData):
55549        (WebCore::DOMApplicationCache::ensureEventTargetData):
55550        * loader/appcache/DOMApplicationCache.h:
55551        * loader/appcache/DOMApplicationCache.idl: Switched to the standard
55552        EventTarget API. As a part of this, I switched this class from using a
55553        custom internal event name enumeration to using the standard EventNames.
55554
55555        * notifications/Notification.cpp:
55556        (WebCore::Notification::eventTargetData):
55557        (WebCore::Notification::ensureEventTargetData):
55558        * notifications/Notification.h:
55559        (WebCore::Notification::scriptExecutionContext):
55560        * notifications/Notification.idl: Switched to the standard EventTarget API.
55561
55562        * page/DOMWindow.cpp:
55563        (WebCore::PostMessageTimer::event):
55564        (WebCore::windowsWithUnloadEventListeners):
55565        (WebCore::windowsWithBeforeUnloadEventListeners):
55566        (WebCore::allowsBeforeUnloadListeners):
55567        (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents):
55568        (WebCore::DOMWindow::pendingUnloadEventListeners):
55569        (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): Changed the "pending"
55570        unload / beforeunload listener tracker just to track which windows had
55571        such listeners, instead of actually keeping a copy of the listeners. Now,
55572        this code can use the standard EventTarget API.
55573
55574        (WebCore::DOMWindow::~DOMWindow):
55575        (WebCore::DOMWindow::postMessageTimerFired):
55576        (WebCore::DOMWindow::addEventListener):
55577        (WebCore::DOMWindow::removeEventListener):
55578        (WebCore::DOMWindow::dispatchLoadEvent):
55579        (WebCore::DOMWindow::dispatchEvent):
55580        (WebCore::DOMWindow::removeAllEventListeners):
55581        (WebCore::DOMWindow::captureEvents):
55582        (WebCore::DOMWindow::releaseEvents):
55583        (WebCore::DOMWindow::eventTargetData):
55584        (WebCore::DOMWindow::ensureEventTargetData):
55585        * page/DOMWindow.h:
55586        * page/DOMWindow.idl: Use the standard EventTarget APIs.
55587
55588        * page/EventHandler.cpp:
55589        (WebCore::EventHandler::canMouseDownStartSelect):
55590        (WebCore::EventHandler::canMouseDragExtendSelect):
55591        (WebCore::EventHandler::sendResizeEvent):
55592        (WebCore::EventHandler::sendScrollEvent): Use dispatchEvent directly.
55593
55594        * page/EventSource.cpp:
55595        (WebCore::EventSource::endRequest):
55596        (WebCore::EventSource::didReceiveResponse):
55597        (WebCore::EventSource::parseEventStreamLine):
55598        (WebCore::EventSource::stop):
55599        (WebCore::EventSource::createMessageEvent):
55600        (WebCore::EventSource::eventTargetData):
55601        (WebCore::EventSource::ensureEventTargetData):
55602        * page/EventSource.h:
55603        * page/EventSource.idl: Use the standard EventTarget APIs.
55604
55605        * page/FocusController.cpp:
55606        (WebCore::dispatchEventsOnWindowAndFocusedNode):
55607        (WebCore::FocusController::setFocusedFrame):
55608        * page/Frame.cpp:
55609        (WebCore::Frame::shouldClose):
55610        * page/Frame.h:
55611        * page/Page.cpp:
55612        (WebCore::networkStateChanged):
55613        * page/animation/AnimationController.cpp:
55614        (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
55615        * rendering/RenderListBox.cpp:
55616        (WebCore::RenderListBox::valueChanged):
55617        * rendering/RenderTextControl.cpp:
55618        (WebCore::RenderTextControl::selectionChanged):
55619        * rendering/RenderTextControlMultiLine.cpp:
55620        (WebCore::RenderTextControlMultiLine::subtreeHasChanged): Use dispatchEvent.
55621
55622        * svg/SVGElement.cpp:
55623        (WebCore::hasLoadListener): Rewritten for new EventTarget API.
55624
55625        * svg/SVGElementInstance.cpp:
55626        (WebCore::dummyEventTargetData):
55627        (WebCore::SVGElementInstance::addEventListener):
55628        (WebCore::SVGElementInstance::removeEventListener):
55629        (WebCore::SVGElementInstance::removeAllEventListeners):
55630        (WebCore::SVGElementInstance::dispatchEvent):
55631        (WebCore::SVGElementInstance::eventTargetData):
55632        (WebCore::SVGElementInstance::ensureEventTargetData): Use the EventTarget API.
55633
55634        * svg/SVGElementInstance.h:
55635        * svg/SVGImageLoader.cpp:
55636        (WebCore::SVGImageLoader::dispatchLoadEvent):
55637        * svg/SVGScriptElement.cpp:
55638        (WebCore::SVGScriptElement::dispatchErrorEvent): Use dispatchEvent directly.
55639
55640        * svg/SVGUseElement.cpp:
55641        (WebCore::SVGUseElement::transferEventListenersToShadowTree): Updated for
55642        new EventTarget API.
55643
55644        * svg/animation/SVGSMILElement.cpp:
55645        (WebCore::ConditionEventListener::handleEvent): No more isWindowEvent.
55646
55647        * websockets/WebSocket.cpp:
55648        (WebCore::ProcessWebSocketEventTask::create):
55649        (WebCore::ProcessWebSocketEventTask::performTask):
55650        (WebCore::ProcessWebSocketEventTask::ProcessWebSocketEventTask):
55651        (WebCore::WebSocket::didConnect):
55652        (WebCore::WebSocket::didReceiveMessage):
55653        (WebCore::WebSocket::didClose):
55654        (WebCore::WebSocket::eventTargetData):
55655        (WebCore::WebSocket::ensureEventTargetData):
55656        * websockets/WebSocket.h:
55657        * websockets/WebSocket.idl:
55658        * workers/AbstractWorker.cpp:
55659        (WebCore::AbstractWorker::eventTargetData):
55660        (WebCore::AbstractWorker::ensureEventTargetData):
55661        * workers/AbstractWorker.h:
55662        * workers/AbstractWorker.idl:
55663        * workers/DedicatedWorkerContext.cpp:
55664        * workers/DedicatedWorkerContext.h:
55665        * workers/DedicatedWorkerContext.idl:
55666        * workers/DefaultSharedWorkerRepository.cpp:
55667        (WebCore::SharedWorkerConnectTask::performTask):
55668        (WebCore::SharedWorkerScriptLoader::load):
55669        (WebCore::SharedWorkerScriptLoader::notifyFinished):
55670        * workers/SharedWorker.idl:
55671        * workers/SharedWorkerContext.cpp:
55672        (WebCore::createConnectEvent):
55673        * workers/SharedWorkerContext.h:
55674        * workers/SharedWorkerContext.idl:
55675        * workers/Worker.cpp:
55676        (WebCore::Worker::notifyFinished):
55677        * workers/Worker.h:
55678        * workers/Worker.idl:
55679        * workers/WorkerContext.cpp:
55680        (WebCore::WorkerContext::eventTargetData):
55681        (WebCore::WorkerContext::ensureEventTargetData):
55682        * workers/WorkerContext.h:
55683        * workers/WorkerContext.idl:
55684        * workers/WorkerMessagingProxy.cpp:
55685        (WebCore::MessageWorkerContextTask::performTask):
55686        (WebCore::MessageWorkerTask::performTask):
55687        (WebCore::WorkerExceptionTask::performTask):
55688        * xml/XMLHttpRequest.cpp:
55689        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
55690        (WebCore::XMLHttpRequest::createRequest):
55691        (WebCore::XMLHttpRequest::abort):
55692        (WebCore::XMLHttpRequest::networkError):
55693        (WebCore::XMLHttpRequest::abortError):
55694        (WebCore::XMLHttpRequest::didSendData):
55695        (WebCore::XMLHttpRequest::didReceiveData):
55696        (WebCore::XMLHttpRequest::eventTargetData):
55697        (WebCore::XMLHttpRequest::ensureEventTargetData):
55698        * xml/XMLHttpRequest.h:
55699        * xml/XMLHttpRequest.idl:
55700        * xml/XMLHttpRequestProgressEvent.h:
55701        (WebCore::XMLHttpRequestProgressEvent::create):
55702        * xml/XMLHttpRequestUpload.cpp:
55703        (WebCore::XMLHttpRequestUpload::eventTargetData):
55704        (WebCore::XMLHttpRequestUpload::ensureEventTargetData):
55705        * xml/XMLHttpRequestUpload.h:
55706        * xml/XMLHttpRequestUpload.idl: Use new EventTarget API.
55707
557082009-09-23  Kent Tamura  <tkent@chromium.org>
55709
55710        Reviewed by Darin Adler.
55711
55712        - Support for maxLength of <textarea>
55713        - Move numGraphemeClusters() and numCharactersInGraphemeClusters() from InputElement to String.
55714        https://bugs.webkit.org/show_bug.cgi?id=29292
55715
55716        Test: fast/forms/textarea-maxlength.html
55717
55718        * dom/InputElement.cpp:
55719        (WebCore::InputElement::sanitizeUserInputValue):
55720        (WebCore::InputElement::handleBeforeTextInsertedEvent):
55721        * html/HTMLTextAreaElement.cpp:
55722        (WebCore::HTMLTextAreaElement::defaultEventHandler):
55723        (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent):
55724        (WebCore::HTMLTextAreaElement::sanitizeUserInputValue):
55725        (WebCore::HTMLTextAreaElement::maxLength):
55726        (WebCore::HTMLTextAreaElement::setMaxLength):
55727        * html/HTMLTextAreaElement.h:
55728        * html/HTMLTextAreaElement.idl:
55729        * platform/text/PlatformString.h:
55730        * platform/text/String.cpp:
55731        (WebCore::String::numGraphemeClusters):
55732        (WebCore::String::numCharactersInGraphemeClusters):
55733
557342009-09-23  Martin Robinson  <martin.james.robinson@gmail.com>
55735
55736        Reviewed by Xan Lopez.
55737
55738        [GTK] REGRESSION: BitmapImage::getGdkPixbuf fails for non-square images
55739        https://bugs.webkit.org/show_bug.cgi?id=29654
55740
55741        Give GDK_Backspace key events the proper text properties.
55742
55743        Instead of adding new tests, this change removes existing tests
55744        from Gtk's skipped list.
55745
55746        * platform/gtk/KeyEventGtk.cpp:
55747        (WebCore::keyIdentifierForGdkKeyCode):
55748        (WebCore::singleCharacterString):
55749
557502009-09-23  Sam Weinig  <sam@webkit.org>
55751
55752        Reviewed by Adam Barth.
55753
55754        Fix for https://bugs.webkit.org/show_bug.cgi?id=26989
55755        Should allow navigation of top-level openers
55756        <rdar://problem/7034025>
55757
55758        Allow navigation of cross-origin window.opener if it is top-level frame.
55759
55760        Test: http/tests/security/frameNavigation/cross-origin-opener.html
55761
55762        * loader/FrameLoader.cpp:
55763        (WebCore::FrameLoader::shouldAllowNavigation):
55764
557652009-09-23  Marshall Culpepper  <mculpepper@appcelerator.com>
55766
55767        Reviewed by Eric Seidel.
55768
55769        Added $(WebKitLibrariesDir)/include/cairo so cairo.h is found by
55770        default when the necessary dependencies are extracted into the
55771        WebKitLibrariesDir.
55772        https://bugs.webkit.org/show_bug.cgi?id=29661
55773
55774        * WebCore.vcproj/WebCoreCairo.vsprops:
55775
557762009-09-23  Darin Adler  <darin@apple.com>
55777
55778        Reviewed by Sam Weinig.
55779
55780        Crash when website does a history.back() followed by an alert()
55781        https://bugs.webkit.org/show_bug.cgi?id=29686
55782        rdar://problem/6984996
55783
55784        When loading is deferred, we need to defer timer-based loads
55785        too, not just networking-driven loads. Otherwise we can get
55786        syncronouse navigation while running a script, which leads to
55787        crashes and other badness.
55788
55789        This patch includes a manual test; an automated test may be
55790        possible some time in the future.
55791
55792        * dom/Document.cpp:
55793        (WebCore::Document::processHttpEquiv): Use scheduleLocationChange
55794        instead of scheduleHTTPRedirection to implement the navigation
55795        needed for x-frame-options.
55796
55797        * loader/FrameLoader.cpp:
55798        (WebCore::FrameLoader::FrameLoader): Updated for data members with
55799        new names and new data members.
55800        (WebCore::FrameLoader::setDefersLoading): When turning deferral
55801        off, call startRedirectionTimer and startCheckCompleteTimer, since
55802        either of them might have been fired and ignored while defersLoading
55803        was true.
55804        (WebCore::FrameLoader::clear): Updated for replacement of the
55805        m_checkCompletedTimer and m_checkLoadCompleteTimer timers.
55806        (WebCore::FrameLoader::allAncestorsAreComplete): Added.
55807        (WebCore::FrameLoader::checkCompleted): Added code to set
55808        m_shouldCallCheckCompleted to false. Changed code that calls
55809        startRedirectionTimer to call it unconditionally, since that
55810        function now knows when to do work and doesn't expect callers
55811        to handle that any more.
55812        (WebCore::FrameLoader::checkTimerFired): Added. Replaces the old
55813        timer fired callbacks. Calls checkCompleted and checkLoadComplete
55814        as appropriate, but not when defersLoading is true.
55815        (WebCore::FrameLoader::startCheckCompleteTimer): Added. Replaces
55816        the two different calls to start timers before. Only starts the
55817        timers if they are needed.
55818        (WebCore::FrameLoader::scheduleCheckCompleted): Changed to call
55819        startCheckCompleteTimer after setting boolean.
55820        (WebCore::FrameLoader::scheduleCheckLoadComplete): Ditto.
55821        (WebCore::FrameLoader::scheduleHistoryNavigation): Removed
55822        canGoBackOrForward check. The logic works more naturally when
55823        we don't do anything until the timer fires.
55824        (WebCore::FrameLoader::redirectionTimerFired): Do nothing if
55825        defersLoading is true. Also moved canGoBackOrForward check here.
55826        (WebCore::FrameLoader::scheduleRedirection): Changed code that
55827        calls startRedirectionTimer to do so unconditionally. That
55828        function now handles the rules about when to start the timer
55829        rather than expecting the caller to do so.
55830        (WebCore::FrameLoader::startRedirectionTimer): Added code to
55831        handle the case where there is no redirection scheduled,
55832        where the timer is already active, or where this is a classic
55833        redirection and there is an ancestor that has not yet completed
55834        loading.
55835        (WebCore::FrameLoader::completed): Call startRedirectionTimer
55836        here directly instead of calling a cover named parentCompleted.
55837        Hooray! One less function in the giant FrameLoader class!
55838        (WebCore::FrameLoader::checkLoadComplete): Added code to set
55839        m_shouldCallCheckLoadComplete to false.
55840
55841        * loader/FrameLoader.h: Replaced the two functions
55842        checkCompletedTimerFired and checkLoadCompleteTimerFired with
55843        one function, checkTimerFired. Removed the parentCompleted
55844        function. Added the startCheckCompleteTimer and
55845        allAncestorsAreComplete functions. Replaced the
55846        m_checkCompletedTimer and m_checkLoadCompleteTimer data
55847        members with m_checkTimer, m_shouldCallCheckCompleted, and
55848        m_shouldCallCheckLoadComplete.
55849
55850        * manual-tests/go-back-after-alert.html: Added.
55851        * manual-tests/resources/alert-and-go-back.html: Added.
55852
558532009-09-23  David Kilzer  <ddkilzer@apple.com>
55854
55855        <http://webkit.org/b/29660> Move "Generate 64-bit Export File" build phase script into DerivedSources.make
55856
55857        Reviewed by Mark Rowe.
55858
55859        The "Generate 64-bit Export File" build phase script generated
55860        the WebCore.LP64.exp export file used to link 64-bit WebCore.
55861        Instead of having a separate build phase script, move its
55862        generation into DerivedSources.make where WebCore.exp is
55863        generated.
55864
55865        * DerivedSources.make: Added a rule to make WebCore.LP64.exp.
55866        Added code to append WebCore.PluginHostProcess.exp to
55867        $(WEBCORE_EXPORT_DEPENDENCIES) when WTF_USE_PLUGIN_HOST_PROCESS
55868        is set to 1.
55869        * WebCore.PluginHostProcess.exp: Renamed from WebCore/WebCore.LP64.exp.
55870        * WebCore.xcodeproj/project.pbxproj: Removed the "Generate
55871        64-bit Export File" build phase script. Renamed WebCore.LP64.exp
55872        to WebCore.PluginHostProcess.exp.
55873
558742009-09-23  Peter Kasting  <pkasting@google.com>
55875
55876        Reviewed by Dimitri Glazkov.
55877
55878        https://bugs.webkit.org/show_bug.cgi?id=29694
55879        [Chromium] Eliminate dependency on gfx::Rect from ImageSkia.
55880
55881        * platform/graphics/skia/ImageSkia.cpp:
55882        (WebCore::drawResampledBitmap):
55883
558842009-09-22  Timothy Hatcher  <timothy@apple.com>
55885
55886        Prevent scrolling multiple elements during latched wheel events.
55887
55888        Reviewed by Anders Carlsson.
55889
55890        * page/EventHandler.cpp:
55891        (WebCore::scrollAndAcceptEvent):
55892        (WebCore::EventHandler::clear):
55893        (WebCore::EventHandler::handleWheelEvent):
55894        * page/EventHandler.h:
55895        * rendering/RenderBox.cpp:
55896        (WebCore::RenderBox::scroll):
55897        * rendering/RenderBox.h:
55898
558992009-09-23  Daniel Bates  <dbates@webkit.org>
55900
55901        Reviewed by Adam Barth.
55902
55903        https://bugs.webkit.org/show_bug.cgi?id=29523
55904        
55905        Fixes an issue where a JavaScript URL that was URL-encoded twice can bypass the
55906        XSSAuditor.
55907        
55908        The method FrameLoader::executeIfJavaScriptURL decodes the URL escape 
55909        sequences in a JavaScript URL before it is eventually passed to the XSSAuditor.
55910        Because the XSSAuditor also decodes the URL escape sequences as part of its
55911        canonicalization, the double decoding of a JavaScript URL would
55912        not match the canonicalization of the input parameters.
55913
55914        Tests: http/tests/security/xssAuditor/iframe-javascript-url-url-encoded.html
55915               http/tests/security/xssAuditor/javascript-link-url-encoded.html
55916
55917        * bindings/js/ScriptController.cpp:
55918        (WebCore::ScriptController::evaluate): Moved call to 
55919        XSSAuditor::canEvaluateJavaScriptURL into FrameLoader::executeIfJavaScriptURL.
55920        * bindings/v8/ScriptController.cpp:
55921        (WebCore::ScriptController::evaluate): Ditto.
55922        * loader/FrameLoader.cpp:
55923        (WebCore::FrameLoader::executeIfJavaScriptURL): Modified to call 
55924        XSSAuditor::canEvaluateJavaScriptURL on the JavaScript URL before it is
55925        decoded.
55926
559272009-09-22  Dave Hyatt  <hyatt@apple.com>
55928
55929        Reviewed by John Sullivan.
55930
55931        https://bugs.webkit.org/show_bug.cgi?id=29657
55932        Columns don't break properly in positioned elements with a fixed height.  Make sure that
55933        a block is still considered to have columns even when the column count is 1 if the column
55934        width is non-auto.
55935    
55936        Added fast/multicol/positioned-with-constrained-height.html
55937
55938        * rendering/RenderBlock.cpp:
55939        (WebCore::RenderBlock::setDesiredColumnCountAndWidth):
55940
559412009-09-23  Holger Hans Peter Freyther  <zecke@selfish.org>
55942
55943        Rubber-stamped by Simon Hausmann.
55944
55945        Add a null check for the Document*. In the mirror benchmarking
55946        application a crash from a call from JavaScript was observed.
55947
55948        I was not able to come up with a test case for this issue.
55949
55950        * platform/qt/CookieJarQt.cpp:
55951        (WebCore::cookieJar):
55952
559532009-09-23  Simon Hausmann  <simon.hausmann@nokia.com>
55954
55955        Reviewed by Tor Arne Vestbø.
55956
55957        Fix the Qt/Windows build, after the introduction of
55958        the page client.
55959
55960        * plugins/win/PluginViewWin.cpp:
55961        (windowHandleForPageClient):
55962        (WebCore::PluginView::getValue):
55963        (WebCore::PluginView::forceRedraw):
55964        (WebCore::PluginView::platformStart):
55965
559662009-09-23  Gustavo Noronha Silva  <gns@gnome.org>
55967
55968        Reviewed by Xan Lopez.
55969
55970        [GTK] media tests failing after their rework
55971        https://bugs.webkit.org/show_bug.cgi?id=29532
55972
55973        Correctly advertise the mime types used by the common formats used
55974        in the tests.
55975
55976        Tests that regressed, and will pass again:
55977
55978           media/video-canvas-source.html
55979           media/video-controls.html
55980           media/video-currentTime-set2.html
55981           media/video-dom-autoplay.html
55982           media/video-dom-src.html
55983           media/video-error-abort.html
55984           media/video-load-networkState.html
55985           media/video-load-readyState.html
55986           media/video-muted.html
55987           media/video-no-autoplay.html
55988           media/video-pause-empty-events.html
55989           media/video-play-empty-events.html
55990           media/video-seekable.html
55991           media/video-seeking.html
55992           media/video-size.html
55993           media/video-source-type-params.html
55994           media/video-source-type.html
55995           media/video-source.html
55996           media/video-src-change.html
55997           media/video-src-invalid-remove.html
55998           media/video-src-remove.html
55999           media/video-src-set.html
56000           media/video-src-source.html
56001           media/video-src.html
56002           media/video-timeupdate-during-playback.html
56003           media/video-volume.html
56004
56005        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
56006        (WebCore::mimeTypeCache):
56007
560082009-09-22  Charles Wei  <charles.wei@torchmobile.com.cn>
56009
56010        Reviewed by Eric Seidel.
56011
56012        Fix the crash problem with absolte positioned children in foreignobject
56013        htts://bugs.webkit.org/show_bug.cgi?id=26342
56014
56015        Test: svg/custom/foreignobject-crash-with-absolute-positioned-children.svg
56016
56017        * rendering/RenderForeignObject.h:
56018        (WebCore::RenderForeignObject::isSVGForeignObject):
56019        * rendering/RenderObject.cpp:
56020        (WebCore::RenderObject::containingBlock):
56021        * rendering/RenderObject.h:
56022        (WebCore::RenderObject::isSVGForeignObject):
56023
560242009-09-22  Drew Wilson  <atwilson@google.com>
56025
56026        Reviewed by David Levin.
56027
56028        SharedWorkers "name" attribute is now optional.
56029        https://bugs.webkit.org/show_bug.cgi?id=28897
56030
56031        Test: fast/workers/shared-worker-name.html
56032
56033        * bindings/js/JSSharedWorkerConstructor.cpp:
56034        (WebCore::constructSharedWorker):
56035        Default 'name' attribute to empty string if it is not provided.
56036        * bindings/v8/custom/V8SharedWorkerCustom.cpp:
56037        (WebCore::CALLBACK_FUNC_DECL):
56038        Default 'name' attribute to empty string if it is not provided.
56039        * workers/DefaultSharedWorkerRepository.cpp:
56040        (WebCore::SharedWorkerProxy::matches):
56041        Now matches URLs if names are empty strings.
56042        (WebCore::DefaultSharedWorkerRepository::getProxy):
56043        Pass URL in to SharedWorkerProxy::matches().
56044
560452009-09-22  Dimitri Glazkov  <dglazkov@chromium.org>
56046
56047        Unreviewed, another build fix.
56048
56049        [Chromium] Add another missing include.
56050        https://bugs.webkit.org/show_bug.cgi?id=29536
56051
56052        * inspector/InspectorController.cpp: Added DOMWindow.h include.
56053
560542009-09-22  Dimitri Glazkov  <dglazkov@chromium.org>
56055
56056        Unreviewed, build fix.
56057
56058        [Chromium] Add missing include.
56059        https://bugs.webkit.org/show_bug.cgi?id=29536
56060
56061        * inspector/InspectorDOMStorageResource.cpp: Added DOMWindow.h include.
56062
560632009-09-22  Darin Adler  <darin@apple.com>
56064
56065        Reviewed by Sam Weinig.
56066
56067        Tighten up the ScheduledRedirection machinery to prepare for a bug fix
56068        https://bugs.webkit.org/show_bug.cgi?id=29663
56069
56070        * loader/FrameLoader.cpp:
56071        (WebCore::ScheduledRedirection::ScheduledRedirection): Added a boolean,
56072        initialized to false, to keep track if the redirection has been
56073        communicated to the client.
56074        (WebCore::FrameLoader::stopLoading): Tweaked a comment.
56075        (WebCore::FrameLoader::cancelRedirection): Removed code to clear
56076        m_scheduledRedirection.clear since stopRedirectionTimer does that now.
56077        (WebCore::FrameLoader::allChildrenAreComplete): Added.
56078        (WebCore::FrameLoader::checkCompleted): Use allChildrenAreComplete
56079        function for clarity.
56080        (WebCore::FrameLoader::checkCallImplicitClose): Ditto.
56081        (WebCore::FrameLoader::scheduleRedirection): Changed to take a PassOwnPtr.
56082        (WebCore::FrameLoader::startRedirectionTimer): Added code to set the
56083        toldClient flag and not call clientRedirected a second time if it is set.
56084        (WebCore::FrameLoader::stopRedirectionTimer): Changed so this can be safely
56085        called multiple times and it will call clientRedirectCancelledOrFinished
56086        only once.
56087
56088        * loader/FrameLoader.h: Changed scheduleRedirection to be a PassOwnPtr.
56089        Added allChildrenAreComplete function.
56090
560912009-09-22  Yury Semikhatsky  <yurys@chromium.org>
56092
56093        Reviewed by Timothy Hatcher.
56094
56095        WebInspector: Migrate Databases tab to InjectedScript /
56096        serialized interaction.
56097
56098        DOMStorage interaction is now serialized into JSON messages
56099        and doesn't require quarantined objects.
56100        
56101        https://bugs.webkit.org/show_bug.cgi?id=28873
56102
56103        * dom/EventListener.h:
56104        (WebCore::EventListener::):
56105        * inspector/InspectorBackend.cpp:
56106        (WebCore::InspectorBackend::selectDOMStorage):
56107        (WebCore::InspectorBackend::getDOMStorageEntries):
56108        (WebCore::InspectorBackend::setDOMStorageItem):
56109        (WebCore::InspectorBackend::removeDOMStorageItem):
56110        * inspector/InspectorBackend.h:
56111        * inspector/InspectorBackend.idl:
56112        * inspector/InspectorController.cpp:
56113        (WebCore::InspectorController::didCommitLoad):
56114        (WebCore::InspectorController::selectDOMStorage):
56115        (WebCore::InspectorController::getDOMStorageEntries):
56116        (WebCore::InspectorController::setDOMStorageItem):
56117        (WebCore::InspectorController::removeDOMStorageItem):
56118        (WebCore::InspectorController::getDOMStorageResourceForId):
56119        * inspector/InspectorController.h:
56120        * inspector/InspectorDOMStorageResource.cpp:
56121        (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
56122        (WebCore::InspectorDOMStorageResource::bind):
56123        (WebCore::InspectorDOMStorageResource::unbind):
56124        (WebCore::InspectorDOMStorageResource::startReportingChangesToFrontend):
56125        (WebCore::InspectorDOMStorageResource::handleEvent):
56126        (WebCore::InspectorDOMStorageResource::operator==):
56127        * inspector/InspectorDOMStorageResource.h:
56128        (WebCore::InspectorDOMStorageResource::cast):
56129        (WebCore::InspectorDOMStorageResource::id):
56130        (WebCore::InspectorDOMStorageResource::domStorage):
56131        * inspector/InspectorFrontend.cpp:
56132        (WebCore::InspectorFrontend::selectDOMStorage):
56133        (WebCore::InspectorFrontend::didGetDOMStorageEntries):
56134        (WebCore::InspectorFrontend::didSetDOMStorageItem):
56135        (WebCore::InspectorFrontend::didRemoveDOMStorageItem):
56136        (WebCore::InspectorFrontend::updateDOMStorage):
56137        * inspector/InspectorFrontend.h:
56138        * inspector/front-end/DOMStorage.js:
56139        (WebInspector.DOMStorage):
56140        (WebInspector.DOMStorage.prototype.get id):
56141        (WebInspector.DOMStorage.prototype.get domStorage):
56142        (WebInspector.DOMStorage.prototype.get isLocalStorage):
56143        (WebInspector.DOMStorage.prototype.getEntriesAsync):
56144        (WebInspector.DOMStorage.prototype.setItemAsync):
56145        (WebInspector.DOMStorage.prototype.removeItemAsync):
56146        * inspector/front-end/DOMStorageDataGrid.js:
56147        (WebInspector.DOMStorageDataGrid):
56148        (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode):
56149        (WebInspector.DOMStorageDataGrid.prototype._startEditing):
56150        (WebInspector.DOMStorageDataGrid.prototype._editingCommitted):
56151        (WebInspector.DOMStorageDataGrid.prototype._editingCancelled):
56152        (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow):
56153        * inspector/front-end/DOMStorageItemsView.js:
56154        (WebInspector.DOMStorageItemsView.prototype.update):
56155        (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
56156        (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
56157        * inspector/front-end/StoragePanel.js:
56158        (WebInspector.StoragePanel.prototype.show):
56159        (WebInspector.StoragePanel.prototype.reset):
56160        (WebInspector.StoragePanel.prototype.selectDOMStorage):
56161        (WebInspector.StoragePanel.prototype.updateDOMStorage):
56162        (WebInspector.StoragePanel.prototype._domStorageForId):
56163        * inspector/front-end/inspector.js:
56164        (WebInspector.addDOMStorage):
56165        (WebInspector.updateDOMStorage):
56166
561672009-09-22  Sam Weinig  <sam@webkit.org>
56168
56169        Reviewed by Alexey Proskuryakov.
56170
56171        Fix for XMLHttpRequest.abort() should destroy the response text.
56172        https://bugs.webkit.org/show_bug.cgi?id=29658
56173        <rdar://problem/5301430>
56174
56175        Clearing the response text after calling XMLHttpRequest.abort() is necessary
56176        per spec and matches Firefox. It is also a potential memory win.
56177
56178        Test: http/tests/xmlhttprequest/abort-should-destroy-responseText.html
56179
56180        * xml/XMLHttpRequest.cpp:
56181        (WebCore::XMLHttpRequest::abort): Clear the response text making sure to
56182        keep the actual ResourceReponse around so that the response status and response
56183        status text are kept around.
56184
561852009-09-22  Dimitri Glazkov  <dglazkov@chromium.org>
56186
56187        No review, rolling out r48639.
56188        http://trac.webkit.org/changeset/48639
56189
56190        * bindings/v8/V8GCController.cpp:
56191        (WebCore::ObjectGrouperVisitor::visitDOMWrapper):
56192
561932009-09-22  Dumitru Daniliuc  <dumi@chromium.org>
56194
56195        Reviewed by Dimitri Glazkov.
56196
56197        Changing the transaction coordinator to (re-)allow multiple read
56198        transactions on the same database to run concurrently (without
56199        risking a deadlock this time).
56200
56201        https://bugs.webkit.org/show_bug.cgi?id=29115
56202
56203        Tests: storage/read-and-write-transactions-dont-run-together.html
56204               storage/read-transactions-running-concurrently.html
56205
56206        * storage/SQLTransaction.h:
56207        (WebCore::SQLTransaction::isReadOnly): Returns the type of the
56208        transaction.
56209        * storage/SQLTransactionCoordinator.cpp:
56210        (WebCore::SQLTransactionCoordinator::acquireLock): Changed to
56211        allow multiple read transactions on the same DB to run
56212        concurrently.
56213        (WebCore::SQLTransactionCoordinator::releaseLock): Changed to
56214        allow multiple read transactions on the same DB to run
56215        concurrently.
56216        (WebCore::SQLTransactionCoordinator::shutdown): Renamed the map.
56217        * storage/SQLTransactionCoordinator.h:
56218
562192009-09-22  Peter Kasting  <pkasting@google.com>
56220
56221        Reviewed by David Levin.
56222
56223        https://bugs.webkit.org/show_bug.cgi?id=29652
56224        Support true system colors for CSS system colors in Chromium/Win.
56225
56226        * rendering/RenderThemeChromiumWin.cpp:
56227        (WebCore::cssValueIdToSysColorIndex):
56228        (WebCore::RenderThemeChromiumWin::systemColor):
56229        * rendering/RenderThemeChromiumWin.h:
56230
562312009-09-22  Beth Dakin  <bdakin@apple.com>
56232
56233        Reviewed by Dave Hyatt.
56234
56235        Fix for <rdar://problem/6925121> SAP: Wrong width calculation in 
56236        table with fixed layout
56237        -and corresponding-
56238        https://bugs.webkit.org/show_bug.cgi?id=29501
56239
56240        New Tests:
56241        * fast/table/fixed-table-with-percent-inside-percent-table.html: Added.
56242        * fast/table/fixed-table-with-percent-width-inside-auto-table.html: Added.
56243        * fast/table/fixed-table-with-percent-width-inside-div.html: Added.
56244        * fast/table/fixed-table-with-percent-width-inside-extra-large-div.html: Added.
56245        * fast/table/fixed-table-with-percent-width-inside-fixed-width-table.html: Added.
56246        * fast/table/fixed-table-with-small-percent-width.html: Added.
56247
56248        This new quirk is very similar to an existing one that was 
56249        implemented in revision 4316.
56250        * rendering/FixedTableLayout.cpp:
56251        (WebCore::FixedTableLayout::calcPrefWidths):
56252
562532009-09-22  Brian Weinstein  <bweinstein@apple.com>
56254
56255        Reviewed by Timothy Hatcher.
56256
56257        List HTTP status code with response headers in resources tab of Web Inspector.
56258        http://webkit.org/b/19945
56259
56260        This patch adds a new top level list in the resources tab, HTTP Information, that 
56261        for now, contains the Request Method (GET, POST, etc.) and the Status Code (200, 404, etc.).
56262        Additionally, it adds a colored dot next to the requested URL to show the status 
56263        (green for success, orange for redirect, red for error).
56264
56265        * English.lproj/localizedStrings.js:
56266        * inspector/front-end/ImageView.js:
56267        (WebInspector.ImageView):
56268        * inspector/front-end/Images/errorRedDot.png: Added.
56269        * inspector/front-end/Images/successGreenDot.png: Added.
56270        * inspector/front-end/Images/warningOrangeDot.png: Added.
56271        * inspector/front-end/Resource.js:
56272        (WebInspector.Resource.StatusTextForCode):
56273        * inspector/front-end/ResourceView.js:
56274        (WebInspector.ResourceView):
56275        (WebInspector.ResourceView.prototype._refreshURL):
56276        (WebInspector.ResourceView.prototype._refreshHTTPInformation):
56277        * inspector/front-end/inspector.css:
56278
562792009-09-22  Brady Eidson  <beidson@apple.com>
56280
56281        Reviewed by Darin Adler.
56282
56283        Back list isn't properly updated for fragment changes after a redirect.
56284        <rdar://problem/6142803> and https://bugs.webkit.org/show_bug.cgi?id=20355
56285
56286        Test: fast/loader/fragment-after-redirect-gets-back-entry.html
56287
56288        * loader/FrameLoader.cpp:
56289        (WebCore::FrameLoader::loadURL): Properly reset the policy FrameLoadType before
56290          consulting the policy delegate for fragment scrolling.
56291
562922009-09-22  Darin Fisher  <darin@chromium.org>
56293
56294        Reviewed by Dimitri Glazkov.
56295
56296        Drop down selects get stuck in the non-visible state and cannot be opened.
56297        https://bugs.webkit.org/show_bug.cgi?id=29645
56298
56299        All paths that lead to hiding the popup menu must call popupDidHide on
56300        the PopupMenuClient.  This change makes it so by moving all of the
56301        hiding logic to PopupListBox::hidePopup.
56302
56303        * platform/chromium/PopupMenuChromium.cpp:
56304        (WebCore::PopupContainer::hidePopup):
56305        (WebCore::PopupListBox::hidePopup):
56306        * platform/chromium/PopupMenuChromium.h:
56307
563082009-09-22  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
56309
56310        Reviewed by Timothy Hatcher.
56311
56312        WebInspector.log() function not protected if console not yet created
56313        https://bugs.webkit.org/show_bug.cgi?id=29336
56314        
56315        No new tests.  Only affects Web Inspector developers adding logging
56316        to their code during development.
56317
56318        * inspector/front-end/inspector.js:
56319        (WebInspector.log.isLogAvailable):
56320        (WebInspector.log.flushQueue):
56321        (WebInspector.log.flushQueueIfAvailable):
56322        (WebInspector.log.logMessage):
56323        (WebInspector.log):
56324
563252009-09-22  Yaar Schnitman  <yaar@chromium.org>
56326
56327        Reviewed by David Levin.
56328
56329        Ported chromium.org's webcore.gyp for the webkit chromium port.
56330
56331        https://bugs.webkit.org/show_bug.cgi?id=29617
56332
56333        * WebCore.gyp/WebCore.gyp: Added.
56334
563352009-09-22  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
56336
56337        Reviewed by Adam Barth.
56338
56339        [v8] Don't keep clean wrappers artificially alive        
56340        We currently keep all DOM node wrappers alive, even when there are
56341        no more references to them from JS, in case they have properties
56342        that we need to keep around if new JS references are created.
56343        This changes the policy to only keep wrappers artificially alive
56344        if they have changed since they were created. Empty wrappers are
56345        discarded and recreated as needed.
56346        https://bugs.webkit.org/show_bug.cgi?id=29330
56347
56348        * bindings/v8/V8GCController.cpp:
56349        (WebCore::ObjectGrouperVisitor::visitDOMWrapper):
56350
563512009-09-22  Pavel Feldman  <pfeldman@chromium.org>
56352
56353        Reviewed by Timothy Hatcher.
56354
56355        Web Inspector: console.count and console.timeEnd
56356        crash when inspector is opened.
56357
56358        https://bugs.webkit.org/show_bug.cgi?id=29632
56359
56360        * inspector/InspectorFrontend.cpp:
56361        (WebCore::InspectorFrontend::addMessageToConsole):
56362
563632009-09-22  Adam Barth  <abarth@webkit.org>
56364
56365        Unreviewed.
56366
56367        Fix bogus build fix I did last night.
56368
56369        * bindings/v8/custom/V8DOMWindowCustom.cpp:
56370        (WebCore::V8Custom::WindowSetTimeoutImpl):
56371
563722009-09-22  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
56373
56374        Reviewed by Simon Hausmann.
56375
56376        NPAPI/Mac: Don't paint plugins if we don't have a CGContextRef
56377
56378        * plugins/mac/PluginViewMac.cpp:
56379
563802009-09-22  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
56381
56382        Reivewed by Simon Hausmann.
56383
56384        Fix the Qt/Mac build after r48604 (Implement new QWebPageClient class)
56385
56386        There's no QWidget::x11Info() on Mac, and setPlatformPluginWidget()
56387        takes a QWidget*, not a QWebPageClient*
56388
56389        * plugins/mac/PluginViewMac.cpp:
56390        (WebCore::PluginView::platformStart):
56391
563922009-09-21  Adam Barth  <abarth@webkit.org>
56393
56394        Attempted fix for the V8 build.
56395
56396        * bindings/v8/custom/V8DOMWindowCustom.cpp:
56397        (WebCore::V8Custom::WindowSetTimeoutImpl):
56398
563992009-09-21  Adam Barth  <abarth@webkit.org>
56400
56401        Reviewed by Sam Weinig.
56402
56403        Don't re-enter JavaScript after performing access checks
56404        https://bugs.webkit.org/show_bug.cgi?id=29531
56405
56406        Moved the access check slightly later in this functions to avoid
56407        re-entering the JavaScript interpreter (typically via toString)
56408        after performing the access check.
56409
56410        I can't really think of a meaningful test for this change.  It's more
56411        security hygiene.
56412
56413        * bindings/js/JSDOMWindowCustom.cpp:
56414        (WebCore::JSDOMWindow::setLocation):
56415        (WebCore::JSDOMWindow::open):
56416        (WebCore::JSDOMWindow::showModalDialog):
56417        * bindings/js/JSLocationCustom.cpp:
56418        (WebCore::JSLocation::setHref):
56419        (WebCore::JSLocation::replace):
56420        (WebCore::JSLocation::assign):
56421        * bindings/v8/custom/V8DOMWindowCustom.cpp:
56422        (WebCore::V8Custom::WindowSetTimeoutImpl):
56423        (WebCore::if):
56424        (CALLBACK_FUNC_DECL):
56425        (V8Custom::WindowSetLocation):
56426        (V8Custom::ClearTimeoutImpl):
56427        * bindings/v8/custom/V8LocationCustom.cpp:
56428        (WebCore::ACCESSOR_SETTER):
56429        (WebCore::CALLBACK_FUNC_DECL):
56430
564312009-09-21  Dumitru Daniliuc  <dumi@chromium.org>
56432
56433        Reviewed by Eric Seidel.
56434
56435        Make all write transaction start with a BEGIN IMMEDIATE command
56436        instead of BEGIN.
56437
56438        We cannot test this change in a layout test, because in order to
56439        test it we need to spawn two database threads and execute
56440        transaction steps on these two threads in a very specific order,
56441        which seems impossible to do when they share the same main thread
56442        (as they would in a layout test). The SQLite docs and the case
56443        described in the bug though should be enough proof that we do have
56444        a problem here and that this patch will fix it.
56445
56446        Relevant SQLite documentation:
56447        http://www.sqlite.org/lang_transaction.html
56448        http://www.sqlite.org/lockingv3.html#locking
56449
56450        https://bugs.webkit.org/show_bug.cgi?id=29218
56451
56452        * platform/sql/SQLiteTransaction.cpp:
56453        (WebCore::SQLiteTransaction::SQLiteTransaction): Added a readOnly
56454        parameter.
56455        (WebCore::SQLiteTransaction::begin): Changed to BEGIN IMMEDIATE
56456        for write transactions.
56457        * platform/sql/SQLiteTransaction.h:
56458        * storage/SQLTransaction.cpp:
56459        (WebCore::SQLTransaction::openTransactionAndPreflight): Passing
56460        the read-only flag to the SQLiteTransaction instance.
56461
564622009-09-21  Brady Eidson  <beidson@apple.com>
56463
56464        Rubberstamped by Mark Rowe.
56465
56466        * DerivedSources.make: Fix the Xcode build on SnowLeopard.
56467
564682009-09-15  John Abd-El-Malek  <jam@chromium.org>
56469
56470        Reviewed by Darin Fisher.
56471
56472        Prevent sleeps in unload handlers.
56473        https://bugs.webkit.org/show_bug.cgi?id=29193
56474
56475        Test: fast/dom/Window/slow_unload_handler.html
56476
56477        * WebCore.gypi:
56478        * bindings/v8/DateExtension.cpp: Added.
56479        (WebCore::DateExtension::DateExtension):
56480        (WebCore::DateExtension::get):
56481        (WebCore::DateExtension::setAllowSleep):
56482        (WebCore::DateExtension::GetNativeFunction):
56483        (WebCore::DateExtension::weakCallback):
56484        (WebCore::DateExtension::GiveEnableSleepDetectionFunction):
56485        (WebCore::DateExtension::OnSleepDetected):
56486        * bindings/v8/DateExtension.h: Added.
56487        * bindings/v8/V8AbstractEventListener.cpp:
56488        (WebCore::V8AbstractEventListener::invokeEventHandler):
56489        * bindings/v8/V8Proxy.cpp:
56490        (WebCore::V8Proxy::createNewContext):
56491        (WebCore::V8Proxy::registerExtensionWithV8):
56492        (WebCore::V8Proxy::registeredExtensionWithV8):
56493        * bindings/v8/V8Proxy.h:
56494
564952009-09-21  Jian Li  <jianli@chromium.org>
56496
56497        Reviewed by David Levin.
56498
56499        [V8] Run-time exception in onmessage handler is not forwarded to the
56500        worker object.
56501        https://bugs.webkit.org/show_bug.cgi?id=28980
56502
56503        The previous fix was partially reverted due to a reliability build break
56504        in chromium. The break happens when an exception is thrown without
56505        setting a message. We need to check for this scenario and handle it.
56506
56507        Tested by worker-close.html.
56508
56509        * bindings/v8/V8AbstractEventListener.cpp:
56510        (WebCore::V8AbstractEventListener::invokeEventHandler):
56511        * bindings/v8/V8Utilities.cpp:
56512        (WebCore::reportException):
56513
565142009-09-21  Greg Bolsinga  <bolsinga@apple.com>
56515
56516        Reviewed by Simon Fraser & Sam Weinig.
56517
56518        Add ENABLE(ORIENTATION_EVENTS)
56519        https://bugs.webkit.org/show_bug.cgi?id=29508
56520        
56521        See documentation here:
56522        http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//apple_ref/doc/uid/TP40006511-SW16
56523
56524        * DerivedSources.make: Use new WebCore.OrientationEvents.exp file if ENABLE_ORIENTATION_EVENTS.
56525        Add ENABLE_ORIENTATION_EVENTS to the new ADDITIONAL_IDL_DEFINES variable that is passed to the IDL
56526        code generator. This is because ENABLE_ORIENTATION_EVENTS is not in FEATURE_DEFINES.
56527        * WebCore.OrientationEvents.exp: Added.
56528        * WebCore.xcodeproj/project.pbxproj: Add WebCore.OrientationEvents.exp.
56529        * dom/EventNames.h: Add onorientationchange.
56530        * html/HTMLAttributeNames.in: Ditto.
56531        * html/HTMLBodyElement.cpp: Handle onorientationchange properly.
56532        (WebCore::HTMLBodyElement::parseMappedAttribute):
56533        (WebCore::HTMLBodyElement::onorientationchange):
56534        (WebCore::HTMLBodyElement::setOnorientationchange):
56535        * html/HTMLBodyElement.h: Ditto.
56536        * html/HTMLBodyElement.idl: Ditto.
56537        * html/HTMLFrameSetElement.cpp: Ditto.
56538        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
56539        (WebCore::HTMLFrameSetElement::onorientationchange):
56540        (WebCore::HTMLFrameSetElement::setOnorientationchange):
56541        * html/HTMLFrameSetElement.h: Ditto.
56542        * html/HTMLFrameSetElement.idl: Ditto.
56543        * page/DOMWindow.cpp: Ditto.
56544        (WebCore::DOMWindow::orientation): Calls up the to the Frame for the orientation value.
56545        (WebCore::DOMWindow::onorientationchange):
56546        (WebCore::DOMWindow::setOnorientationchange):
56547        * page/DOMWindow.h: Handle onorientationchange properly.
56548        * page/DOMWindow.idl: Ditto.
56549        * page/Frame.cpp: Ditto.
56550        (WebCore::Frame::Frame):
56551        (WebCore::Frame::sendOrientationChangeEvent):
56552        * page/Frame.h: Ditto.
56553        (WebCore::Frame::orientation):
56554
565552009-09-18  Anders Carlsson  <andersca@apple.com>
56556
56557        Try fixing the build again.
56558        
56559        * platform/win/PopupMenuWin.cpp:
56560        (WebCore::PopupMenu::wndProc):
56561
565622009-09-21  Pavel Feldman  <pfeldman@chromium.org>
56563
56564        Reviewed by Timothy Hatcher.
56565
56566        Web Inspector: completions are always evaluated against
56567        window (discarding call frames).
56568
56569        https://bugs.webkit.org/show_bug.cgi?id=29616
56570
56571        * inspector/front-end/ConsoleView.js:
56572        (WebInspector.ConsoleView.prototype.completions):
56573        * inspector/front-end/InjectedScript.js:
56574        (InjectedScript.getCompletions):
56575        * inspector/front-end/ScriptsPanel.js:
56576        (WebInspector.ScriptsPanel.prototype.selectedCallFrameId):
56577
565782009-09-21  Brent Fulgham  <bfulgham@webkit.org>
56579
56580        Unreviewed build fix for Windows (Cairo) target.
56581
56582        Add stubs for SocketStream classes added in @r47788, which
56583        broke the WinCairo build.
56584
56585        No new tests. (Build failure).
56586
56587        * WebCore.vcproj/WebCore.vcproj:  Add references to new files
56588          to Cairo build, exclude from standard Apple build.
56589        * platform/network/curl/SocketStreamError.h: Added.
56590        * platform/network/curl/SocketStreamHandle.h: Added.
56591        * platform/network/curl/SocketStreamHandleCurl.cpp: Added.
56592
565932009-09-21  Pavel Feldman  <pfeldman@chromium.org>
56594
56595        Reviewed by Timothy Hatcher.
56596
56597        Web Inspector: Expose InspectorResource fields.
56598
56599        https://bugs.webkit.org/show_bug.cgi?id=29537
56600
56601        * inspector/InspectorResource.cpp:
56602        (WebCore::InspectorResource::sourceString):
56603        (WebCore::InspectorResource::resourceData):
56604        * inspector/InspectorResource.h:
56605        (WebCore::InspectorResource::requestHeaderFields):
56606        (WebCore::InspectorResource::responseHeaderFields):
56607        (WebCore::InspectorResource::responseStatusCode):
56608        (WebCore::InspectorResource::requestMethod):
56609        (WebCore::InspectorResource::requestFormData):
56610
566112009-09-21  Pavel Feldman  <pfeldman@chromium.org>
56612
56613        Reviewed by Timothy Hatcher.
56614
56615        Web Inspector: JS error drilling down childless node.
56616        No need to dispatch double click twice - it is already handled
56617        in TreeElement.treeElementDoubleClicked.
56618
56619        https://bugs.webkit.org/show_bug.cgi?id=22144
56620
56621        * inspector/front-end/ElementsTreeOutline.js:
56622        (WebInspector.ElementsTreeOutline):
56623
566242009-09-21  Kenneth Rohde Christiansen  <kenneth@webkit.org>
56625
56626        Reviewed by Simon Hausmann.
56627
56628        Implement new QWebPageClient class and let our classes
56629        QWebViewPrivate and QWebGraphicsItemPrivate inherit from it.
56630
56631        For Qt, platformPageClient() will now return a class derived from
56632        the QWebPageClient, so the patch adapts our Qt hooks to go though
56633        this class and not depend on the QWebView.
56634
56635        * WebCore.pro:
56636        * platform/Widget.h:
56637        * platform/qt/PlatformScreenQt.cpp:
56638        (WebCore::screenDepth):
56639        (WebCore::screenDepthPerComponent):
56640        (WebCore::screenIsMonochrome):
56641        (WebCore::screenRect):
56642        (WebCore::screenAvailableRect):
56643        * platform/qt/PopupMenuQt.cpp:
56644        (WebCore::PopupMenu::show):
56645        * platform/qt/QWebPageClient.h: Added.
56646        * platform/qt/WidgetQt.cpp:
56647        (WebCore::Widget::setCursor):
56648        * plugins/qt/PluginViewQt.cpp:
56649        (WebCore::PluginView::handleKeyboardEvent):
56650        (WebCore::PluginView::getValue):
56651        (WebCore::PluginView::platformStart):
56652
566532009-09-21  Pavel Feldman  <pfeldman@chromium.org>
56654
56655        Reviewed by Timothy Hatcher.
56656
56657        Web Inspector: Evaluating on call frame always returns "undefined".
56658
56659        https://bugs.webkit.org/show_bug.cgi?id=29613
56660
56661        * inspector/front-end/InjectedScript.js:
56662        (InjectedScript.evaluate):
56663        (InjectedScript._evaluateAndWrap):
56664        (InjectedScript._evaluateOn):
56665        (InjectedScript.evaluateInCallFrame):
56666
566672009-09-21  Pavel Feldman  <pfeldman@chromium.org>
56668
56669        Reviewed by Timothy Hatcher.
56670
56671        Web Inspector: Exception formatting is broken in console.
56672
56673        https://bugs.webkit.org/show_bug.cgi?id=29608
56674
56675        * inspector/front-end/ConsoleView.js:
56676        (WebInspector.ConsoleCommandResult):
56677        * inspector/front-end/InjectedScript.js:
56678        (InjectedScript.evaluate):
56679        (InjectedScript.createProxyObject):
56680
566812009-09-21  Pavel Feldman  <pfeldman@chromium.org>
56682
56683        Reviewed by Timothy Hatcher.
56684
56685        Web Inspector: Console object formatting is broken.
56686
56687        https://bugs.webkit.org/show_bug.cgi?id=29607
56688
56689        * inspector/front-end/ConsoleView.js:
56690        (WebInspector.ConsoleMessage.prototype._format):
56691        * inspector/front-end/ObjectProxy.js:
56692        (WebInspector.ObjectProxy.wrapPrimitiveValue):
56693
566942009-09-21  Pavel Feldman  <pfeldman@chromium.org>
56695
56696        Reviewed by Timothy Hatcher.
56697
56698        Web Inspector: Crash When Logging an Element Before Opening Inspector
56699
56700        https://bugs.webkit.org/show_bug.cgi?id=29514
56701
56702        * inspector/InspectorController.cpp:
56703        (WebCore::InspectorController::populateScriptObjects):
56704
567052009-09-21  Simon Fraser  <simon.fraser@apple.com>
56706
56707        Reviewed by Dan Bernstein.
56708
56709        Incorrect clipping with accelerated compositing content, and position:fixed
56710        https://bugs.webkit.org/show_bug.cgi?id=29347
56711        
56712        Fix the compositing clipping logic to behave correctly when position:fixed
56713        elements clip, by using the new backgroundClipRect() method to determine
56714        when we need to clip, and to compute the clipping layer position.
56715
56716        Test: compositing/overflow/fixed-position-ancestor-clip.html
56717
56718        * rendering/RenderLayerBacking.cpp:
56719        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
56720        * rendering/RenderLayerCompositor.cpp:
56721        (WebCore::RenderLayerCompositor::clippedByAncestor):
56722
567232009-09-21  Nate Chapin  <japhet@chromium.org>
56724
56725        Reviewed by Adam Barth.
56726
56727        Add back in a special case for window.top in the V8 bindings.
56728
56729        https://bugs.webkit.org/show_bug.cgi?id=29605
56730
56731        Fixes LayoutTests/fast/dom/Window/window-property-shadowing.html in the Chromium port.
56732
56733        * bindings/scripts/CodeGeneratorV8.pm: Ensure window.top is not marked as read only, as this breaks the shadowing disabling.
56734
567352009-09-21  Eric Carlson  <eric.carlson@apple.com>
56736
56737        Reviewed by Brady Eidson.
56738
56739        HTMLMediaElement: media file should not reload when page comes out of page cache
56740        https://bugs.webkit.org/show_bug.cgi?id=29604
56741
56742        Test: media/restore-from-page-cache.html
56743
56744        * html/HTMLMediaElement.cpp:
56745        (WebCore::HTMLMediaElement::userCancelledLoad): Do nothing unless the element
56746        is still loading. Only fire an 'emptied' event if the readyState is HAVE_NOTHING,
56747        otherwise set the network state to NETWORK_IDLE.
56748
567492009-09-21  Sam Weinig  <sam@webkit.org>
56750
56751        Reviewed by Geoffrey "Sean/Shawn/Shaun" Garen.
56752
56753        Clarify two FIXMEs.
56754
56755        * bindings/js/JSHTMLCollectionCustom.cpp:
56756        (WebCore::getNamedItems):
56757        * bindings/js/JSHTMLFormElementCustom.cpp:
56758        (WebCore::JSHTMLFormElement::nameGetter):
56759
567602009-09-21  Darin Fisher  <darin@chromium.org>
56761
56762        Reviewed by Dimitri Glazkov.
56763
56764        Drop down selects fail to close when a value is selected
56765        https://bugs.webkit.org/show_bug.cgi?id=29582
56766
56767        Implement PopupListBox::hidePopup, which was previously
56768        declared but unimplemented.  Removes the declaration of
56769        showPopup since that method is not implemented.
56770
56771        PopupListBox::hidePopup takes care of hiding the popup,
56772        by invoking hidePopup on its parent PopupContainer, and
56773        then informs the PopupMenuClient that popupDidHide.
56774        This mimics the old behavior prior to r48370.
56775
56776        * platform/chromium/PopupMenuChromium.cpp:
56777        (WebCore::PopupListBox::handleKeyEvent):
56778        (WebCore::PopupListBox::abandon):
56779        (WebCore::PopupListBox::acceptIndex):
56780        (WebCore::PopupListBox::hidePopup):
56781
567822009-09-21  Csaba Osztrogonac  <oszi@inf.u-szeged.hu>
56783
56784        Rubber-stamped by Simon Hausmann.
56785
56786        [Qt] Windows build fix.
56787        https://bugs.webkit.org/show_bug.cgi?id=29535
56788
56789        * platform/network/qt/DnsPrefetchHelper.cpp: Missing #include "config.h"  added.
56790
567912009-09-21  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
56792
56793        Unreviewed make dist build fix. Missing files.
56794
56795        * GNUmakefile.am:
56796
567972009-09-20  Adam Barth  <abarth@webkit.org>
56798
56799        Reviewed by Maciej Stachowiak.
56800
56801        Crash when clicking link in unload handler
56802        https://bugs.webkit.org/show_bug.cgi?id=29525
56803
56804        Test that the first navigation always wins when the page tries to start
56805        a new navigation in an unload handler.
56806
56807        Tests: fast/loader/unload-form-about-blank.html
56808               fast/loader/unload-form-post-about-blank.html
56809               fast/loader/unload-form-post.html
56810               fast/loader/unload-form.html
56811               fast/loader/unload-hyperlink.html
56812               fast/loader/unload-javascript-url.html
56813               fast/loader/unload-reload.html
56814               fast/loader/unload-window-location.html
56815
56816        * loader/FrameLoader.cpp:
56817        (WebCore::FrameLoader::loadURL):
56818        (WebCore::FrameLoader::loadWithDocumentLoader):
56819
568202009-09-18  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
56821
56822        Reviewed by Xan Lopez.
56823
56824        [GTK] Sometimes crashes when a page is destroyed/loads another URL while playing video
56825        https://bugs.webkit.org/show_bug.cgi?id=29496
56826
56827        Protect the video sink object, and destroy it in an idle callback
56828        to hopefully avoid a race condition that leads to a crash.
56829
56830        This is already tested by media/video-seekable.html
56831
56832        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
56833        (WebCore::idleUnref):
56834        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
56835        (WebCore::MediaPlayerPrivate::createGSTPlayBin):
56836
568372009-09-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
56838
56839        Unreviewed build fix for GTKand a blind one for Qt after r48566.
56840
56841        * GNUmakefile.am:
56842        * WebCore.pro:
56843
568442009-09-19  Sam Weinig  <sam@webkit.org>
56845
56846        Reviewed by Oliver Hunt.
56847
56848        Fix for https://bugs.webkit.org/show_bug.cgi?id=29519
56849        Remove JSNameNodeCollection and just use StaticNodeList
56850
56851        * WebCore.vcproj/WebCore.vcproj:
56852        * WebCore.xcodeproj/project.pbxproj:
56853        * WebCoreSources.bkl:
56854        * bindings/js/JSHTMLCollectionCustom.cpp:
56855        (WebCore::getNamedItems):
56856        * bindings/js/JSHTMLFormElementCustom.cpp:
56857        (WebCore::JSHTMLFormElement::nameGetter):
56858        * bindings/js/JSNamedNodesCollection.cpp: Removed.
56859        * bindings/js/JSNamedNodesCollection.h: Removed.
56860
568612009-09-19  Daniel Bates  <dbates@webkit.org>
56862
56863        Reviewed by Adam Barth.
56864
56865        https://bugs.webkit.org/show_bug.cgi?id=29511
56866        
56867        Fixes an issue where script code that contains non-ASCII characters may bypass the 
56868        XSSAuditor.
56869        
56870        Before performing a comparison between the script source code and input parameters, we
56871        remove all non-ASCII characters, including non-printable ASCII characters from the
56872        script source code and input parameters.
56873
56874        Tests: http/tests/security/xssAuditor/img-onerror-non-ASCII-char.html
56875               http/tests/security/xssAuditor/img-onerror-non-ASCII-char-default-encoding.html
56876               http/tests/security/xssAuditor/img-onerror-non-ASCII-char2-default-encoding.html
56877               http/tests/security/xssAuditor/img-onerror-non-ASCII-char2.html
56878
56879        * page/XSSAuditor.cpp:
56880        (WebCore::isNonCanonicalCharacter): Modified to remove all non-ASCII characters,
56881        including non-printable ASCII characters.
56882
568832009-09-19  Simon Fraser  <simon.fraser@apple.com>
56884
56885        Reviewed by Dan Bernstein.
56886
56887        Incorrect animation with scale(0) transform (singular matrix)
56888        https://bugs.webkit.org/show_bug.cgi?id=29465
56889        
56890        Make accelerated scale() and translate() animations go through the component animation
56891        path (rather than just matrix animation) to avoid problems with singular scale matrices,
56892        and be slightly more efficient.
56893
56894        Test: compositing/transitions/singular-scale-transition.html
56895
56896        * platform/graphics/mac/GraphicsLayerCA.mm:
56897        (WebCore::getTransformFunctionValue):
56898        (WebCore::getValueFunctionNameForTransformOperation):
56899
569002009-09-19  Alex Milowski  <alex@milowski.com>
56901
56902        Reviewed by Maciej Stachowiak.
56903
56904        Adds CSS styling and basic DOM element support for MathML
56905
56906        * DerivedSources.make:
56907          Added user stylesheet and tag factory generation
56908
56909        * WebCore.xcodeproj/project.pbxproj:
56910          Added new DOM element code
56911
56912        * css/CSSParser.cpp:
56913        (WebCore::CSSParser::parseAttr):
56914          Added check for document since stylesheet can be added before there is a document
56915
56916        * css/CSSStyleSelector.cpp:
56917        (WebCore::CSSStyleSelector::styleForElement):
56918          Added check to add MathML user agent stylesheet
56919
56920        * css/mathml.css: Added.
56921          MathML user agent stylesheet
56922
56923        * dom/Document.cpp:
56924        (WebCore::Document::createElement):
56925          Added support for creation of MathML DOM objects
56926
56927        * dom/Node.h:
56928        (WebCore::Node::isMathMLElement):
56929          Added check method for whether the node is a MathML node
56930
56931        * mathml: Added.
56932        * mathml/MathMLElement.cpp: Added.
56933        (WebCore::MathMLElement::MathMLElement):
56934        (WebCore::MathMLElement::create):
56935        (WebCore::MathMLElement::createRenderer):
56936        * mathml/MathMLElement.h: Added.
56937        (WebCore::MathMLElement::isMathMLElement):
56938          MathML DOM base class
56939
56940
56941        * mathml/MathMLInlineContainerElement.cpp: Added.
56942        (WebCore::MathMLInlineContainerElement::MathMLInlineContainerElement):
56943        (WebCore::MathMLInlineContainerElement::create):
56944        (WebCore::MathMLInlineContainerElement::createRenderer):
56945        * mathml/MathMLInlineContainerElement.h: Added.
56946          Base class for non-text containers
56947
56948        * mathml/MathMLMathElement.cpp: Added.
56949        (WebCore::MathMLMathElement::MathMLMathElement):
56950        (WebCore::MathMLMathElement::create):
56951        * mathml/MathMLMathElement.h: Added.
56952          Root Math element
56953
56954        * mathml/mathtags.in: Added.
56955          Element list mappings
56956
56957        * page/Frame.cpp:
56958        (WebCore::Frame::Frame):
56959          Added MathML name initialization
569602009-09-19  Adam Barth  <abarth@webkit.org>
56961
56962        Reviewed by Oliver Hunt.
56963
56964        Canvas drawn with data URL image raises SECURITY_ERR when toDataUrl() called.
56965        https://bugs.webkit.org/show_bug.cgi?id=29305
56966
56967        We need to special-case data URLs when tainting a canvas because we
56968        treat data URLs has having no security origin, unlike other
56969        browsers.  The reason we do this is to help sites avoid XSS via data
56970        URLs, but that consideration doesn't apply to canvas taint.
56971
56972        Also, we were previously incorrectly taking document.domain state
56973        into account when tainting canvas.
56974
56975        Tests: http/tests/security/canvas-remote-read-data-url-image.html
56976               http/tests/security/canvas-remote-read-data-url-svg-image.html
56977               http/tests/security/canvas-remote-read-remote-image-document-domain.html
56978
56979        * html/canvas/CanvasRenderingContext2D.cpp:
56980        (WebCore::CanvasRenderingContext2D::checkOrigin):
56981        (WebCore::CanvasRenderingContext2D::createPattern):
56982        * page/SecurityOrigin.cpp:
56983        (WebCore::SecurityOrigin::taintsCanvas):
56984        * page/SecurityOrigin.h:
56985
569862009-09-18  Simon Fraser  <simon.fraser@apple.com>
56987
56988        Fix stylistic issue raised in code review for previous commit.
56989
56990        * rendering/RenderLayerBacking.cpp:
56991        (WebCore::hasNonZeroTransformOrigin):
56992
569932009-09-18  Simon Fraser  <simon.fraser@apple.com>
56994
56995        Reviewed by Dan Bernstein.
56996
56997        Element is misplaced during opacity transition with certain configuration of transform-origin and clipping
56998        https://bugs.webkit.org/show_bug.cgi?id=29495
56999        
57000        If an element has zero size, but has a transform origin with absolute values,
57001        then the transform origin would not be applied because it is implemented via
57002        anchorPoint, which is expressed as a fraction of the layer size.
57003        
57004        Work around this by artificially inflating the size of the backing store when we need to.
57005
57006        Test: compositing/geometry/transfrom-origin-on-zero-size-layer.html
57007
57008        * rendering/RenderLayerBacking.h:
57009        * rendering/RenderLayerBacking.cpp:
57010        (WebCore::RenderLayerBacking::RenderLayerBacking):
57011        Init m_artificiallyInflatedBounds to false.
57012        
57013        (WebCore::hasNonZeroTransformOrigin):
57014        Utility function that describes whether the transform-origin contains non-percentage
57015        x or y offsets.
57016        
57017        (WebCore::RenderLayerBacking::updateCompositedBounds):
57018        New wrapper method around setCompositedBounds() that applies the size inflation
57019        when necessary, setting the m_artificiallyInflatedBounds as appropriate.
57020        
57021        (WebCore::RenderLayerBacking::updateAfterLayout): Call updateCompositedBounds().
57022        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Ditto
57023        
57024        * rendering/RenderLayerCompositor.cpp:
57025        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): Ditto
57026        (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry): Ditto
57027
570282009-09-18  Antti Koivisto  <antti@apple.com>
57029
57030        Reviewed by Maciej Stachowiak.
57031
57032        https://bugs.webkit.org/show_bug.cgi?id=29512
57033        Don't recalculate style when restoring from the page cache
57034
57035        FrameLoaderClient::forceLayout() also forces style recalc. Instead call FrameView::forceLayout() 
57036        directly to update the scrollbars while keeping the existing style.
57037        
57038        Makes back/forward really fast on complex pages (in cases where page cache works).
57039
57040        * loader/FrameLoader.cpp:
57041        (WebCore::FrameLoader::commitProvisionalLoad):
57042
570432009-09-18  Oliver Hunt  <oliver@apple.com>
57044
57045        Reviewed by Geoff Garen.
57046
57047        Implement ES5 Object.defineProperty function
57048        https://bugs.webkit.org/show_bug.cgi?id=29503
57049
57050        Override defineOwnProperty on JSDOMWindowShell to forward appropriately,
57051        and then override defineOwnProperty on JSDOMWindow to disallow cross origin
57052        defineOwnProperty usage.  We also override defineOwnProperty on QuarantinedObjectWrapper
57053        to ensure correct wrapping semantics of quarantined objects.
57054
57055        One major caveat in this patch is that it currently disallows the use
57056        of Object.defineProperty on DOMObjects other than the window due to
57057        the significant work involved in correctly propagating attributes and
57058        ensuring correct semantics on dom objects.
57059
57060        Tests: fast/js/Object-defineProperty.html
57061               http/tests/security/xss-DENIED-defineProperty.html
57062
57063        * bindings/js/JSDOMBinding.cpp:
57064        (WebCore::DOMObject::defineOwnProperty):
57065        * bindings/js/JSDOMBinding.h:
57066        * bindings/js/JSDOMWindowCustom.cpp:
57067        (WebCore::JSDOMWindow::defineGetter):
57068        (WebCore::JSDOMWindow::defineSetter):
57069        (WebCore::JSDOMWindow::defineOwnProperty):
57070        * bindings/js/JSDOMWindowShell.cpp:
57071        (WebCore::JSDOMWindowShell::defineOwnProperty):
57072        (WebCore::JSDOMWindowShell::defineGetter):
57073        (WebCore::JSDOMWindowShell::defineSetter):
57074        * bindings/js/JSDOMWindowShell.h:
57075        * bindings/js/JSLocationCustom.cpp:
57076        (WebCore::JSLocation::defineGetter):
57077        (WebCore::JSLocationPrototype::defineGetter):
57078        * bindings/js/JSQuarantinedObjectWrapper.cpp:
57079        (WebCore::JSQuarantinedObjectWrapper::getOwnPropertyDescriptor):
57080        (WebCore::JSQuarantinedObjectWrapper::defineOwnProperty):
57081        * bindings/js/JSQuarantinedObjectWrapper.h:
57082        * bindings/scripts/CodeGeneratorJS.pm:
57083
570842009-09-18  Alexey Proskuryakov  <ap@apple.com>
57085
57086        Reviewed by Darin Adler.
57087
57088        https://bugs.webkit.org/show_bug.cgi?id=29510
57089        Active DOM objects should be suspended while a modal dialog is displayed
57090
57091        * manual-tests/js-timers-beneath-modal-dialog.html: Added a test for JS timers.
57092
57093        * page/PageGroupLoadDeferrer.cpp:
57094        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
57095        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
57096        Match other platforms, and make Mac also suspend active DOM objects. Since a page that
57097        currently displays a modal dialog cannot go into page cache, there is no danger of suspending
57098        an object twice.        
57099
571002009-09-18  Csaba Osztrogonac  <oszi@inf.u-szeged.hu>
57101
57102        Reviewed by Eric Seidel.
57103
57104        [Qt] Buildfix caused by http://trac.webkit.org/changeset/48513
57105        https://bugs.webkit.org/show_bug.cgi?id=29351
57106
57107        * bridge/qt/qt_instance.h: createRuntimeObject method renamed to newRuntimeObject.
57108        * bridge/runtime.h: Visibility of newRuntimeObject method modified to protected.
57109
571102009-09-18  Yury Semikhatsky  <yurys@chromium.org>
57111
57112        Reviewed by Timothy Hatcher.
57113
57114        Fix parameter substitutions in console.log().
57115
57116        https://bugs.webkit.org/show_bug.cgi?id=29366
57117
57118        * inspector/front-end/ConsoleView.js:
57119        (WebInspector.ConsoleMessage.prototype._format):
57120        * inspector/front-end/InjectedScript.js:
57121        (InjectedScript.getPrototypes):
57122        (InjectedScript.CallFrameProxy.prototype._wrapScopeChain):
57123        * inspector/front-end/utilities.js:
57124        ():
57125
571262009-09-18  Sam Weinig  <sam@webkit.org>
57127
57128        Reviewed by Geoffrey Garen and Brady Eidson.
57129
57130        Temporarily remove an assertion that was getting hit when going
57131        back to a page in the page cache while a banner in Safari was visible.
57132        We should re-enable this once that is fixed. See <rdar://problem/7218118>
57133
57134        * page/FrameView.cpp:
57135        (WebCore::FrameView::scheduleRelayout):
57136
571372009-09-18  Anders Carlsson  <andersca@apple.com>
57138
57139        Try fixing the build again.
57140        
57141        * platform/win/PopupMenuWin.cpp:
57142        (WebCore::PopupMenu::wndProc):
57143
571442009-09-18  Anders Carlsson  <andersca@apple.com>
57145
57146        Fix windows build.
57147        
57148        * platform/win/PopupMenuWin.cpp:
57149
571502009-09-18  Sam Weinig  <sam@webkit.org>
57151
57152        Reviewed by Gavin 'BearClaw' Barraclough.
57153
57154        Convert another callback type object to store the global object
57155        instead of the frame.
57156
57157        * bindings/js/JSCustomXPathNSResolver.cpp:
57158        (WebCore::JSCustomXPathNSResolver::create):
57159        (WebCore::JSCustomXPathNSResolver::JSCustomXPathNSResolver):
57160        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
57161        * bindings/js/JSCustomXPathNSResolver.h:
57162
571632009-09-18  Anders Carlsson  <andersca@apple.com>
57164
57165        Reviewed by Sam Weinig.
57166
57167        https://bugs.webkit.org/show_bug.cgi?id=29332
57168        <rdar://problem/7231652> 
57169        REGRESSION (r48446): While a <select> popup menu is open, the
57170        rest of the WebView doesn't respond to mouse move events.
57171
57172        * platform/win/PopupMenuWin.cpp:
57173        (WebCore::translatePoint):
57174        New helper function that translates a point between HWND coordinates.
57175        
57176        (WebCore::PopupMenu::show):
57177        Protect the PopupMenu if someone removes the <select> in response to a mouse
57178        event. Handle WM_HOST_WINDOW_MOUSEMOVE events.
57179        
57180        (WebCore::PopupMenu::wndProc):
57181        in the WM_MOUSEMOVE handler, if the mouse is not over the popup, post a 
57182        WM_HOST_WINDOW_MOUSEMOVE event so that the host window (the WebView) gets the
57183        mouse move event.
57184
571852009-09-18  Simon Fraser  <simon.fraser@apple.com>
57186
57187        Reviewed by Dave Hyatt.
57188
57189        Compositing layers are incorrectly positioned after scrolling with position:fixed
57190        https://bugs.webkit.org/show_bug.cgi?id=29262
57191        
57192        When scrolling a page with compositing layers inside a position:fixed element,
57193        we need to update the compositing layer positions when the scroll position changes.
57194
57195        Test: compositing/geometry/fixed-position.html
57196
57197        * WebCore.base.exp:
57198        Export FrameView::scrollPositionChanged()
57199        
57200        * page/FrameView.h:
57201        * page/FrameView.cpp:
57202        (WebCore::FrameView::scrollPositionChanged):
57203        New method that sends the scroll event, and updates compositing layers positions if necessary.
57204
572052009-09-18  Simon Fraser  <simon.fraser@apple.com>
57206
57207        Reviewed by Dave Hyatt.
57208
57209        Transformed elements inside position:fixed container are clipped incorrectly
57210        https://bugs.webkit.org/show_bug.cgi?id=29346
57211        
57212        Fix clipping and hit testing on transformed elements inside a position:fixed element.
57213        Previously, the code used the overflowClipRect of the parent clip rects, but
57214        this is not correct for fixed postion elements. Instead, share code that is
57215        already present in calculateRects() to get the correct rect.
57216
57217        Test: fast/overflow/position-fixed-transform-clipping.html
57218
57219        * rendering/RenderLayer.h:
57220        * rendering/RenderLayer.cpp:
57221        (WebCore::RenderLayer::paintLayer):
57222        (WebCore::RenderLayer::hitTestLayer):
57223        Call the new backgroundClipRect() to get the correct clipRect.
57224        
57225        (WebCore::RenderLayer::backgroundClipRect):
57226        New method, factored out of calculateRects(), that computes the clip rect,
57227        doing the right thing for fixed position elements.
57228        
57229        (WebCore::RenderLayer::calculateRects):
57230        Call the new backgroundClipRect() method.
57231        
572322009-09-18  Dan Bernstein  <mitz@apple.com>
57233
57234        Reviewed by Darin Adler.
57235
57236        Fix <rdar://problem/7050773> REGRESSION (r40098) Crash at
57237        WebCore::RenderBlock::layoutBlock()
57238        https://bugs.webkit.org/show_bug.cgi?id=29498
57239
57240        Test: accessibility/nested-layout-crash.html
57241
57242        * accessibility/AccessibilityRenderObject.cpp:
57243        (WebCore::AccessibilityRenderObject::updateBackingStore): Changed to
57244            call Document::updateLayoutIgnorePendingStylesheets() instead of
57245            calling RenderObject::layoutIfNeeded(). The latter requires that
57246            there be no pending style recalc, which allows methods that call
57247            Document::updateLayout() to be called during layout without risking
57248            re-entry into layout.
57249        * accessibility/mac/AccessibilityObjectWrapper.mm:
57250        (-[AccessibilityObjectWrapper accessibilityActionNames]): Null-check
57251            m_object after calling updateBackingStore(), since style recalc may
57252            destroy the renderer, which destroys the accessibility object and
57253            detaches it from the wrapper.
57254        (-[AccessibilityObjectWrapper accessibilityAttributeNames]): Ditto.
57255        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): Ditto.
57256        (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]): Ditto.
57257        (-[AccessibilityObjectWrapper accessibilityHitTest:]): Ditto.
57258        (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
57259            Ditto.
57260        (-[AccessibilityObjectWrapper accessibilityIsIgnored]): Ditto.
57261        (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
57262             Ditto.
57263        (-[AccessibilityObjectWrapper accessibilityPerformPressAction]): Ditto.
57264        (-[AccessibilityObjectWrapper accessibilityPerformIncrementAction]):
57265            Ditto.
57266        (-[AccessibilityObjectWrapper accessibilityPerformDecrementAction]):
57267            Ditto.
57268        (-[AccessibilityObjectWrapper accessibilityPerformAction:]): Ditto.
57269        (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
57270            Ditto.
57271        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
57272            Ditto.
57273        (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]): Ditto.
57274        (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
57275            Ditto.
57276        (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]):
57277            Ditto.
57278
572792009-09-18  Fumitoshi Ukai  <ukai@chromium.org>
57280
57281        Reviewed by Simon Hausmann.
57282
57283        Update Qt build system for Web Socket.
57284        https://bugs.webkit.org/show_bug.cgi?id=29270
57285
57286        * WebCore.pro:
57287        * platform/network/qt/SocketStreamError.h: Added.
57288        * platform/network/qt/SocketStreamHandle.h: Added.
57289        * platform/network/qt/SocketStreamHandleSoup.cpp: Added.
57290
572912009-09-18  Eric Carlson  <eric.carlson@apple.com>
57292
57293        Reviewed by Darin Adler.
57294
57295        NULL check HTMLMediaElement::m_playedTimeRanges.
57296        Fix for https://bugs.webkit.org/show_bug.cgi?id=29494
57297
57298        * html/HTMLMediaElement.cpp:
57299        (WebCore::HTMLMediaElement::addPlayedRange): New. Create m_playedTimeRanges if
57300        necessary, add range specified.
57301        (WebCore::HTMLMediaElement::seek): Use addPlayedRange. 
57302        (WebCore::HTMLMediaElement::played): Use addPlayedRange. Change time comparison 
57303        to be more readable.
57304        (WebCore::HTMLMediaElement::updatePlayState): Ditto.
57305        * html/HTMLMediaElement.h:
57306
573072009-09-18  Sam Weinig  <sam@webkit.org>
57308
57309        Reviewed by Adele Peterson.
57310
57311        Follow up fix for https://bugs.webkit.org/show_bug.cgi?id=29276
57312        REGRESSION(r48334): WebKit crashes on file select by drag
57313
57314        Don't use Document.elementFromPoint since it returns null if the point
57315        is outside the viewport.  Instead, just hit test ourselves.
57316
57317        Test: fast/events/drag-file-crash.html
57318
57319        * page/DragController.cpp:
57320        (WebCore::elementUnderMouse):
57321        (WebCore::DragController::tryDocumentDrag):
57322        (WebCore::DragController::concludeEditDrag):
57323
573242009-09-18  Darin Adler  <darin@apple.com>
57325
57326        Reviewed by Sam Weinig.
57327
57328        Each wrapped Objective-C object should use a single RuntimeObjectImp
57329        https://bugs.webkit.org/show_bug.cgi?id=29351
57330        rdar://problem/7142294
57331
57332        * WebCore.base.exp: Added a newly-needed exported symbol.
57333
57334        * bindings/objc/DOMInternal.h: Eliminated unused
57335        createWrapperCacheWithIntegerKeys; it has not been needed since the
57336        RGBColor wrappers were reworked.
57337        * bindings/objc/DOMInternal.mm: Ditto.
57338
57339        * bridge/objc/objc_instance.h: Made the create function non-inline.
57340        * bridge/objc/objc_instance.mm:
57341        (createInstanceWrapperCache): Added. Creates an appropriate map table.
57342        (ObjcInstance::create): Moved here from header. Uses NSMapGet and
57343        NSMapInsert to cache the instance in a map table.
57344        (ObjcInstance::~ObjcInstance): Added a call to NSMapRemove to remove
57345        the instance from the map table.
57346
57347        * bridge/qt/qt_instance.cpp:
57348        (JSC::Bindings::QtInstance::~QtInstance): Remove unneeded code to remove
57349        the instance from cachedObjects, which no longer exists.
57350        (JSC::Bindings::QtInstance::newRuntimeObject): Renamed to overload new
57351        bottleneck. Caching is now handled by the base class.
57352
57353        * bridge/runtime.cpp:
57354        (JSC::Bindings::Instance::Instance): Initialize m_runtimeObject to 0.
57355        (JSC::Bindings::Instance::~Instance): Assert m_runtimeObject is 0.
57356        (JSC::Bindings::Instance::createRuntimeObject): Use m_runtimeObject
57357        if it's already set. Set m_runtimeObject and call addRuntimeObject
57358        if it's not.
57359        (JSC::Bindings::Instance::newRuntimeObject): Added. Virtual function,
57360        used only by createRuntimeObject.
57361        (JSC::Bindings::Instance::willDestroyRuntimeObject): Added.
57362        Calls removeRuntimeObject and then clears m_runtimeObject.
57363        (JSC::Bindings::Instance::willInvalidateRuntimeObject): Added.
57364        Clears m_runtimeObject.
57365
57366        * bridge/runtime.h: Made createRuntimeObject non-virtual. Added
57367        willDestroyRuntimeObject, willInvalidateRuntimeObject,
57368        newRuntimeObject, and m_runtimeObject.
57369
57370        * bridge/runtime_object.cpp:
57371        (JSC::RuntimeObjectImp::RuntimeObjectImp): Removed addRuntimeObject
57372        call, now handled by caller.
57373        (JSC::RuntimeObjectImp::~RuntimeObjectImp): Replaced removeRuntimeObject
57374        call with willDestroyRuntimeObject call; the latter nows calls
57375        removeRuntimeObject.
57376        (JSC::RuntimeObjectImp::invalidate): Added willInvalidateRuntimeObject
57377        call.
57378
57379        * bridge/runtime_object.h: Made invalidate non-virtual.
57380
573812009-09-18  Kenneth Rohde Christiansen  <kenneth@webkit.org>
57382
57383        Reviewed by Simon Hausmann.
57384
57385        Make PlatformWindow return something else than PlatformWidget
57386        https://bugs.webkit.org/show_bug.cgi?id=29085
57387
57388        Make platformWindow return a PlatformPageClient
57389        (for now typedef'ed to PlatformWidget)
57390
57391        Also, change the name of platformWindow to platformPageClient()
57392
57393        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
57394        (getPangoLayoutForAtk):
57395        * accessibility/win/AXObjectCacheWin.cpp:
57396        (WebCore::AXObjectCache::postPlatformNotification):
57397        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
57398        * loader/EmptyClients.h:
57399        (WebCore::EmptyChromeClient::platformPageClient):
57400        * page/Chrome.cpp:
57401        (WebCore::Chrome::platformPageClient):
57402        * page/Chrome.h:
57403        * page/ChromeClient.h:
57404        * page/mac/EventHandlerMac.mm:
57405        (WebCore::EventHandler::wheelEvent):
57406        (WebCore::EventHandler::currentPlatformMouseEvent):
57407        (WebCore::EventHandler::sendContextMenuEvent):
57408        (WebCore::EventHandler::eventMayStartDrag):
57409        * platform/HostWindow.h:
57410        * platform/Widget.h:
57411        * platform/gtk/PlatformScreenGtk.cpp:
57412        (WebCore::getVisual):
57413        (WebCore::screenRect):
57414        (WebCore::screenAvailableRect):
57415        * platform/gtk/PopupMenuGtk.cpp:
57416        (WebCore::PopupMenu::show):
57417        * platform/gtk/ScrollViewGtk.cpp:
57418        (WebCore::ScrollView::platformAddChild):
57419        (WebCore::ScrollView::platformRemoveChild):
57420        (WebCore::ScrollView::visibleContentRect):
57421        * platform/gtk/WidgetGtk.cpp:
57422        (WebCore::Widget::setFocus):
57423        (WebCore::Widget::setCursor):
57424        * platform/qt/PlatformScreenQt.cpp:
57425        (WebCore::screenDepth):
57426        (WebCore::screenDepthPerComponent):
57427        (WebCore::screenIsMonochrome):
57428        (WebCore::screenRect):
57429        (WebCore::screenAvailableRect):
57430        * platform/qt/PopupMenuQt.cpp:
57431        (WebCore::PopupMenu::show):
57432        * platform/qt/WidgetQt.cpp:
57433        (WebCore::Widget::setCursor):
57434        * platform/win/PlatformScreenWin.cpp:
57435        (WebCore::monitorInfoForWidget):
57436        * platform/win/PopupMenuWin.cpp:
57437        (WebCore::PopupMenu::show):
57438        (WebCore::PopupMenu::calculatePositionAndSize):
57439        (WebCore::PopupMenu::wndProc):
57440        * platform/wx/RenderThemeWx.cpp:
57441        (WebCore::nativeWindowForRenderObject):
57442        * platform/wx/ScrollbarThemeWx.cpp:
57443        (WebCore::ScrollbarThemeWx::paint):
57444        * plugins/gtk/PluginViewGtk.cpp:
57445        (WebCore::PluginView::getValue):
57446        (WebCore::PluginView::forceRedraw):
57447        (WebCore::PluginView::platformStart):
57448        * plugins/mac/PluginViewMac.cpp:
57449        (WebCore::PluginView::platformStart):
57450        * plugins/qt/PluginViewQt.cpp:
57451        (WebCore::PluginView::handleKeyboardEvent):
57452        (WebCore::PluginView::getValue):
57453        (WebCore::PluginView::platformStart):
57454        * plugins/win/PluginViewWin.cpp:
57455        (WebCore::PluginView::getValue):
57456        (WebCore::PluginView::forceRedraw):
57457        (WebCore::PluginView::platformStart):
57458
574592009-09-18  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
57460
57461        Reviewed by Simon Hausmann.
57462
57463        [Qt] Web inspector UI adjustments specific to the Qt platform:
57464        - Hide the close button
57465        - Hide the dock button
57466        - Disable the draggable toolbar
57467
57468        https://bugs.webkit.org/show_bug.cgi?id=29384
57469
57470        * inspector/front-end/inspector.css:
57471        * inspector/front-end/inspector.js:
57472        (WebInspector.toolbarDragStart):
57473
574742009-09-18  Joerg Bornemann  <joerg.bornemann@nokia.com>
57475
57476        Reviewed by Simon Hausmann.
57477
57478        QtWebKit Windows CE compile fixes
57479
57480        Exclude certain pure-WINCE specific code paths from the Qt build.
57481
57482        * platform/graphics/BitmapImage.h:
57483        * platform/graphics/FontCache.h:
57484        * platform/graphics/MediaPlayer.cpp:
57485        * platform/text/TextEncodingRegistry.cpp:
57486        (WebCore::buildBaseTextCodecMaps):
57487        (WebCore::extendTextCodecMaps):
57488        * plugins/PluginView.cpp:
57489        (WebCore::PluginView::stop): Guard this code block with NETSCAPE_PLUGIN_API as
57490        the corresponding PluginViewWndProc has the same guard in the header file.
57491
574922009-09-18  Steve Block  <steveblock@google.com>
57493
57494        Reviewed by Dimitri Glazkov.
57495
57496        Geolocation does not correctly handle Infinity for PositionOptions properties.
57497        https://bugs.webkit.org/show_bug.cgi?id=29099
57498
57499        * bindings/js/JSGeolocationCustom.cpp: Modified.
57500        (WebCore::createPositionOptions): Modified. If timeout or maximumAge is positive infinity, applies these values as a special case.
57501        * page/PositionOptions.h: Modified.
57502        (WebCore::PositionOptions::hasMaximumAge): Added. Determines whether the object has a maximum age.
57503        (WebCore::PositionOptions::maximumAge): Modified. Asserts that the object has a maximum age.
57504        (WebCore::PositionOptions::clearMaximumAge): Added. Clears the maximum age.
57505        (WebCore::PositionOptions::setMaximumAge): Modified. Registers that the maximum age has been set.
57506        (WebCore::PositionOptions::PositionOptions): Modified. Registers that the maximum age has been set.
57507
575082009-09-17  Sam Weinig  <sam@webkit.org>
57509
57510        Reviewed by Adele Peterson.
57511
57512        Fix for https://bugs.webkit.org/show_bug.cgi?id=29276
57513        REGRESSION(r48334): WebKit crashes on file select by drag
57514
57515        Document.elementFromPoint now takes point in client space, not page space.
57516
57517        * page/DragController.cpp:
57518        (WebCore::DragController::tryDocumentDrag):
57519        (WebCore::DragController::concludeEditDrag):
57520
575212009-09-17  Albert J. Wong  <ajwong@chromium.org>
57522
57523        Reviewed by David Levin.
57524
57525        Reimplement default media UI for Mac Chromium to match the style
57526        of the Windows and Linux versions.  Also breaks the dependency
57527        on the internal wk* functions that were previously used to
57528        render the media controller widgets.
57529        https://bugs.webkit.org/show_bug.cgi?id=29161
57530
57531        No media layout tests are currently enabled in Mac Chromium, so
57532        nothing needs rebaselineing, etc.
57533
57534        This is a recommit of r48438 with a compile fix and merges of
57535        recent changes to the file.
57536
57537        * css/mediaControlsChromium.css:
57538        * rendering/RenderThemeChromiumMac.h:
57539        * rendering/RenderThemeChromiumMac.mm:
57540        (WebCore::mediaElementParent):
57541        (WebCore::RenderThemeChromiumMac::extraMediaControlsStyleSheet):
57542        (WebCore::mediaSliderThumbImage):
57543        (WebCore::mediaVolumeSliderThumbImage):
57544        (WebCore::RenderThemeChromiumMac::paintSliderTrack):
57545        (WebCore::RenderThemeChromiumMac::adjustSliderThumbSize):
57546        (WebCore::RenderThemeChromiumMac::paintMediaButtonInternal):
57547        (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
57548        (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
57549        (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
57550        (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderTrack):
57551        (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
57552        (WebCore::RenderThemeChromiumMac::paintMediaVolumeSliderThumb):
57553        (WebCore::RenderThemeChromiumMac::paintMediaControlsBackground):
57554        * rendering/RenderThemeChromiumSkia.cpp:
57555        (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize):
57556
575572009-09-17  Brian Weinstein  <bweinstein@apple.com>
57558
57559        Reviewed by Timothy Hatcher.
57560
57561        The Console scope bar should have a divider between All and the other possible
57562        values (Errors, Warnings, Logs). It will look something like:
57563        
57564        All | Errors Warnings Logs.
57565
57566        * inspector/front-end/ConsoleView.js:
57567        (WebInspector.ConsoleView.createDividerElement):
57568        (WebInspector.ConsoleView):
57569        * inspector/front-end/inspector.css:
57570
575712009-09-17  Sam Weinig  <sam@webkit.org>
57572
57573        Reviewed by Mark Rowe.
57574
57575        Remove additional references to JSVoidCallback which no longer exists.
57576
57577        * DerivedSources.cpp:
57578        * WebCore.vcproj/WebCore.vcproj:
57579
575802009-09-17  Sam Weinig  <sam@webkit.org>
57581
57582        Reviewed by Brady Eidson.
57583
57584        Remove commented out onhashchange attribute now that it is implemented.
57585
57586        * page/DOMWindow.idl:
57587
575882009-09-17  Anders Carlsson  <andersca@apple.com>
57589
57590        Reviewed by Oliver Hunt.
57591
57592        <rdar://problem/7007541> 
57593        CrashTracer: 4800crashes in Safari at com.apple.WebKit • WTF::HashTableIterator...
57594        
57595        Make RuntimeObjectImp more robust against m_instance being a null (which can happen if an OOP plug-in
57596        crashes while we're calling into it).
57597        
57598        * bridge/runtime_object.cpp:
57599        (JSC::RuntimeObjectImp::RuntimeObjectImp):
57600        (JSC::RuntimeObjectImp::~RuntimeObjectImp):
57601        (JSC::RuntimeObjectImp::invalidate):
57602        (JSC::RuntimeObjectImp::fallbackObjectGetter):
57603        (JSC::RuntimeObjectImp::fieldGetter):
57604        (JSC::RuntimeObjectImp::methodGetter):
57605        (JSC::RuntimeObjectImp::getOwnPropertySlot):
57606        (JSC::RuntimeObjectImp::getOwnPropertyDescriptor):
57607        (JSC::RuntimeObjectImp::put):
57608        (JSC::RuntimeObjectImp::defaultValue):
57609        (JSC::RuntimeObjectImp::getCallData):
57610        (JSC::RuntimeObjectImp::getConstructData):
57611        (JSC::RuntimeObjectImp::getPropertyNames):
57612        * bridge/runtime_object.h:
57613        (JSC::RuntimeObjectImp::getInternalInstance):
57614
576152009-09-17  Yury Semikhatsky  <yurys@chromium.org>
57616
57617        Reviewed by Timothy Hatcher.
57618
57619        Wrap primitive values (as objects) in InspectorController::wrap.
57620
57621        https://bugs.webkit.org/show_bug.cgi?id=28983
57622
57623        * inspector/InspectorController.cpp:
57624        (WebCore::InspectorController::wrapObject): objects of any type will be wrapped into proxies,
57625         only object proxies will have objectId.
57626        * inspector/front-end/ConsoleView.js:
57627        (WebInspector.ConsoleView.prototype.completions): there is InjectedScript.getCompletionsi
57628         that accepts an expression and returns possible completions. This way we don't need to wrap
57629         and unwrap the completions result into a proxy object.
57630        * inspector/front-end/InjectedScript.js:
57631        (InjectedScript.getCompletions):
57632        (InjectedScript.evaluate):
57633        (InjectedScript._evaluateOn):
57634        (InjectedScript.createProxyObject):
57635        * inspector/front-end/InjectedScriptAccess.js:
57636
576372009-09-17  Nate Chapin  <japhet@chromium.org>
57638
57639        Reviewed by Dimitri Glazkov.
57640
57641        Wrap PageTransitionEvents properly for V8's use.
57642
57643        https://bugs.webkit.org/show_bug.cgi?id=29340
57644
57645        Fixes Chromium's failures for LayoutTests/fast/events/pageshow-pagehide.html.
57646
57647        * bindings/v8/V8DOMWrapper.cpp:
57648        (WebCore::V8DOMWrapper::convertEventToV8Object): Wrap PageTransitionEvents properly.
57649
576502009-09-17  Simon Fraser  <simon.fraser@apple.com>
57651
57652        Reviewed by Dave Hyatt.
57653
57654        Hardware-accelerated opacity transition on inline asserts
57655        https://bugs.webkit.org/show_bug.cgi?id=29342
57656        
57657        Remove an erroneous toRenderBox() that could be called on a RenderInline; we can just
57658        pass an empty size, because the box size is only required for transform animations.
57659
57660        Test: compositing/transitions/opacity-on-inline.html
57661
57662        * rendering/RenderLayerBacking.cpp:
57663        (WebCore::RenderLayerBacking::startTransition):
57664
576652009-09-17  Adam Barth  <abarth@webkit.org>
57666
57667        Reviewed by Eric Seidel.
57668
57669        [V8] OwnHandle might get a weak callback after destruction
57670        https://bugs.webkit.org/show_bug.cgi?id=29172
57671
57672        Be sure to clear out weak reference so we don't get a weak callback
57673        after we've destructed ourselves.  Also, removed some tricky methods
57674        that had no clients.
57675
57676        * bindings/v8/OwnHandle.h:
57677        (WebCore::OwnHandle::clear):
57678
576792009-09-17  Dimitri Glazkov  <dglazkov@chromium.org>
57680
57681        Unreviewed, build fix.
57682
57683        [V8] Partial roll out of http://trac.webkit.org/changeset/48455 to
57684        fix crashes that started happening in V8Proxy::getEnteredContext().
57685
57686        * bindings/v8/ScheduledAction.cpp:
57687        (WebCore::ScheduledAction::execute):
57688
576892009-09-17  Chris Fleizach  <cfleizach@apple.com>
57690
57691        Reviewed by Beth Dakin.
57692
57693        AX: labels of checkboxes should, when hit-tested, return the checkbox
57694        https://bugs.webkit.org/show_bug.cgi?id=29335
57695
57696        When an accessibility hit test is done and it hits the label of a control element,
57697        the control element should be returned instead of nothing, since the label
57698        itself is usually ignored.
57699
57700        Test: accessibility/label-for-control-hittest.html
57701
57702        * accessibility/AccessibilityObject.h:
57703        (WebCore::AccessibilityObject::correspondingControlForLabelElement):
57704        * accessibility/AccessibilityRenderObject.cpp:
57705        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
57706        (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
57707        (WebCore::AccessibilityRenderObject::correspondingControlForLabelElement):
57708        * accessibility/AccessibilityRenderObject.h:
57709
577102009-09-17  Avi Drissman  <avi@chromium.org>
57711
57712        Reviewed by Dimitri Glazkov, build fix.
57713
57714        Change to make RenderThemeChromiumMac compile inside of non PLATFORM(MAC).
57715        https://bugs.webkit.org/show_bug.cgi?id=29243
57716
57717        Covered by existing tests.
57718
57719        * rendering/RenderThemeChromiumMac.mm:
57720        (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
57721
577222009-09-17  Dimitri Glazkov  <dglazkov@chromium.org>
57723
57724        Reviewed by Eric Seidel.
57725
57726        [V8] Accessing properties/methods of an object, created with document.implementation.createDocumentType
57727        creates nodes that have no document (ScriptExecutionContext), which in turn produces NULL-ref crashes.
57728        https://bugs.webkit.org/show_bug.cgi?id=26402
57729
57730        Test: fast/dom/DOMImplementation/detached-doctype.html
57731              fast/dom/doctype-event-listener-crash.html
57732
57733        * bindings/v8/V8DOMWrapper.cpp:
57734        (WebCore::V8DOMWrapper::getEventListener): Added an extra NULL-check.
57735
577362009-09-17  Dan Bernstein  <mitz@apple.com>
57737
57738        Reviewed by Simon Fraser.
57739
57740        FontDescription.h includes RenderStyleConstants.h, which violates layering
57741        https://bugs.webkit.org/show_bug.cgi?id=29327
57742
57743        * GNUmakefile.am: Added FontSmoothingMode.h.
57744        * WebCore.gypi: Added FontSmoothingMode.h.
57745        * WebCore.vcproj/WebCore.vcproj: Added FontSmoothingMode.h.
57746        * WebCore.xcodeproj/project.pbxproj: Added FontSmoothingMode.h and made
57747            it a private header.
57748        * css/CSSComputedStyleDeclaration.cpp:
57749        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Get the
57750            font smoothing mode via the font description.
57751        * css/CSSPrimitiveValueMappings.h: Include FontSmoothingMode.h
57752        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Updated for the rename
57753            of FontSmoothing to FontSmoothingMode.
57754        (WebCore::CSSPrimitiveValue::operator FontSmoothingMode): Ditto.
57755        * css/CSSStyleSelector.cpp:
57756        (WebCore::CSSStyleSelector::applyProperty): Get the font smoothing mode
57757            via the font description.
57758        * platform/graphics/FontDescription.h: Do not include
57759            RenderStyleConstants.h.
57760        (WebCore::FontDescription::fontSmoothing): Updated for the rename of
57761            FontSmoothing to FontSmoothingMode.
57762        (WebCore::FontDescription::setFontSmoothing): Ditto.
57763        * platform/graphics/FontSmoothingMode.h: Added.
57764        (WebCore::FontSmoothingMode): Moved the FontSmoothing enum from
57765            RenderStyleConstants here and renamed it to this.
57766        * rendering/style/RenderStyle.h:
57767        (WebCore::InheritedFlags::fontSmoothing): Removed this getter, since
57768            this can be accessed via the font description.
57769        * rendering/style/RenderStyleConstants.h: Moved the FontSmoothing enum
57770            from here to FontSmoothingMode.h.
57771
577722009-09-17  Kevin Ollivier  <kevino@theolliviers.com>
57773
57774        wx 2.9 build fix.
57775
57776        * platform/wx/wxcode/gtk/scrollbar_render.cpp:
57777        (wxGetGdkWindowForDC):
57778
577792009-09-16  Simon Fraser  <simon.fraser@apple.com>
57780
57781        Reviewed by Dan Bernstein.
57782
57783        Elements appear behind <video> when they should be in front sometimes
57784        https://bugs.webkit.org/show_bug.cgi?id=29314
57785        
57786        r45598 added logic that tests for overlap with <video> to determine when to throw
57787        a layer into compositing mode. That logic was incorrect in some cases, and this patch
57788        fixes it. When testing overlap, the layer needs to be composited iff some previous layer
57789        is composited (which adds a rect to the overlay map), and there is overlap.
57790
57791        Test: compositing/geometry/video-opacity-overlay.html
57792
57793        * rendering/RenderLayerCompositor.cpp:
57794        (WebCore::CompositingState::CompositingState):
57795        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
57796
577972009-09-17  Avi Drissman  <avi@google.com>
57798
57799        Reviewed by Darin Fisher.
57800
57801        Update the Chromium Mac theming files (RenderTheme and Theme) to be
57802        up-to-date.
57803        
57804        https://bugs.webkit.org/show_bug.cgi?id=29243
57805        http://crbug.com/19604
57806
57807        Covered by existing tests.
57808
57809        * WebCore.gypi:
57810        * platform/chromium/ThemeChromiumMac.h: Added.
57811        (WebCore::ThemeChromiumMac::ThemeChromiumMac):
57812        (WebCore::ThemeChromiumMac::~ThemeChromiumMac):
57813        (WebCore::ThemeChromiumMac::controlRequiresPreWhiteSpace):
57814        * platform/chromium/ThemeChromiumMac.mm: Added.
57815        (WebCore::):
57816        (WebCore::platformTheme):
57817        (WebCore::controlSizeForFont):
57818        (WebCore::sizeFromFont):
57819        (WebCore::setControlSize):
57820        (WebCore::updateStates):
57821        (WebCore::inflateRect):
57822        (WebCore::checkboxSizes):
57823        (WebCore::checkboxMargins):
57824        (WebCore::checkboxSize):
57825        (WebCore::checkbox):
57826        (WebCore::paintCheckbox):
57827        (WebCore::radioSizes):
57828        (WebCore::radioMargins):
57829        (WebCore::radioSize):
57830        (WebCore::radio):
57831        (WebCore::paintRadio):
57832        (WebCore::buttonSizes):
57833        (WebCore::buttonMargins):
57834        (WebCore::button):
57835        (WebCore::paintButton):
57836        (WebCore::ThemeChromiumMac::baselinePositionAdjustment):
57837        (WebCore::ThemeChromiumMac::controlFont):
57838        (WebCore::ThemeChromiumMac::controlSize):
57839        (WebCore::ThemeChromiumMac::minimumControlSize):
57840        (WebCore::ThemeChromiumMac::controlBorder):
57841        (WebCore::ThemeChromiumMac::controlPadding):
57842        (WebCore::ThemeChromiumMac::inflateControlPaintRect):
57843        (WebCore::ThemeChromiumMac::paint):
57844        * platform/graphics/FloatPoint.h:
57845        * platform/graphics/FloatRect.h:
57846        * platform/graphics/FloatSize.h:
57847        * platform/graphics/IntRect.h:
57848        * rendering/RenderThemeChromiumMac.h:
57849        (WebCore::RenderThemeChromiumMac::supportsControlTints):
57850        (WebCore::RenderThemeChromiumMac::scrollbarControlSizeForPart):
57851        (WebCore::RenderThemeChromiumMac::supportsSelectionForegroundColors):
57852        * rendering/RenderThemeChromiumMac.mm:
57853        (-[WebCoreRenderThemeNotificationObserver systemColorsDidChange:]):
57854        (-[RTCMFlippedView isFlipped]):
57855        (-[RTCMFlippedView currentEditor]):
57856        (WebCore::):
57857        (WebCore::FlippedView):
57858        (WebCore::RenderTheme::themeForPage):
57859        (WebCore::RenderThemeChromiumMac::platformActiveListBoxSelectionForegroundColor):
57860        (WebCore::RenderThemeChromiumMac::platformInactiveListBoxSelectionForegroundColor):
57861        (WebCore::RenderThemeChromiumMac::platformInactiveListBoxSelectionBackgroundColor):
57862        (WebCore::RenderThemeChromiumMac::systemFont):
57863        (WebCore::convertNSColorToColor):
57864        (WebCore::menuBackgroundColor):
57865        (WebCore::RenderThemeChromiumMac::systemColor):
57866        (WebCore::RenderThemeChromiumMac::isControlStyled):
57867        (WebCore::RenderThemeChromiumMac::adjustRepaintRect):
57868        (WebCore::RenderThemeChromiumMac::inflateRect):
57869        (WebCore::RenderThemeChromiumMac::convertToPaintingRect):
57870        (WebCore::RenderThemeChromiumMac::setFontFromControlSize):
57871        (WebCore::RenderThemeChromiumMac::paintTextField):
57872        (WebCore::RenderThemeChromiumMac::paintCapsLockIndicator):
57873        (WebCore::RenderThemeChromiumMac::paintTextArea):
57874        (WebCore::RenderThemeChromiumMac::paintMenuList):
57875        (WebCore::TopGradientInterpolate):
57876        (WebCore::BottomGradientInterpolate):
57877        (WebCore::MainGradientInterpolate):
57878        (WebCore::TrackGradientInterpolate):
57879        (WebCore::RenderThemeChromiumMac::paintMenuListButtonGradients):
57880        (WebCore::RenderThemeChromiumMac::paintMenuListButton):
57881        (WebCore::RenderThemeChromiumMac::popupInternalPaddingLeft):
57882        (WebCore::RenderThemeChromiumMac::popupInternalPaddingRight):
57883        (WebCore::RenderThemeChromiumMac::popupInternalPaddingTop):
57884        (WebCore::RenderThemeChromiumMac::popupInternalPaddingBottom):
57885        (WebCore::RenderThemeChromiumMac::adjustMenuListButtonStyle):
57886        (WebCore::RenderThemeChromiumMac::adjustSliderTrackStyle):
57887        (WebCore::RenderThemeChromiumMac::adjustSliderThumbStyle):
57888        (WebCore::RenderThemeChromiumMac::paintSliderThumb):
57889        (WebCore::RenderThemeChromiumMac::paintSearchField):
57890        (WebCore::RenderThemeChromiumMac::setSearchCellState):
57891        (WebCore::RenderThemeChromiumMac::adjustSearchFieldStyle):
57892        (WebCore::RenderThemeChromiumMac::paintSearchFieldCancelButton):
57893        (WebCore::RenderThemeChromiumMac::adjustSearchFieldCancelButtonStyle):
57894        (WebCore::RenderThemeChromiumMac::adjustSearchFieldDecorationStyle):
57895        (WebCore::RenderThemeChromiumMac::paintSearchFieldDecoration):
57896        (WebCore::RenderThemeChromiumMac::adjustSearchFieldResultsDecorationStyle):
57897        (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsDecoration):
57898        (WebCore::RenderThemeChromiumMac::adjustSearchFieldResultsButtonStyle):
57899        (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsButton):
57900        (WebCore::mediaControllerTheme):
57901        (WebCore::RenderThemeChromiumMac::adjustSliderThumbSize):
57902        (WebCore::getMediaUIPartStateFlags):
57903        (WebCore::getUnzoomedRectAndAdjustCurrentContext):
57904        (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
57905        (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
57906        (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
57907        (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton):
57908        (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton):
57909        (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
57910        (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
57911        (WebCore::RenderThemeChromiumMac::paintMediaRewindButton):
57912        (WebCore::RenderThemeChromiumMac::paintMediaReturnToRealtimeButton):
57913        (WebCore::RenderThemeChromiumMac::paintMediaControlsBackground):
57914        (WebCore::RenderThemeChromiumMac::paintMediaCurrentTime):
57915        (WebCore::RenderThemeChromiumMac::paintMediaTimeRemaining):
57916        (WebCore::RenderThemeChromiumMac::extraMediaControlsStyleSheet):
57917
579182009-09-16  Daniel Bates  <dbates@webkit.org>
57919
57920        Reviewed by Darin Adler.
57921
57922        https://bugs.webkit.org/show_bug.cgi?id=29306
57923        
57924        Fixes an issue where an attack that contains accented characters can
57925        bypass the XSSAuditor.
57926        
57927        XSSAuditor::decodeURL used the wrong length for the input string. 
57928        When the input string was decoded, the decoded result was truncated.
57929        Hence, XSSAuditor was comparing the source code of the script to the 
57930        truncated input parameters.
57931
57932        Test: http/tests/security/xssAuditor/img-onerror-accented-char.html
57933
57934        * page/XSSAuditor.cpp:
57935        (WebCore::XSSAuditor::decodeURL):
57936
579372009-09-16  Brady Eidson  <beidson@apple.com>
57938
57939        Reviewed by Sam Weinig.
57940
57941        Explore allowing pages with unload handlers into the Page Cache
57942        https://bugs.webkit.org/show_bug.cgi?id=29021
57943
57944        No new tests. (All previous tests continue to pass)
57945
57946        * loader/FrameLoader.cpp:
57947        (WebCore::FrameLoader::stopLoading): If the document is in the page cache, don't fire the unload event.
57948
579492009-09-16  Adam Barth  <abarth@webkit.org>
57950
57951        Reviewed by Dimitri Glazkov.
57952
57953        [V8] Teach ScheduledAction::execute about isolated worlds
57954        https://bugs.webkit.org/show_bug.cgi?id=27703
57955
57956        We now save a handle to the original context.  We use that handle to
57957        call the timeout in the right context / world.
57958
57959        Tests: http/tests/security/isolatedWorld/window-setTimeout-function.html
57960               http/tests/security/isolatedWorld/window-setTimeout-string.html
57961
57962        * bindings/v8/ScheduledAction.cpp:
57963        (WebCore::ScheduledAction::ScheduledAction):
57964        (WebCore::ScheduledAction::execute):
57965        * bindings/v8/ScheduledAction.h:
57966        (WebCore::ScheduledAction::ScheduledAction):
57967        * bindings/v8/custom/V8DOMWindowCustom.cpp:
57968        (WebCore::V8Custom::WindowSetTimeoutImpl):
57969        * bindings/v8/custom/V8WorkerContextCustom.cpp:
57970        (WebCore::SetTimeoutOrInterval):
57971
579722009-09-16  Adam Barth  <abarth@webkit.org>
57973
57974        Reviewed by Dimitri Glazkov.
57975
57976        [V8] Teach ScheduledAction::execute about isolated worlds
57977        https://bugs.webkit.org/show_bug.cgi?id=27703
57978
57979        We now save a handle to the original context.  We use that handle to
57980        call the timeout in the right context / world.
57981
57982        Tests: http/tests/security/isolatedWorld/window-setTimeout-function.html
57983               http/tests/security/isolatedWorld/window-setTimeout-string.html
57984
57985        * bindings/v8/ScheduledAction.cpp:
57986        (WebCore::ScheduledAction::ScheduledAction):
57987        (WebCore::ScheduledAction::execute):
57988        * bindings/v8/ScheduledAction.h:
57989        (WebCore::ScheduledAction::ScheduledAction):
57990        * bindings/v8/custom/V8DOMWindowCustom.cpp:
57991        (WebCore::V8Custom::WindowSetTimeoutImpl):
57992        * bindings/v8/custom/V8WorkerContextCustom.cpp:
57993        (WebCore::SetTimeoutOrInterval):
57994
579952009-09-16  Sam Weinig  <sam@webkit.org>
57996
57997        Reviewed by Anders Carlsson.
57998
57999        Add some groups to the xcode project to make the bindings/js/ group
58000        a little nicer.
58001
58002        * WebCore.xcodeproj/project.pbxproj:
58003
580042009-09-16  Sam Weinig  <sam@webkit.org>
58005
58006        Reviewed by Anders Carlsson.
58007
58008        Fix for https://bugs.webkit.org/show_bug.cgi?id=29320
58009        JS callback objects should store the global object
58010
58011        This just changes the callback objects to store the global object instead
58012        of the frame. A follow up patch will change them to store the 'current' 
58013        global object instead of the lexical or dynamic.
58014
58015        * DerivedSources.make: Remove unused VoidCallback.
58016        * WebCore.xcodeproj/project.pbxproj: Ditto.
58017        * bindings/js/JSCustomPositionCallback.cpp:
58018        (WebCore::JSCustomPositionCallback::JSCustomPositionCallback):
58019        (WebCore::JSCustomPositionCallback::handleEvent):
58020        * bindings/js/JSCustomPositionCallback.h:
58021        (WebCore::JSCustomPositionCallback::create):
58022        * bindings/js/JSCustomPositionErrorCallback.cpp:
58023        (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback):
58024        (WebCore::JSCustomPositionErrorCallback::handleEvent):
58025        * bindings/js/JSCustomPositionErrorCallback.h:
58026        (WebCore::JSCustomPositionErrorCallback::create):
58027        * bindings/js/JSCustomSQLStatementCallback.cpp:
58028        (WebCore::JSCustomSQLStatementCallback::JSCustomSQLStatementCallback):
58029        (WebCore::JSCustomSQLStatementCallback::handleEvent):
58030        * bindings/js/JSCustomSQLStatementCallback.h:
58031        (WebCore::JSCustomSQLStatementCallback::create):
58032        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
58033        (WebCore::JSCustomSQLStatementErrorCallback::JSCustomSQLStatementErrorCallback):
58034        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
58035        * bindings/js/JSCustomSQLStatementErrorCallback.h:
58036        (WebCore::JSCustomSQLStatementErrorCallback::create):
58037        * bindings/js/JSCustomSQLTransactionCallback.cpp:
58038        (WebCore::JSCustomSQLTransactionCallback::Data::Data):
58039        (WebCore::JSCustomSQLTransactionCallback::Data::globalObject):
58040        (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback):
58041        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
58042        * bindings/js/JSCustomSQLTransactionCallback.h:
58043        (WebCore::JSCustomSQLTransactionCallback::create):
58044        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
58045        (WebCore::JSCustomSQLTransactionErrorCallback::JSCustomSQLTransactionErrorCallback):
58046        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
58047        * bindings/js/JSCustomSQLTransactionErrorCallback.h:
58048        (WebCore::JSCustomSQLTransactionErrorCallback::create):
58049        * bindings/js/JSCustomVoidCallback.cpp:
58050        (WebCore::JSCustomVoidCallback::JSCustomVoidCallback):
58051        (WebCore::JSCustomVoidCallback::handleEvent):
58052        * bindings/js/JSCustomVoidCallback.h:
58053        (WebCore::JSCustomVoidCallback::create):
58054        * bindings/js/JSDatabaseCustom.cpp:
58055        (WebCore::JSDatabase::changeVersion):
58056        (WebCore::createTransaction):
58057        (WebCore::JSDatabase::transaction):
58058        (WebCore::JSDatabase::readTransaction):
58059        * bindings/js/JSGeolocationCustom.cpp:
58060        (WebCore::createPositionCallback):
58061        (WebCore::createPositionErrorCallback):
58062        (WebCore::JSGeolocation::getCurrentPosition):
58063        (WebCore::JSGeolocation::watchPosition):
58064        * bindings/js/JSSQLTransactionCustom.cpp:
58065        (WebCore::JSSQLTransaction::executeSql):
58066
580672009-09-15  Kent Tamura  <tkent@chromium.org>
58068
58069        Reviewed by Eric Seidel.
58070
58071        <input maxlength=> should restrict only values specified by users.
58072        https://bugs.webkit.org/show_bug.cgi?id=21271
58073
58074        * dom/InputElement.cpp:
58075        (WebCore::InputElement::setValueFromRenderer):
58076        (WebCore::InputElement::sanitizeValue):
58077        (WebCore::InputElement::sanitizeUserInputValue): Rename from constrainValue().
58078        (WebCore::InputElement::handleBeforeTextInsertedEvent):
58079        (WebCore::InputElement::updateValueIfNeeded):
58080        * dom/InputElement.h:
58081        * html/HTMLInputElement.cpp:
58082        (WebCore::HTMLInputElement::setInputType):
58083        (WebCore::HTMLInputElement::value):
58084        (WebCore::HTMLInputElement::setValue):
58085        (WebCore::HTMLInputElement::sanitizeValue):
58086        * html/HTMLInputElement.h:
58087        * rendering/RenderTextControlSingleLine.cpp:
58088        (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
58089        * wml/WMLInputElement.cpp:
58090        (WebCore::WMLInputElement::constrainValue):
58091        * wml/WMLInputElement.h:
58092        (WebCore::WMLInputElement::sanitizeValue):
58093
580942009-09-16  Enrica Casucci  <enrica@apple.com>
58095
58096        Reviewed by Eric Seidel.
58097
58098        Reorganizing helper functions in htmlediting.h to group them by type of object they return/operate upon.
58099        https://bugs.webkit.org/show_bug.cgi?id=29319
58100
58101        * editing/IndentOutdentCommand.cpp:
58102        Removed implementation of isAtUnsplittableElement.
58103
58104        * editing/IndentOutdentCommand.h:
58105        Removed member function isAtUnsplittableElement, because it was not class specific and belonged logically among the helper functions.
58106
58107        * editing/htmlediting.cpp:
58108        (WebCore::isAtUnsplittableElement): added. The code was taken from IndentOutdentCommand.
58109
58110        * editing/htmlediting.h:
58111        Reordered functions to group them by type of object returned or operate upon.
58112        Added comments.
58113        Added isAtUnsplittableElement declaration.
58114
581152009-09-16  Geoffrey Garen  <ggaren@apple.com>
58116
58117        Reviewed by Sam Weinig and Anders Carlsson.
58118
58119        Removed some vestigial and potentially crashy code that makes consolidating
58120        event listeners hard.
58121
58122        * dom/Node.cpp:
58123        (WebCore::Node::addEventListener): No need to limit when event listeners
58124        can be added. Other EventTargets don't do this.
58125        
58126        Also, check for null when accessing document(). Technically, the JS bindings
58127        do this check for us, but let's not rely on that.
58128
581292009-09-16  Anders Carlsson  <andersca@apple.com>
58130
58131        Reviewed by Adam Roben.
58132
58133        <rdar://problem/7155710>
58134        HTML selects on windows cause containing window to become inactive when opened
58135        
58136        Redo the way we handle events when a popup menu is shown, based on
58137        http://blogs.msdn.com/oldnewthing/archive/2004/08/20/217684.aspx
58138        
58139        Since a non-active window can't capture the mouse, we use the owning window 
58140        (the WebView) as the capture window. We then run a recursive message pump that 
58141        forwards all mouse and keyboard events to the popup menu.
58142        
58143        * platform/PopupMenu.h:
58144        * platform/win/PopupMenuWin.cpp:
58145        (WebCore::PopupMenu::PopupMenu):
58146        (WebCore::PopupMenu::show):
58147        (WebCore::PopupMenu::hide):
58148        (WebCore::PopupMenu::wndProc):
58149
581502009-09-16  Dan Bernstein  <mitz@apple.com>
58151
58152        Reviewed by Ada Chan.
58153
58154        Speculative fix for
58155        <rdar://problem/6937089> Crashes at RenderWidget::destroy()
58156
58157        * rendering/RenderWidget.cpp:
58158        (WebCore::RenderWidget::destroy): Avoid calling renderArena() if node()
58159        is null. Add two assertions that can help determine how this crash
58160        happens (in particular, whether node() becomes null during destroy() or
58161        it is null before destroy() is called).
58162
581632009-09-16  Beth Dakin  <bdakin@apple.com>
58164
58165        Speculative build fix.
58166
58167        * css/CSSStyleSelector.cpp:
58168        (WebCore::CSSStyleSelector::applyProperty):
58169
581702009-09-16  Beth Dakin  <bdakin@apple.com>
58171
58172        Reviewed by Darin Adler.
58173
58174        Fix for <rdar://problem/7083741> Implement a CSS extension to 
58175        adjust sub-pixel anti-aliasing for text
58176        -and corresponding-
58177        https://bugs.webkit.org/show_bug.cgi?id=29291
58178
58179        Added tests:
58180        * fast/css/font-smoothing.html: Added.
58181        * fast/css/parsing-webkit-font-smoothing.html: Added.
58182
58183        This patch adds a new CSS property called -webkit-font-smoothing 
58184        that accepts the following as valid input: auto | none | 
58185        antialiased | subpixel-antialiased
58186
58187        Return appropriate computed style for -webkit-font-smoothing
58188        * css/CSSComputedStyleDeclaration.cpp:
58189        (WebCore::):
58190        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
58191
58192        Add a case for CSSPropertyWebkitFontSmoothing, and accept valid 
58193        input.
58194        * css/CSSParser.cpp:
58195        (WebCore::CSSParser::parseValue):
58196
58197        Add mappings for FontSmoothing to the right CSS values.
58198        * css/CSSPrimitiveValueMappings.h:
58199        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
58200        (WebCore::CSSPrimitiveValue::operator FontSmoothing):
58201
58202        Add -webkit-font-smoothing
58203        * css/CSSPropertyNames.in:
58204
58205        Set fontSmoothing on the FontDescription.
58206        * css/CSSStyleSelector.cpp:
58207        (WebCore::CSSStyleSelector::applyProperty):
58208
58209        Add antialiased and subpixel-antialiased as possible new CSS 
58210        values.
58211        * css/CSSValueKeywords.in:
58212        Store the font smoothing CSS value in the FontDescription.
58213        * platform/graphics/FontDescription.h:
58214        (WebCore::FontDescription::FontDescription):
58215        (WebCore::FontDescription::fontSmoothing):
58216        (WebCore::FontDescription::setFontSmoothing):
58217        (WebCore::FontDescription::operator==):
58218
58219        Call setShouldAntialias() and setShouldUseSmoothing() appropriately 
58220        based on the CSS fontSmoothing() value.
58221        * platform/graphics/mac/FontMac.mm:
58222        (WebCore::Font::drawGlyphs):
58223        * platform/graphics/win/FontCGWin.cpp:
58224        (WebCore::Font::drawGlyphs):
58225
58226        New function fontSmoothing()
58227        * rendering/style/RenderStyle.h:
58228        (WebCore::InheritedFlags::fontSmoothing):
58229
58230        New enum FontSmoothing.
58231        * rendering/style/RenderStyleConstants.h:
58232        (WebCore::):
58233
582342009-09-16  Yury Semikhatsky  <yurys@chromium.org>
58235
58236        Reviewed by Timothy Hatcher.
58237
58238        Remove style property if empty string is entered.
58239
58240        https://bugs.webkit.org/show_bug.cgi?id=29163
58241
58242        * inspector/front-end/ElementsTreeOutline.js:
58243        (WebInspector.ElementsTreeOutline.prototype._onmouseout): fixed null pointer exception
58244        * inspector/front-end/InjectedScript.js:
58245        (InjectedScript.applyStyleText): if styletext to apply is empty it will return an array to confirm the property removal
58246        * inspector/front-end/StylesSidebarPane.js:
58247        (WebInspector.StylePropertyTreeElement.prototype.):
58248        (WebInspector.StylePropertyTreeElement.prototype):
58249
582502009-09-16  Yury Semikhatsky  <yurys@chromium.org>
58251
58252        Reviewed by Timothy Hatcher.
58253
58254        Always reset m_implicitShorthand to false after parsing
58255        background-repeat style property otherwise properties
58256        following after it may be erroneously marked as implicit.
58257
58258        https://bugs.webkit.org/show_bug.cgi?id=28972
58259        https://bugs.webkit.org/show_bug.cgi?id=28973
58260
58261        Test: fast/backgrounds/repeat/margin-shorthand.html
58262
58263        * css/CSSParser.cpp:
58264        (WebCore::CSSParser::parseValue):
58265
582662009-09-16  Carol Szabo  <carol.szabo@nokia.com>
58267
58268        Reviewed by Alexey Proskuryakov.
58269
58270        Incorrect behavior of XMLHttpRequest::getAllResponseHeaders and
58271        XMLHttpRequest::getResponseHeader in the
58272        HEADERS_RECEIVED readyState.
58273        https://bugs.webkit.org/show_bug.cgi?id=29121
58274
58275        Tests: http/tests/xmlhttprequest/getAllResponseHeaders.html
58276               http/tests/xmlhttprequest/getResponseHeader.html
58277
58278        * xml/XMLHttpRequest.cpp:
58279        (WebCore::XMLHttpRequest::getAllResponseHeaders):
58280        (WebCore::XMLHttpRequest::getResponseHeader):
58281        Changed the minimum valid state from LOADING to HEADERS_RECEIVED.
58282
582832009-09-16  Vitaly Repeshko  <vitalyr@chromium.org>
58284
58285        Reviewed by Dimitri Glazkov.
58286
58287        [V8] Fix style violation in V8AbstractEventListener.
58288        https://bugs.webkit.org/show_bug.cgi?id=29303
58289
58290        * bindings/v8/V8AbstractEventListener.h:
58291        (WebCore::V8AbstractEventListener::operator==):
58292
582932009-09-16  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
58294
58295        Reviewed by Timothy Hatcher.
58296
58297        Add Watch Expression support to inspector
58298        https://bugs.webkit.org/show_bug.cgi?id=27514
58299
58300        Manual test added.
58301
58302        * English.lproj/localizedStrings.js:
58303        * WebCore.gypi:
58304        * WebCore.vcproj/WebCore.vcproj:
58305        * inspector/front-end/ConsoleView.js:
58306        (WebInspector.ConsoleView.prototype.completions):
58307        (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
58308        (WebInspector.ConsoleView.prototype._enterKeyPressed):
58309        * inspector/front-end/ObjectPropertiesSection.js:
58310        (WebInspector.ObjectPropertiesSection.prototype.update.callback):
58311        (WebInspector.ObjectPropertiesSection.prototype.update):
58312        (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
58313        (WebInspector.ObjectPropertiesSection.CompareProperties):
58314        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
58315        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
58316        (WebInspector.ObjectPropertyTreeElement.prototype.update):
58317        * inspector/front-end/ScriptsPanel.js:
58318        (WebInspector.ScriptsPanel):
58319        (WebInspector.ScriptsPanel.prototype.reset):
58320        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
58321        * inspector/front-end/WatchExpressionsSidebarPane.js: Added.
58322        (WebInspector.WatchExpressionsSidebarPane):
58323        (WebInspector.WatchExpressionsSidebarPane.prototype.refreshExpressions):
58324        (WebInspector.WatchExpressionsSection):
58325        (WebInspector.WatchExpressionsSection.prototype.update):
58326        (WebInspector.WatchExpressionsSection.prototype.addExpression):
58327        (WebInspector.WatchExpressionsSection.prototype.updateExpression):
58328        (WebInspector.WatchExpressionsSection.prototype.findAddedTreeElement):
58329        (WebInspector.WatchExpressionsSection.prototype.loadSavedExpressions):
58330        (WebInspector.WatchExpressionsSection.prototype.saveExpressions):
58331        (WebInspector.WatchExpressionsSection.CompareProperties):
58332        (WebInspector.WatchExpressionTreeElement):
58333        (WebInspector.WatchExpressionTreeElement.prototype.update):
58334        (WebInspector.WatchExpressionTreeElement.prototype._deleteButtonClicked):
58335        (WebInspector.WatchExpressionTreeElement.prototype.startEditing):
58336        (WebInspector.WatchExpressionTreeElement.prototype.editingCancelled):
58337        (WebInspector.WatchExpressionTreeElement.prototype.applyExpression):
58338        * inspector/front-end/WebKit.qrc:
58339        * inspector/front-end/inspector.css:
58340        * inspector/front-end/inspector.html:
58341        * manual-tests/inspector/debugger-watch-expressions.html: Added.
58342
583432009-09-16  Greg Bolsinga  <bolsinga@apple.com>
58344
58345        Add ENABLE(INSPECTOR)
58346        https://bugs.webkit.org/show_bug.cgi?id=29260
58347
58348        Reviewed by David Kilzer.
58349
58350        No new tests. (No change in default behavior.)
58351
58352        * DerivedSources.make: Use new WebCore.Inspector.exp file if ENABLE_DRAG_SUPPORT.
58353        * WebCore.base.exp: Move Inspector only exports to WebCore.Inspector.exp.
58354        * WebCore.xcodeproj/project.pbxproj: Add WebCore.Inspector.exp.
58355        * bindings/js/JSDOMWindowBase.cpp: Use ENABLE(INSPECTOR) where applicable.
58356        (WebCore::JSDOMWindowBase::supportsProfiling):
58357        * bindings/js/JSInspectedObjectWrapper.cpp: Wrap entire file in ENABLE(INSPECTOR).
58358        * bindings/js/JSInspectorBackendCustom.cpp: Ditto.
58359        * bindings/js/JSInspectorCallbackWrapper.cpp: Ditto.
58360        * bindings/js/ScriptObject.cpp: Use ENABLE(INSPECTOR) where applicable.
58361        * bindings/js/ScriptObject.h: Ditto.
58362        * bindings/js/ScriptObjectQuarantine.cpp: Wrap entire file in ENABLE(INSPECTOR).
58363        * dom/Document.cpp: Use ENABLE(INSPECTOR) where applicable.
58364        (WebCore::Document::recalcStyle):
58365        (WebCore::Document::addMessage):
58366        (WebCore::Document::resourceRetrievedByXMLHttpRequest):
58367        (WebCore::Document::scriptImported):
58368        * dom/Document.h: Ditto.
58369        * dom/Node.cpp: Ditto.
58370        (WebCore::Node::dispatchGenericEvent):
58371        * dom/ScriptExecutionContext.h: Ditto.
58372        (WebCore::):
58373        * html/HTMLDocument.cpp: Ditto.
58374        (WebCore::HTMLDocument::createTokenizer):
58375        * html/HTMLTokenizer.cpp: Ditto.
58376        (WebCore::HTMLTokenizer::write):
58377        * inspector/ConsoleMessage.cpp: Ditto.
58378        (WebCore::ConsoleMessage::ConsoleMessage):
58379        (WebCore::ConsoleMessage::isEqual):
58380        * inspector/ConsoleMessage.h: Ditto.
58381        * inspector/DOMDispatchTimelineItem.cpp: Wrap entire file in ENABLE(INSPECTOR).
58382        * inspector/InspectorBackend.cpp: Ditto.
58383        * inspector/InspectorController.cpp: Ditto.
58384        * inspector/InspectorDOMAgent.cpp: Ditto.
58385        * inspector/InspectorDOMStorageResource.cpp: Ditto.
58386        * inspector/InspectorDatabaseResource.cpp: Ditto.
58387        * inspector/InspectorFrontend.cpp: Ditto.
58388        * inspector/InspectorResource.cpp: Ditto.
58389        * inspector/InspectorTimelineAgent.cpp: Ditto.
58390        * inspector/TimelineItem.cpp: Ditto.
58391        * loader/FrameLoader.cpp: Use ENABLE(INSPECTOR) where applicable.
58392        (WebCore::FrameLoader::detachFromParent):
58393        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
58394        (WebCore::FrameLoader::loadedResourceFromMemoryCache):
58395        (WebCore::FrameLoader::dispatchWindowObjectAvailable):
58396        (WebCore::FrameLoader::dispatchDidCommitLoad):
58397        (WebCore::FrameLoader::dispatchAssignIdentifierToInitialRequest):
58398        (WebCore::FrameLoader::dispatchWillSendRequest):
58399        (WebCore::FrameLoader::dispatchDidReceiveResponse):
58400        (WebCore::FrameLoader::dispatchDidReceiveContentLength):
58401        (WebCore::FrameLoader::dispatchDidFinishLoading):
58402        * page/Chrome.cpp: Ditto.
58403        (WebCore::Chrome::mouseDidMoveOverElement):
58404        * page/Console.cpp: Ditto.
58405        (WebCore::Console::addMessage):
58406        (WebCore::Console::count):
58407        (WebCore::Console::profile):
58408        (WebCore::Console::profileEnd):
58409        (WebCore::Console::time):
58410        (WebCore::Console::timeEnd):
58411        (WebCore::Console::group):
58412        (WebCore::Console::groupEnd):
58413        * page/ContextMenuController.cpp: Ditto.
58414        (WebCore::ContextMenuController::handleContextMenuEvent):
58415        (WebCore::ContextMenuController::contextMenuItemSelected):
58416        * page/DOMWindow.cpp: Ditto.
58417        (WebCore::DOMWindow::sessionStorage):
58418        (WebCore::DOMWindow::localStorage):
58419        * page/EventHandler.cpp: Ditto.
58420        (WebCore::EventHandler::handleMousePressEvent):
58421        * page/FrameView.cpp: Ditto.
58422        (WebCore::FrameView::layout):
58423        (WebCore::FrameView::paintContents):
58424        * page/FrameView.h: Ditto.
58425        * page/Page.cpp: Ditto.
58426        (WebCore::Page::Page):
58427        (WebCore::Page::~Page):
58428        * page/Page.h: Ditto.
58429        * platform/ContextMenu.cpp: Ditto.
58430        (WebCore::ContextMenu::checkOrEnableIfNeeded):
58431        * platform/ContextMenuItem.h: Ditto.
58432        (WebCore::):
58433        * storage/Database.cpp: Ditto.
58434        (WebCore::Database::openDatabase):
58435        * workers/WorkerContext.cpp: Ditto.
58436        (WebCore::WorkerContext::importScripts):
58437        * xml/XMLHttpRequest.cpp: Ditto.
58438        (WebCore::XMLHttpRequest::didFinishLoading):
58439
584402009-09-16  Greg Bolsinga  <bolsinga@apple.com>
58441
58442        Add ENABLE(CONTEXT_MENUS)
58443        https://bugs.webkit.org/show_bug.cgi?id=29225
58444
58445        Reviewed by David Kilzer.
58446
58447        No new tests. (No change in default behavior.)
58448
58449        * DerivedSources.make: Use new WebCore.ContextMenus.exp file if ENABLE_CONTEXT_MENUS.
58450        * WebCore.base.exp: Move ContextMenu only exports to WebCore.ContextMenus.exp.
58451        * WebCore.xcodeproj/project.pbxproj: Add WebCore.ContextMenus.exp.
58452        * dom/Node.cpp: Use ENABLE(CONTEXT_MENUS) where applicable.
58453        (WebCore::Node::defaultEventHandler):
58454        * loader/EmptyClients.h: Ditto.
58455        * page/ContextMenuController.cpp: Wrap entire file in ENABLE(CONTEXT_MENUS).
58456        * page/EventHandler.cpp: Use ENABLE(CONTEXT_MENUS) where applicable.
58457        * page/EventHandler.h: Ditto.
58458        * page/Page.cpp: Ditto.
58459        (WebCore::Page::Page):
58460        * page/Page.h: Ditto.
58461        * page/mac/EventHandlerMac.mm: Ditto.
58462        * page/mac/WebCoreViewFactory.h: Ditto.
58463        * platform/ContextMenu.cpp: Wrap entire file in ENABLE(CONTEXT_MENUS).
58464        * platform/LocalizedStrings.h: Use ENABLE(CONTEXT_MENUS) where applicable.
58465        * platform/mac/ContextMenuItemMac.mm: Wrap entire file in ENABLE(CONTEXT_MENUS).
58466        * platform/mac/ContextMenuMac.mm: Ditto.
58467        * platform/mac/LocalizedStringsMac.mm: Use ENABLE(CONTEXT_MENUS) where applicable.
58468        * svg/graphics/SVGImage.cpp: Ditto.
58469        (WebCore::SVGImage::dataChanged):
58470
584712009-09-16  Dave Hyatt  <hyatt@apple.com>
58472
58473        Reviewed by Adam Roben.
58474
58475        Clean up invalidation for repainting.  Hoist the dirty rect intersection test in ScrollViewMac up
58476        into ScrollView so that all platforms do it.
58477        
58478        Patch deferred repaints in FrameView::repaintContentRectangle to only add the visible portion of
58479        the rectangle for repainting.
58480
58481        * page/FrameView.cpp:
58482        (WebCore::FrameView::repaintContentRectangle):
58483        * platform/ScrollView.cpp:
58484        (WebCore::ScrollView::repaintContentRectangle):
58485        * platform/mac/ScrollViewMac.mm:
58486        (WebCore::ScrollView::platformRepaintContentRectangle):
58487
584882009-09-16  Greg Bolsinga  <bolsinga@apple.com>
58489
58490        Add ENABLE(DRAG_SUPPORT)
58491        https://bugs.webkit.org/show_bug.cgi?id=29233
58492
58493        Reviewed by David Kilzer.
58494
58495        No new tests. (No change in default behavior.)
58496
58497        * DerivedSources.make: Use new WebCore.DragSupport.exp file if ENABLE_DRAG_SUPPORT.
58498        * WebCore.base.exp: Move Drag Support only exports to WebCore.DragSupport.exp.
58499        * WebCore.xcodeproj/project.pbxproj: Add WebCore.DragSupport.exp.
58500        * dom/Clipboard.h: Use ENABLE(DRAG_SUPPORT) where applicable.
58501        * loader/EmptyClients.h: Ditto.
58502        * page/DragController.cpp: Wrap entire file in ENABLE(DRAG_SUPPORT).
58503        * page/EventHandler.cpp: Use ENABLE(DRAG_SUPPORT) where applicable.
58504        (WebCore::EventHandler::EventHandler):
58505        (WebCore::EventHandler::clear):
58506        (WebCore::EventHandler::handleMousePressEvent):
58507        (WebCore::EventHandler::handleMouseReleaseEvent):
58508        (WebCore::EventHandler::handleMouseMoveEvent):
58509        * page/EventHandler.h: Ditto.
58510        * page/Page.cpp: Ditto.
58511        (WebCore::Page::Page):
58512        * page/Page.h: Ditto.
58513        * page/mac/DragControllerMac.mm: Wrap entire file in ENABLE(DRAG_SUPPORT).
58514        * page/mac/EventHandlerMac.mm: Use ENABLE(DRAG_SUPPORT) where applicable.
58515        (WebCore::EventHandler::passSubframeEventToSubframe):
58516        * platform/DragData.cpp: Wrap entire file in ENABLE(DRAG_SUPPORT).
58517        * platform/DragImage.cpp: Wrap entire file in ENABLE(DRAG_SUPPORT).
58518        * platform/mac/ClipboardMac.h: Use ENABLE(DRAG_SUPPORT) where applicable.
58519        * platform/mac/ClipboardMac.mm: Ditto.
58520        * platform/mac/DragDataMac.mm: Wrap entire file in ENABLE(DRAG_SUPPORT).
58521        * platform/mac/DragImageMac.mm: Wrap entire file in ENABLE(DRAG_SUPPORT).
58522        * rendering/RenderLayer.cpp: Use ENABLE(DRAG_SUPPORT) where applicable.
58523        (WebCore::RenderLayer::autoscroll):
58524        * rendering/RenderObject.cpp: Ditto.
58525        * rendering/RenderObject.h: Ditto.
58526        * svg/graphics/SVGImage.cpp: Ditto.
58527        (WebCore::SVGImage::dataChanged):
58528
585292009-09-16  Kevin Ollivier  <kevino@theolliviers.com>
58530
58531        wxMSW build fix after adding support for high resolution times in Win.
58532
58533        * page/Settings.cpp:
58534        * page/Settings.h:
58535
585362009-09-16  Vitaly Repeshko  <vitalyr@chromium.org>
58537
58538        Reviewed by Dimitri Glazkov.
58539
58540        [V8] Added operator==() to event listeners. This fixes V8 bindings
58541        build broken in http://trac.webkit.org/changeset/48402.
58542        https://bugs.webkit.org/show_bug.cgi?id=29298
58543
58544        * bindings/v8/V8AbstractEventListener.cpp:
58545        (WebCore::V8AbstractEventListener::V8AbstractEventListener): Now
58546        uses JSEventListenerType.
58547        * bindings/v8/V8AbstractEventListener.h:
58548        (WebCore::V8AbstractEventListener::operator==): Only compares
58549        pointers since we create at most one wrapper for a JS object.
58550
585512009-09-16  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
58552
58553        Reviewed by Xan Lopez.
58554
58555        [GTK] Crash when visiting http://flipper.googlelabs.com/
58556        https://bugs.webkit.org/show_bug.cgi?id=29293
58557
58558        Check type for being null or empty before looking it up in the
58559        hash of supported types.
58560
58561        Tested by http/tests/loading/redirect-with-no-location-crash.html
58562
58563        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
58564        (WebCore::MediaPlayerPrivate::supportsType):
58565
585662009-09-15  Geoffrey Garen  <ggaren@apple.com>
58567
58568        Reviewed by Sam Weinig.
58569        
58570        Removed the notion of "disconnected nodes with event listeners" because
58571        it was vestigial. The reference cycle it tried to solve was solved another
58572        way in https://bugs.webkit.org/show_bug.cgi?id=21260.
58573
58574        * dom/Document.cpp:
58575        (WebCore::Document::removeAllEventListeners):
58576        * dom/Document.h:
58577        * dom/Node.cpp:
58578        (WebCore::Node::~Node):
58579        (WebCore::Node::insertedIntoDocument):
58580        (WebCore::Node::removedFromDocument):
58581        (WebCore::Node::willMoveToNewOwnerDocument):
58582        (WebCore::Node::didMoveToNewOwnerDocument):
58583        (WebCore::Node::addEventListener):
58584        (WebCore::Node::removeEventListener):
58585        (WebCore::Node::clearAttributeEventListener):
58586
585872009-09-15  Chris Fleizach  <cfleizach@apple.com>
58588
58589        Reviewed by Beth Dakin.
58590
58591        WAI-ARIA: add support for ranges, including the progressbar, slider, and spinbutton roles
58592        https://bugs.webkit.org/show_bug.cgi?id=28841
58593
58594        Allow certain ARIA roles to change value with AXIncrement and AXDecrement. 
58595        Consolidate increment/decrement/changeValue methods. 
58596
58597        Test: accessibility/aria-slider-value-change.html
58598
58599        * accessibility/AccessibilityObject.cpp:
58600        * accessibility/AccessibilityRenderObject.cpp:
58601        (WebCore::AccessibilityRenderObject::increment):
58602        (WebCore::AccessibilityRenderObject::decrement):
58603        (WebCore::AccessibilityRenderObject::changeValueByPercent):
58604        (WebCore::AccessibilityRenderObject::setValue):
58605        (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
58606        * accessibility/AccessibilityRenderObject.h:
58607        * accessibility/AccessibilitySlider.cpp:
58608        * accessibility/AccessibilitySlider.h:
58609        * dom/Element.cpp:
58610        (WebCore::Element::updateAfterAttributeChanged):
58611
586122009-09-15  Geoffrey Garen  <ggaren@apple.com>
58613
58614        Reviewed by Sam Weinig.
58615
58616        Removed the jsEventListeners set from JSDOMGlobalObject, to simplify
58617        creation and destruction of JSDOMGlobalObject and event listeners.
58618        
58619        Added an abstract operator==() to EventListener, to replace the
58620        jsEventListeners set's role in determining if two event listeners are
58621        equal from the DOM's perspective.
58622        
58623        Added a type field to EventListener, and casting operations, to support
58624        operator==() and other abstract operations.
58625
58626        * WebCore.xcodeproj/project.pbxproj:
58627        * bindings/js/JSAbstractWorkerCustom.cpp:
58628        (WebCore::JSAbstractWorker::addEventListener):
58629        (WebCore::JSAbstractWorker::removeEventListener):
58630        * bindings/js/JSDOMApplicationCacheCustom.cpp:
58631        (WebCore::JSDOMApplicationCache::addEventListener):
58632        (WebCore::JSDOMApplicationCache::removeEventListener):
58633        * bindings/js/JSDOMGlobalObject.cpp:
58634        * bindings/js/JSDOMGlobalObject.h:
58635        * bindings/js/JSDOMWindowCustom.cpp:
58636        (WebCore::JSDOMWindow::addEventListener):
58637        (WebCore::JSDOMWindow::removeEventListener):
58638        * bindings/js/JSDesktopNotificationsCustom.cpp:
58639        (WebCore::JSNotification::addEventListener):
58640        (WebCore::):
58641        * bindings/js/JSEventListener.cpp:
58642        (WebCore::JSEventListener::JSEventListener):
58643        (WebCore::JSEventListener::~JSEventListener):
58644        (WebCore::JSEventListener::markJSFunction):
58645        (WebCore::JSEventListener::handleEvent):
58646        (WebCore::JSEventListener::reportError):
58647        (WebCore::JSEventListener::operator==):
58648        * bindings/js/JSEventListener.h:
58649        (WebCore::JSEventListener::cast):
58650        * bindings/js/JSEventSourceCustom.cpp:
58651        (WebCore::JSEventSource::addEventListener):
58652        (WebCore::JSEventSource::removeEventListener):
58653        * bindings/js/JSMessagePortCustom.cpp:
58654        (WebCore::JSMessagePort::addEventListener):
58655        (WebCore::JSMessagePort::removeEventListener):
58656        * bindings/js/JSNodeCustom.cpp:
58657        (WebCore::JSNode::addEventListener):
58658        (WebCore::JSNode::removeEventListener):
58659        * bindings/js/JSSVGElementInstanceCustom.cpp:
58660        (WebCore::JSSVGElementInstance::addEventListener):
58661        (WebCore::JSSVGElementInstance::removeEventListener):
58662        * bindings/js/JSWorkerContextCustom.cpp:
58663        (WebCore::JSWorkerContext::addEventListener):
58664        (WebCore::JSWorkerContext::removeEventListener):
58665        * bindings/js/JSXMLHttpRequestCustom.cpp:
58666        (WebCore::JSXMLHttpRequest::addEventListener):
58667        (WebCore::JSXMLHttpRequest::removeEventListener):
58668        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
58669        (WebCore::JSXMLHttpRequestUpload::addEventListener):
58670        (WebCore::JSXMLHttpRequestUpload::removeEventListener):
58671        * bindings/objc/ObjCEventListener.h:
58672        (WebCore::ObjCEventListener::cast):
58673        * bindings/objc/ObjCEventListener.mm:
58674        (WebCore::ObjCEventListener::ObjCEventListener):
58675        (WebCore::ObjCEventListener::operator==):
58676        * dom/EventListener.h:
58677        (WebCore::EventListener::):
58678        (WebCore::EventListener::type):
58679        (WebCore::EventListener::EventListener):
58680        * dom/MessagePort.cpp:
58681        (WebCore::MessagePort::addEventListener):
58682        (WebCore::MessagePort::removeEventListener):
58683        * dom/Node.cpp:
58684        (WebCore::Node::removeEventListener):
58685        * inspector/InspectorDOMAgent.cpp:
58686        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
58687        (WebCore::InspectorDOMAgent::mainFrameDocument):
58688        (WebCore::InspectorDOMAgent::operator==):
58689        * inspector/InspectorDOMAgent.h:
58690        (WebCore::InspectorDOMAgent::cast):
58691        * loader/ImageDocument.cpp:
58692        (WebCore::ImageEventListener::cast):
58693        (WebCore::ImageEventListener::ImageEventListener):
58694        (WebCore::ImageEventListener::operator==):
58695        * loader/appcache/DOMApplicationCache.cpp:
58696        (WebCore::DOMApplicationCache::addEventListener):
58697        (WebCore::DOMApplicationCache::removeEventListener):
58698        * notifications/Notification.cpp:
58699        (WebCore::Notification::removeEventListener):
58700        * page/DOMWindow.cpp:
58701        (WebCore::DOMWindow::removeEventListener):
58702        * page/EventSource.cpp:
58703        (WebCore::EventSource::addEventListener):
58704        (WebCore::EventSource::removeEventListener):
58705        * svg/animation/SVGSMILElement.cpp:
58706        (WebCore::ConditionEventListener::cast):
58707        (WebCore::ConditionEventListener::ConditionEventListener):
58708        (WebCore::ConditionEventListener::operator==):
58709        (WebCore::ConditionEventListener::handleEvent):
58710        * workers/AbstractWorker.cpp:
58711        (WebCore::AbstractWorker::addEventListener):
58712        (WebCore::AbstractWorker::removeEventListener):
58713        * workers/WorkerContext.cpp:
58714        (WebCore::WorkerContext::addEventListener):
58715        (WebCore::WorkerContext::removeEventListener):
58716        * xml/XMLHttpRequest.cpp:
58717        (WebCore::XMLHttpRequest::addEventListener):
58718        (WebCore::XMLHttpRequest::removeEventListener):
58719        * xml/XMLHttpRequestUpload.cpp:
58720        (WebCore::XMLHttpRequestUpload::addEventListener):
58721        (WebCore::XMLHttpRequestUpload::removeEventListener):
58722
587232009-09-15  Alex Milowski  <alex@milowski.com>
58724
58725        Reviewed by Tor Arne Vestbø.
58726
58727        Added ENABLE_MATHML to feature defines
58728
58729        * Configurations/FeatureDefines.xcconfig:
58730
587312009-09-14  Andrew Richards  <randrew@gmail.com>
58732
58733        Reviewed by Sam Weinig.
58734
58735        Document.elementFromPoint() and Document.caretRangeFromPoint() erroneously returning null at points visible only after scrolling.
58736        https://bugs.webkit.org/show_bug.cgi?id=29245
58737
58738        Use visibleContentRect() instead of boundsRect() when checking hit point bounds on viewport.
58739
58740        * dom/Document.cpp:
58741        (WebCore::Document::elementFromPoint):
58742        (WebCore::Document::caretRangeFromPoint):
58743
587442009-09-15  Jungshik Shin  <jshin@chromium.org>
58745
58746        Reviewed by Eric Seidel
58747
58748        http://bugs.webkit.org/show_bug.cgi?id=26660
58749
58750        Chromium Windows: When rotated, the baseline for a span of complex
58751        script is completely misaligned with that of the adjacent 
58752        simple script text. It's fixed by not applying the baseline offset for
58753        the Skia code path.
58754
58755        Test: transforms/2d/hindi-rotated.html
58756
58757        * platform/graphics/chromium/UniscribeHelper.cpp:
58758        (WebCore::UniscribeHelper::draw):
58759
587602009-09-15  Anders Carlsson  <andersca@apple.com>
58761
58762        Reviewed by Adam Roben.
58763
58764        Pass the PopupMenu pointer to CreateWindowEx and then get it from the LPCREATESTRUCT in
58765        the WM_CREATE handler. This way we don't have to first create an zero size window and then size it.
58766        
58767        * platform/win/PopupMenuWin.cpp:
58768        (WebCore::PopupMenu::show):
58769        (WebCore::PopupMenu::PopupMenuWndProc):
58770
587712009-09-15  Drew Wilson  <atwilson@google.com>
58772
58773        Reviewed by Darin Adler.
58774
58775        MessageEvent should not be cancelable by default
58776        https://bugs.webkit.org/show_bug.cgi?id=27846
58777
58778        * dom/MessageEvent.cpp:
58779        (WebCore::MessageEvent::MessageEvent):
58780        Changed constructor to set cancelable=false by default, per the HTML5 spec.
58781
587822009-09-15  Charles Wei  <charles.wei@torchmobile.com.cn>
58783
58784        Reviewed by George Staikos.
58785
58786        Fix SVG path parsing error if a command starts with dot '.'
58787        https://bugs.webkit.org/show_bug.cgi?id=29123
58788
58789        * svg/SVGParserUtilities.cpp:
58790        (WebCore::SVGPathParser::parseSVG):
58791
587922009-09-15  Alexander Pavlov  <apavlov@chromium.org>
58793
58794        Reviewed by Timothy Hatcher.
58795
58796        Implement conditional breakpoints in the Web Inspector frontend.
58797        https://bugs.webkit.org/show_bug.cgi?id=28908
58798
58799        * English.lproj/localizedStrings.js:
58800        * WebCore.gypi:
58801        * WebCore.vcproj/WebCore.vcproj:
58802        * inspector/front-end/Breakpoint.js:
58803        (WebInspector.Breakpoint.prototype.set condition):
58804        * inspector/front-end/Popup.js: Added.
58805        (WebInspector.Popup):
58806        (WebInspector.Popup.prototype.show):
58807        (WebInspector.Popup.prototype.hide):
58808        (WebInspector.Popup.prototype.get visible):
58809        (WebInspector.Popup.prototype.set element):
58810        (WebInspector.Popup.prototype.get element):
58811        (WebInspector.Popup.prototype.positionElement):
58812        (WebInspector.Popup.prototype.set anchor):
58813        (WebInspector.Popup.prototype.get anchor):
58814        (WebInspector.Popup.prototype.set autoHide):
58815        (WebInspector.Popup.prototype._checkNotVisible):
58816        (WebInspector.Popup.prototype._keyEventHandler):
58817        (WebInspector.Popup.prototype._mouseDownEventHandler):
58818        * inspector/front-end/SourceFrame.js:
58819        (WebInspector.SourceFrame.prototype.revealLine):
58820        (WebInspector.SourceFrame.prototype._loaded):
58821        (WebInspector.SourceFrame.prototype._documentContextMenu):
58822        (WebInspector.SourceFrame.prototype._documentMouseDown):
58823        (WebInspector.SourceFrame.prototype._editBreakpointCondition.committed):
58824        (WebInspector.SourceFrame.prototype._editBreakpointCondition.dismissed):
58825        (WebInspector.SourceFrame.prototype._editBreakpointCondition):
58826        (WebInspector.SourceFrame.prototype._showBreakpointConditionPopup):
58827        (WebInspector.SourceFrame.prototype._createPopupElement):
58828        (WebInspector.SourceFrame.prototype._addBreakpointToSource):
58829        (WebInspector.SourceFrame.prototype._removeBreakpointFromSource):
58830        (WebInspector.SourceFrame.prototype._drawBreakpointImagesIfNeeded.drawBreakpoint):
58831        (WebInspector.SourceFrame.prototype._drawBreakpointImagesIfNeeded):
58832        * inspector/front-end/WebKit.qrc:
58833        * inspector/front-end/inspector.html:
58834        * inspector/front-end/inspector.js:
58835        (WebInspector.set currentFocusElement):
58836        (WebInspector.set currentPanel):
58837        (WebInspector.loaded):
58838        (WebInspector.contextMenu):
58839        (WebInspector.elementDragStart):
58840        (WebInspector.updateResource):
58841        (WebInspector.drawLoadingPieChart):
58842        (WebInspector.linkifyURLAsNode):
58843        (WebInspector.startEditing.getContent):
58844        (WebInspector.startEditing.editingCancelled):
58845        (WebInspector.startEditing.editingCommitted):
58846        * inspector/front-end/utilities.js:
58847        (Element.prototype.positionAt):
58848        (Element.prototype.offsetRelativeToWindow):
58849
588502009-09-14  Brady Eidson  <beidson@apple.com>
58851
58852        Reviewed by Darin Adler.
58853
58854        Page cache should support pages with unload handlers as an experiment.
58855        <rdar://problem/7196485> and https://bugs.webkit.org/show_bug.cgi?id=29021
58856
58857        For the experiment, only allow pages with unload handlers into the Page Cache on
58858        Mac and Windows.
58859
58860        * loader/FrameLoader.cpp:
58861        (WebCore::FrameLoader::canCachePageContainingThisFrame):
58862        (WebCore::FrameLoader::logCanCacheFrameDecision):
58863
588642009-09-14  Simon Fraser  <simon.fraser@apple.com>
58865
58866        Fix the change in r48376 to do a null-check to fix a crashing test.
58867
58868        * dom/SelectElement.cpp:
58869        (WebCore::SelectElement::menuListDefaultEventHandler):
58870
588712009-09-14  Simon Fraser  <simon.fraser@apple.com>
58872
58873        Reviewed by Dan Bernstein.
58874
58875        <rdar://problem/7047282> Safari crashes at WebCore::RenderMenuList::adjustInnerStyle() 436
58876        
58877        Avoid a crash when a mouse event handler on a <select> changes the select from a popup
58878        to a list (by setting the 'size' property) inside the event handler.
58879
58880        Test: fast/forms/select-change-popup-to-listbox-in-event-handler.html
58881
58882        * dom/SelectElement.cpp:
58883        (WebCore::SelectElement::menuListDefaultEventHandler):
58884
588852009-09-14  Anders Carlsson  <andersca@apple.com>
58886
58887        Reviewed by Jon Honeycutt.
58888
58889        More PopupMenu cleanup.
58890        
58891        * platform/PopupMenu.h:
58892        * platform/win/PopupMenuWin.cpp:
58893        (WebCore::PopupMenu::show):
58894        Call registerClass.
58895        
58896        (WebCore::PopupMenu::registerClass):
58897        Make this a private static member function so it can refer to PopupMenuWndProc.
58898        
58899        (WebCore::PopupMenu::PopupMenuWndProc):
58900        Try to get the PopupMenu and call its wndProc member function.
58901        
58902        (WebCore::PopupMenu::wndProc):
58903        Make this a member function.
58904
589052009-09-14  Brady Eidson  <beidson@apple.com>
58906
58907        Not reviewed, maybe should've been:
58908
58909        Cleaning up more Windows-specific fallout from the fix for:
58910        <rdar://problem/7174050> and https://bugs.webkit.org/show_bug.cgi?id=29160
58911
58912        * platform/network/cf/ResourceHandleCFNet.cpp:
58913        (WebCore::WebCoreSynchronousLoader::load): Don't allow empty CFStrings as the stored credentials,
58914          as related checks all look at nullity when they really mean to be looking for emptiness. 
58915
589162009-09-14  Anders Carlsson  <andersca@apple.com>
58917
58918        Speculative Qt build fix.
58919        
58920        * platform/qt/QWebPopup.cpp:
58921        (WebCore::QWebPopup::hidePopup):
58922
589232009-09-14  Dirk Pranke  <dpranke@chromium.org>
58924
58925        Reviewed by Darin Fisher.
58926
58927        Fix RenderThemeChromiumWin::determineClassicState so that classic_state
58928        matches the state values (and you get a single classic_state value
58929        for a given {part,state} value. This change will be tested by a 
58930        chromium patch that will land after this.
58931
58932        This will be tested by code landing downstream on Chromium.org; the
58933        code does not execute on webkit.org.
58934
58935        * rendering/RenderThemeChromiumWin.cpp:
58936        (WebCore::RenderThemeChromiumWin::determineClassicState):
58937        (WebCore::RenderThemeChromiumWin::getThemeData):
58938
589392009-09-14  Anders Carlsson  <andersca@apple.com>
58940
58941        Reviewed by Adam Roben.
58942
58943        https://bugs.webkit.org/show_bug.cgi?id=29138
58944        Simplify popup menu handling.
58945
58946        * platform/PopupMenuClient.h:
58947        Rename hidePopup to popupDidHide.
58948        
58949        * platform/chromium/PopupMenuChromium.cpp:
58950        (WebCore::PopupListBox::handleKeyEvent):        
58951        (WebCore::PopupListBox::abandon):
58952        (WebCore::PopupListBox::acceptIndex):
58953        Call popupDidHide instead of hidePopup.
58954        
58955        * platform/gtk/PopupMenuGtk.cpp:
58956        (WebCore::PopupMenu::menuUnmapped):
58957        Ditto.
58958        
58959        * platform/mac/PopupMenuMac.mm:
58960        (WebCore::PopupMenu::show):
58961        Ditto.
58962        
58963        * platform/win/PopupMenuWin.cpp:
58964        (WebCore::PopupMenu::hide):
58965        Call popupDidHide.
58966        
58967        (WebCore::PopupWndProc):
58968        Call PopupMenu::hide.
58969        
58970        * platform/wx/PopupMenuWx.cpp:
58971        (WebCore::PopupMenu::OnMenuItemSelected):
58972        Call popupDidHide.
58973        
58974        * rendering/RenderMenuList.cpp:
58975        (WebCore::RenderMenuList::hidePopup):
58976        (WebCore::RenderMenuList::popupDidHide):
58977        * rendering/RenderMenuList.h:
58978        Set the "popup is visible" flag in popupDidHide.
58979        
58980        * rendering/RenderTextControlSingleLine.cpp:
58981        (WebCore::RenderTextControlSingleLine::hidePopup):
58982        (WebCore::RenderTextControlSingleLine::popupDidHide):
58983        * rendering/RenderTextControlSingleLine.h:
58984        Ditto.
58985
589862009-09-14  Anders Carlsson  <andersca@apple.com>
58987
58988        Reviewed by David Hyatt.
58989
58990        - Fix <rdar://problem/7182275>.
58991
58992        Make sure that the newly created scrollbar's style is up to date.
58993        
58994        * platform/win/PopupMenuWin.cpp:
58995        (WebCore::PopupMenu::~PopupMenu):
58996        Call setParent so that the scrollbar's parts are torn down correctly.
58997        
58998        (WebCore::PopupMenu::show):
58999        Call styleChanged.
59000
590012009-09-11  Jon Honeycutt  <jhoneycutt@apple.com>
59002
59003        <rdar://problem/7197644> WebKit should broadcast an MSAA event when
59004        jumping to a named anchor
59005
59006        https://bugs.webkit.org/show_bug.cgi?id=28899
59007
59008        Reviewed by Adam Roben.
59009
59010        * accessibility/AXObjectCache.h:
59011        (WebCore::AXObjectCache::):
59012        Added declaration for handleScrolledToAnchor(). Added a new entry to
59013        the enum of accessibility notifications.
59014
59015        * accessibility/AccessibilityObject.cpp:
59016        (WebCore::AccessibilityObject::firstAccessibleObjectFromNode):
59017        Code moved from AccessibilityRenderObject::internalLinkElement() and
59018        refactored slightly; walks the tree until it finds a Node (with a
59019        renderer) whose accessibility is not ignored.
59020
59021        * accessibility/AccessibilityObject.h:
59022        Added a declaration for firstAccessibleObjectFromNode().
59023
59024        * accessibility/AccessibilityRenderObject.cpp:
59025        (WebCore::AccessibilityRenderObject::internalLinkElement):
59026        Code moved to AccessibilityObject::firstAccessibleObjectFromNode().
59027
59028        * accessibility/chromium/AXObjectCacheChromium.cpp:
59029        (WebCore::AXObjectCache::handleScrolledToAnchor):
59030        Stubbed.
59031
59032        * accessibility/gtk/AXObjectCacheAtk.cpp:
59033        (WebCore::AXObjectCache::handleScrolledToAnchor):
59034        Stubbed.
59035
59036        * accessibility/mac/AXObjectCacheMac.mm:
59037        (WebCore::AXObjectCache::postPlatformNotification):
59038        Add a default case that returns early for notifications that Mac
59039        doesn't handle.
59040        (WebCore::AXObjectCache::handleScrolledToAnchor):
59041        Stubbed.
59042
59043        * accessibility/win/AXObjectCacheWin.cpp:
59044        (WebCore::AXObjectCache::handleScrolledToAnchor):
59045        Post an AXScrolledToAnchor notification for the first accessible from
59046        the anchor Node.
59047        (WebCore::AXObjectCache::postPlatformNotification):
59048        If the notification is AXFocusedUIElementChanged, fire an
59049        EVENT_OBJECT_FOCUS. If the notification is AXScrolledToAnchor, fire
59050        EVENT_SYSTEM_SCROLLINGSTART, matching Firefox.
59051        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
59052        Code moved to postPlatformNotification().
59053
59054        * page/FrameView.cpp:
59055        (WebCore::FrameView::scrollToAnchor):
59056        Call AXObjectCache::handleScrolledToAnchor().
59057
590582009-09-14  Anthony Ricaud  <rik@webkit.org>
59059
59060        Reviewed by Timothy Hatcher.
59061
59062        Cookies are not inspectable after reloading a page
59063        https://bugs.webkit.org/show_bug.cgi?id=29222
59064
59065        Create the cookieTreeElement on initialization instead of when the view is shown.
59066        Reset the selected element of the sidebar on reset.
59067
59068        * inspector/front-end/StoragePanel.js:
59069        (WebInspector.StoragePanel):
59070        (WebInspector.StoragePanel.prototype.show):
59071        (WebInspector.StoragePanel.prototype.reset):
59072
59073
590742009-09-14  Brady Eidson  <beidson@apple.com>
59075
59076        Windows build fix.
59077
59078        * platform/network/cf/ResourceHandleCFNet.cpp:
59079        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
59080        (WebCore::ResourceHandle::receivedCredential):
59081        (WebCore::WebCoreSynchronousLoader::didReceiveChallenge):
59082        (WebCore::WebCoreSynchronousLoader::load):
59083
590842009-09-14  Brady Eidson  <beidson@apple.com>
59085
59086        Reviewed by Alexey Proskuryakov.
59087
59088        Safari 4 cannot be used to update firmware on Linksys routers.
59089        <rdar://problem/7174050> and https://bugs.webkit.org/show_bug.cgi?id=29160
59090
59091        In http://trac.webkit.org/changeset/42483, we disabled CFNetwork's session credential storage and 
59092        implemented our own in WebCore.
59093
59094        One feature we lost is that CFNetwork would automatically send previously authenticated credentials
59095        with new connections when the paths match, as allowed by RFC 2617 for HTTP Basic and Digest Authentication.  
59096
59097        Even though it's optional for User Agents to do this, (some?) Linksys routers rely on this behavior for
59098        HTTP Basic Authentication.  So now WebCore's CredentialStorage will track URL paths for Basic credentials.
59099
59100        We're not making this enhancement for Digest at this time, since we don't know of anything that broke
59101        due to the change in Digest behavior.
59102
59103        Test: http/tests/loading/basic-credentials-sent-automatically.html
59104              http/tests/loading/basic-auth-resend-wrong-credentials.html
59105
59106        * WebCore.base.exp:
59107        * WebCore.vcproj/WebCore.vcproj:
59108        * WebCore.xcodeproj/project.pbxproj:
59109
59110        * platform/network/Credential.cpp:
59111        (WebCore::Credential::isEmpty):
59112        * platform/network/Credential.h:
59113
59114        Add a slightly more full featured CredentialStore that will track URL paths a credential belongs to:
59115        * platform/network/CredentialStorage.cpp: Added.
59116        (WebCore::protectionSpaceToCredentialMap):
59117        (WebCore::originToDefaultCredentialMap):
59118        (WebCore::originStringFromURL):
59119        (WebCore::CredentialStorage::set):
59120        (WebCore::CredentialStorage::get):
59121        (WebCore::CredentialStorage::getDefaultAuthenticationCredential):
59122        * platform/network/CredentialStorage.h: Added.
59123
59124        Allow ProtectionSpace to be a hash key:
59125        * platform/network/ProtectionSpace.cpp:
59126        (WebCore::ProtectionSpace::ProtectionSpace):
59127        * platform/network/ProtectionSpace.h:
59128        (WebCore::ProtectionSpace::ProtectionSpace):
59129        (WebCore::ProtectionSpace::isHashTableDeletedValue):
59130        * platform/network/ProtectionSpaceHash.h: Added.
59131        (WebCore::ProtectionSpaceHash::hash):
59132        (WebCore::ProtectionSpaceHash::equal):
59133
59134        Allow ResourceHandles to remember the initial credential they used:
59135        * platform/network/ResourceHandleInternal.h:
59136
59137        Allow mutable ResourceRequests to update their platform object if HTTP header fields change:
59138        * platform/network/ResourceRequestBase.cpp:
59139        (WebCore::ResourceRequestBase::addHTTPHeaderField):
59140
59141        Remove WebCoreCredentialStorage:
59142        * platform/network/cf/AuthenticationCF.cpp:
59143        * platform/network/cf/AuthenticationCF.h:
59144        * platform/network/mac/AuthenticationMac.h:
59145        * platform/network/mac/AuthenticationMac.mm:
59146
59147        Change ResourceHandleCFNet to try to use stored credentials on new connections, if appropriate:
59148        * platform/network/cf/ResourceHandleCFNet.cpp:
59149        (WebCore::ResourceHandle::start):
59150        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Only try the ProtectionSpace key'ed
59151          Credential if it does not match the initially used Credential.
59152        (WebCore::ResourceHandle::receivedCredential):
59153        (WebCore::WebCoreSynchronousLoader::didReceiveChallenge): Only try the ProtectionSpace key'ed
59154          Credential if it does not match the initially used Credential.
59155        (WebCore::WebCoreSynchronousLoader::load):
59156
59157        Change ResourceHandleMac to try to use stored credentials on new connections, if appropriate:
59158        * platform/network/mac/ResourceHandleMac.mm:
59159        (WebCore::ResourceHandle::start):
59160        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Only try the ProtectionSpace key'ed
59161          Credential if it does not match the initially used Credential.
59162        (WebCore::ResourceHandle::receivedCredential):
59163        (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Only try the 
59164          ProtectionSpace key'ed Credential if it does not match the initially used Credential.
59165        (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]):
59166
59167        Add base64-ability to CString:
59168        * platform/text/CString.cpp:
59169        (WebCore::CStringBuffer::base64Encode):
59170        (WebCore::CString::base64Encode):
59171        * platform/text/CString.h:
59172        (WebCore::CStringBuffer::create):
59173        (WebCore::CStringBuffer::CStringBuffer):
59174
591752009-09-12  Mark Rowe  <mrowe@apple.com>
59176
59177        Reviewed by Dan Bernstein.
59178
59179        Fix <rdar://problem/6954546> Crashes in WebCore::RenderPart::setWidget below FrameLoader::loadPlugin.
59180
59181        The calls to FrameLoader::requestObject within RenderPartObject::updateWidget can result in a plug-in
59182        being initialized.  This can run cause arbitrary JavaScript to run and may result in the RenderPartObject
59183        being detached from the render tree and destroyed, causing a crash like <rdar://problem/6954546>.
59184
59185        No test is possible until <rdar://problem/7090444> is fixed.
59186
59187        * rendering/RenderPartObject.cpp:
59188        (WebCore::RenderPartObject::updateWidget): Ensure that we stay alive for the duration of plug-in initialization.
59189
591902009-09-12  Mark Rowe  <mrowe@apple.com>
59191
59192        Reviewed by Dan Bernstein.
59193
59194        Add RenderWidgetProtector to simplify protecting a RenderWidget from destruction for the
59195        duration of a function.  Deploy it within RenderWidget.
59196
59197        * rendering/RenderWidget.cpp:
59198        (WebCore::RenderWidget::setWidgetGeometry):
59199        (WebCore::RenderWidget::updateWidgetPosition): Use a RefPtr rather than explicitly
59200        ref'ing and deref'ing the node.
59201        * rendering/RenderWidget.h:
59202        * rendering/RenderWidgetProtector.h:
59203        (WebCore::RenderWidgetProtector::RenderWidgetProtector):
59204        (WebCore::RenderWidgetProtector::~RenderWidgetProtector):
59205
592062009-09-14  Cameron McCormack  <cam@mcc.id.au>
59207
59208        Reviewed by Eric Seidel.
59209
59210        CodeGenerator.pm needs some cleaning up
59211        https://bugs.webkit.org/show_bug.cgi?id=29238
59212
59213        * bindings/scripts/CodeGenerator.pm:
59214        (FindParentsRecursively): Removed; its functionality is now handled in
59215        AddMethodsConstantsAndAttributesFromParentClasses.
59216        (ForAllParents): New function that visits an interface's ancestors and
59217        invokes a callback for each one.
59218        (AddMethodsConstantsAndAttributesFromParentClasses): Simplified by using
59219        ForAllParents.
59220        (GetMethodsAndAttributesFromParentClasses): Ditto.
59221        (IDLFileForInterface): Factored out previous calls to ScanDirectory into
59222        this new function, which returns the filename containing a given IDL
59223        interface definition.
59224        (ParseInterface): Simplified by using IDLFileForInterface.
59225        (ScanDirectory): Removed in lieu of IDLFileForInterface.
59226        * bindings/scripts/CodeGeneratorV8.pm: Drop call to
59227        FindParentsRecursively and get the list of parents from the
59228        AddMethodsConstantsAndAttributesFromParentClasses call instead.
59229
592302009-09-14  Yael Aharon  <yael.aharon@nokia.com>
59231
59232        Reviewed by Tor Arne Vestbø.
59233
59234        [Qt] Assert hit when dropping a file in QtLauncher
59235        https://bugs.webkit.org/show_bug.cgi?id=29242
59236
59237        Qt's implementation of DropData::asURL does not return a URL encoded string
59238        as expected.
59239
59240        * platform/qt/DragDataQt.cpp:
59241        (WebCore::DragData::asURL):
59242
592432009-09-13  Kevin Ollivier  <kevino@theolliviers.com>
59244
59245        wx build fix, file was missed during TLS.cpp removal.
59246
59247        * page/wx/FrameWx.cpp: Added.
59248        (WebCore::Frame::dragImageForSelection):
59249
592502009-09-13  Anthony Ricaud  <rik@webkit.org>
59251
59252        Reviewed by Oliver Hunt.
59253
59254        Web Inspector: Add "New Style Rule" to the localizedStrings
59255        https://bugs.webkit.org/show_bug.cgi?id=29237
59256
59257        * English.lproj/localizedStrings.js:
59258
592592009-09-13  Kevin Watters  <kevinwatters@gmail.com>
59260
59261        Reviewed by Kevin Ollivier.
59262
59263        [wx] Implement filesystem functions.
59264
59265        https://bugs.webkit.org/show_bug.cgi?id=29196
59266
59267        * platform/wx/FileSystemWx.cpp:
59268        (WebCore::fileExists):
59269        (WebCore::deleteFile):
59270        (WebCore::deleteEmptyDirectory):
59271        (WebCore::getFileSize):
59272        (WebCore::getFileModificationTime):
59273        (WebCore::makeAllDirectories):
59274        (WebCore::pathByAppendingComponent):
59275        (WebCore::homeDirectoryPath):
59276        (WebCore::directoryName):
59277
592782009-09-12  Kevin Ollivier  <kevino@theolliviers.com>
59279
59280        wx build fixes for wx 2.9.
59281
59282        * platform/wx/ScrollbarThemeWx.cpp:
59283        * platform/wx/wxcode/gtk/scrollbar_render.cpp:
59284        (wxGetGdkWindowForDC):
59285
592862009-09-12  Oliver Hunt  <oliver@apple.com>
59287
59288        Reviewed by Maciej Stachowiak.
59289
59290        [ES5] Implement Object.keys
59291        https://bugs.webkit.org/show_bug.cgi?id=29170
59292
59293        Switch from getPropertyNames to getOwnPropertyNames, and provide custom
59294        getPropertyNames to DOMWindow, DOMWindowShell and QuarantinedObjectWrapper
59295        in order to ensure correct semantics are maintained.
59296
59297        Test: fast/js/Object-keys.html
59298
59299        * bindings/js/JSDOMWindowCustom.cpp:
59300        (WebCore::JSDOMWindow::getOwnPropertyNames):
59301        * bindings/js/JSDOMWindowShell.cpp:
59302        (WebCore::JSDOMWindowShell::getOwnPropertyNames):
59303        * bindings/js/JSDOMWindowShell.h:
59304        * bindings/js/JSHistoryCustom.cpp:
59305        (WebCore::JSHistory::getOwnPropertyNames):
59306        * bindings/js/JSLocationCustom.cpp:
59307        (WebCore::JSLocation::getOwnPropertyNames):
59308        * bindings/js/JSQuarantinedObjectWrapper.cpp:
59309        (WebCore::JSQuarantinedObjectWrapper::getPropertyNames):
59310        (WebCore::JSQuarantinedObjectWrapper::getOwnPropertyNames):
59311        * bindings/js/JSQuarantinedObjectWrapper.h:
59312        * bindings/js/JSStorageCustom.cpp:
59313        (WebCore::JSStorage::getOwnPropertyNames):
59314        * bindings/scripts/CodeGeneratorJS.pm:
59315        * bridge/runtime_object.cpp:
59316        (JSC::RuntimeObjectImp::getPropertyNames):
59317        (JSC::RuntimeObjectImp::getOwnPropertyNames):
59318        * bridge/runtime_object.h:
59319
593202009-09-12  Sam Weinig  <sam@webkit.org>
59321
59322        Reviewed by Anders Carlsson.
59323
59324        Fix for https://bugs.webkit.org/show_bug.cgi?id=29219
59325        Document.elementFromPoint() should take page scroll into consideration
59326
59327        Test: fast/dom/elementFromPoint-relative-to-viewport.html
59328
59329        * dom/Document.cpp:
59330        (WebCore::Document::elementFromPoint):
59331        (WebCore::Document::caretRangeFromPoint):
59332
593332009-09-12  Sam Weinig  <sam@webkit.org>
59334
59335        Reviewed by Maciej Stachowiak.
59336
59337        Fix for https://bugs.webkit.org/show_bug.cgi?id=29217
59338        Document.caretRangeFromPoint should take the scroll offset into account before hit testing
59339
59340        In accordance with the CSSOM View Module spec, Document.caretRangeFromPoint should interpret
59341        the point passed to it as relative to the viewport, not the document.
59342
59343        Test: fast/dom/Document/CaretRangeFromPoint/hittest-relative-to-viewport.html
59344
59345        * dom/Document.cpp:
59346        (WebCore::Document::caretRangeFromPoint):
59347
593482009-09-11  Chris Marrin  <cmarrin@apple.com>
59349
59350        Reviewed by Oliver Hunt.
59351
59352        Added some manual tests to show WebGL in action
59353        https://bugs.webkit.org/show_bug.cgi?id=29215
59354
59355        * manual-tests/webgl: Added.
59356        * manual-tests/webgl/Earth.html: Added.
59357        * manual-tests/webgl/ManyPlanetsDeep.html: Added.
59358        * manual-tests/webgl/SpinningBox.html: Added.
59359        * manual-tests/webgl/TeapotPerPixel.html: Added.
59360        * manual-tests/webgl/TeapotPerVertex.html: Added.
59361        * manual-tests/webgl/resources: Added.
59362        * manual-tests/webgl/resources/CanvasMatrix.js: Added.
59363        * manual-tests/webgl/resources/earthmap1k.jpg: Added.
59364        * manual-tests/webgl/resources/mars500x250.png: Added.
59365        * manual-tests/webgl/resources/teapot.obj: Added.
59366        * manual-tests/webgl/resources/utils3d.js: Added.
59367 
593682009-09-10  Chris Fleizach  <cfleizach@apple.com>
59369
59370        Reviewed by Darin Adler.
59371
59372        aria definition role spelled wrong "defintion"
59373        https://bugs.webkit.org/show_bug.cgi?id=28840
59374
59375        Test: accessibility/aria-slider-value-change.html
59376
59377        * accessibility/AccessibilityRenderObject.cpp:
59378        (WebCore::RoleEntry::):
59379
593802009-09-11  Erik Arvidsson  <arv@chromium.org>
59381
59382        Reviewed by Eric Seidel.
59383
59384        Fixes an assert in Node::isFocusable which was causing crashes in certain cases.
59385        https://bugs.webkit.org/show_bug.cgi?id=29210
59386
59387        * dom/Node.cpp:
59388        (WebCore::Node::isFocusable):
59389
593902009-09-11  Chris Marrin  <cmarrin@apple.com>
59391
59392        Reviewed by Oliver Hunt.
59393
59394        Added variants to uniform* and vertexAttrib* calls which take sequence<> in place of CanvasArray
59395        https://bugs.webkit.org/show_bug.cgi?id=29139
59396        
59397        I also added a data() call to each of the CanvasArray subclasses to give back a types pointer
59398        to the baseAddress().
59399
59400        * Configurations/FeatureDefines.xcconfig:
59401        * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
59402        (WebCore::toArray):
59403        (WebCore::):
59404        (WebCore::dataFunctionf):
59405        (WebCore::dataFunctioni):
59406        (WebCore::dataFunctionMatrix):
59407        (WebCore::JSCanvasRenderingContext3D::uniform1fv):
59408        (WebCore::JSCanvasRenderingContext3D::uniform1iv):
59409        (WebCore::JSCanvasRenderingContext3D::uniform2fv):
59410        (WebCore::JSCanvasRenderingContext3D::uniform2iv):
59411        (WebCore::JSCanvasRenderingContext3D::uniform3fv):
59412        (WebCore::JSCanvasRenderingContext3D::uniform3iv):
59413        (WebCore::JSCanvasRenderingContext3D::uniform4fv):
59414        (WebCore::JSCanvasRenderingContext3D::uniform4iv):
59415        (WebCore::JSCanvasRenderingContext3D::uniformMatrix2fv):
59416        (WebCore::JSCanvasRenderingContext3D::uniformMatrix3fv):
59417        (WebCore::JSCanvasRenderingContext3D::uniformMatrix4fv):
59418        (WebCore::JSCanvasRenderingContext3D::vertexAttrib1fv):
59419        (WebCore::JSCanvasRenderingContext3D::vertexAttrib2fv):
59420        (WebCore::JSCanvasRenderingContext3D::vertexAttrib3fv):
59421        (WebCore::JSCanvasRenderingContext3D::vertexAttrib4fv):
59422        * html/canvas/CanvasByteArray.h:
59423        (WebCore::CanvasByteArray::data):
59424        * html/canvas/CanvasFloatArray.h:
59425        (WebCore::CanvasFloatArray::data):
59426        * html/canvas/CanvasIntArray.h:
59427        (WebCore::CanvasIntArray::data):
59428        * html/canvas/CanvasRenderingContext3D.cpp:
59429        (WebCore::CanvasRenderingContext3D::uniform1fv):
59430        (WebCore::CanvasRenderingContext3D::uniform1iv):
59431        (WebCore::CanvasRenderingContext3D::uniform2fv):
59432        (WebCore::CanvasRenderingContext3D::uniform2iv):
59433        (WebCore::CanvasRenderingContext3D::uniform3fv):
59434        (WebCore::CanvasRenderingContext3D::uniform3iv):
59435        (WebCore::CanvasRenderingContext3D::uniform4fv):
59436        (WebCore::CanvasRenderingContext3D::uniform4iv):
59437        (WebCore::CanvasRenderingContext3D::uniformMatrix2fv):
59438        (WebCore::CanvasRenderingContext3D::uniformMatrix3fv):
59439        (WebCore::CanvasRenderingContext3D::uniformMatrix4fv):
59440        (WebCore::CanvasRenderingContext3D::vertexAttrib1fv):
59441        (WebCore::CanvasRenderingContext3D::vertexAttrib2fv):
59442        (WebCore::CanvasRenderingContext3D::vertexAttrib3fv):
59443        (WebCore::CanvasRenderingContext3D::vertexAttrib4fv):
59444        * html/canvas/CanvasRenderingContext3D.h:
59445        * html/canvas/CanvasRenderingContext3D.idl:
59446        * html/canvas/CanvasShortArray.h:
59447        (WebCore::CanvasShortArray::data):
59448        * html/canvas/CanvasUnsignedByteArray.h:
59449        (WebCore::CanvasUnsignedByteArray::data):
59450        * html/canvas/CanvasUnsignedIntArray.h:
59451        (WebCore::CanvasUnsignedIntArray::data):
59452        * html/canvas/CanvasUnsignedShortArray.h:
59453        (WebCore::CanvasUnsignedShortArray::data):
59454        * platform/graphics/GraphicsContext3D.h:
59455        * platform/graphics/mac/GraphicsContext3DMac.cpp:
59456        (WebCore::GraphicsContext3D::uniform1fv):
59457        (WebCore::GraphicsContext3D::uniform2fv):
59458        (WebCore::GraphicsContext3D::uniform3fv):
59459        (WebCore::GraphicsContext3D::uniform4fv):
59460        (WebCore::GraphicsContext3D::uniform1iv):
59461        (WebCore::GraphicsContext3D::uniform2iv):
59462        (WebCore::GraphicsContext3D::uniform3iv):
59463        (WebCore::GraphicsContext3D::uniform4iv):
59464        (WebCore::GraphicsContext3D::uniformMatrix2fv):
59465        (WebCore::GraphicsContext3D::uniformMatrix3fv):
59466        (WebCore::GraphicsContext3D::uniformMatrix4fv):
59467        (WebCore::GraphicsContext3D::vertexAttrib1fv):
59468        (WebCore::GraphicsContext3D::vertexAttrib2fv):
59469        (WebCore::GraphicsContext3D::vertexAttrib3fv):
59470        (WebCore::GraphicsContext3D::vertexAttrib4fv):
59471
594722009-09-11  Fumitoshi Ukai  <ukai@chromium.org>
59473
59474        Reviewed by Eric Seidel.
59475
59476        Add ENABLE(WEB_SOCKETS) guards.
59477        https://bugs.webkit.org/show_bug.cgi?id=29174
59478
59479        * bindings/v8/custom/V8WebSocketCustom.cpp:
59480
594812009-09-11  Eric Seidel  <eric@webkit.org>
59482
59483        No review, rolling out r48229.
59484        http://trac.webkit.org/changeset/48229
59485
59486        * WebCore.base.exp:
59487        * dom/Clipboard.cpp:
59488        (WebCore::Clipboard::Clipboard):
59489        (WebCore::Clipboard::sourceOperation):
59490        * page/DragController.cpp:
59491        (WebCore::DragController::DragController):
59492        (WebCore::DragController::dragExited):
59493        (WebCore::DragController::performDrag):
59494        (WebCore::DragController::dragEnteredOrUpdated):
59495        (WebCore::DragController::tryDHTMLDrag):
59496        (WebCore::DragController::startDrag):
59497        * page/DragController.h:
59498        * page/EventHandler.cpp:
59499        (WebCore::EventHandler::updateDragAndDrop):
59500        (WebCore::EventHandler::dragSourceMovedTo):
59501        (WebCore::EventHandler::handleDrag):
59502        * page/EventHandler.h:
59503
595042009-09-11  Michelangelo De Simone  <micdesim@gmail.com>
59505
59506        Fix the build.
59507
59508        * html/ValidityState.cpp:
59509        (WebCore::ValidityState::typeMismatch):
59510
595112009-09-11  Michelangelo De Simone  <micdesim@gmail.com>
59512
59513        Reviewed by Antti Koivisto.
59514
59515        https://bugs.webkit.org/show_bug.cgi?id=27456
59516        Added support for static validation of url in
59517        ValidityState, for url state inputs.
59518        From HTML5 specs:
59519        http://www.whatwg.org/specs/web-apps/current-work/#url-state
59520
59521        Test: fast/forms/ValidityState-typeMismatch-url.html
59522
59523        * html/ValidityState.cpp:
59524        (WebCore::ValidityState::typeMismatch):
59525
595262009-09-11  Evan Stade  <estade@chromium.org>
59527
59528        Reviewed by Darin Adler.
59529
59530        Revert r47992: Expose functions to change the focus ring color for
59531        Linux Chromium.
59532
59533        As Darin Fisher has pointed out, there is a better way to do this.
59534
59535        * rendering/RenderThemeChromiumLinux.cpp:
59536        (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
59537        * rendering/RenderThemeChromiumLinux.h:
59538
595392009-09-11  Alexey Proskuryakov  <ap@webkit.org>
59540
59541        Reviewed by Geoff Garen.
59542
59543        https://bugs.webkit.org/show_bug.cgi?id=29207
59544        Add checks for using WebCore JS context on secondary threads
59545
59546        * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::commonJSGlobalData):
59547        Set the new debug-only mainThreadOnly flag.
59548
595492009-09-11  Brian Weinstein  <bweinstein@apple.com>
59550
59551        Reviewed by Timothy Hatcher.
59552
59553        The inspector should have scope bars.
59554        https://bugs.webkit.org/show_bug.cgi?id=14353
59555        
59556        Add scope bars to the console, so the user can choose which category
59557        of messages they want to see (All, Errors, Warnings, Logs), and they
59558        can choose from one or more of {Errors, Warnings, Logs}.
59559
59560        * inspector/front-end/ConsoleView.js:
59561        (WebInspector.ConsoleView.createFilterElement):
59562        (WebInspector.ConsoleView):
59563        (WebInspector.ConsoleView.prototype._updateFilter):
59564        (WebInspector.ConsoleView.prototype.filter):
59565        (WebInspector.ConsoleView.prototype.attach):
59566        * inspector/front-end/inspector.css:
59567        * inspector/front-end/inspector.html:
59568
595692009-09-11  Yusuke Sato  <yusukes@chromium.org>
59570
59571        Reviewed by Darin Fisher.
59572
59573        [Chromium] Complex text doesn't show up with text stroking
59574        https://bugs.webkit.org/show_bug.cgi?id=28707
59575
59576        Added extra NULL checks for HDC. This is the second fix for issue 28707,
59577        and the fix is similar to http://trac.webkit.org/changeset/45482.
59578
59579        * platform/graphics/chromium/FontChromiumWin.cpp:
59580        (WebCore::Font::drawComplexText):
59581        * platform/graphics/chromium/UniscribeHelper.cpp:
59582        (WebCore::UniscribeHelper::draw):
59583
595842009-09-11  Cameron McCormack  <cam@mcc.id.au>
59585
59586        Reviewed by Eric Seidel.
59587
59588        Make ElementTimeControl methods return void and not throw.
59589        https://bugs.webkit.org/show_bug.cgi?id=28831
59590
59591        SVG 1.1 erratum:
59592        http://www.w3.org/2003/01/REC-SVG11-20030114-errata#elementtimecontrol-interface
59593
59594        Test: svg/dom/smil-methods.svg
59595
59596        * svg/ElementTimeControl.h: Change return type from bool to void and remove exception argument.
59597        * svg/ElementTimeControl.idl: Change return type from bool to void and remove raises claus.
59598        * svg/SVGAnimationElement.cpp:
59599        (WebCore::SVGAnimationElement::beginElement): Change return type from bool to void and remove exception argument.
59600        (WebCore::SVGAnimationElement::beginElementAt): Ditto.
59601        (WebCore::SVGAnimationElement::endElement): Ditto.
59602        (WebCore::SVGAnimationElement::endElementAt): Ditto.
59603        * svg/SVGAnimationElement.h: Ditto.
59604
596052009-09-11  Chris Marrin  <cmarrin@apple.com>
59606
59607        Reviewed by Oliver Hunt.
59608
59609        Added support for texImage2D which takes CanvasArray
59610        https://bugs.webkit.org/show_bug.cgi?id=29191
59611
59612        * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
59613        (WebCore::JSCanvasRenderingContext3D::texImage2D):
59614        * platform/graphics/mac/GraphicsContext3DMac.cpp:
59615        (WebCore::GraphicsContext3D::texImage2D):
59616
596172009-09-11  Steve Falkenburg  <sfalken@apple.com>
59618
59619        Reviewed by Darin Adler.
59620
59621        Allow WebKit clients to opt out of high resolution timers on Windows.
59622        https://bugs.webkit.org/show_bug.cgi?id=29192
59623
59624        * page/Settings.cpp:
59625        (WebCore::Settings::setShouldUseHighResolutionTimers): Added.
59626        * page/Settings.h: Added getter/setter for shouldUseHighResolutionTimers.
59627        (WebCore::Settings::shouldUseHighResolutionTimers): Added.
59628        * platform/win/SharedTimerWin.cpp:
59629        (WebCore::setSharedTimerFireTime): Don't run high resolution timer code if it is disabled.
59630
596312009-09-11  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
59632
59633        Reviewed by Adam Barth.
59634
59635        [v8] Share persistent context handles between events        
59636        Change events to use a single ref-counted shared persistent handle
59637        to the context in which to run, rather than create a new
59638        persistent handle for each new event which puts pressure on the
59639        gc.
59640        
59641        https://bugs.webkit.org/show_bug.cgi?id=29077
59642
59643        * bindings/v8/ScheduledAction.cpp:
59644        (WebCore::ScheduledAction::execute):
59645        * bindings/v8/SharedPersistent.h: Added.
59646        (WebCore::SharedPersistent::set):
59647        (WebCore::SharedPersistent::get):
59648        (WebCore::SharedPersistent::disposeHandle):
59649        (WebCore::SharedPersistent::create):
59650        (WebCore::SharedPersistent::SharedPersistent):
59651        * bindings/v8/V8AbstractEventListener.cpp:
59652        (WebCore::V8AbstractEventListener::V8AbstractEventListener):
59653        (WebCore::V8AbstractEventListener::handleEvent):
59654        * bindings/v8/V8AbstractEventListener.h:
59655        * bindings/v8/V8IsolatedWorld.cpp:
59656        (WebCore::V8IsolatedWorld::V8IsolatedWorld):
59657        (WebCore::V8IsolatedWorld::~V8IsolatedWorld):
59658        * bindings/v8/V8IsolatedWorld.h:
59659        (WebCore::V8IsolatedWorld::context):
59660        (WebCore::V8IsolatedWorld::shared_context):
59661        * bindings/v8/V8Proxy.cpp:
59662        (WebCore::V8Proxy::evaluateInNewContext):
59663        (WebCore::V8Proxy::createWrapperFromCacheSlowCase):
59664        (WebCore::V8Proxy::isContextInitialized):
59665        (WebCore::V8Proxy::updateDocumentWrapperCache):
59666        (WebCore::V8Proxy::clearDocumentWrapperCache):
59667        (WebCore::V8Proxy::disposeContextHandles):
59668        (WebCore::V8Proxy::clearForClose):
59669        (WebCore::V8Proxy::clearForNavigation):
59670        (WebCore::V8Proxy::setSecurityToken):
59671        (WebCore::V8Proxy::updateDocument):
59672        (WebCore::V8Proxy::initContextIfNeeded):
59673        (WebCore::V8Proxy::shared_context):
59674        (WebCore::V8Proxy::mainWorldContext):
59675        (WebCore::V8Proxy::setContextDebugId):
59676        * bindings/v8/V8Proxy.h:
59677        (WebCore::V8Proxy::V8Proxy):
59678        (WebCore::V8Proxy::context):
59679        (WebCore::V8Proxy::shared_context):
59680
596812009-09-11  Anton Muhin  <antonm@chromium.org>
59682
59683        Reviewed by David Levin.
59684
59685        Create a real handle (one which would save an object from GC).
59686        https://bugs.webkit.org/show_bug.cgi?id=29150
59687
59688        * bindings/v8/V8Binding.cpp:
59689        (WebCore::v8ExternalString):
59690
596912009-09-11  Anton Muhin  <antonm@chromium.org>
59692
59693        Reviewed by David Levin.
59694
59695        Inline WebCore::v8String as it only invokes WebCore::v8ExternalString.
59696        https://bugs.webkit.org/show_bug.cgi?id=29152
59697
59698        * bindings/v8/V8Binding.cpp:
59699        * bindings/v8/V8Binding.h:
59700        (WebCore::v8String):
59701
597022009-09-11  Ariya Hidayat  <ariya.hidayat@nokia.com>
59703
59704        Reviewed by Simon Hausmann.
59705
59706        Changed URLs from qtsoftware.com to qt.nokia.com, as part of a general
59707        renaming.
59708
59709        * ChangeLog-2009-06-16:
59710
597112009-09-11  Thiago Macieira  <thiago.macieira@nokia.com>
59712
59713        Reviewed by Simon Hausmann.
59714
59715        Use LIBS_PRIVATE on Qt/Mac.
59716
59717        On the Mac, it means "-framework ApplicationServices -framework Carbon
59718        -framework AppKit" are no longer part of the default LIBS in Qt
59719        applications. This required a lot of fixes where we used Mac-specific
59720        code in Qt.
59721
59722        * WebCore.pro:
59723
597242009-09-11  Cameron McCormack  <cam@mcc.id.au>
59725
59726        Reviewed by Eric Seidel.
59727
59728        Remove duplicated WK_{u,l}cfirst subs from CodeGeneratorV8.pm
59729        https://bugs.webkit.org/show_bug.cgi?id=29165
59730
59731        * bindings/scripts/CodeGeneratorV8.pm: Remove WK_ucfirst and
59732        WK_lcfirst, and call the ones in CodeGenerator.pm instead.
59733
597342009-09-11  Yongjun Zhang  <yongjun.zhang@nokia.com>
59735
59736        Reviewed by Darin Adler.
59737
59738        https://bugs.webkit.org/show_bug.cgi?id=29132
59739        Symbian winscw compiler fails compiling WebCore/text/RegularExpression.cpp.
59740
59741        Add RegularExpression class qualifier before Private.
59742
59743        * platform/text/RegularExpression.cpp:
59744
597452009-09-11  Yongjun Zhang  <yongjun.zhang@nokia.com>
59746
59747        Reviewed by Darin Adler.
59748
59749        https://bugs.webkit.org/show_bug.cgi?id=29131
59750        Use a different variadic macro format for Symbian compiler.
59751        
59752        Use arg... instead of ellipsis in variadic macro.        
59753
59754        * platform/StaticConstructors.h:
59755
597562009-09-11  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
59757
59758        Reviewed by Simon Hausmann.
59759
59760        https://bugs.webkit.org/show_bug.cgi?id=28806
59761
59762        [Qt] Make the WebInspector available as a QWidget.
59763
59764        * WebCore.pro:
59765
597662009-09-11  Simon Hausmann  <simon.hausmann@nokia.com>
59767
59768        Unreviewed fix for the Web Inspector with the Qt build.
59769
59770        Re-generate the Qt resource file by running
59771        WebKitTools/Scripts/generate-qt-inspector-resource
59772
59773        * inspector/front-end/WebKit.qrc:
59774
597752009-09-11  Simon Hausmann  <simon.hausmann@nokia.com>
59776
59777        Fix the Qt build, remove stray semicolon from function definition.
59778
59779        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
59780        (WebCore::MediaPlayerPrivate::buffered):
59781
597822009-09-10  Adam Barth  <abarth@webkit.org>
59783
59784        Reviewed by Sam Weinig.
59785
59786        Detect mixed content
59787        https://bugs.webkit.org/show_bug.cgi?id=29003
59788
59789        Detect some basic kinds of mixed content (HTTP content loaded into an
59790        HTTPS context).  This new detection logic isn't perfect, but it's a
59791        place to start.
59792
59793        Tests: http/tests/security/mixedContent/about-blank-iframe-in-main-frame.html
59794               http/tests/security/mixedContent/data-url-iframe-in-main-frame.html
59795               http/tests/security/mixedContent/data-url-script-in-iframe.html
59796               http/tests/security/mixedContent/insecure-css-in-iframe.html
59797               http/tests/security/mixedContent/insecure-css-in-main-frame.html
59798               http/tests/security/mixedContent/insecure-iframe-in-iframe.html
59799               http/tests/security/mixedContent/insecure-iframe-in-main-frame.html
59800               http/tests/security/mixedContent/insecure-image-in-iframe.html
59801               http/tests/security/mixedContent/insecure-image-in-main-frame.html
59802               http/tests/security/mixedContent/insecure-script-in-iframe.html
59803               http/tests/security/mixedContent/redirect-http-to-https-iframe-in-main-frame.html
59804               http/tests/security/mixedContent/redirect-http-to-https-script-in-iframe.html
59805               http/tests/security/mixedContent/redirect-https-to-http-iframe-in-main-frame.html
59806               http/tests/security/mixedContent/redirect-https-to-http-script-in-iframe.html
59807
59808        * loader/DocLoader.cpp:
59809        (WebCore::DocLoader::canRequest):
59810        (WebCore::DocLoader::requestResource):
59811        (WebCore::DocLoader::checkCacheObjectStatus):
59812        * loader/FrameLoader.cpp:
59813        (WebCore::FrameLoader::isMixedContent):
59814        (WebCore::FrameLoader::checkIfDisplayInsecureContent):
59815        (WebCore::FrameLoader::checkIfRunInsecureContent):
59816        * loader/FrameLoader.h:
59817        * loader/MainResourceLoader.cpp:
59818        (WebCore::MainResourceLoader::willSendRequest):
59819
598202009-09-10  Mark Rowe  <mrowe@apple.com>
59821
59822        Fix the Windows build.
59823
59824        Restore platform/mock to the header search path after it was removed in r48270.
59825
59826        * WebCore.vcproj/WebCoreCommon.vsprops:
59827
598282009-09-08  Timothy Hatcher  <timothy@apple.com>
59829
59830        Web Inspector: Move the option to create a new style rule under the Styles' gear menu.
59831
59832        https://bugs.webkit.org/show_bug.cgi?id=29039
59833
59834        Reviewed by Sam Weinig.
59835
59836        * inspector/front-end/StylesSidebarPane.js:
59837        (WebInspector.StylesSidebarPane): Add "New Style Rule" option to the gear menu.
59838        (WebInspector.StylesSidebarPane.prototype._update): Check instanceof BlankStylePropertiesSection instead.
59839        (WebInspector.StylesSidebarPane.prototype._changeSetting): Added. Keeps the color format setting selected
59840        while calling the correct action.
59841        (WebInspector.StylesSidebarPane.prototype._createNewRule): Creates a new section and edits the selector.
59842        (WebInspector.StylesSidebarPane.prototype.addBlankSection): Insert the section in a cleaner way.
59843        (WebInspector.StylesSidebarPane.prototype.removeSection): Added. Removes the passed in section.
59844        (WebInspector.StylesSidebarPane.prototype.appropriateSelectorForNode): Return an empty string if there is no node.
59845        (WebInspector.StylePropertiesSection.prototype.expand): Removed the check for _blank.
59846        (WebInspector.StylePropertiesSection.prototype.startEditingSelector): No need for the context, the original selector
59847        is remembered by the editing code.
59848        (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled): Do nothing. The original text is already
59849        restored by the editing code.
59850        (WebInspector.BlankStylePropertiesSection): Call the StylePropertiesSection constructor with appropriate data.
59851        Remove event listener code.
59852        (WebInspector.BlankStylePropertiesSection.prototype.expand): Added. Does nothing to prevent expanding.
59853        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.callback): Correctly construct the
59854        WebInspector.CSSStyleDeclaration. Call editingSelectorCancelled instead of editingCancelled.
59855        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted): Renamed from editingCommitted to
59856        override the base class.
59857        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCancelled): Remove the section.
59858        (WebInspector.BlankStylePropertiesSection.prototype.makeNormal): Removed event listener code. Removed the delete lines
59859        since they were doing nothing (deleting nonexistent properties that exist only on the prototype.) Change prototypes at
59860        the end to correctly swtich to a real StylePropertiesSection.
59861        * inspector/front-end/inspector.js:
59862        (WebInspector.startEditing.editingCancelled): Ceck for null/undefined callbacks.
59863        (WebInspector.startEditing.editingCommitted): Ditto.
59864
598652009-09-10  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
59866
59867        Reviewed by Eric Seidel.
59868
59869        [Qt] Fix comparison between signed and unsigned integer warnings
59870        https://bugs.webkit.org/show_bug.cgi?id=29162
59871
59872        No functional change.
59873
59874        * bridge/qt/qt_runtime.cpp:
59875        (JSC::Bindings::findMethodIndex):
59876        * platform/MIMETypeRegistry.cpp:
59877        (WebCore::initializeSupportedImageMIMETypes):
59878        (WebCore::initializeSupportedImageMIMETypesForEncoding):
59879        * platform/graphics/qt/GraphicsContextQt.cpp:
59880        (WebCore::GraphicsContext::drawFocusRing):
59881        * platform/graphics/qt/ImageDecoderQt.cpp:
59882        (WebCore::ImageDecoderQt::duration):
59883        (WebCore::ImageDecoderQt::imageAtIndex):
59884        * plugins/qt/PluginPackageQt.cpp:
59885        (WebCore::PluginPackage::fetchInfo):
59886
598872009-09-10  Martin Robinson  <martin.james.robinson@gmail.com>
59888
59889        Reviewed by Gustavo Noronha.
59890
59891        Build fix for GTKafter r48267.
59892
59893        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
59894        (WebCore::MediaPlayerPrivate::buffered):
59895
598962009-09-08  John Abd-El-Malek  <jam@chromium.org>
59897
59898        Reviewed by Dimitri Glazkov.
59899
59900        Remove unneeded define for ActiveX.
59901        https://bugs.webkit.org/show_bug.cgi?id=29054
59902
59903        * rendering/RenderPartObject.cpp:
59904        (WebCore::createClassIdToTypeMap):
59905        (WebCore::serviceTypeForClassId):
59906        (WebCore::RenderPartObject::updateWidget):
59907
599082009-09-10  Mark Rowe  <mrowe@apple.com>
59909
59910        Rubber-stamped by Sam Weinig.
59911
59912        Don't copy IDL files in to the built framework.
59913
59914        * WebCore.xcodeproj/project.pbxproj:
59915
599162009-09-10  Xiaomei Ji  <xji@chromium.org>
59917
59918        Reviewed by Eric Seidel.
59919
59920        Implment Range.expand().
59921        https://bugs.webkit.org/show_bug.cgi?id=27632
59922
59923        Test: fast/dom/Range/range-expand.html
59924
59925        * dom/Range.cpp:
59926        (WebCore::Range::expand):
59927        * dom/Range.h:
59928        * dom/Range.idl:
59929
599302009-09-10  Fumitoshi Ukai  <ukai@chromium.org>
59931
59932        Reviewed by Alexey Proskuryakov.
59933
59934        WebSocket API implementation.
59935        https://bugs.webkit.org/show_bug.cgi?id=28038
59936        
59937        Add build systems for GNUmakefile.am, WebCore.xcodeproj and
59938        WebCore.vcproj.
59939        Add websockets directory and WebSocket.idl in qt build system.
59940        Tests will be landed once the code is completed and functional.
59941
59942        * DerivedSources.cpp:
59943        * GNUmakefile.am:
59944        * WebCore.pro:
59945        * WebCore.vcproj/WebCore.vcproj:
59946        * WebCore.vcproj/WebCoreCommon.vsprops:
59947        * WebCore.xcodeproj/project.pbxproj:
59948        * bindings/js/JSDOMWindowCustom.cpp:
59949        (WebCore::JSDOMWindow::webSocket):
59950        * bindings/js/JSEventTarget.cpp:
59951        (WebCore::toJS):
59952        (WebCore::toEventTarget):
59953        * dom/EventTarget.cpp:
59954        (WebCore::EventTarget::toWebSocket):
59955        * dom/EventTarget.h:
59956        * page/DOMWindow.idl:
59957        * websockets/WebSocket.cpp:
59958        (WebCore::ProcessWebSocketEventTask::create):
59959        (WebCore::ProcessWebSocketEventTask::performTask):
59960        (WebCore::ProcessWebSocketEventTask::ProcessWebSocketEventTask):
59961        (WebCore::isValidProtocolString):
59962        (WebCore::WebSocket::connect):
59963        (WebCore::WebSocket::send):
59964        (WebCore::WebSocket::close):
59965        (WebCore::WebSocket::bufferedAmount):
59966        (WebCore::WebSocket::addEventListener):
59967        (WebCore::WebSocket::removeEventListener):
59968        (WebCore::WebSocket::dispatchEvent):
59969        (WebCore::WebSocket::didConnect):
59970        (WebCore::WebSocket::didReceiveMessage):
59971        (WebCore::WebSocket::didClose):
59972        (WebCore::WebSocket::dispatchOpenEvent):
59973        (WebCore::WebSocket::dispatchMessageEvent):
59974        (WebCore::WebSocket::dispatchCloseEvent):
59975        * websockets/WebSocket.h:
59976        (WebCore::WebSocket::create):
59977        (WebCore::WebSocket::):
59978        (WebCore::WebSocket::setOnopen):
59979        (WebCore::WebSocket::onopen):
59980        (WebCore::WebSocket::setOnmessage):
59981        (WebCore::WebSocket::onmessage):
59982        (WebCore::WebSocket::setOnclose):
59983        (WebCore::WebSocket::onclose):
59984        (WebCore::WebSocket::toWebSocket):
59985        (WebCore::WebSocket::eventListeners):
59986        (WebCore::WebSocket::refEventTarget):
59987        (WebCore::WebSocket::derefEventTarget):
59988        * websockets/WebSocketChannel.cpp: Added.
59989        * websockets/WebSocketChannel.h: Added.
59990        * websockets/WebSocketChannelClient.h: Added.
59991        * websockets/WebSocketHandshake.cpp: Added.
59992        * websockets/WebSocketHandshake.h: Added.
59993
599942009-09-10  Albert J. Wong  <ajwong@chromium.org>
59995
59996        No review, windows build fix only.
59997        
59998        Spurious semicolon causing parse error in chromium build on windows.
59999
60000        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
60001        (WebCore::MediaPlayerPrivate::buffered):
60002
600032009-09-10  Albert J. Wong  <ajwong@chromium.org>
60004
60005        No review, build fix only.
60006
60007        Adding in a missed include from the last patch that is breaking the
60008        chromium build.
60009
60010        * rendering/RenderThemeChromiumMac.mm: include TimeRanges.h
60011
600122009-09-10  Alpha Lam  <hclam@chromium.org>
60013
60014        Reviewed by Eric Carlson.
60015
60016        HTMLMediaElement buffered attribute should report a list of time ranges
60017        https://bugs.webkit.org/show_bug.cgi?id=29041
60018
60019        Changed MediaPlayerPrivateInterface and MediaPlayer's definition to
60020        report a list of buffered time ranges as WebCore::TimeRanges. This
60021        change also got rid of the maxTimeBuffered() method.
60022
60023        No new tests since this is a API change.
60024
60025        * html/HTMLMediaElement.cpp:
60026        (WebCore::HTMLMediaElement::percentLoaded):
60027        Use MediaPlaier::buffered() instead of maxTimeBuffered().
60028        (WebCore::HTMLMediaElement::buffered):
60029        ditto.
60030        * platform/graphics/MediaPlayer.cpp:
60031        (WebCore::NullMediaPlayerPrivate::buffered):
60032        Use MediaPlayerPrivateInterface::buffered() instead of maxTimeBuffered().
60033        (WebCore::MediaPlayer::buffered):
60034        ditto.
60035        * platform/graphics/MediaPlayer.h:
60036        Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered().
60037        * platform/graphics/MediaPlayerPrivate.h:
60038        ditto.
60039        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
60040        Implements PassRefPtr<TimeRanges> buffered();
60041        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
60042        Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered().
60043        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
60044        Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered().
60045        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
60046        (WebCore::MediaPlayerPrivate::buffered):
60047        Implementation of buffered().
60048        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
60049        Implements PassRefPtr<TimeRanegs> buffered().
60050        * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
60051        Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered().
60052        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
60053        Implements PassRefPtr<TimeRanges> buffered().
60054        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
60055        Removed maxTimeBuffered() and defines PassRefPtr<TimeRanges> buffered().
60056        * platform/graphics/wince/MediaPlayerPrivateWince.h:
60057        ditto.
60058        * rendering/RenderThemeChromiumMac.mm:
60059        (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
60060        Use buffered() instead of maxTimeBuffered().
60061        * rendering/RenderThemeChromiumSkia.cpp:
60062        ditto.
60063        * rendering/RenderThemeMac.mm:
60064        (WebCore::RenderThemeMac::paintMediaSliderTrack):
60065        ditto.
60066
600672009-09-10  Cameron McCormack  <cam@mcc.id.au>
60068
60069        Reviewed by Eric Seidel.
60070
60071        Make bindings generators more aware of IDL dependencies
60072        https://bugs.webkit.org/show_bug.cgi?id=29114
60073
60074        Make the JS and ObjC bindings generators able to output dependency
60075        rules for DerivedSources.make to consume.  These rules make a given
60076        generated binding class file header, JSWhatever.h, depend on Whatever's
60077        ancestor interfaces.
60078
60079        * DerivedSources.make: Pass --write-dependencies to generate-bindings.pl
60080        when generating JS and ObjC bindings.  Include dependency fies that are
60081        generated due to that.
60082        * bindings/scripts/CodeGenerator.pm: Make
60083        AddMethodsConstantsAndAttributesFromParentClasses accumulate a list of
60084        the ancestor interfaces that were visited.
60085        * bindings/scripts/CodeGeneratorJS.pm: Optionally write out a dependency
60086        file.
60087        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
60088        * bindings/scripts/generate-bindings.pl: Add a --write-dependencies
60089        option.
60090
600912009-09-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
60092
60093        Reviewed by Xan Lopez and Dan Winship.
60094
60095        Give all requests to libsoup, to let it queue, and schedule them
60096        itself, instead of throttling the number of requests in WebCore.
60097
60098        * platform/network/ResourceRequestBase.cpp:
60099        * platform/network/soup/ResourceRequestSoup.cpp:
60100        (WebCore::initializeMaximumHTTPConnectionCountPerHost):
60101
601022009-09-10  Jian Li  <jianli@chromium.org>
60103
60104        Reviewed by Eric Seidel.
60105
60106        [V8] Make XMLHttpRequest.send handle File object.
60107        https://bugs.webkit.org/show_bug.cgi?id=28924
60108
60109        Test: http/tests/local/send-dragged-file.html
60110
60111        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
60112        (WebCore::CALLBACK_FUNC_DECL):
60113
601142009-09-10  Zoltan Horvath  <zoltan@webkit.org>
60115
60116        Reviewed by Darin Adler.
60117
60118        Use fastNew and fastDelete instead of operator new and delete for CSSSelector class. 
60119        https://bugs.webkit.org/show_bug.cgi?id=25930
60120
60121        Change using of operator new to fastNew and operator delete to
60122        fastDeleteSkippingDestructor for CSSSelector class to avoid mismatched function call.
60123
60124        This change fixes valgrind's 'mismatched free' notification.
60125
60126        * css/CSSParser.cpp:
60127        (WebCore::CSSParser::~CSSParser):
60128        (WebCore::CSSParser::createFloatingSelector):
60129        * css/CSSSelectorList.cpp:
60130        (WebCore::CSSSelectorList::adoptSelectorVector):
60131
601322009-09-10  Steve Block  <steveblock@google.com>
60133
60134        Reviewed by Darin Adler.
60135
60136        Geolocation does not correctly handle reentrant calls from callbacks.
60137        https://bugs.webkit.org/show_bug.cgi?id=29040
60138
60139        Tests: fast/dom/Geolocation/reentrant-error.html
60140               fast/dom/Geolocation/reentrant-success.html
60141
60142        * page/Geolocation.cpp: Modified.
60143        (WebCore::Geolocation::handleError): Modified. Call sendError directly, clearing notifier lists before making callback.
60144        (WebCore::Geolocation::makeSuccessCallbacks): Modified. Call sendPosition directly, clearing notifier lists before making callback.
60145        * page/Geolocation.h: Modified. Deleted sendErrorToXX and sendPositionToXXX methods.
60146
601472009-09-10  Erik Arvidsson  <arv@chromium.org>
60148
60149        Reviewed by Eric Seidel.
60150
60151        Fixes issue where focused elements did not get blur and focus events when the window was blurred and focused.
60152        https://bugs.webkit.org/show_bug.cgi?id=27105
60153
60154        Test: fast/events/blur-focus-window-should-blur-focus-element.html
60155
60156        * page/FocusController.cpp:
60157        (WebCore::dispatchEventsOnWindowAndFocusedNode):
60158        (WebCore::FocusController::setFocused):
60159        (WebCore::FocusController::setActive):
60160
601612009-09-10  Adam Roben  <aroben@apple.com>
60162
60163        Make the play/pause button in <video> controls indicate the button's
60164        action, not the movie state
60165
60166        This matches the Mac behavior, iTunes, and many other media players.
60167
60168        No test possible.
60169
60170        Fixes <http://webkit.org/b/29126> Play/pause button in <video>
60171        controls shows the wrong image
60172
60173        Reviewed by Eric Carlson.
60174
60175        * rendering/RenderMediaControls.cpp:
60176        (WebCore::RenderMediaControls::paintMediaControlsPart): Reversed when
60177        we show the play vs. pause artwork, so that the button reflects what
60178        will happen when you click it, rather than the current state of the
60179        movie.
60180
601812009-09-09  Steve Block  <steveblock@google.com>
60182
60183        Reviewed by Maciej Stachowiak.
60184
60185        Geolocation Coordinates::toString() prints bogus values for unspecified properties.
60186        https://bugs.webkit.org/show_bug.cgi?id=29080
60187
60188        Test: fast/dom/Geolocation/position-string.html
60189
60190        * GNUmakefile.am: Modified. Removes Geoposition.cpp and Coordinates.cpp.
60191        * WebCore.gypi: Modified. Removes Geoposition.cpp and Coordinates.cpp.
60192        * WebCore.pro: Modified. Removes Geoposition.cpp and Coordinates.cpp.
60193        * WebCore.vcproj/WebCore.vcproj: Modified. Removes Geoposition.cpp and Coordinates.cpp.
60194        * WebCore.xcodeproj/project.pbxproj: Modified. Removes Geoposition.cpp and Coordinates.cpp.
60195        * WebCoreSources.bkl: Modified. Removes Geoposition.cpp and Coordinates.cpp.
60196        * page/Coordinates.cpp: Removed.
60197        * page/Coordinates.h: Modified. Removes toString method.
60198        * page/Coordinates.idl: Modified. Removes toString method.
60199        * page/Geoposition.cpp: Removed.
60200        * page/Geoposition.h: Modified. Removes toString method.
60201        * page/Geoposition.idl: Modified. Removes toString method.
60202
602032009-09-09  Steve Block  <steveblock@google.com>
60204
60205        Reviewed by Adam Barth.
60206
60207        Correctly applies the Geolocation timeout property.
60208        https://bugs.webkit.org/show_bug.cgi?id=27256
60209
60210        If a timeout is specified, the timer is started as soon as the location acquistion process starts.
60211        If a position fix is not obtained within the timeout interval, the position request is cancelled
60212        and the error callback (if specified) is invoked. If a position fix is obtained within the timeout
60213        interval, the timer is stopped. Permissions are then requested from the user if required. See
60214        http://www.w3.org/TR/geolocation-API/#position-options.
60215
60216        Note that this logic means that the time required to obtain permissions from the user is not
60217        included in the timeout interval.
60218
60219        Tests: fast/dom/Geolocation/timeout.html
60220               fast/dom/Geolocation/timeout-zero.html
60221
60222        * page/Geolocation.cpp: Modified.
60223        (WebCore::Geolocation::GeoNotifier::GeoNotifier): Modified. Takes Geolocation object as parameter.
60224        (WebCore::Geolocation::GeoNotifier::hasZeroTimeout): Added. Determines whether this request has a zero timeout.
60225        (WebCore::Geolocation::GeoNotifier::startTimerIfNeeded): Renamed from startTimer. Starts the timer if a timeout was specified.
60226        (WebCore::Geolocation::GeoNotifier::timerFired): Modified. Calls the error callback if specified, and reports the timeout to the Geolocation object.
60227        (WebCore::Geolocation::getCurrentPosition): Modified. Calls maybeStartTimer when starting the location acquisition process.
60228        (WebCore::Geolocation::watchPosition): Modified. Calls maybeStartTimer when starting the location acquisition process.
60229        (WebCore::Geolocation::requestTimedOut): Added. Cancels a request when it times out.
60230        (WebCore::Geolocation::setIsAllowed): Modified. No longer starts timers.
60231        (WebCore::Geolocation::sendPosition): Modified. No longer stops timers.
60232        (WebCore::Geolocation::stopTimer): Added. Stops the timers for a vector of notifiers.
60233        (WebCore::Geolocation::stopTimersForOneShots): Added. Stops the timers for all one-shots.
60234        (WebCore::Geolocation::stopTimersForWatchers): Added. Stops the timers for all watchers.
60235        (WebCore::Geolocation::stopTimers): Added. Stops the timers for all requests.
60236        (WebCore::Geolocation::geolocationServicePositionChanged): Modfified. Stops the timers for all requests.
60237        * page/Geolocation.h: Modified.
60238        (WebCore::Geolocation::GeoNotifier::create): Modified. Takes Geolocation object as parameter.
60239
602402009-09-09  Chris Fleizach  <cfleizach@apple.com>
60241
60242        AX notifications should be an ENUM type instead of strings
60243        https://bugs.webkit.org/show_bug.cgi?id=28963
60244
60245        Build fix for Qt.
60246
60247        * accessibility/AXObjectCache.h:
60248        (WebCore::AXObjectCache::postNotification):
60249        (WebCore::AXObjectCache::postPlatformNotification):
60250
602512009-09-08  Chris Fleizach  <cfleizach@apple.com>
60252
60253        Reviewed by Darin Adler.
60254
60255        AX notifications should be an ENUM type instead of strings
60256        https://bugs.webkit.org/show_bug.cgi?id=28963
60257
60258        Moves AX notifications over to an ENUM type instead of
60259        using the actual string values that are used on OS X.
60260
60261        * accessibility/AXObjectCache.cpp:
60262        (WebCore::AXObjectCache::postNotification):
60263        (WebCore::AXObjectCache::selectedChildrenChanged):
60264        * accessibility/AXObjectCache.h:
60265        (WebCore::AXObjectCache::):
60266        * accessibility/AccessibilityRenderObject.cpp:
60267        (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
60268        * accessibility/chromium/AXObjectCacheChromium.cpp:
60269        (WebCore::AXObjectCache::postPlatformNotification):
60270        * accessibility/gtk/AXObjectCacheAtk.cpp:
60271        (WebCore::AXObjectCache::postPlatformNotification):
60272        * accessibility/mac/AXObjectCacheMac.mm:
60273        (WebCore::AXObjectCache::postPlatformNotification):
60274        * accessibility/win/AXObjectCacheWin.cpp:
60275        (WebCore::AXObjectCache::postPlatformNotification):
60276        * dom/Document.cpp:
60277        (WebCore::Document::implicitClose):
60278        * dom/Element.cpp:
60279        (WebCore::Element::updateAfterAttributeChanged):
60280        * editing/Editor.cpp:
60281        (WebCore::Editor::respondToChangedContents):
60282        * editing/mac/SelectionControllerMac.mm:
60283        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
60284        * html/HTMLInputElement.cpp:
60285        (WebCore::HTMLInputElement::setChecked):
60286        * page/FrameView.cpp:
60287        (WebCore::FrameView::layout):
60288        * rendering/RenderTextControl.cpp:
60289        (WebCore::RenderTextControl::setInnerTextValue):
60290
602912009-09-08  Adam Barth  <abarth@webkit.org>
60292
60293        Reviewed by Eric Seidel.
60294
60295        Missing checkout for getSVGDocument()
60296        https://bugs.webkit.org/show_bug.cgi?id=29064
60297
60298        The V8 code generator didn't understand SVGCheckSecurityDocument.
60299
60300        Tests: http/tests/security/xss-DENIED-getSVGDocument-iframe.html
60301               http/tests/security/xss-DENIED-getSVGDocument-object.html
60302
60303        * bindings/scripts/CodeGeneratorV8.pm:
60304
603052009-09-09  Cameron McCormack  <cam@mcc.id.au>
60306
60307        Reviewed by Eric Seidel.
60308
60309        Make SVGStyleElement inherit from SVGLangSpace
60310        https://bugs.webkit.org/show_bug.cgi?id=29058
60311
60312        Required by SVG 1.1 Second Edition:
60313        http://dev.w3.org/SVG/profiles/1.1F2/publish/styling.html#InterfaceSVGStyleElement
60314
60315        Test: svg/dom/SVGStyleElement/style-langspace.html
60316
60317        * svg/SVGStyleElement.cpp: Drop methods xmlspace and setXmlspace.
60318        (WebCore::SVGStyleElement::SVGStyleElement): Add SVGLangSpace()
60319        initializer.
60320        (WebCore::SVGStyleElement::parseMappedAttribute): Call
60321        parseMappedAttribute on SVGLangSpace.
60322        * svg/SVGStyleElement.h: Drop xmlspace and setXmlspace declarations.
60323        * svg/SVGStyleElement.idl: Drop xmlspace attribute and add SVGLangSpace
60324        as a superinterface.
60325
603262009-09-09  Nate Chapin  <japhet@chromium.org>
60327
60328        Reviewed by David Levin.
60329
60330        Remove unnecessary includes and forward declarations in V8Proxy.h
60331
60332        https://bugs.webkit.org/show_bug.cgi?id=29111
60333
60334        * bindings/v8/V8Proxy.h:
60335
603362009-07-30  Eric Seidel  <eric@webkit.org>
60337
60338        Reviewed by Adam Barth.
60339
60340        Add more position constructors
60341        positionBeforeNode, positionAfterNode
60342        firstPositionInNode, lastPositionInNode
60343        https://bugs.webkit.org/show_bug.cgi?id=25494
60344
60345        I also added a lastOffsetInNode and deployed it to a couple places.
60346
60347        There are no callers to these new constructors yet, but those
60348        will be coming in future patches.
60349
60350        * dom/Position.cpp:
60351        (WebCore::Position::computeOffsetInContainerNode):
60352        * dom/Position.h:
60353        (WebCore::positionBeforeNode):
60354        (WebCore::positionAfterNode):
60355        (WebCore::lastOffsetInNode):
60356        (WebCore::firstPositionInNode):
60357        (WebCore::lastPositionInNode):
60358        * editing/ApplyStyleCommand.cpp:
60359        * editing/TextIterator.cpp:
60360        (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
60361        * editing/htmlediting.cpp:
60362        (WebCore::lastOffsetForEditing):
60363
603642009-04-30  Eric Seidel  <eric@webkit.org>
60365
60366        Reviewed by Adam Barth.
60367
60368        Rename positionBeforeNode to positionInParentBeforeNode
60369        and positionAfterNode to positionInParentAfterNode
60370        in preparation for adding a positionBeforeNode
60371        which returns a neighbor-anchored position.
60372        https://bugs.webkit.org/show_bug.cgi?id=25494
60373
60374        No functional changes, thus no tests.
60375
60376        * dom/PositionConstructors.h:
60377        (WebCore::positionInParentBeforeNode):
60378        (WebCore::positionInParentAfterNode):
60379        * dom/PositionIterator.cpp:
60380        (WebCore::PositionIterator::operator Position):
60381        * editing/ApplyStyleCommand.cpp:
60382        (WebCore::ApplyStyleCommand::applyInlineStyle):
60383        * editing/CompositeEditCommand.cpp:
60384        (WebCore::CompositeEditCommand::positionOutsideTabSpan):
60385        (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
60386        (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
60387        * editing/CreateLinkCommand.cpp:
60388        (WebCore::CreateLinkCommand::doApply):
60389        * editing/DeleteButtonController.cpp:
60390        (WebCore::DeleteButtonController::deleteTarget):
60391        * editing/DeleteSelectionCommand.cpp:
60392        (WebCore::DeleteSelectionCommand::initializeStartEnd):
60393        (WebCore::updatePositionForNodeRemoval):
60394        * editing/InsertLineBreakCommand.cpp:
60395        (WebCore::InsertLineBreakCommand::doApply):
60396        * editing/InsertListCommand.cpp:
60397        (WebCore::InsertListCommand::doApply):
60398        * editing/InsertParagraphSeparatorCommand.cpp:
60399        (WebCore::InsertParagraphSeparatorCommand::doApply):
60400        * editing/InsertTextCommand.cpp:
60401        (WebCore::InsertTextCommand::input):
60402        * editing/ReplaceSelectionCommand.cpp:
60403        (WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent):
60404        (WebCore::ReplaceSelectionCommand::doApply):
60405        * editing/VisibleSelection.cpp:
60406        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
60407        * editing/htmlediting.cpp:
60408        (WebCore::firstEditablePositionAfterPositionInRoot):
60409        (WebCore::lastEditablePositionBeforePositionInRoot):
60410        (WebCore::rangeCompliantEquivalent):
60411        (WebCore::positionBeforeContainingSpecialElement):
60412        (WebCore::positionAfterContainingSpecialElement):
60413        (WebCore::positionBeforeTabSpan):
60414
604152009-04-30  Eric Seidel  <eric@webkit.org>
60416
60417        Reviewed by Adam Barth.
60418
60419        Re-organize position creation functions in preparation for adding more
60420        https://bugs.webkit.org/show_bug.cgi?id=25494
60421
60422        Make position functions inline to avoid ref-churn.
60423        Remove startPosition/endPosition as they were only used in one place.
60424
60425        No functional changes, thus no tests.
60426
60427        * dom/Position.cpp:
60428        * dom/Position.h:
60429        (WebCore::positionBeforeNode):
60430        (WebCore::positionAfterNode):
60431        * editing/SelectionController.cpp:
60432        (WebCore::SelectionController::moveTo):
60433        * editing/TypingCommand.cpp:
60434        * editing/htmlediting.cpp:
60435        * editing/htmlediting.h:
60436        (WebCore::firstDeepEditingPositionForNode):
60437        (WebCore::lastDeepEditingPositionForNode):
60438        * rendering/RenderObject.cpp:
60439
604402009-09-09  Kevin Watters  <kevinwatters@gmail.com>
60441
60442        Reviewed by Kevin Ollivier.
60443        
60444        [wx] Add wxSize conversions for IntSize.
60445        https://bugs.webkit.org/show_bug.cgi?id=29104
60446
60447        * platform/graphics/IntSize.h:
60448        * platform/graphics/wx/IntSizeWx.cpp: Added.
60449        (WebCore::IntSize::IntSize):
60450        (WebCore::IntSize::operator wxSize):
60451
604522009-09-09  Yaar Schnitman  <yaar@chromium.org>
60453
60454        Reviewed by David Levin.
60455        
60456        Chromium uses its own config.h file that was forked from webkit's config.h.
60457        By merging in Chromium's defines, Chromium would again be able to use webkit's
60458        config.h.
60459
60460        https://bugs.webkit.org/show_bug.cgi?id=28882 
60461
60462        * config.h: Added chromium-specific defines. 
60463
604642009-09-09  Jens Alfke  <snej@chromium.org>
60465
60466        Reviewed by Eric Seidel.
60467
60468        Initialize DataTransfer's effectAllowed and dropEffect properties correctly
60469        according to HTML5 spec (sec. 7.9.2-7.9.3).
60470        https://bugs.webkit.org/show_bug.cgi?id=26700
60471        - At the start of a drag operation, the value of effectAllowed should be
60472          the string "uninitialized".
60473        - At end of dragstart handler, if effectAllowed hasn't been set yet, it
60474          should be set to "copy".
60475        - on dragenter and dragover event, dropEffect should be initialized to a
60476          default value based on the value of effectAllowed.
60477        - at end of dragenter and dragover the dropEffect should be set to "none"
60478          if the value set by the handler doesn't match the effectAllowed.
60479        - on dragleave event, dropEffect should be "none".
60480        - on drop event, dropEffect should be the previously negotiated value.
60481
60482        Test: fast/events/drag-dropeffect.html
60483
60484        * WebCore.base.exp:
60485            Added a parameter to EventHandler::dragSourceMovedTo.
60486        * dom/Clipboard.cpp:
60487        (WebCore::Clipboard::Clipboard):
60488            Initialize m_effectAllowed to "uninitialized".
60489        (WebCore::Clipboard::sourceOperation):
60490            Treat "uninitialized" as meaning no value has been set.
60491        * page/DragController.cpp:
60492        (WebCore::DragController::DragController):
60493            Initialize new member m_destinationDragOperation.
60494        (WebCore::DragController::dragExited):
60495            Set m_destinationDragOperation to none on dragExit.
60496        (WebCore::DragController::performDrag):
60497            Set m_destinationDragOperation to current dropEffect.
60498        (WebCore::DragController::dragEnteredOrUpdated):
60499            Make sure to clear the operation if drag source doesn't allow it.
60500        (WebCore::DragController::tryDHTMLDrag):
60501            Set a default value for the dst drag op before sending dragEnter/Over.
60502        (WebCore::DragController::startDrag):
60503            Clear m_destinationDragOperation at start of drag.
60504        * page/DragController.h:
60505        (WebCore::DragController::destinationDragOperation):
60506            Added new member m_destinationDragOperation, and its public getter.
60507        * page/EventHandler.cpp:
60508        (WebCore::EventHandler::updateDragAndDrop):
60509            dropEffect should be 'none' during dropleave handler, per spec.
60510        (WebCore::EventHandler::dragSourceMovedTo):
60511            Added DragOperation parameter, so the handler sees the current dropEffect.
60512        (WebCore::EventHandler::handleDrag):
60513            Assume DragOperationEvery for non-DHTML drags.
60514        * page/EventHandler.h:
60515            Added DragOperation parameter to dragSourceMovedTo().
60516
605172009-09-09  Dumitru Daniliuc  <dumi@chromium.org>
60518
60519        Reviewed by Dimitri Glazkov.
60520
60521        1. Adding support/bindings for read-only transactions.
60522        2. Disallowing the SQLITE_*_VIEW and REINDEX operations in the
60523        private browsing mode.
60524        3. Adding an authorizer test.
60525
60526        https://bugs.webkit.org/show_bug.cgi?id=28918
60527
60528        Test: storage/test-authorizer.html
60529
60530        * bindings/js/JSDatabaseCustom.cpp:
60531        (WebCore::createTransaction): Parses all arguments and executes a
60532        transaction.
60533        (WebCore::JSDatabase::transaction): Refactored to use
60534        createTransaction().
60535        (WebCore::JSDatabase::readTransaction): Added to execute read-only
60536        transactions using createTransaction().
60537        * bindings/v8/custom/V8CustomBinding.h: Added the binding for
60538        Database::readTransaction().
60539        * bindings/v8/custom/V8DatabaseCustom.cpp:
60540        (WebCore::createTransaction): Parses all arguments and executes a
60541        transaction.
60542        (WebCore::transaction): Refactored to use createTransaction().
60543        (WebCore::readTransaction): Added to execute read-only
60544        transactions using createTransaction().
60545        * storage/Database.cpp:
60546        (WebCore::Database::transaction): Added support for read-only
60547        transactions.
60548        * storage/Database.h: Added support for read-only transactions.
60549        * storage/Database.idl: Added support for read-only transactions.
60550        * storage/DatabaseAuthorizer.cpp:
60551        (WebCore::DatabaseAuthorizer::createTempTable): Make it obvious
60552        that the statement will be denied in private browsing mode and
60553        read-only transactions.
60554        (WebCore::DatabaseAuthorizer::dropTempTable): Same.
60555        (WebCore::DatabaseAuthorizer::createTempIndex): Same.
60556        (WebCore::DatabaseAuthorizer::dropTempIndex): Same.
60557        (WebCore::DatabaseAuthorizer::createTempTrigger): Same.
60558        (WebCore::DatabaseAuthorizer::dropTempTrigger): Same.
60559        (WebCore::DatabaseAuthorizer::createView): Deny in private
60560        browsing mode and read-only transactions.
60561        (WebCore::DatabaseAuthorizer::createTempView): Same.
60562        (WebCore::DatabaseAuthorizer::dropView): Same.
60563        (WebCore::DatabaseAuthorizer::dropTempView): Same.
60564        (WebCore::DatabaseAuthorizer::allowReindex): Same.
60565        * storage/DatabaseAuthorizer.h:
60566        * storage/SQLTransaction.cpp: Added support for read-only
60567        transactions.
60568        (WebCore::SQLTransaction::create):
60569        (WebCore::SQLTransaction::SQLTransaction):
60570        (WebCore::SQLTransaction::executeSQL):
60571        (WebCore::SQLTransaction::acquireLock):
60572        * storage/SQLTransaction.h:
60573        * storage/SQLTransactionCoordinator.cpp:
60574        (WebCore::SQLTransactionCoordinator::acquireLock): Added a new
60575        parameter in preparation for a change that will allow multiple
60576        read-only transactions on the same DB to run concurrently.
60577        * storage/SQLTransactionCoordinator.h:
60578
605792009-09-09  Dave Hyatt  <hyatt@apple.com>
60580
60581        Reviewed by Adam Roben.
60582
60583        https://bugs.webkit.org/show_bug.cgi?id=29102, add support for user stylesheet injection.  This is similar
60584        to user script injection but allows for user stylesheets to be added.  The stylesheets are applied immediately
60585        to all Frames in the PageGroup.
60586
60587        Added userscripts/simple-stylesheet.html test case.
60588
60589        * WebCore.base.exp:
60590        * WebCore.gypi:
60591        * WebCore.vcproj/WebCore.vcproj:
60592        * WebCore.xcodeproj/project.pbxproj:
60593        * css/CSSStyleSelector.cpp:
60594        (WebCore::CSSStyleSelector::CSSStyleSelector):
60595        * css/CSSStyleSelector.h:
60596        * dom/Document.cpp:
60597        (WebCore::Document::Document):
60598        (WebCore::Document::attach):
60599        (WebCore::Document::pageGroupUserSheets):
60600        (WebCore::Document::clearPageGroupUserSheets):
60601        (WebCore::Document::recalcStyleSelector):
60602        * dom/Document.h:
60603        * loader/PlaceholderDocument.cpp:
60604        (WebCore::PlaceholderDocument::attach):
60605        * page/PageGroup.cpp:
60606        (WebCore::PageGroup::addUserStyleSheet):
60607        (WebCore::PageGroup::removeUserContentForWorld):
60608        (WebCore::PageGroup::removeAllUserContent):
60609        * page/PageGroup.h:
60610        (WebCore::PageGroup::userStyleSheets):
60611        * page/UserStyleSheet.h: Added.
60612        (WebCore::UserStyleSheet::UserStyleSheet):
60613        (WebCore::UserStyleSheet::source):
60614        (WebCore::UserStyleSheet::url):
60615        (WebCore::UserStyleSheet::patterns):
60616        (WebCore::UserStyleSheet::worldID):
60617        * page/UserStyleSheetTypes.h: Added.
60618
606192009-09-09  Carol Szabo  <carol.szabo@nokia.com>
60620
60621        Reviewed by Ariya Hidayat.
60622
60623        [Qt] CSS Style -webkit-box-shadow is not rendered correctly on
60624        Qt platform
60625        https://bugs.webkit.org/show_bug.cgi?id=23291
60626
60627        * platform/graphics/qt/GraphicsContextQt.cpp:
60628        (WebCore::GraphicsContext::drawRect):
60629        (WebCore::GraphicsContext::strokeArc):
60630        (WebCore::GraphicsContext::drawConvexPolygon):
60631        (WebCore::GraphicsContext::fillPath):
60632        (WebCore::GraphicsContext::strokePath):
60633        (WebCore::GraphicsContext::fillRect):
60634        (WebCore::GraphicsContext::fillRoundedRect):
60635         Added the ability to draw shadows for all these curves.
60636
606372009-09-09  Kenneth Rohde Christiansen  <kenneth@webkit.org>
60638
60639        Reviewed by Simon Hausmann.
60640
60641        Add the qwebgraphicsitem.cpp to the build system.
60642
60643        https://bugs.webkit.org/show_bug.cgi?id=28862
60644
60645        * WebCore.pro:
60646
606472009-09-09  Kevin Watters  <kevinwatters@gmail.com>
60648
60649        Reviewed by Kevin Ollivier.
60650
60651        [wx port] Move functions in TemporaryLinkStubs.cpp out to files where
60652        they belong.
60653
60654        https://bugs.webkit.org/show_bug.cgi?id=29088
60655
60656        * editing/wx/EditorWx.cpp:
60657        (WebCore::Editor::showColorPanel):
60658        (WebCore::Editor::showFontPanel):
60659        (WebCore::Editor::showStylesPanel):
60660        * platform/graphics/wx/GraphicsContextWx.cpp:
60661        (WebCore::GraphicsContext::setPlatformShadow):
60662        (WebCore::GraphicsContext::clearPlatformShadow):
60663        (WebCore::GraphicsContext::beginTransparencyLayer):
60664        (WebCore::GraphicsContext::endTransparencyLayer):
60665        (WebCore::GraphicsContext::clearRect):
60666        (WebCore::GraphicsContext::strokeRect):
60667        (WebCore::GraphicsContext::setLineCap):
60668        (WebCore::GraphicsContext::setLineJoin):
60669        (WebCore::GraphicsContext::setMiterLimit):
60670        (WebCore::GraphicsContext::setAlpha):
60671        (WebCore::GraphicsContext::addInnerRoundedRectClip):
60672        * platform/graphics/wx/IconWx.cpp: Added.
60673        (WebCore::Icon::~Icon):
60674        (WebCore::Icon::createIconForFile):
60675        (WebCore::Icon::createIconForFiles):
60676        (WebCore::Icon::paint):
60677        * platform/graphics/wx/ImageWx.cpp:
60678        (WebCore::Image::loadPlatformResource):
60679        (WebCore::Image::drawPattern):
60680        * platform/wx/CursorWx.cpp:
60681        (WebCore::moveCursor):
60682        * platform/wx/FileChooserWx.cpp: Added.
60683        (WebCore::FileChooser::basenameForWidth):
60684        * platform/wx/KURLWx.cpp: Added.
60685        (WebCore::KURL::fileSystemPath):
60686        * platform/wx/SSLKeyGeneratorWx.cpp: Added.
60687        (WebCore::getSupportedKeySizes):
60688        (WebCore::signedPublicKeyAndChallengeString):
60689        * platform/wx/SearchPopupMenuWx.cpp: Added.
60690        (WebCore::SearchPopupMenu::SearchPopupMenu):
60691        (WebCore::SearchPopupMenu::saveRecentSearches):
60692        (WebCore::SearchPopupMenu::loadRecentSearches):
60693        (WebCore::SearchPopupMenu::enabled):
60694        * platform/wx/SharedBufferWx.cpp: Added.
60695        (WebCore::SharedBuffer::createWithContentsOfFile):
60696        * platform/wx/SystemTimeWx.cpp: Added.
60697        (WebCore::userIdleTime):
60698        * platform/wx/TemporaryLinkStubs.cpp: Removed.
60699        * platform/wx/TextBreakIteratorInternalICUWx.cpp: Added.
60700        (WebCore::currentSearchLocaleID):
60701        (WebCore::currentTextBreakLocaleID):
60702        * platform/wx/WidgetWx.cpp:
60703        (WebCore::Widget::setIsSelected):
60704
607052009-09-09  Steve Block  <steveblock@google.com>
60706
60707        Reviewed by Adam Barth.
60708
60709        Geolocation incorrectly calls error callback in case of exception in success callback.
60710        https://bugs.webkit.org/show_bug.cgi?id=27255
60711
60712        Test: fast/dom/Geolocation/callback-exception.html
60713
60714        * bindings/js/JSCustomPositionCallback.cpp: Modified.
60715        (WebCore::JSCustomPositionCallback::handleEvent): Modified. Removed raisedException out param.
60716        * bindings/js/JSCustomPositionCallback.h: Modified. Removed raisedException out param from handleEvent method and made handleEvent private.
60717        * bindings/js/JSCustomPositionErrorCallback.h: Modified. Made handleEvent private.
60718        * page/Geolocation.cpp: Modified.
60719        (WebCore::Geolocation::sendPosition): Modified. No longer call error callback in case of exception in success callback.
60720        * page/PositionCallback.h: Modified. Removed raisedException out param from handleEvent method.
60721
607222009-09-09  Steve Block  <steveblock@google.com>
60723
60724        Reviewed by Darin Adler.
60725
60726        When Geolocation permission is denied, stops watches as well as one-shots.
60727        https://bugs.webkit.org/show_bug.cgi?id=28305.
60728
60729        Tests: fast/dom/Geolocation/watch.html
60730               fast/dom/Geolocation/permission-denied-stops-watches.html
60731
60732        * page/Geolocation.cpp: Modified.
60733        (WebCore::Geolocation::setIsAllowed): Modified. Marks the permission error as fatal.
60734        (WebCore::Geolocation::handleError): Modified. If the error is fatal, stops watchers as well as one-shots.
60735        * page/PositionError.h: Modified.
60736        (WebCore::PositionError::setIsFatal): Added. Marks an error as fatal.
60737        (WebCore::PositionError::isFatal): Added. Determines whether an error is fatal.
60738
607392009-09-09  Roland Steiner  <rolandsteiner@google.com>
60740
60741        Reviewed by Eric Seidel.
60742
60743        Bug 28964 -  [Chromium] ChromiumDataObject should have getter/setter interface
60744
60745        Added getter/setter methods and trivial inline implementations for each.
60746        (Note that they are not yet actually used.)
60747        Once the Chromium code is changed to use them instead of directly accessing the
60748        member variables, the member variables should be made private and cleaned up.
60749
60750        No new tests (no functional behavior changed).
60751
60752        * platform/chromium/ChromiumDataObject.h:
60753        (WebCore::ChromiumDataObject::mainURL):
60754        (WebCore::ChromiumDataObject::setMainURL):
60755        (WebCore::ChromiumDataObject::mainURLTitle):
60756        (WebCore::ChromiumDataObject::setMainURLTitle):
60757        (WebCore::ChromiumDataObject::textPlain):
60758        (WebCore::ChromiumDataObject::setTextPlain):
60759        (WebCore::ChromiumDataObject::textHTML):
60760        (WebCore::ChromiumDataObject::setTextHTML):
60761        (WebCore::ChromiumDataObject::htmlBaseURL):
60762        (WebCore::ChromiumDataObject::setHTMLBaseURL):
60763        (WebCore::ChromiumDataObject::content):
60764        (WebCore::ChromiumDataObject::releaseContent):
60765        (WebCore::ChromiumDataObject::setContent):
60766        (WebCore::ChromiumDataObject::contentFileExtension):
60767        (WebCore::ChromiumDataObject::setContentFileExtension):
60768        (WebCore::ChromiumDataObject::contentFileName):
60769        (WebCore::ChromiumDataObject::setContentFileName):
60770        (WebCore::ChromiumDataObject::fileNames):
60771        (WebCore::ChromiumDataObject::setFileNames):
60772        (WebCore::ChromiumDataObject::takeFileNames):
60773
607742009-09-08  Pat Bradley  <vincent.bradley@nokia.com>
60775
60776        Reviewed by Ariya Hidayat.
60777
60778        [Qt] locale date displays incorrect date format in symbian.
60779        https://bugs.webkit.org/show_bug.cgi?id=29032
60780
60781        strftime() in Symbian does not support #
60782        Layout tests cannot be run on Symbian yet, so they are not updated.
60783
60784        * runtime/DatePrototype.cpp:
60785        (JSC::formatLocaleDate):
60786
607872009-09-09  Rohini Ananth <rohini.ananth@nokia.com>
60788
60789        Reviewed by Simon Hausmann.
60790
60791        NPAPI Plugin NPP_AsFile not working on Qt Webkit
60792        https://bugs.webkit.org/show_bug.cgi?id=29068
60793
60794        * platform/qt/FileSystemQt.cpp:
60795        (WebCore::openTemporaryFile)
60796        Autoremove property of QTemporaryFile has been set to false. Hence closeFile() just closes and does not delete the file.
60797        This solves the deletion of created temp file in PluginStream::destroyStream() before passing to plugin in NPP_AsFile.
60798
607992009-09-08  Oliver Hunt  <oliver@apple.com>
60800
60801        Reviewed by NOBODY (Build fix).
60802
60803        Remove a few incorrect changes I left in.
60804
60805        * bindings/scripts/CodeGeneratorJS.pm:
60806
608072009-09-08  Oliver Hunt  <oliver@apple.com>
60808
60809        Reviewed by Sam Weinig.
60810
60811        Support numeric index getters in bindings
60812        https://bugs.webkit.org/show_bug.cgi?id=29067
60813
60814        Add HasNumericIndexGetter to indicate a non-custom getter that
60815        returns a number.  The numeric index getter also uses PropertySlot's
60816        setValue rather than setCustomIndex to avoid an additional indirect
60817        call.
60818
60819        * bindings/js/JSCanvasByteArrayCustom.cpp:
60820        * bindings/js/JSCanvasFloatArrayCustom.cpp:
60821        * bindings/js/JSCanvasIntArrayCustom.cpp:
60822        * bindings/js/JSCanvasShortArrayCustom.cpp:
60823        * bindings/js/JSCanvasUnsignedByteArrayCustom.cpp:
60824        * bindings/js/JSCanvasUnsignedIntArrayCustom.cpp:
60825        * bindings/js/JSCanvasUnsignedShortArrayCustom.cpp:
60826        * bindings/scripts/CodeGeneratorJS.pm:
60827        * html/canvas/CanvasByteArray.h:
60828        (WebCore::CanvasByteArray::item):
60829        * html/canvas/CanvasByteArray.idl:
60830        * html/canvas/CanvasFloatArray.h:
60831        (WebCore::CanvasFloatArray::get):
60832        (WebCore::CanvasFloatArray::item):
60833        * html/canvas/CanvasFloatArray.idl:
60834        * html/canvas/CanvasIntArray.h:
60835        (WebCore::CanvasIntArray::get):
60836        (WebCore::CanvasIntArray::item):
60837        * html/canvas/CanvasIntArray.idl:
60838        * html/canvas/CanvasPixelArray.idl:
60839        * html/canvas/CanvasShortArray.h:
60840        (WebCore::CanvasShortArray::get):
60841        (WebCore::CanvasShortArray::item):
60842        * html/canvas/CanvasShortArray.idl:
60843        * html/canvas/CanvasUnsignedByteArray.h:
60844        (WebCore::CanvasUnsignedByteArray::get):
60845        (WebCore::CanvasUnsignedByteArray::item):
60846        * html/canvas/CanvasUnsignedByteArray.idl:
60847        * html/canvas/CanvasUnsignedIntArray.h:
60848        (WebCore::CanvasUnsignedIntArray::get):
60849        (WebCore::CanvasUnsignedIntArray::item):
60850        * html/canvas/CanvasUnsignedIntArray.idl:
60851        * html/canvas/CanvasUnsignedShortArray.h:
60852        (WebCore::CanvasUnsignedShortArray::item):
60853        * html/canvas/CanvasUnsignedShortArray.idl:
60854
608552009-09-08  Kevin Ollivier  <kevino@theolliviers.com>
60856
60857        wx build fix for 2.8.
60858
60859        * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
60860        (wxRenderer_DrawScrollbar):
60861
608622009-09-08  Jens Alfke  <snej@chromium.org>
60863
60864        Reviewed by Eric Seidel.
60865
60866        In Mac Chromium, clicking below the last line of an editable area (textarea or
60867        contenteditable) should put the caret at the end of the last line, as in Mac Safari.
60868
60869        Tests: LayoutTests/editing/selection/click-in-margins-inside-editable-div.html
60870               LayoutTests/editing/selection/click-in-padding-with-multiple-line-boxes.html
60871
60872        * page/Settings.cpp:
60873        (WebCore::Settings::Settings): Change #if PLATFORM_MAC to be Mac-Chrome-inclusive.
60874
608752009-09-08  Dave Hyatt  <hyatt@apple.com>
60876
60877        Reviewed by Mark Rowe.
60878
60879        Make sure not to do an early return when a data URL stylesheet successfully loads.  We need to still
60880        clear the old cached sheet out of all existing Frames.  Fixes the data URL stylesheet layout test failure.
60881
60882        * page/Page.cpp:
60883        (WebCore::Page::userStyleSheetLocationChanged):
60884
608852009-09-08  Sam Weinig  <sam@webkit.org>
60886
60887        Fix windows build.
60888
60889        * dom/Document.idl:
60890
608912009-09-08  Kevin Ollivier  <kevino@theolliviers.com>
60892
60893        More robust wx build fix for 2.9.
60894
60895        * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
60896        (wxRenderer_DrawScrollbar):
60897
608982009-09-08  Sam Weinig  <sam@webkit.org>
60899
60900        Reviewed by Timothy Hatcher.
60901
60902        Fix for https://bugs.webkit.org/show_bug.cgi?id=27046
60903        Implement CSSOM DocumentView.caretRangeFromPoint
60904
60905        Tests: fast/dom/Document/CaretRangeFromPoint/basic.html
60906               fast/dom/Document/CaretRangeFromPoint/replace-element.html
60907
60908        * dom/Document.cpp:
60909        (WebCore::Document::caretRangeFromPoint):
60910        * dom/Document.h:
60911        * dom/Document.idl:
60912
609132009-09-08  Kevin Ollivier  <kevino@theolliviers.com>
60914
60915        wx build fix, generate derived sources earlier in order to make sure
60916        they're found by the build system when generating the list of sources to build.
60917
60918        * wscript:
60919
609202009-09-08  Nate Chapin  <japhet@chromium.org>
60921
60922        Reviewed by Dimitri Glazkov.
60923
60924        <iterator> include in V8Proxy.h is spurious and causing ObjC compile issues for Chromium.
60925
60926        Test: Chromium mac canary build is fixed.
60927
60928        * bindings/v8/V8Proxy.h: Remove <iterator> include.
60929
609302009-09-08  Xan Lopez  <xlopez@igalia.com>
60931
60932        Unreviewed attempt to fix the GTKbuild.
60933
60934        * GNUmakefile.am:
60935
609362009-09-04  Dave Hyatt  <hyatt@apple.com>
60937
60938        Reviewed by Eric Seidel.
60939
60940        https://bugs.webkit.org/show_bug.cgi?id=28987, make the Document cache the page's user stylesheet in
60941        parsed form.  Allows the sheet to survive across destruction/re-creation of the CSSStyleSelector.
60942
60943        * css/CSSStyleSelector.cpp:
60944        (WebCore::CSSStyleSelector::CSSStyleSelector):
60945        * css/CSSStyleSelector.h:
60946        * dom/Document.cpp:
60947        (WebCore::Document::attach):
60948        (WebCore::Document::pageUserSheet):
60949        (WebCore::Document::clearPageUserSheet):
60950        (WebCore::Document::recalcStyleSelector):
60951        * dom/Document.h:
60952        * loader/PlaceholderDocument.cpp:
60953        (WebCore::PlaceholderDocument::attach):
60954        * page/Page.cpp:
60955        (WebCore::Page::userStyleSheetLocationChanged):
60956        * page/Settings.cpp:
60957        (WebCore::Settings::setUserStyleSheetLocation):
60958
609592009-09-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>
60960
60961        Unreviewed buildfix.
60962
60963        Fix Qt build after 48167, by adding the new cpp/h files
60964        added to WebCore.gypi to WebCore.pro as well.
60965
60966        * WebCore.pro:
60967
609682009-09-08  Xan Lopez  <xlopez@igalia.com>
60969
60970        Reviewed by Gustavo Noronha.
60971
60972        should not pass URI fragments to libsoup
60973        https://bugs.webkit.org/show_bug.cgi?id=28687
60974
60975        Strip the fragment from the URI before passing it to soup, since
60976        it forwards it to servers in some cases (like when using a proxy)
60977        which confuses them and makes them return 403/404.
60978
60979        * platform/network/soup/ResourceHandleSoup.cpp:
60980        (WebCore::startHttp):
60981        (WebCore::):
60982
609832009-09-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>
60984
60985        Reviewed by Simon Hausmann.
60986
60987        Add QGraphicsScene events support to the Qt platform events.
60988
60989        * platform/PlatformMouseEvent.h:
60990        * platform/PlatformWheelEvent.h:
60991        * platform/qt/PlatformMouseEventQt.cpp:
60992        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
60993        * platform/qt/WheelEventQt.cpp:
60994        (WebCore::PlatformWheelEvent::applyDelta):
60995        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
60996
609972009-09-08  Michael Nordman  <michaeln@google.com>
60998
60999        Reviewed by Eric Seidel.
61000
61001        [Chromium] Cleanup: remove a few deprecated methods.
61002        https://bugs.webkit.org/show_bug.cgi?id=28960
61003
61004        No new tests, just syntactic sugar.
61005
61006        * platform/network/chromium/ResourceRequest.h:
61007        * platform/network/chromium/ResourceResponse.h:
61008
610092009-09-08  Yongjun Zhang  <yongjun.zhang@nokia.com>
61010
61011        Reviewed by Ariya Hidayat.
61012
61013        https://bugs.webkit.org/show_bug.cgi?id=28981
61014
61015        [Qt] make npapi.h compile in winscw compiler.
61016
61017        Add XP_SYMBIAN macro to identify Symbian OS; this macro should be used for Symbian
61018        specific changes in npapi.h.
61019        Undefine XP_WIN when building for Symbian to avoid including Windows specific code.
61020
61021        * bridge/npapi.h:
61022
610232009-09-08  Oliver Hunt  <oliver@apple.com>
61024
61025        Reviewed by Geoff Garen.
61026
61027        Web Inspector assertion failure related to marking
61028        https://bugs.webkit.org/show_bug.cgi?id=28997
61029
61030        When wrapping the callback the JSInspectorCallbackWrapper creator was using
61031        inheritorID for the prototype structure which is unsafe for anything other
61032        than a pure JS object.  Instead we now create a new structure, which while
61033        inefficient is not problematic as this code is not hit frequently.
61034
61035        * bindings/js/JSInspectorCallbackWrapper.cpp:
61036        (WebCore::JSInspectorCallbackWrapper::wrap):
61037
610382009-09-08  Kelly Norton  <knorton@google.com>
61039
61040        Reviewed by Dimitri Glazkov.
61041
61042        Add missing extension to the file entry in WebCore.vcproj.
61043
61044        * WebCore.vcproj/WebCore.vcproj: Added "cpp".
61045
610462009-09-08  Jian Li  <jianli@chromium.org>
61047
61048        Reviewed by David Levin.
61049
61050        dataTransfer.types() should not return Files if file list is empty in the clipboard.
61051        https://bugs.webkit.org/show_bug.cgi?id=28891
61052
61053        We change the behavior to handle the empty file list in order to match the spec.
61054
61055        Tested by clipboard-file-access.html.
61056
61057        * platform/mac/ClipboardMac.mm:
61058        (WebCore::addHTMLClipboardTypesForCocoaType):
61059        (WebCore::ClipboardMac::types):
61060
610612009-09-08  Steve VanDeBogart  <vandebo@chromium.org>
61062
61063        Reviewed by Eric Seidel.
61064
61065        Handle middle click in Chromium like QT
61066        https://bugs.webkit.org/show_bug.cgi?id=28696
61067
61068        Tested by middle-click-onpaste.html.
61069
61070        * platform/Pasteboard.h:
61071        * platform/chromium/ChromiumBridge.h:
61072        * platform/chromium/ClipboardChromium.cpp:
61073        (WebCore::ClipboardChromium::getData):
61074        * platform/chromium/PasteboardChromium.cpp:
61075        (WebCore::Pasteboard::Pasteboard):
61076        (WebCore::Pasteboard::isSelectionMode):
61077        (WebCore::Pasteboard::setSelectionMode):
61078        (WebCore::Pasteboard::canSmartReplace):
61079        (WebCore::Pasteboard::plainText):
61080        (WebCore::Pasteboard::documentFragment):
61081        * platform/chromium/PasteboardPrivate.h:
61082        (WebCore::PasteboardPrivate::):
61083
610842009-09-08  Kelly Norton  <knorton@google.com>
61085
61086        Reviewed by Eric Seidel.
61087
61088        WebInspector: Adds a timeline agent to InspectorController that collects
61089        high-level timing data about event dispatch, layout, painting and HTML
61090        parsing and makes it available to Inspector.
61091        https://bugs.webkit.org/show_bug.cgi?id=25503
61092
61093        * WebCore.gypi:
61094        * WebCore.xcodeproj/project.pbxproj:
61095        * dom/Document.cpp:
61096        (WebCore::Document::recalcStyle):
61097        * dom/Document.h:
61098        (WebCore::Document::inspectorTimelineAgent):
61099        * dom/Node.cpp:
61100        (WebCore::Node::dispatchGenericEvent):
61101        * html/HTMLTokenizer.cpp:
61102        (WebCore::HTMLTokenizer::write):
61103        * inspector/DOMDispatchTimelineItem.cpp: Added.
61104        (WebCore::DOMDispatchTimelineItem::DOMDispatchTimelineItem):
61105        (WebCore::DOMDispatchTimelineItem::convertToScriptObject):
61106        * inspector/DOMDispatchTimelineItem.h: Added.
61107        (WebCore::DOMDispatchTimelineItem::~DOMDispatchTimelineItem):
61108        * inspector/InspectorBackend.cpp:
61109        (WebCore::InspectorBackend::enableTimeline):
61110        (WebCore::InspectorBackend::disableTimeline):
61111        (WebCore::InspectorBackend::timelineEnabled):
61112        * inspector/InspectorBackend.h:
61113        * inspector/InspectorBackend.idl:
61114        * inspector/InspectorController.cpp:
61115        (WebCore::InspectorController::setFrontendProxyObject):
61116        (WebCore::InspectorController::close):
61117        (WebCore::InspectorController::resetScriptObjects):
61118        (WebCore::InspectorController::enableTimeline):
61119        (WebCore::InspectorController::disableTimeline):
61120        (WebCore::InspectorController::timelineEnabled):
61121        * inspector/InspectorController.h:
61122        (WebCore::InspectorController::timelineAgent):
61123        * inspector/InspectorFrontend.cpp:
61124        (WebCore::InspectorFrontend::timelineWasEnabled):
61125        (WebCore::InspectorFrontend::timelineWasDisabled):
61126        (WebCore::InspectorFrontend::addItemToTimeline):
61127        * inspector/InspectorFrontend.h:
61128        * inspector/InspectorTimelineAgent.cpp: Added.
61129        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
61130        (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
61131        (WebCore::InspectorTimelineAgent::willDispatchDOMEvent):
61132        (WebCore::InspectorTimelineAgent::didDispatchDOMEvent):
61133        (WebCore::InspectorTimelineAgent::willLayout):
61134        (WebCore::InspectorTimelineAgent::didLayout):
61135        (WebCore::InspectorTimelineAgent::willRecalculateStyle):
61136        (WebCore::InspectorTimelineAgent::didRecalculateStyle):
61137        (WebCore::InspectorTimelineAgent::willPaint):
61138        (WebCore::InspectorTimelineAgent::didPaint):
61139        (WebCore::InspectorTimelineAgent::willWriteHTML):
61140        (WebCore::InspectorTimelineAgent::didWriteHTML):
61141        (WebCore::InspectorTimelineAgent::reset):
61142        (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
61143        (WebCore::InspectorTimelineAgent::currentTimeInMilliseconds):
61144        (WebCore::InspectorTimelineAgent::sessionTimeInMilliseconds):
61145        * inspector/InspectorTimelineAgent.h: Added.
61146        * inspector/TimelineItem.cpp: Added.
61147        (WebCore::TimelineItem::TimelineItem):
61148        (WebCore::TimelineItem::addToTimeline):
61149        (WebCore::TimelineItem::convertToScriptObject):
61150        (WebCore::TimelineItem::convertChildrenToScriptArray):
61151        (WebCore::TimelineItem::addChildItem):
61152        * inspector/TimelineItem.h: Added.
61153        (WebCore::):
61154        (WebCore::TimelineItem::~TimelineItem):
61155        (WebCore::TimelineItem::previous):
61156        (WebCore::TimelineItem::releasePrevious):
61157        (WebCore::TimelineItem::setEndTime):
61158        (WebCore::TimelineItem::type):
61159        * inspector/front-end/TimelineAgent.js: Added.
61160        (WebInspector.TimelineAgent):
61161        (WebInspector.addItemToTimeline):
61162        (WebInspector.timelineWasEnabled):
61163        (WebInspector.timelineWasDisabled):
61164        * inspector/front-end/inspector.html:
61165        * page/FrameView.cpp:
61166        (WebCore::FrameView::layout):
61167        (WebCore::FrameView::paintContents):
61168        * page/FrameView.h:
61169        (WebCore::FrameView::inspectorTimelineAgent):
61170        * page/Page.cpp:
61171        (WebCore::Page::inspectorTimelineAgent):
61172        * page/Page.h:
61173
611742009-09-08  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
61175
61176        Reviewed by Simon Hausmann.
61177
61178        [Qt] Fix unused variable warnings
61179        https://bugs.webkit.org/show_bug.cgi?id=29018
61180
61181        No functional change, no tests.
61182
61183        * history/qt/HistoryItemQt.cpp:
61184        (WebCore::HistoryItem::restoreState):
61185        * platform/graphics/qt/ImageBufferQt.cpp:
61186        (WebCore::putImageData):
61187        * platform/qt/RenderThemeQt.cpp:
61188        (WebCore::RenderThemeQt::paintMenuList):
61189
611902009-09-08  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
61191
61192        Reviewed by Ariya Hidayat.
61193
61194        [Qt] Use the declaration order in initializer lists
61195        https://bugs.webkit.org/show_bug.cgi?id=29017
61196
61197        No functional change, no new tests.
61198
61199        * platform/graphics/qt/FontCacheQt.cpp:
61200        (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
61201        * platform/network/qt/QNetworkReplyHandler.cpp:
61202        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
61203
612042009-09-08  Kent Tamura  <tkent@chromium.org>
61205
61206        Reviewed by Eric Seidel.
61207
61208        Implement ValidityState::typeMismatch() for <input type=number>.
61209        https://bugs.webkit.org/show_bug.cgi?id=28934
61210
61211        Test: fast/forms/ValidityState-typeMismatch-number.html
61212
61213        * html/HTMLInputElement.cpp:
61214        (WebCore::HTMLInputElement::formStringToDouble):
61215        * html/HTMLInputElement.h:
61216        * html/ValidityState.cpp:
61217        (WebCore::ValidityState::typeMismatch):
61218        * html/ValidityState.h:
61219
612202009-09-08  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
61221
61222        Reviewed by Gustavo Noronha.
61223
61224        [Gtk] Another attempt of a buildfix.
61225
61226        * GNUmakefile.am: Modified. Remove some extra IDL files added in r48153.
61227
612282009-09-08  Kenneth Rohde Christiansen  <kenneth@webkit.org>
61229
61230        Reviewed by Simon Hausmann.
61231
61232        [Qt] Make cursor set cleaner in QtWebKit Api: eliminate SetCursorEvent hack.
61233        https://bugs.webkit.org/show_bug.cgi?id=28865
61234
61235        Save the QCursor as a property in WidgetQt::setCursor
61236        and actually change the cursor in QWebView::event() by making use
61237        of the QEvent::DynamicPropertyChange event type.
61238        When unsetCursor() is called on the QWidget we can fallback to
61239        the cursor set by WebCore.
61240
61241        Patch by Kenneth Rohde Christiansen <kenneth@webkit.org> and
61242                 Antonio Gomes <antonio.gomes@openbossa.org> on 2009-09-07
61243
61244        * platform/qt/WidgetQt.cpp:
61245        (WebCore::Widget::setCursor):
61246
612472009-09-08  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
61248
61249        Reviewed by Gustavo Noronha.
61250
61251        [Gtk] Buildfix for build error introduced in r48150.
61252
61253        * GNUmakefile.am: Modified. Added missing IDL files.
61254
612552009-09-08  Csaba Osztrogonac  <oszi@inf.u-szeged.hu>
61256
61257        Reviewed by Tor Arne Vestbø.
61258
61259        [Qt] Buildfix. Build error caused by r48150.
61260
61261        * WebCore.pro: missing IDL files added
61262
612632009-09-07  Chris Marrin  <cmarrin@apple.com>
61264
61265        Reviewed by Oliver Hunt.
61266
61267        Update Canvas 3D implementation to match spec
61268        https://bugs.webkit.org/show_bug.cgi?id=29010
61269
61270        This adds several new CanvasXXXArray classes each of which has a custom constructor
61271        and custom getters and setters. Also changed CanvasRenderingContext3D and GraphicsContext3D
61272        to match the new and changed API.
61273
61274        * DerivedSources.make:
61275        * WebCore.xcodeproj/project.pbxproj:
61276        * bindings/js/JSCanvasArrayBufferConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
61277        * bindings/js/JSCanvasArrayBufferConstructor.h: Added with properties svn:eol-style and svn:mime-type.
61278        * bindings/js/JSCanvasArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
61279        * bindings/js/JSCanvasByteArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
61280        * bindings/js/JSCanvasByteArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
61281        * bindings/js/JSCanvasByteArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
61282        * bindings/js/JSCanvasFloatArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
61283        * bindings/js/JSCanvasFloatArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
61284        * bindings/js/JSCanvasFloatArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
61285        * bindings/js/JSCanvasIntArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
61286        * bindings/js/JSCanvasIntArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
61287        * bindings/js/JSCanvasIntArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
61288        * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
61289        (WebCore::JSCanvasRenderingContext3D::bufferData):
61290        (WebCore::JSCanvasRenderingContext3D::bufferSubData):
61291        (WebCore::JSCanvasRenderingContext3D::texImage2D):
61292        (WebCore::JSCanvasRenderingContext3D::texSubImage2D):
61293        * bindings/js/JSCanvasShortArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
61294        * bindings/js/JSCanvasShortArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
61295        * bindings/js/JSCanvasShortArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
61296        * bindings/js/JSCanvasUnsignedByteArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
61297        * bindings/js/JSCanvasUnsignedByteArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
61298        * bindings/js/JSCanvasUnsignedByteArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
61299        * bindings/js/JSCanvasUnsignedIntArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
61300        * bindings/js/JSCanvasUnsignedIntArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
61301        * bindings/js/JSCanvasUnsignedIntArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
61302        * bindings/js/JSCanvasUnsignedShortArrayConstructor.cpp: Added with properties svn:eol-style and svn:mime-type.
61303        * bindings/js/JSCanvasUnsignedShortArrayConstructor.h: Added with properties svn:eol-style and svn:mime-type.
61304        * bindings/js/JSCanvasUnsignedShortArrayCustom.cpp: Added with properties svn:eol-style and svn:mime-type.
61305        * bindings/js/JSDOMWindowCustom.cpp:
61306        (WebCore::JSDOMWindow::canvasArrayBuffer):
61307        (WebCore::JSDOMWindow::canvasByteArray):
61308        (WebCore::JSDOMWindow::canvasUnsignedByteArray):
61309        (WebCore::JSDOMWindow::canvasIntArray):
61310        (WebCore::JSDOMWindow::canvasUnsignedIntArray):
61311        (WebCore::JSDOMWindow::canvasShortArray):
61312        (WebCore::JSDOMWindow::canvasUnsignedShortArray):
61313        (WebCore::JSDOMWindow::canvasFloatArray):
61314        * html/HTMLCanvasElement.cpp:
61315        (WebCore::HTMLCanvasElement::getContext):
61316        (WebCore::HTMLCanvasElement::paint):
61317        * html/canvas/CanvasArray.cpp: Added with properties svn:eol-style and svn:mime-type.
61318        * html/canvas/CanvasArray.h: Added with properties svn:eol-style and svn:mime-type.
61319        * html/canvas/CanvasArray.idl: Added.
61320        * html/canvas/CanvasArrayBuffer.cpp: Added with properties svn:eol-style and svn:mime-type.
61321        * html/canvas/CanvasArrayBuffer.h: Added with properties svn:eol-style and svn:mime-type.
61322        * html/canvas/CanvasArrayBuffer.idl: Added.
61323        * html/canvas/CanvasByteArray.cpp:
61324        * html/canvas/CanvasByteArray.h:
61325        * html/canvas/CanvasByteArray.idl:
61326        * html/canvas/CanvasFloatArray.cpp: Added with properties svn:eol-style and svn:mime-type.
61327        * html/canvas/CanvasFloatArray.h: Added with properties svn:eol-style and svn:mime-type.
61328        * html/canvas/CanvasFloatArray.idl: Added.
61329        * html/canvas/CanvasIntArray.cpp: Added with properties svn:eol-style and svn:mime-type.
61330        * html/canvas/CanvasIntArray.h: Added with properties svn:eol-style and svn:mime-type.
61331        * html/canvas/CanvasIntArray.idl: Added.
61332        * html/canvas/CanvasRenderingContext3D.cpp:
61333        (WebCore::CanvasRenderingContext3D::CanvasRenderingContext3D):
61334        (WebCore::CanvasRenderingContext3D::markContextChanged):
61335        (WebCore::CanvasRenderingContext3D::beginPaint):
61336        (WebCore::CanvasRenderingContext3D::endPaint):
61337        (WebCore::CanvasRenderingContext3D::reshape):
61338        (WebCore::CanvasRenderingContext3D::sizeInBytes):
61339        (WebCore::CanvasRenderingContext3D::bindTexture):
61340        (WebCore::CanvasRenderingContext3D::bufferData):
61341        (WebCore::CanvasRenderingContext3D::bufferSubData):
61342        (WebCore::CanvasRenderingContext3D::checkFramebufferStatus):
61343        (WebCore::CanvasRenderingContext3D::clear):
61344        (WebCore::CanvasRenderingContext3D::createBuffer):
61345        (WebCore::CanvasRenderingContext3D::createFramebuffer):
61346        (WebCore::CanvasRenderingContext3D::createTexture):
61347        (WebCore::CanvasRenderingContext3D::createProgram):
61348        (WebCore::CanvasRenderingContext3D::createRenderbuffer):
61349        (WebCore::CanvasRenderingContext3D::createShader):
61350        (WebCore::CanvasRenderingContext3D::deleteBuffer):
61351        (WebCore::CanvasRenderingContext3D::deleteFramebuffer):
61352        (WebCore::CanvasRenderingContext3D::deleteProgram):
61353        (WebCore::CanvasRenderingContext3D::deleteRenderbuffer):
61354        (WebCore::CanvasRenderingContext3D::deleteShader):
61355        (WebCore::CanvasRenderingContext3D::deleteTexture):
61356        (WebCore::CanvasRenderingContext3D::drawArrays):
61357        (WebCore::CanvasRenderingContext3D::drawElements):
61358        (WebCore::CanvasRenderingContext3D::getBoolean):
61359        (WebCore::CanvasRenderingContext3D::getBooleanv):
61360        (WebCore::CanvasRenderingContext3D::getBufferParameteri):
61361        (WebCore::CanvasRenderingContext3D::getBufferParameteriv):
61362        (WebCore::CanvasRenderingContext3D::getFloat):
61363        (WebCore::CanvasRenderingContext3D::getFloatv):
61364        (WebCore::CanvasRenderingContext3D::getFramebufferAttachmentParameteri):
61365        (WebCore::CanvasRenderingContext3D::getFramebufferAttachmentParameteriv):
61366        (WebCore::CanvasRenderingContext3D::getInteger):
61367        (WebCore::CanvasRenderingContext3D::getIntegerv):
61368        (WebCore::CanvasRenderingContext3D::getProgrami):
61369        (WebCore::CanvasRenderingContext3D::getProgramiv):
61370        (WebCore::CanvasRenderingContext3D::getProgramInfoLog):
61371        (WebCore::CanvasRenderingContext3D::getRenderbufferParameteri):
61372        (WebCore::CanvasRenderingContext3D::getRenderbufferParameteriv):
61373        (WebCore::CanvasRenderingContext3D::getShaderi):
61374        (WebCore::CanvasRenderingContext3D::getShaderiv):
61375        (WebCore::CanvasRenderingContext3D::getShaderInfoLog):
61376        (WebCore::CanvasRenderingContext3D::getShaderSource):
61377        (WebCore::CanvasRenderingContext3D::getTexParameterf):
61378        (WebCore::CanvasRenderingContext3D::getTexParameterfv):
61379        (WebCore::CanvasRenderingContext3D::getTexParameteri):
61380        (WebCore::CanvasRenderingContext3D::getTexParameteriv):
61381        (WebCore::CanvasRenderingContext3D::getUniformf):
61382        (WebCore::CanvasRenderingContext3D::getUniformfv):
61383        (WebCore::CanvasRenderingContext3D::getUniformi):
61384        (WebCore::CanvasRenderingContext3D::getUniformiv):
61385        (WebCore::CanvasRenderingContext3D::getUniformLocation):
61386        (WebCore::CanvasRenderingContext3D::getVertexAttribf):
61387        (WebCore::CanvasRenderingContext3D::getVertexAttribfv):
61388        (WebCore::CanvasRenderingContext3D::getVertexAttribi):
61389        (WebCore::CanvasRenderingContext3D::getVertexAttribiv):
61390        (WebCore::CanvasRenderingContext3D::getVertexAttribOffset):
61391        (WebCore::CanvasRenderingContext3D::texImage2D):
61392        (WebCore::CanvasRenderingContext3D::texParameterf):
61393        (WebCore::CanvasRenderingContext3D::texParameteri):
61394        (WebCore::CanvasRenderingContext3D::texSubImage2D):
61395        (WebCore::CanvasRenderingContext3D::uniform1f):
61396        (WebCore::CanvasRenderingContext3D::uniform1fv):
61397        (WebCore::CanvasRenderingContext3D::uniform1i):
61398        (WebCore::CanvasRenderingContext3D::uniform1iv):
61399        (WebCore::CanvasRenderingContext3D::uniform2f):
61400        (WebCore::CanvasRenderingContext3D::uniform2fv):
61401        (WebCore::CanvasRenderingContext3D::uniform2i):
61402        (WebCore::CanvasRenderingContext3D::uniform2iv):
61403        (WebCore::CanvasRenderingContext3D::uniform3f):
61404        (WebCore::CanvasRenderingContext3D::uniform3fv):
61405        (WebCore::CanvasRenderingContext3D::uniform3i):
61406        (WebCore::CanvasRenderingContext3D::uniform3iv):
61407        (WebCore::CanvasRenderingContext3D::uniform4f):
61408        (WebCore::CanvasRenderingContext3D::uniform4fv):
61409        (WebCore::CanvasRenderingContext3D::uniform4i):
61410        (WebCore::CanvasRenderingContext3D::uniform4iv):
61411        (WebCore::CanvasRenderingContext3D::uniformMatrix2fv):
61412        (WebCore::CanvasRenderingContext3D::uniformMatrix3fv):
61413        (WebCore::CanvasRenderingContext3D::uniformMatrix4fv):
61414        (WebCore::CanvasRenderingContext3D::useProgram):
61415        (WebCore::CanvasRenderingContext3D::validateProgram):
61416        (WebCore::CanvasRenderingContext3D::vertexAttrib1f):
61417        (WebCore::CanvasRenderingContext3D::vertexAttrib1fv):
61418        (WebCore::CanvasRenderingContext3D::vertexAttrib2f):
61419        (WebCore::CanvasRenderingContext3D::vertexAttrib2fv):
61420        (WebCore::CanvasRenderingContext3D::vertexAttrib3f):
61421        (WebCore::CanvasRenderingContext3D::vertexAttrib3fv):
61422        (WebCore::CanvasRenderingContext3D::vertexAttrib4f):
61423        (WebCore::CanvasRenderingContext3D::vertexAttrib4fv):
61424        (WebCore::CanvasRenderingContext3D::vertexAttribPointer):
61425        (WebCore::CanvasRenderingContext3D::viewport):
61426        * html/canvas/CanvasRenderingContext3D.h:
61427        * html/canvas/CanvasRenderingContext3D.idl:
61428        * html/canvas/CanvasShortArray.cpp: Added with properties svn:eol-style and svn:mime-type.
61429        * html/canvas/CanvasShortArray.h: Added with properties svn:eol-style and svn:mime-type.
61430        * html/canvas/CanvasShortArray.idl: Added.
61431        * html/canvas/CanvasTexture.cpp:
61432        (WebCore::CanvasTexture::CanvasTexture):
61433        * html/canvas/CanvasTexture.h:
61434        (WebCore::CanvasTexture::isCubeMapRWrapModeInitialized):
61435        (WebCore::CanvasTexture::setCubeMapRWrapModeInitialized):
61436        * html/canvas/CanvasUnsignedByteArray.cpp: Added with properties svn:eol-style and svn:mime-type.
61437        * html/canvas/CanvasUnsignedByteArray.h: Added with properties svn:eol-style and svn:mime-type.
61438         * html/canvas/CanvasUnsignedByteArray.idl: Added.
61439        * html/canvas/CanvasUnsignedIntArray.cpp: Added with properties svn:eol-style and svn:mime-type.
61440        * html/canvas/CanvasUnsignedIntArray.h: Added with properties svn:eol-style and svn:mime-type.
61441        * html/canvas/CanvasUnsignedIntArray.idl: Added.
61442        * html/canvas/CanvasUnsignedShortArray.cpp: Added with properties svn:eol-style and svn:mime-type.
61443        * html/canvas/CanvasUnsignedShortArray.h: Added with properties svn:eol-style and svn:mime-type.
61444        * html/canvas/CanvasUnsignedShortArray.idl: Added.
61445        * page/DOMWindow.idl:
61446        * platform/graphics/GraphicsContext3D.h:
61447        * platform/graphics/mac/GraphicsContext3DMac.cpp:
61448        (WebCore::GraphicsContext3D::beginPaint):
61449        (WebCore::GraphicsContext3D::endPaint):
61450        (WebCore::GraphicsContext3D::bindTexture):
61451        (WebCore::GraphicsContext3D::bufferData):
61452        (WebCore::GraphicsContext3D::bufferSubData):
61453        (WebCore::GraphicsContext3D::checkFramebufferStatus):
61454        (WebCore::GraphicsContext3D::drawArrays):
61455        (WebCore::GraphicsContext3D::drawElements):
61456        (WebCore::GraphicsContext3D::texParameterf):
61457        (WebCore::GraphicsContext3D::texParameteri):
61458        (WebCore::GraphicsContext3D::uniform1f):
61459        (WebCore::GraphicsContext3D::uniform1fv):
61460        (WebCore::GraphicsContext3D::uniform2f):
61461        (WebCore::GraphicsContext3D::uniform2fv):
61462        (WebCore::GraphicsContext3D::uniform3f):
61463        (WebCore::GraphicsContext3D::uniform3fv):
61464        (WebCore::GraphicsContext3D::uniform4f):
61465        (WebCore::GraphicsContext3D::uniform4fv):
61466        (WebCore::GraphicsContext3D::uniform1i):
61467        (WebCore::GraphicsContext3D::uniform1iv):
61468        (WebCore::GraphicsContext3D::uniform2i):
61469        (WebCore::GraphicsContext3D::uniform2iv):
61470        (WebCore::GraphicsContext3D::uniform3i):
61471        (WebCore::GraphicsContext3D::uniform3iv):
61472        (WebCore::GraphicsContext3D::uniform4i):
61473        (WebCore::GraphicsContext3D::uniform4iv):
61474        (WebCore::GraphicsContext3D::uniformMatrix2fv):
61475        (WebCore::GraphicsContext3D::uniformMatrix3fv):
61476        (WebCore::GraphicsContext3D::uniformMatrix4fv):
61477        (WebCore::GraphicsContext3D::vertexAttrib1f):
61478        (WebCore::GraphicsContext3D::vertexAttrib1fv):
61479        (WebCore::GraphicsContext3D::vertexAttrib2f):
61480        (WebCore::GraphicsContext3D::vertexAttrib2fv):
61481        (WebCore::GraphicsContext3D::vertexAttrib3f):
61482        (WebCore::GraphicsContext3D::vertexAttrib3fv):
61483        (WebCore::GraphicsContext3D::vertexAttrib4f):
61484        (WebCore::GraphicsContext3D::vertexAttrib4fv):
61485        (WebCore::GraphicsContext3D::vertexAttribPointer):
61486        (WebCore::GraphicsContext3D::getBoolean):
61487        (WebCore::GraphicsContext3D::getBooleanv):
61488        (WebCore::GraphicsContext3D::getFloat):
61489        (WebCore::GraphicsContext3D::getFloatv):
61490        (WebCore::GraphicsContext3D::getInteger):
61491        (WebCore::GraphicsContext3D::getIntegerv):
61492        (WebCore::GraphicsContext3D::getBufferParameteri):
61493        (WebCore::GraphicsContext3D::getBufferParameteriv):
61494        (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteri):
61495        (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
61496        (WebCore::GraphicsContext3D::getProgrami):
61497        (WebCore::GraphicsContext3D::getProgramiv):
61498        (WebCore::GraphicsContext3D::getRenderbufferParameteri):
61499        (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
61500        (WebCore::GraphicsContext3D::getShaderi):
61501        (WebCore::GraphicsContext3D::getShaderiv):
61502        (WebCore::GraphicsContext3D::getTexParameterf):
61503        (WebCore::GraphicsContext3D::getTexParameterfv):
61504        (WebCore::GraphicsContext3D::getTexParameteri):
61505        (WebCore::GraphicsContext3D::getTexParameteriv):
61506        (WebCore::GraphicsContext3D::getUniformf):
61507        (WebCore::GraphicsContext3D::getUniformfv):
61508        (WebCore::GraphicsContext3D::getUniformi):
61509        (WebCore::GraphicsContext3D::getUniformiv):
61510        (WebCore::GraphicsContext3D::getVertexAttribf):
61511        (WebCore::GraphicsContext3D::getVertexAttribfv):
61512        (WebCore::GraphicsContext3D::getVertexAttribi):
61513        (WebCore::GraphicsContext3D::getVertexAttribiv):
61514        (WebCore::GraphicsContext3D::getVertexAttribOffset):
61515        (WebCore::GraphicsContext3D::texImage2D):
61516        (WebCore::GraphicsContext3D::texSubImage2D):
61517        (WebCore::GraphicsContext3D::sizeInBytes):
61518
615192009-09-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
61520
61521        Reviewed by Timothy Hatcher.
61522
61523        Make m_windowVisible more consistent with the actual visibility of the inspector.
61524
61525        * inspector/InspectorController.cpp:
61526        (WebCore::InspectorController::setWindowVisible):
61527
615282009-09-07  Adam Barth  <abarth@webkit.org>
61529
61530        Unreviewed speculative build fix for Snow Leopard.
61531
61532        * platform/GeolocationService.cpp:
61533        (WebCore::createGeolocationServiceNull):
61534
615352009-09-07  Steve Block  <steveblock@google.com>
61536
61537        Reviewed by Adam Barth.
61538
61539        Adds a mock Geolocation service. This will be used to provide predictable behavior of the
61540        Geolocation API for use in LayoutTests. Later changes will integrate the the mock
61541        Geolocation service with DumpRenderTree.
61542        https://bugs.webkit.org/show_bug.cgi?id=28264
61543
61544        The mock Geolocation service returns a fixed position or error. This position or error can be
61545        set through static methods on the GeolocationService class. The position or error is shared
61546        between all instances of the mock Geolocation service.
61547
61548        Implementation details.
61549        The GeolocationService object maintains a pointer to a factory function which it uses to create
61550        Geolocation service instances. Each platform implementing Geolocation sets this pointer
61551        to the factory function for their platform's implementation. When the mock Geolocation service
61552        is activated, the factory function pointer is reset to the factory function for the mock service.
61553
61554        Test: fast/dom/Geolocation/error.html
61555
61556        * WebCore.base.exp: Modified. Exports GeolocationServiceMock methods.
61557        * GNUMakefile.am: Modified. Added GeolocationServiceMock files.
61558        * WebCore.gypi: Modified. Added GeolocationServiceMock files.
61559        * WebCore.pro: Modified. Added GeolocationServiceMock files.
61560        * WebCore.vcproj/WebCore.vcproj: Modified. Added GeolocationServiceMock files.
61561        * WebCore.vcproj/WebCoreCommon.vsprops: Modified. Added mock directory to includes.
61562        * WebCore.xcodeproj/project.pbxproj: Modified. Added GeolocationServiceMock files and exports some headers.
61563        * WebCoreSources.bkl: Modified. Added GeolocationServiceMock files.
61564        * page/ChromeClient.h: Modified. Fixed comment.
61565        * page/Geolocation.cpp: Modified.
61566        (WebCore::Geolocation::setIsAllowed): Modified. Fixed error string.
61567        * platform/GeolocationService.cpp: Modified.
61568        (WebCore::createGeolocationServiceNull): Added. Returns null in place of a Geolocation service. Used to avoid link errors on platforms where Geolocation is not implemented.
61569        (WebCore::GeolocationService::create): Added. Uses the factory function pointer to create a Geolocation service implementation.
61570        (WebCore::GeolocationService::useMock): Added. Configures the GeolocationServie to use the mock implementation.
61571        * platform/GeolocationService.h: Modified.
61572        * platform/mock: Added.
61573        * platform/mock/GeolocationServiceMock.cpp: Added.
61574        (WebCore::GeolocationServiceMock::create): Added. Creates a GeolocationServiceMock object.
61575        (WebCore::GeolocationServiceMock::GeolocationServiceMock): Added. Constructor.
61576        (WebCore::GeolocationServiceMock::~GeolocationServiceMock): Added. Destructor.
61577        (WebCore::GeolocationServiceMock::setPosition): Added. Sets the position that will be returned by the object.
61578        (WebCore::GeolocationServiceMock::setError): Added. Sets the error that will be returned by the object.
61579        (WebCore::GeolocationServiceMock::startUpdating): Added. GeolocationService implementation. Starts the service.
61580        (WebCore::GeolocationServiceMock::stopUpdating): Added. GeolocationService implementation. Stops the service.
61581        (WebCore::GeolocationServiceMock::timerFired): Added. Used to provide an asynchronous callback when the service is started.
61582        (WebCore::GeolocationServiceMock::makeGeolocationCallbackFromAllInstances): Added. Used to call back when the position or error is updated.
61583        (WebCore::GeolocationServiceMock::makeGeolocationCallback): Added. Used to call back when the service starts.
61584        (WebCore::GeolocationServiceMock::initStatics): Added. Initializes statics members with constructors.
61585        (WebCore::GeolocationServiceMock::cleanUpStatics): Added. Cleans up static members with constructors.
61586        * platform/mock/GeolocationServiceMock.h: Added.
61587        (WebCore::GeolocationServiceMock::lastPosition): Added. Returns the fixed position.
61588        (WebCore::GeolocationServiceMock::lastError): Added. Returns the fixed error.
61589        * platform/gtk/GeolocationServiceGtk.cpp: Modified.
61590        (WebCore::GeolocationServiceGtk::create): Added. Creates an instance of GeolocationServiceGtk.
61591        * platform/gtk/GeolocationServiceGtk.h: Modified.
61592        * platform/mac/GeolocationServiceMac.h: Modified.
61593        * platform/mac/GeolocationServiceMac.mm: Modified.
61594        (WebCore::GeolocationServiceMac::create): Added. Creates an instance of GeolocationServiceMac.
61595
615962009-09-07  Adam Barth  <abarth@webkit.org>
61597
61598        Reviewed by Dimitri Glazkov.
61599
61600        https://bugs.webkit.org/show_bug.cgi?id=28985
61601
61602        We need to be slightly more careful about how we pick up a script
61603        execution context.  In particular, we were getting the wrong document
61604        for frames that had been navigated somewhere else.
61605
61606        In the long term, we should think about a better algorithm for
61607        computing the script context.
61608
61609        Fixes LayoutTests/http/tests/xmlhttprequest/detaching-frame-2.html
61610
61611        * bindings/v8/V8Proxy.cpp:
61612        (WebCore::V8Proxy::retrieveFrame):
61613
616142009-09-07  Kevin Ollivier  <kevino@theolliviers.com>
61615
61616        wx build fix for 2.8 compilation.
61617
61618        * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
61619        (wxRenderer_DrawScrollbar):
61620
616212009-09-07  Drew Wilson  <atwilson@google.com>
61622
61623        Unreviewed build fix.
61624
61625        Reverting r48121 to fix Windows build errors.
61626
61627        * DerivedSources.cpp:
61628        * GNUmakefile.am:
61629        * WebCore.xcodeproj/project.pbxproj:
61630        * bindings/js/JSDOMWindowCustom.cpp:
61631        * bindings/js/JSEventTarget.cpp:
61632        (WebCore::toJS):
61633        (WebCore::toEventTarget):
61634        * dom/EventTarget.cpp:
61635        * dom/EventTarget.h:
61636        * page/DOMWindow.idl:
61637        * websockets/WebSocket.cpp:
61638        (WebCore::WebSocket::connect):
61639        (WebCore::WebSocket::send):
61640        (WebCore::WebSocket::close):
61641        (WebCore::WebSocket::bufferedAmount):
61642        (WebCore::WebSocket::addEventListener):
61643        (WebCore::WebSocket::removeEventListener):
61644        (WebCore::WebSocket::dispatchEvent):
61645        (WebCore::WebSocket::didConnect):
61646        (WebCore::WebSocket::didReceiveMessage):
61647        (WebCore::WebSocket::didClose):
61648        (WebCore::WebSocket::dispatchOpenEvent):
61649        (WebCore::WebSocket::dispatchMessageEvent):
61650        (WebCore::WebSocket::dispatchCloseEvent):
61651        * websockets/WebSocket.h:
61652        (WebCore::WebSocket::create):
61653        (WebCore::WebSocket::):
61654        (WebCore::WebSocket::setOnopen):
61655        (WebCore::WebSocket::onopen):
61656        (WebCore::WebSocket::setOnmessage):
61657        (WebCore::WebSocket::onmessage):
61658        (WebCore::WebSocket::setOnclose):
61659        (WebCore::WebSocket::onclose):
61660        (WebCore::WebSocket::toWebSocket):
61661        (WebCore::WebSocket::refEventTarget):
61662        (WebCore::WebSocket::derefEventTarget):
61663        * websockets/WebSocketChannel.cpp: Removed.
61664        * websockets/WebSocketChannel.h: Removed.
61665        * websockets/WebSocketChannelClient.h: Removed.
61666        * websockets/WebSocketHandshake.cpp: Removed.
61667        * websockets/WebSocketHandshake.h: Removed.
61668
616692009-09-07  Drew Wilson  <atwilson@google.com>
61670
61671        Unreviewed speculative build fix.
61672
61673        Reverted previous build fix as it didn't fix the problem.
61674
61675        * bindings/js/JSEventTarget.cpp:
61676        (WebCore::toEventTarget):
61677
616782009-09-07  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
61679
61680        Unreviewed, build fix.
61681
61682        [Qt] Fix build after SHARED_WORKERS are enabled by default (r48131)
61683
61684        * WebCore.pro:
61685
616862009-09-07  Drew Wilson  <atwilson@google.com>
61687
61688        Unreviewed build fix.
61689
61690        Temporarily removed depenency between JSEventTarget.cpp and WebSocket.h in an attempt to fix a windows build break.
61691
61692        * bindings/js/JSEventTarget.cpp:
61693        (WebCore::toEventTarget):
61694
616952009-09-07  Drew Wilson  <atwilson@google.com>
61696
61697        Reviewed by David Levin.
61698
61699        Enable SHARED_WORKERS by default.
61700        https://bugs.webkit.org/show_bug.cgi?id=28959
61701
61702        Tests (enabled in a separate patch):
61703               fast/workers/shared-worker-constructor.html
61704               fast/workers/shared-worker-context-gc.html
61705               fast/workers/shared-worker-event-listener.html
61706               fast/workers/shared-worker-exception.html
61707               fast/workers/shared-worker-frame-lifecycle.html
61708               fast/workers/shared-worker-gc.html
61709               fast/workers/shared-worker-lifecycle.html
61710               fast/workers/shared-worker-load-error.html
61711               fast/workers/shared-worker-location.html
61712               fast/workers/shared-worker-navigator.html
61713               fast/workers/shared-worker-replace-global-constructor.html
61714               fast/workers/shared-worker-replace-self.html
61715               fast/workers/shared-worker-shared.html
61716               fast/workers/shared-worker-simple.html
61717               http/tests/workers/shared-worker-importScripts.html
61718               http/tests/workers/shared-worker-redirect.html
61719               http/tests/xmlhttprequest/workers/shared-worker-close.html
61720               http/tests/xmlhttprequest/workers/shared-worker-methods-async.html
61721               http/tests/xmlhttprequest/workers/shared-worker-methods.html
61722               http/tests/xmlhttprequest/workers/shared-worker-xhr-file-not-found.html
61723
61724        * config.h: Removed some whitespace/touched the file to force a full rebuild on the build-bots.
61725        * Configurations/FeatureDefines.xcconfig:
61726        * WebCore.pro:
61727        * WebCore.vcproj/WebCoreCommon.vsprops:
61728        * WebCore.vcproj/build-generated-files.sh:
61729        * dom/DOMWindow.idl: Removed unnecessary whitespace to force a rebuild on the build-bots to pickup the flag change.
61730        * workers/DefaultSharedWorkerRepository.cpp:
61731        (WebCore::SharedWorkerScriptLoader::load):
61732        Clean up bitrot in SharedWorker code - DenyCrossOriginRedirect is now DenyCrossOriginRequests.
61733        * workers/SharedWorkerContext.cpp:
61734        (WebCore::SharedWorkerContext::dispatchConnect):
61735        Clean up bitrot - updated SharedWorker code to reflect new MessageEvent API.
61736
617372009-09-07  Xan Lopez  <xlopez@igalia.com>
61738
61739        Unreviewed build fix.
61740
61741        Add new file to sources list.
61742
61743        * GNUmakefile.am:
61744
617452009-09-07  Kevin Ollivier  <kevino@theolliviers.com>
61746
61747        wx build fixes for wx SVN trunk. 
61748
61749        * config.h:
61750        * platform/wx/RenderThemeWx.cpp:
61751        (WebCore::RenderThemeWx::paintButton):
61752        * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
61753        (WebCore::drawTextWithSpacing):
61754        * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp:
61755        (wxRenderer_DrawScrollbar):
61756
617572009-09-07  Chris Hills <chaz@chaz6.com>
61758
61759        Reviewed by Tor Arne Vestbø.
61760
61761        [Qt] Use direct includes for Phonon, not the pretty ones
61762
61763        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
61764
617652009-09-07  Fumitoshi Ukai  <ukai@chromium.org>
61766
61767        Reviewed by Alexey Proskuryakov.
61768
61769        WebSocket API implementation.
61770        https://bugs.webkit.org/show_bug.cgi?id=28038
61771        
61772        Add build systems only for GNUmakefile.am and WebCore.xcodeproj now.
61773        Other build systems will be updated once the code is functional.
61774        Tests will be landed once the code is completed and functional.
61775
61776        * DerivedSources.cpp:
61777        * GNUmakefile.am:
61778        * WebCore.xcodeproj/project.pbxproj:
61779        * bindings/js/JSDOMWindowCustom.cpp:
61780        (WebCore::JSDOMWindow::webSocket):
61781        * bindings/js/JSEventTarget.cpp:
61782        (WebCore::toJS):
61783        (WebCore::toEventTarget):
61784        * dom/EventTarget.cpp:
61785        (WebCore::EventTarget::toWebSocket):
61786        * dom/EventTarget.h:
61787        * page/DOMWindow.idl:
61788        * websockets/WebSocket.cpp:
61789        (WebCore::ProcessWebSocketEventTask::create):
61790        (WebCore::ProcessWebSocketEventTask::performTask):
61791        (WebCore::ProcessWebSocketEventTask::ProcessWebSocketEventTask):
61792        (WebCore::isValidProtocolString):
61793        (WebCore::WebSocket::connect):
61794        (WebCore::WebSocket::send):
61795        (WebCore::WebSocket::close):
61796        (WebCore::WebSocket::bufferedAmount):
61797        (WebCore::WebSocket::addEventListener):
61798        (WebCore::WebSocket::removeEventListener):
61799        (WebCore::WebSocket::dispatchEvent):
61800        (WebCore::WebSocket::didConnect):
61801        (WebCore::WebSocket::didReceiveMessage):
61802        (WebCore::WebSocket::didClose):
61803        (WebCore::WebSocket::dispatchOpenEvent):
61804        (WebCore::WebSocket::dispatchMessageEvent):
61805        (WebCore::WebSocket::dispatchCloseEvent):
61806        * websockets/WebSocket.h:
61807        (WebCore::WebSocket::create):
61808        (WebCore::WebSocket::):
61809        (WebCore::WebSocket::setOnopen):
61810        (WebCore::WebSocket::onopen):
61811        (WebCore::WebSocket::setOnmessage):
61812        (WebCore::WebSocket::onmessage):
61813        (WebCore::WebSocket::setOnclose):
61814        (WebCore::WebSocket::onclose):
61815        (WebCore::WebSocket::toWebSocket):
61816        (WebCore::WebSocket::eventListeners):
61817        (WebCore::WebSocket::refEventTarget):
61818        (WebCore::WebSocket::derefEventTarget):
61819        * websockets/WebSocketChannel.cpp: Added.
61820        * websockets/WebSocketChannel.h: Added.
61821        * websockets/WebSocketChannelClient.h: Added.
61822        * websockets/WebSocketHandshake.cpp: Added.
61823        * websockets/WebSocketHandshake.h: Added.
61824
618252009-09-07  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
61826
61827        Reviewed by Xan Lopez.
61828
61829        https://bugs.webkit.org/show_bug.cgi?id=26854
61830        [GTK] Needs API to allow more control over outgoing requests
61831
61832        Add infrastructure required to provide the new
61833        WebKitNetworkResponse object in our API.
61834
61835        * GNUmakefile.am: Add new files to the build.
61836        * platform/network/soup/ResourceRequestSoup.cpp:
61837        (WebCore::ResourceRequest::updateFromSoupMessage):
61838        * platform/network/soup/ResourceResponse.h:
61839        * platform/network/soup/ResourceResponseSoup.cpp: Added.
61840        (WebCore::ResourceResponse::toSoupMessage):
61841
618422009-09-07  Mads Ager  <ager@chromium.org>
61843
61844        Reviewed by Adam Barth.
61845
61846        [V8] Cleanup document/frame null-checking in V8DOMWindowCustom.cpp
61847        https://bugs.webkit.org/show_bug.cgi?id=29009
61848
61849        Be consistent in document and frame null checks.
61850
61851        * bindings/v8/custom/V8DOMWindowCustom.cpp:
61852        (WebCore::V8Custom::WindowSetTimeoutImpl):
61853        (WebCore::ACCESSOR_GETTER):
61854        (WebCore::ACCESSOR_SETTER):
61855        (WebCore::CALLBACK_FUNC_DECL):
61856        (WebCore::NAMED_PROPERTY_GETTER):
61857        (WebCore::V8Custom::ClearTimeoutImpl):
61858
618592009-09-07  Xan Lopez  <xlopez@igalia.com>
61860
61861        Reviewed by Gustavo Noronha.
61862
61863        [Soup] Limit the number of connections
61864        https://bugs.webkit.org/show_bug.cgi?id=18431
61865
61866        Increase the maximum number of per host and total connections to
61867        similar values than those used by the other modern browsers. Seems
61868        to significantly improve page loading time in many cases.
61869
61870        * platform/network/soup/ResourceHandleSoup.cpp:
61871        (WebCore::ensureSessionIsInitialized):
61872
618732009-09-07  Michael Nordman  <michaeln@google.com>
61874
61875        Reviewed by Darin Fisher.
61876
61877        Various minor chromium appcache modifications.
61878        https://bugs.webkit.org/show_bug.cgi?id=28960
61879
61880        No new tests.
61881
61882        * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
61883          Fix a null pointer exception.
61884        (WebCore::ACCESSOR_GETTER):
61885        * platform/network/chromium/ResourceRequest.h:
61886          Switch from appCache 'context' to 'host' terminology.
61887          Note: leaving the old deprecated accessors in place until the matching
61888          change in chrome is landed to use the new accessors.
61889        (WebCore::ResourceRequest::ResourceRequest):
61890        (WebCore::ResourceRequest::appCacheHostID):
61891        (WebCore::ResourceRequest::setAppCacheHostID):
61892        (WebCore::ResourceRequest::appCacheContextID):
61893        (WebCore::ResourceRequest::setAppCacheContextID):
61894        * platform/network/chromium/ResourceResponse.h:
61895          Add an appCacheManifestURL getter/setter.
61896          Drop the 'get' prefix from the appCacheID getter.
61897          Note: leaving the old deprecated 'get' prefixed accessor in place until the matching
61898          change in chrome is landed to use the new accessor.
61899        (WebCore::ResourceResponse::appCacheID):
61900        (WebCore::ResourceResponse::appCacheManifestURL):
61901        (WebCore::ResourceResponse::setAppCacheManifestURL):
61902        (WebCore::ResourceResponse::getAppCacheID):
61903
619042009-09-07  Michael Nordman  <michaeln@google.com>
61905
61906        Reviewed by Alexey Proskuryakov.
61907
61908        https://bugs.webkit.org/show_bug.cgi?id=28359
61909        Cleanup: Undo some accidental changes around DOMApplicationCache.
61910        - Restore support for constructing a DOMApplicationCache object with a null frame ptr.
61911        - Return a non-null object for window.applicationCache when the feature is disabled.
61912        - Simplify the swapCache method.
61913
61914        Test: http/tests/appcache/disabled.html
61915
61916        * loader/appcache/DOMApplicationCache.cpp:
61917        (WebCore::DOMApplicationCache::DOMApplicationCache):
61918        (WebCore::DOMApplicationCache::swapCache):
61919        (WebCore::DOMApplicationCache::scriptExecutionContext):
61920        * loader/appcache/DOMApplicationCache.h:
61921        * page/DOMWindow.cpp:
61922        (WebCore::DOMWindow::applicationCache):
61923
619242009-09-06  Yael Aharon  <yael.aharon@nokia.com>
61925
61926        Reviewed by Darin Adler.
61927
61928        hostname and host are mixed up when manipulating anchor elements.
61929        https://bugs.webkit.org/show_bug.cgi?id=28954
61930
61931        handle the case of port 0.
61932
61933        * html/HTMLAnchorElement.cpp:
61934        (WebCore::HTMLAnchorElement::host):
61935
619362009-09-06  Erik Arvidsson  <arv@chromium.org>
61937
61938        Reviewed by Eric Seidel.
61939
61940        Make hidden elements not focusable.
61941
61942        Clean up supportsFocus and isFocusable.
61943        supportsFocus now strictly means that the node can be focused by default.
61944        This is true for links, form controls and content editable elements for example.
61945        isFocusable means that the user can actually focus it.
61946        All (2) calls to supportsFocus have been updated to take this into account.
61947        
61948        Make a elements without href work correctly as well.
61949
61950        https://bugs.webkit.org/show_bug.cgi?id=27099
61951
61952        Tests: fast/events/click-focus-anchor.html
61953               fast/events/tab-focus-anchor.html
61954               fast/events/tab-focus-hidden.html
61955
61956        * dom/Element.cpp:
61957        (WebCore::Element::focus):
61958        * dom/Node.cpp:
61959        (WebCore::Node::supportsFocus):
61960        (WebCore::Node::isFocusable):
61961        * dom/Node.h:
61962        * html/HTMLAnchorElement.cpp:
61963        (WebCore::HTMLAnchorElement::supportsFocus):
61964        (WebCore::HTMLAnchorElement::isMouseFocusable):
61965        (WebCore::HTMLAnchorElement::isKeyboardFocusable):
61966        * html/HTMLAnchorElement.h:
61967        * html/HTMLAreaElement.cpp:
61968        (WebCore::HTMLAreaElement::supportsFocus):
61969        * html/HTMLAreaElement.h:
61970        * html/HTMLElement.cpp:
61971        (WebCore::HTMLElement::supportsFocus):
61972        * html/HTMLElement.h:
61973        * html/HTMLFieldSetElement.cpp:
61974        (WebCore::HTMLFieldSetElement::supportsFocus):
61975        * html/HTMLFieldSetElement.h:
61976        * html/HTMLFormControlElement.cpp:
61977        (WebCore::HTMLFormControlElement::supportsFocus):
61978        (WebCore::HTMLFormControlElement::isFocusable):
61979        * html/HTMLFrameElementBase.cpp:
61980        (WebCore::HTMLFrameElementBase::supportsFocus):
61981        * html/HTMLFrameElementBase.h:
61982        * html/HTMLLegendElement.cpp:
61983        (WebCore::HTMLLegendElement::supportsFocus):
61984        * html/HTMLLegendElement.h:
61985        * html/HTMLOptGroupElement.cpp:
61986        (WebCore::HTMLOptGroupElement::supportsFocus):
61987        (WebCore::HTMLOptGroupElement::isFocusable):
61988        * html/HTMLOptGroupElement.h:
61989        * html/HTMLOptionElement.cpp:
61990        (WebCore::HTMLOptionElement::supportsFocus):
61991        (WebCore::HTMLOptionElement::isFocusable):
61992        * html/HTMLOptionElement.h:
61993        * page/EventHandler.cpp:
61994        (WebCore::EventHandler::dispatchMouseEvent):
61995        * page/FocusController.cpp:
61996        (WebCore::FocusController::advanceFocus):
61997        * svg/SVGAElement.cpp:
61998        (WebCore::SVGAElement::supportsFocus):
61999        (WebCore::SVGAElement::isFocusable):
62000        * wml/WMLAElement.cpp:
62001        (WebCore::WMLAElement::supportsFocus):
62002        * wml/WMLAElement.h:
62003        * wml/WMLFormControlElement.cpp:
62004        (WebCore::WMLFormControlElement::supportsFocus):
62005        (WebCore::WMLFormControlElement::isFocusable):
62006        * wml/WMLFormControlElement.h:
62007
620082009-09-06  Joel Stanley  <joel@jms.id.au>
62009
62010        Reviewed by Dimitri Glazkov.
62011
62012        Expose functions to set the caret blink interval for Linux Chromium.
62013        Default value is set to that of RenderTheme::caretBlankInterval().
62014        Uses caretBlinkIntervalInternal to avoid overriding
62015        RenderThemeChromiumSkia::caretBlankInterval to preserve the disabling
62016        of blinking caret required for layout tests.
62017        https://bugs.webkit.org/show_bug.cgi?id=28931
62018
62019        * rendering/RenderThemeChromiumLinux.cpp:
62020        (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
62021        (WebCore::RenderThemeChromiumLinux::setCaretBlinkInterval):
62022        (WebCore::RenderThemeChromiumLinux::caretBlinkIntervalInternal):
62023        * rendering/RenderThemeChromiumLinux.h:
62024
620252009-09-06  Ada Chan  <adachan@apple.com>
62026
62027        Remove an extra </File> in WebCore.vcproj.
62028
62029        * WebCore.vcproj/WebCore.vcproj:
62030
620312009-09-06  Timothy Hatcher  <timothy@apple.com>
62032
62033        Adds a persistent setting for color format in the Web Inspector.
62034
62035        https://bugs.webkit.org/show_bug.cgi?id=28889
62036
62037        Reviewed by Dan Bernstein.
62038
62039        * English.lproj/localizedStrings.js: New strings.
62040        * inspector/front-end/Color.js: Minor style fixes.
62041        (WebInspector.Color.prototype.toString): Added. Replaces the individual
62042        "toFoo" functions. Takes a optional arguments for the color format to return.
62043        * inspector/front-end/Images/paneSettingsButtons.png: Added.
62044        * inspector/front-end/StylesSidebarPane.js:
62045        (WebInspector.StylesSidebarPane.prototype._changeColorFormat): Update the sections to show
62046        the new color format.
62047        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay):
62048        Use the new toString function on Color.
62049        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor): Use the persistent setting
62050        to format colors by default. Add a tooltip for the color swatch.
62051        * inspector/front-end/inspector.css: New styles for the settings menu.
62052        * inspector/front-end/inspector.js:
62053        (WebInspector.loaded): Initilize the colorFormat preference.
62054
620552009-09-06  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
62056
62057        Reviewed by Eric Seidel.
62058
62059        [Qt] Remove Qt v4.6 check from the prefetchDNS implementation
62060        https://bugs.webkit.org/show_bug.cgi?id=28993
62061
62062        * platform/network/qt/DnsPrefetchHelper.cpp:
62063        * platform/network/qt/DnsPrefetchHelper.h:
62064
620652009-09-06  Cameron McCormack  <cam@mcc.id.au>
62066
62067        Reviewed by Eric Seidel.
62068
62069        Drop <definition-src> support
62070        https://bugs.webkit.org/show_bug.cgi?id=28991
62071
62072        http://dev.w3.org/SVG/profiles/1.1F2/publish/changes.html#FontsChapter
62073
62074        * DerivedSources.cpp: Remove references to definition-src.
62075        * DerivedSources.make: Ditto.
62076        * GNUmakefile.am: Ditto.
62077        * WebCore.gypi: Ditto.
62078        * WebCore.pro: Ditto.
62079        * WebCore.vcproj/WebCore.vcproj: Ditto.
62080        * WebCore.xcodeproj/project.pbxproj: Ditto.
62081        * bindings/objc/DOM.mm:
62082        (WebCore::createElementClassMap): Ditto.
62083        * bindings/objc/DOMSVG.h: Ditto.
62084        * bindings/v8/DerivedSourcesAllInOne.cpp: Ditto.
62085        * bindings/v8/V8DOMWrapper.cpp: Ditto.
62086        * bindings/v8/V8Index.cpp: Ditto.
62087        * bindings/v8/V8Index.h: Ditto.
62088        * svg/SVGAllInOne.cpp: Ditto.
62089        * svg/SVGDefinitionSrcElement.cpp: Removed.
62090        * svg/SVGDefinitionSrcElement.h: Removed.
62091        * svg/SVGDefinitionSrcElement.idl: Removed.
62092        * svg/SVGFontFaceElement.cpp:
62093        (WebCore::SVGFontFaceElement::rebuildFontFace): Don't search for
62094        definition-src child.
62095        * svg/svgtags.in: Remove definition-src.
62096
620972009-09-05  Dimitri Glazkov  <dglazkov@chromium.org>
62098
62099        Unreviewed, build fix.
62100
62101        [Chromium] Roll out http://trac.webkit.org/changeset/48094, because the
62102        logic of retrieving default caret blink interval was incorrect (non-existent)
62103        and caused layout test flakiness.
62104
62105        * rendering/RenderThemeChromiumLinux.cpp:
62106        * rendering/RenderThemeChromiumLinux.h:
62107
621082009-09-05  Jian Li  <jianli@chromium.org>
62109
62110        Reviewed by NOBODY (Chromium reliability build break).
62111
62112        Back up partial change in r48072 in order to fix chromium reliability build break.
62113
62114        * bindings/v8/V8AbstractEventListener.cpp:
62115        (WebCore::V8AbstractEventListener::invokeEventHandler):
62116
621172009-09-05  Nicolas Weber  <thakis@chromium.org>
62118
62119        Reviewed by Darin Fisher.
62120
62121        https://bugs.webkit.org/show_bug.cgi?id=28975
62122        Fix file upload on chrome/mac. Images that have "Hide Extension" set,
62123        such as screenshots by default, can now be uploaded to sites such as
62124        imgur.com.
62125
62126        * platform/FileSystem.h:
62127        Add pathGetDisplayFileName().
62128        * platform/chromium/FileChooserChromium.cpp:
62129        (WebCore::FileChooser::basenameForWidth):
62130        Call pathGetDisplayFileName() instead of pathGetFileName().
62131        * platform/chromium/FileSystemChromiumLinux.cpp:
62132        (WebCore::pathGetDisplayFileName):
62133        Implement pathGetDisplayFileName() by delegating to pathGetFileName().
62134        * platform/chromium/FileSystemChromiumMac.mm:
62135        (WebCore::pathGetFileName):
62136        Now returns a real filename instead of a presentational one, which
62137        fixes the problem addressed by this change.
62138        (WebCore::pathGetDisplayFileName):
62139        New function that returns a presentational filename; does what
62140        pathGetDisplayFileName() did prior to this patch.
62141        * platform/chromium/FileSystemChromiumWin.cpp:
62142        (WebCore::pathGetDisplayFileName):
62143        Implement pathGetDisplayFileName() by delegating to pathGetFileName().
62144
621452009-09-05  Joel Stanley  <joel@jms.id.au>
62146
62147        Reviewed by David Levin.
62148
62149        Expose functions to set the caret blink interval for Linux Chromium.
62150        https://bugs.webkit.org/show_bug.cgi?id=28931
62151
62152        * rendering/RenderThemeChromiumLinux.cpp:
62153        (WebCore::RenderThemeChromiumLinux::setCaretBlinkInterval):
62154        (WebCore::RenderThemeChromiumLinux::caretBlinkInterval):
62155        * rendering/RenderThemeChromiumLinux.h:
62156
621572009-09-04  Dmitry Titov  <dimich@chromium.org>
62158
62159        Reviewed by David Levin.
62160
62161        Prevent UI freeze in case when too many timers are in the timer queue.
62162        https://bugs.webkit.org/show_bug.cgi?id=23865
62163
62164        The fix measures the elapsed time while executing timers. If we have too many
62165        timers and it takes significant time to fire, quit the loop and reschedule.
62166        This lets the run loop process user input (close the window for example).
62167
62168        * platform/ThreadTimers.h:
62169        * platform/ThreadTimers.cpp:
62170        (WebCore::ThreadTimers::sharedTimerFiredInternal):
62171        (WebCore::ThreadTimers::fireTimersInNestedEventLoop):
62172        Removed functions and members used before to grab a list of all expired timers.
62173        Now we fetch one by one, measuring time and quitting the loop if it takes too long.
62174        * platform/Timer.cpp:
62175        (WebCore::TimerBase::isActive):
62176        (WebCore::TimerBase::setNextFireTime):
62177        Since timers are now fired one by one, there is no need to keep track of updated timers.
62178        * manual-tests/input-starved-by-timers.html: Manual test that attempts to freeze browser by
62179        creating of enough timers. It then keeps UI frozen and after 10 seconds starts to drain the timers
62180        so the browser un-freezes. This is instead of a regular layout test because we don't have a way
62181        to inject an input events via regular run loop in DRT - instead they are directly dispatched by
62182        eventSender, which does not reproduce the UI freeze that happens with real input.
62183
621842009-09-04  Anders Carlsson  <andersca@apple.com>
62185
62186        Reviewed by Adele Peterson.
62187
62188        <rdar://problem/7201063>
62189        
62190        Detach any custom scrollbars before detaching the document.
62191        
62192        * page/Frame.cpp:
62193        (WebCore::Frame::setView):
62194
621952009-09-04  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
62196
62197                Unreviewed, build fix.
62198
62199                Remove remaining references to UserStyleSheetLoader after r48075.
62200
62201                * WebCore.gypi:
62202                * WebCore.xcodeproj/project.pbxproj:
62203                * page/qt/FrameQt.cpp:
62204                * page/wince/FrameWince.cpp:
62205
622062009-09-04  Michelangelo De Simone  <micdesim@gmail.com>
62207
62208                Reviewed by David Levin.
62209
62210                https://bugs.webkit.org/show_bug.cgi?id=28988
62211                Minor fix: "novalidate" attribute renamed in "noValidate", according to
62212                HTML5 specs:
62213                http://www.whatwg.org/specs/web-apps/current-work/#dom-fs-novalidate
62214
62215                * html/HTMLFormElement.cpp:
62216                (WebCore::HTMLFormElement::noValidate):
62217                (WebCore::HTMLFormElement::setNoValidate):
62218                * html/HTMLFormElement.h:
62219                * html/HTMLFormElement.idl:
62220
622212009-09-04  Dmitry Titov  <dimich@chromium.org>
62222
62223        Reviewed by David Levin.
62224
62225        Remove unused line of code from WorkerContext
62226        https://bugs.webkit.org/show_bug.cgi?id=28990
62227
62228        * workers/WorkerContext.cpp:
62229        (WebCore::WorkerContext::importScripts):
62230
622312009-09-04  Darin Adler  <darin@apple.com>
62232
62233        Reviewed by Oliver Hunt.
62234
62235        Fix assertion seen when running buildbot.
62236
62237        * bindings/js/JSDOMBinding.h:
62238        (WebCore::DOMObjectWithGlobalPointer::createStructure): Create the structure without
62239        the HasDefaultMark bit since this has a custom mark function.
62240
622412009-09-04  Dave Hyatt  <hyatt@apple.com>
62242
62243        Reviewed by Adam Roben.
62244
62245        https://bugs.webkit.org/show_bug.cgi?id=28984, remove the remote stylesheet loader on Mac/Qt.
62246        Make sure the other code path (now used by everybody) can handle data URLs.
62247
62248        As per the post on webkit-dev, the ability to work remotely isn't working properly anyway (it doesn't
62249        hold up the pending sheet count, so you'd just FOUC on every Web page), and it's extremely unlikely
62250        that anybody is relying on this support.
62251        
62252        Tor Arne agreed it was ok to disable (he enabled it on the Qt side), and only Mac/Qt were using this
62253        code.
62254
62255        * WebCore.pro:
62256        * WebCore.xcodeproj/project.pbxproj:
62257        * dom/Document.cpp:
62258        (WebCore::Document::userStyleSheet):
62259        * dom/Document.h:
62260        * loader/FrameLoader.cpp:
62261        (WebCore::FrameLoader::begin):
62262        * loader/UserStyleSheetLoader.cpp: Removed.
62263        * loader/UserStyleSheetLoader.h: Removed.
62264        * page/Frame.cpp:
62265        (WebCore::Frame::reapplyStyles):
62266        * page/Frame.h:
62267        * page/Page.cpp:
62268        (WebCore::Page::userStyleSheetLocationChanged):
62269        (WebCore::Page::userStyleSheet):
62270        * page/mac/FrameMac.mm:
62271        * page/qt/FrameQt.cpp:
62272
622732009-09-04  Mikhail Naganov  <mnaganov@chromium.org>
62274
62275        Reviewed by Timothy Hatcher.
62276
62277        Add "sampling profiler" preference, simplify data display when it's set.
62278
62279        https://bugs.webkit.org/show_bug.cgi?id=28969
62280
62281        * inspector/front-end/ProfileDataGridTree.js:
62282        (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
62283        (WebInspector.ProfileDataGridNode.prototype.get data):
62284        * inspector/front-end/ProfileView.js:
62285        (WebInspector.ProfileView):
62286        * inspector/front-end/inspector.js:
62287
622882009-09-04  Jian Li  <jianli@chromium.org>
62289
62290        Reviewed by Adam Barth.
62291
62292        [V8] Run-time exception in onmessage handler is not forwarded to the worker object.
62293        https://bugs.webkit.org/show_bug.cgi?id=28980
62294
62295        Tested by worker-close.html.
62296
62297        * bindings/v8/ScriptFunctionCall.cpp:
62298        * bindings/v8/V8AbstractEventListener.cpp:
62299        (WebCore::V8AbstractEventListener::invokeEventHandler):
62300        * bindings/v8/V8Utilities.cpp:
62301        (WebCore::getScriptExecutionContext):
62302        (WebCore::reportException):
62303        * bindings/v8/V8Utilities.h:
62304        (WebCore::getScriptExecutionContext):
62305        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
62306        (WebCore::CALLBACK_FUNC_DECL):
62307        * bindings/v8/custom/V8SharedWorkerCustom.cpp:
62308        (WebCore::CALLBACK_FUNC_DECL):
62309        * bindings/v8/custom/V8WorkerCustom.cpp:
62310        (WebCore::CALLBACK_FUNC_DECL):
62311        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
62312        (WebCore::CALLBACK_FUNC_DECL):
62313        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
62314        (WebCore::CALLBACK_FUNC_DECL):
62315
623162009-09-04  Dave Hyatt  <hyatt@apple.com>
62317
62318        Reviewed by Anders Carlsson.
62319
62320        Remove unused m_sheet variable and setCSSStyleSheet methods.
62321
62322        * dom/Document.cpp:
62323        * dom/Document.h:
62324
623252009-09-04  Anders Carlsson  <andersca@apple.com>
62326
62327        Reviewed by David Hyatt and Adele Peterson.
62328
62329        (Based on a patch from Adele).
62330        
62331        Fix <rdar://problem/7185875>.
62332        
62333        * page/Frame.cpp:
62334        (WebCore::Frame::setView):
62335        Detach any custom scroll bars from the old view.
62336        
62337        * page/FrameView.cpp:
62338        (WebCore::FrameView::detachCustomScrollbars):
62339        Simplify the check (and make it work when body is null) by just checking that the scroll bar owner is
62340        not a RenderPart object.
62341
62342        * rendering/RenderObject.cpp:
62343        (WebCore::RenderObject::destroy):
62344        ASSERT that frame() is not null here and also add a null check so that release builds won't crash.
62345
623462009-09-04  Dave Hyatt  <hyatt@apple.com>
62347
62348        Reviewed by Adam Roben.
62349
62350        Make m_userStyleSheetLoader in Frame an OwnPtr.
62351
62352        * page/Frame.cpp:
62353        (WebCore::Frame::Frame):
62354        (WebCore::Frame::~Frame):
62355        * page/Frame.h:
62356        * page/mac/FrameMac.mm:
62357        (WebCore::Frame::setUserStyleSheetLocation):
62358        (WebCore::Frame::setUserStyleSheet):
62359
623602009-09-04  Timothy Hatcher  <timothy@apple.com>
62361
62362        Show color swatches in the Web Inspector before the color text so clicking them will not
62363        shift the swatch. Also makes multiple swatches in the single property toggle the color format.
62364
62365        https://bugs.webkit.org/show_bug.cgi?id=28978
62366
62367        Reviewed by Darin Adler.
62368
62369        * inspector/front-end/StylesSidebarPane.js:
62370        (WebInspector.StylePropertyTreeElement.prototype.updateTitle): Some refactoring to consolidate
62371        the processing we do on the property value. This eliminated the old nickname code, since the new
62372        WebInspector.Color class handles this. We could also simplify the color regex since more
62373        is handled by the Color class. Also no longer uses innerHTML for the linkify code.
62374        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processValue): Helper function to
62375        process a value given a regex and processor functions. 
62376        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL): Make an anchor for the
62377        URL with "url()" syntax surrounding it.
62378        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor): Makes a color, if
62379        there was an exception just return a text node.
62380        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay.changeTo):
62381        Moved from later in the file.
62382        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.processColor.changeColorDisplay): Ditto.
62383        * inspector/front-end/inspector.css:
62384
623852009-09-04  Mark Mentovai  <mark@chromium.org>
62386
62387        Reviewed by Dave Hyatt.
62388
62389        https://bugs.webkit.org/show_bug.cgi?id=28614
62390
62391        Account for scrollbar state changes that occur during layout.
62392
62393        * platform/ScrollView.cpp:
62394        (WebCore::ScrollView::updateScrollbars):
62395
62396        Perform a layout prior to checking whether the scrollbar modes are
62397        off, on, or automatic.  The modes may change during layout.
62398
62399        * WebCore.base.exp:
62400        * WebCore.order:
62401        * page/Frame.cpp:
62402        (WebCore::Frame::createView):
62403        * page/FrameView.cpp:
62404        (WebCore::FrameView::FrameView):
62405        (WebCore::FrameView::resetScrollbars):
62406        (WebCore::FrameView::layout):
62407        * page/FrameView.h:
62408        * platform/ScrollView.h:
62409
62410        Eliminate duplicated (and incorrect) scrollbar mode tracking between
62411        FrameView and ScrollView.
62412
624132009-09-04  Yael Aharon  <yael.aharon@nokia.com>
62414
62415        Reviewed by Darin Adler.
62416
62417        hostname and host are mixed up when manipulating anchor elements.
62418        https://bugs.webkit.org/show_bug.cgi?id=28954
62419
62420        Swapped the implementation of host and hostname, and made sure not to return
62421        the port number if it is default for the given protocol. 
62422        FireFox also avoids returning the protocol number if it is default.
62423
62424        Test: fast/dom/Element/hostname-host.html
62425
62426        * html/HTMLAnchorElement.cpp:
62427        (WebCore::HTMLAnchorElement::host):
62428        (WebCore::HTMLAnchorElement::hostname):
62429        * page/SecurityOrigin.cpp:
62430        (WebCore::SecurityOrigin::isDefaultPortForProtocol):
62431        * page/SecurityOrigin.h:
62432
624332009-09-04  Anders Carlsson  <andersca@apple.com>
62434
62435        Reviewed by Darin Adler and Steve Falkenburg.
62436
62437        Fix <rdar://problem/7192902>.
62438
62439        Add the necessary plumbing for having QTMovieWin use WebCore timers.
62440        
62441        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
62442        (WebCore::TaskTimer::initialize):
62443        Create the timer and call QTMovieWin::setTaskTimerFuncs.
62444        
62445        (WebCore::TaskTimer::setTaskTimerDelay):
62446        Start the timer.
62447        
62448        (WebCore::TaskTimer::stopTaskTimer):
62449        Stop the timer.
62450        
62451        (WebCore::TaskTimer::fired):
62452        Call QTMovieWin::taskTimerFired().
62453        
62454        (WebCore::MediaPlayerPrivate::load):
62455        Initialize the Task timer.
62456        
62457        * platform/graphics/win/QTMovieWin.cpp:
62458        (updateTaskTimer):
62459        Call the global stopTaskTimer function and setTaskTimerDelay.
62460        
62461        (QTMovieWin::taskTimerFired):
62462        Make this a member function.
62463        
62464        (QTMovieWin::setTaskTimerFuncs):
62465        Set the global function pointers.
62466        
62467        (QTMovieWin::initializeQuickTime):
62468        (DllMain):
62469        No need to use the QT shared timer.
62470        * platform/graphics/win/QTMovieWin.h:
62471
624722009-09-04  Tony Chang  <tony@chromium.org>
62473
62474        Reviewed by David Levin.
62475
62476        Fix Chromium Win compile.  Missing return statement in
62477        WebCore::RenderThemeChromiumSkia::paintSliderThumb.
62478        https://bugs.webkit.org/show_bug.cgi?id=28974
62479
62480        No new tests, build fix.
62481
62482        * rendering/RenderThemeChromiumSkia.cpp:
62483        (WebCore::RenderThemeChromiumSkia::paintSliderThumb):
62484
624852009-09-04  Dimitri Glazkov  <dglazkov@chromium.org>
62486
62487        Unreviewed, build fix.
62488
62489        [Chromium] Rolling out http://trac.webkit.org/changeset/48035, because it broke
62490        the build.
62491        https://bugs.webkit.org/show_bug.cgi?id=28696
62492
624932009-09-04  Anders Carlsson  <andersca@apple.com>
62494
62495        Fix vcproj file.
62496
62497        * WebCore.vcproj/WebCore.vcproj:
62498
624992009-09-03  Dave Hyatt  <hyatt@apple.com>
62500
62501        Reviewed by Adam Roben.
62502
62503        https://bugs.webkit.org/show_bug.cgi?id=28890, make simple user script injection work.
62504        
62505        This patch adds new API for adding and removing user scripts from page groups.  User scripts
62506        are bundled together in isolated worlds (you can have multiple scripts together in the same
62507        world).
62508
62509        Added userscripts/ directory for holding new tests (along with a simple test of script injection).
62510
62511        * WebCore.base.exp:
62512        * WebCore.vcproj/WebCore.vcproj:
62513        * WebCore.xcodeproj/project.pbxproj:
62514        * bindings/js/ScriptController.cpp:
62515        (WebCore::ScriptController::evaluateInIsolatedWorld):
62516        * bindings/js/ScriptController.h:
62517        * bindings/v8/ScriptController.cpp:
62518        (WebCore::ScriptController::evaluateInIsolatedWorld):
62519        * bindings/v8/ScriptController.h:
62520        * loader/FrameLoader.cpp:
62521        (WebCore::FrameLoader::finishedParsing):
62522        (WebCore::FrameLoader::dispatchDocumentElementAvailable):
62523        * page/Frame.cpp:
62524        (WebCore::Frame::injectUserScripts):
62525        (WebCore::Frame::injectUserScriptsForWorld):
62526        * page/Frame.h:
62527        * page/PageGroup.cpp:
62528        (WebCore::PageGroup::~PageGroup):
62529        (WebCore::PageGroup::addUserScript):
62530        (WebCore::PageGroup::removeUserContentForWorld):
62531        (WebCore::PageGroup::removeAllUserContent):
62532        * page/PageGroup.h:
62533        (WebCore::PageGroup::userScripts):
62534        * page/UserScript.h: Added.
62535        (WebCore::UserScript::UserScript):
62536        (WebCore::UserScript::source):
62537        (WebCore::UserScript::url):
62538        (WebCore::UserScript::patterns):
62539        (WebCore::UserScript::worldID):
62540        (WebCore::UserScript::injectionTime):
62541        * page/UserScriptTypes.h: Added.
62542        (WebCore::):
62543
625442009-09-04  Alexey Proskuryakov  <ap@apple.com>
62545
62546        Reviewed by Eric Seidel.
62547
62548        https://bugs.webkit.org/show_bug.cgi?id=26402
62549        Crashes when using a detached DocumentType node
62550
62551        Test: fast/dom/DOMImplementation/detached-doctype.html
62552
62553        DocumentType nodes are the only one that can have null document(), and they can never have
62554        children, so they are a degenerate case for NodeLists.
62555
62556        * dom/Node.cpp:
62557        (WebCore::Node::childNodes): Don't try register node list with document if there's no
62558        document. Since there are no changes possible for a DocumentType's node list, this is not
62559        necessary.
62560        (WebCore::Node::registerDynamicNodeList): Ditto.
62561        (WebCore::Node::unregisterDynamicNodeList): Ditto. I couldn't find a scenario where this
62562        was invoked for a DocumentType node, but I also couldn't prove that it can't be (the
62563        de-registration code path that I saw taken was via Node destructor, and that already has
62564        a null check for document).
62565
62566        * bindings/js/JSNodeCustom.cpp:
62567        (WebCore::JSNode::addEventListener): Bail out if there is no document (just as we already do
62568        if there is no window).
62569        (WebCore::JSNode::removeEventListener): Ditto.
62570
625712009-09-04  Xan Lopez  <xlopez@igalia.com>
62572
62573        Reviewed by Gustavo Noronha.
62574
62575        [GTK] loadFinished never emitted
62576        https://bugs.webkit.org/show_bug.cgi?id=28935
62577
62578        Do not report errors right away from
62579        ResourceHandle::start. Instead return true and schedule an error
62580        to be reported in the handle later. Otherwise WebCore gets
62581        confused and thinks the resource never finished loading, making it
62582        not emit the finished status.
62583
62584        * platform/network/soup/ResourceHandleSoup.cpp:
62585        (WebCore::startHttp):
62586        (WebCore::):
62587
625882009-09-04  Ben Murdoch  <benm@google.com>
62589
62590        Reviewed by Eric Seidel.
62591
62592        [V8] DOM Storage bindings: Event Handler should create StorageEvents
62593        https://bugs.webkit.org/show_bug.cgi?id=28942
62594        
62595        Tests:
62596        Causes the following tests that were failing with V8 to pass:
62597        * storage/domstorage/localstorage/onstorage-attribute-setwindow.html
62598        * storage/domstorage/localstorage/complex-keys.html
62599        * storage/domstorage/localstorage/onstorage-attribute-markup.html
62600        * storage/domstorage/localstorage/simple-events.html
62601        * storage/domstorage/localstorage/onstorage-attribute-set-attribute.html
62602        * storage/domstorage/localstorage/index-get-and-set.html
62603        * storage/domstorage/sessionstorage/onstorage-attribute-setwindow.html
62604        * storage/domstorage/sessionstorage/onstorage-attribute-markup.html
62605        * storage/domstorage/sessionstorage/simple-events.html
62606        * storage/domstorage/sessionstorage/onstorage-attribute-set-attribute.html
62607        * storage/domstorage/sessionstorage/index-get-and-set.html
62608
62609        Code changes:
62610        * bindings/v8/V8DOMWrapper.cpp:
62611        (WebCore::V8DOMWrapper::convertEventToV8Object):  Create StorageEvents.
62612        * bindings/v8/custom/V8StorageCustom.cpp:
62613        (WebCore::storageGetter): Check if we are retrieving the length property and return the number of items in the object rather than a property named length when invoking the getItem() member of local/sessionStorage.
62614
626152009-09-03  Pavel Feldman  <pfeldman@chromium.org>
62616
62617        Reviewed by Timothy Hatcher.
62618
62619        https://bugs.webkit.org/show_bug.cgi?id=28911
62620
62621        * WebCore.gypi:
62622        * WebCore.vcproj/WebCore.vcproj:
62623        * inspector/InspectorBackend.cpp:
62624        (WebCore::InspectorBackend::dispatchOnInjectedScript):
62625        * inspector/InspectorBackend.h:
62626        * inspector/InspectorBackend.idl:
62627        * inspector/front-end/ConsoleView.js:
62628        (WebInspector.ConsoleView.prototype.doEvalInWindow):
62629        (WebInspector.ConsoleView.prototype._formatarray):
62630        (WebInspector.ConsoleView.prototype._formatnode):
62631        * inspector/front-end/DOMAgent.js:
62632        * inspector/front-end/ElementsPanel.js:
62633        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
62634        (WebInspector.ElementsPanel.prototype.searchCanceled):
62635        (WebInspector.ElementsPanel.prototype.performSearch):
62636        * inspector/front-end/InjectedScript.js:
62637        (InjectedScript.dispatch):
62638        * inspector/front-end/InjectedScriptAccess.js: Added.
62639        (InjectedScriptAccess._installHandler.InjectedScriptAccess.methodName):
62640        (InjectedScriptAccess._installHandler):
62641        * inspector/front-end/MetricsSidebarPane.js:
62642        (WebInspector.MetricsSidebarPane.prototype.update):
62643        (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
62644        * inspector/front-end/ObjectPropertiesSection.js:
62645        (WebInspector.ObjectPropertiesSection.prototype.update):
62646        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
62647        (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
62648        * inspector/front-end/PropertiesSidebarPane.js:
62649        (WebInspector.PropertiesSidebarPane.prototype.update):
62650        * inspector/front-end/ResourcesPanel.js:
62651        (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
62652        * inspector/front-end/ScriptsPanel.js:
62653        (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
62654        * inspector/front-end/StylesSidebarPane.js:
62655        (WebInspector.StylesSidebarPane.prototype.update):
62656        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
62657        (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted):
62658        (WebInspector.StylePropertyTreeElement.prototype):
62659        * inspector/front-end/inspector.html:
62660
626612009-09-04  Tony Chang  <tony@chromium.org>
62662
62663        Reviewed by Eric Seidel.
62664
62665        Implement <input type="range"> for Chromium Linux by painting
62666        the slider and the thumb using skia.
62667        https://bugs.webkit.org/show_bug.cgi?id=28928
62668
62669        Covered by existing tests (we're currently hitting an assert for them).
62670
62671        * rendering/RenderThemeChromiumLinux.cpp:
62672        (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize):
62673        * rendering/RenderThemeChromiumLinux.h:
62674        * rendering/RenderThemeChromiumSkia.cpp:
62675        (WebCore::drawVertLine):
62676        (WebCore::drawHorizLine):
62677        (WebCore::drawBox):
62678        (WebCore::RenderThemeChromiumSkia::paintSliderTrack):
62679        (WebCore::RenderThemeChromiumSkia::paintSliderThumb):
62680        * rendering/RenderThemeChromiumSkia.h:
62681
626822009-09-04  Kent Tamura  <tkent@chromium.org>
62683
62684        Reviewed by Eric Seidel.
62685
62686        - Implement <input type=color> as a text field.
62687        - ValidityState::typeMismatch supports for type=color.
62688        https://bugs.webkit.org/show_bug.cgi?id=28966
62689
62690        Tests: fast/forms/ValidityState-patternMismatch-unsupported.html
62691               fast/forms/ValidityState-typeMismatch-color.html
62692
62693        * html/HTMLInputElement.cpp:
62694        (WebCore::HTMLInputElement::valueMissing):
62695        (WebCore::HTMLInputElement::patternMismatch):
62696        (WebCore::HTMLInputElement::setInputType):
62697        (WebCore::HTMLInputElement::formControlType):
62698        (WebCore::HTMLInputElement::saveFormControlState):
62699        (WebCore::HTMLInputElement::restoreFormControlState):
62700        (WebCore::HTMLInputElement::accessKeyAction):
62701        (WebCore::HTMLInputElement::rendererIsNeeded):
62702        (WebCore::HTMLInputElement::createRenderer):
62703        (WebCore::HTMLInputElement::appendFormData):
62704        (WebCore::HTMLInputElement::valueWithDefault):
62705        (WebCore::HTMLInputElement::storesValueSeparateFromAttribute):
62706        (WebCore::HTMLInputElement::defaultEventHandler):
62707        (WebCore::HTMLInputElement::isRequiredFormControl):
62708        (WebCore::HTMLInputElement::dataList):
62709        * html/HTMLInputElement.h:
62710        (WebCore::HTMLInputElement::):
62711        (WebCore::HTMLInputElement::isTextField):
62712        * html/ValidityState.cpp:
62713        (WebCore::ValidityState::typeMismatch):
62714        (WebCore::ValidityState::isValidColorString):
62715        * html/ValidityState.h:
62716
627172009-09-04  Mads Ager  <ager@chromium.org>
62718
62719        Reviewed by David Levin.
62720
62721        [V8] Crash when updating document cache
62722        https://bugs.webkit.org/show_bug.cgi?id=28965
62723
62724        Initialization of a V8 JavaScript context can fail.  When that
62725        happens, do not attempt to update the document wrapper cache.
62726
62727        This code path is exercised by http/tests/security/javascriptURL/javascriptURL-in-new-iframe.html.
62728
62729        * bindings/v8/V8Proxy.cpp:
62730        (WebCore::V8Proxy::updateDocument):
62731
627322009-09-04  Yaar Schnitman  <yaar@chromium.org>
62733
62734        Reviewed by Eric Seidel.
62735
62736        Two bugs:
62737
62738        https://bugs.webkit.org/show_bug.cgi?id=25489
62739        CSS property background-position is now serialized in shorthand string as
62740        background-position-x background-position-y, as the specification requires
62741        (See http://www.w3.org/TR/2008/WD-css3-background-20080910/#the-background-position).
62742        
62743
62744        https://bugs.webkit.org/show_bug.cgi?id=26541
62745        CSS background-color is now be serialized before other background properties, 
62746        as CSS specification requires (See http://dev.w3.org/csswg/cssom/#css-value).  
62747
62748        An existing layout test that accepted wrong order and skipped position test 
62749        had to be modified.
62750
62751        * css/CSSMutableStyleDeclaration.cpp:
62752        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
62753
627542009-09-03  Kent Tamura  <tkent@chromium.org>
62755
62756        Reviewed by David Levin.
62757
62758        Add support for HTMLTextAreaElement.textLength
62759        https://bugs.webkit.org/show_bug.cgi?id=28929
62760
62761        Test: fast/forms/textarea-textlength.html
62762
62763        * html/HTMLTextAreaElement.h:
62764        (WebCore::HTMLTextAreaElement::textLength):
62765        * html/HTMLTextAreaElement.idl:
62766
627672009-09-03  Alexey Proskuryakov  <ap@apple.com>
62768
62769        Reviewed by Darin Adler.
62770
62771        <rdar://problem/7180197>, https://bugs.webkit.org/show_bug.cgi?id=28822
62772        REGRESSION(r31231): Creating document with current document's DOCTYPE causes crashes
62773
62774        Test: fast/dom/DOMImplementation/createDocument-with-used-doctype.html
62775
62776        * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument): Even though we
62777        cannot raise an exception immediately out of fear of breaking Acid3, we shouldn't use a
62778        DocumentType node in two documents.
62779
627802009-09-03  Brady Eidson  <beidson@apple.com>
62781
62782        Reviewed by Sam Weinig.
62783
62784        Page Cache should support pages with Frames.
62785        https://bugs.webkit.org/show_bug.cgi?id=13631
62786
62787        Tests: fast/events/pageshow-pagehide-on-back-cached-with-frames.html
62788               fast/loader/frames-with-unload-handlers-in-page-cache.html
62789
62790        * loader/FrameLoader.cpp:
62791        (WebCore::FrameLoader::canCachePageContainingThisFrame):
62792        (WebCore::FrameLoader::logCanCacheFrameDecision):
62793
627942009-09-03  Steve VanDeBogart  <vandebo@chromium.org>
62795
62796        Reviewed by Eric Seidel.
62797
62798        Handle middle click in Chromium like QT
62799        https://bugs.webkit.org/show_bug.cgi?id=28696
62800
62801        Tested by middle-click-onpaste.html.
62802
62803        * platform/Pasteboard.h:
62804        * platform/chromium/ChromiumBridge.h:
62805        * platform/chromium/ClipboardChromium.cpp:
62806        (WebCore::ClipboardChromium::getData):
62807        * platform/chromium/PasteboardChromium.cpp:
62808        (WebCore::Pasteboard::Pasteboard):
62809        (WebCore::Pasteboard::isSelectionMode):
62810        (WebCore::Pasteboard::setSelectionMode):
62811        (WebCore::Pasteboard::canSmartReplace):
62812        (WebCore::Pasteboard::plainText):
62813        (WebCore::Pasteboard::documentFragment):
62814        * platform/chromium/PasteboardPrivate.h:
62815        (WebCore::PasteboardPrivate::):
62816
628172009-09-03  Brady Eidson  <beidson@apple.com>
62818
62819        Reviewed by Sam Weinig.
62820
62821        More partial work towards "Page Cache should support pages with Frames"
62822        https://bugs.webkit.org/show_bug.cgi?id=13631
62823
62824        Fix a bug where subframes weren't asked if they were cacheable.
62825
62826        No new tests, especially since page caching for frames isn't turned on yet.
62827        A layout test will come in my next patch, which enables frames in the page cache.
62828
62829        * loader/FrameLoader.cpp:
62830        (WebCore::FrameLoader::canCachePageContainingThisFrame):
62831
628322009-09-03  Adam Barth  <abarth@webkit.org>
62833
62834        Reviewed by eric@webkit.org.
62835
62836        https://bugs.webkit.org/show_bug.cgi?id=24696
62837
62838        Added mixed content methods to FrameLoaderClient.
62839
62840        * loader/EmptyClients.h:
62841        (WebCore::EmptyFrameLoaderClient::didDisplayInsecureContent):
62842        (WebCore::EmptyFrameLoaderClient::didRunInsecureContent):
62843        * loader/FrameLoaderClient.h:
62844
628452009-09-03  Kevin Watters  <kevinwatters@gmail.com>
62846
62847        Reviewed by Kevin Ollivier.
62848
62849        [wx] Frames support
62850        https://bugs.webkit.org/show_bug.cgi?id=19041
62851
62852        * page/wx/EventHandlerWx.cpp:
62853        (WebCore::EventHandler::passMousePressEventToSubframe):
62854        (WebCore::EventHandler::passMouseMoveEventToSubframe):
62855        (WebCore::EventHandler::passMouseReleaseEventToSubframe):
62856        (WebCore::EventHandler::passWheelEventToWidget):
62857        (WebCore::EventHandler::tabsToAllControls):
62858        (WebCore::EventHandler::passSubframeEventToSubframe):
62859        (WebCore::EventHandler::passMouseDownEventToWidget):
62860        * platform/wx/RenderThemeWx.cpp:
62861        (WebCore::nativeWindowForRenderObject):
62862        (WebCore::RenderThemeWx::paintButton):
62863        (WebCore::RenderThemeWx::paintTextField):
62864        (WebCore::RenderThemeWx::paintMenuList):
62865        (WebCore::RenderThemeWx::paintMenuListButton):
62866        * platform/wx/ScrollbarThemeWx.cpp: Added.
62867        (WebCore::ScrollbarTheme::nativeTheme):
62868        (WebCore::ScrollbarThemeWx::~ScrollbarThemeWx):
62869        (WebCore::ScrollbarThemeWx::scrollbarThickness):
62870        (WebCore::ScrollbarThemeWx::hasThumb):
62871        (WebCore::ScrollbarThemeWx::buttonSize):
62872        (WebCore::ScrollbarThemeWx::backButtonRect):
62873        (WebCore::ScrollbarThemeWx::forwardButtonRect):
62874        (WebCore::ScrollbarThemeWx::trackRect):
62875        (WebCore::ScrollbarThemeWx::paintScrollCorner):
62876        (WebCore::ScrollbarThemeWx::paint):
62877        * platform/wx/ScrollbarThemeWx.h: Added.
62878        (WebCore::ScrollbarThemeWx::hasButtons):
62879        * platform/wx/TemporaryLinkStubs.cpp:
62880        * platform/wx/wxcode/gtk/scrollbar_render.cpp: Added.
62881        (wxStyleForPart):
62882        (GetButtonWidget):
62883        (wxGetGdkWindowForDC):
62884        (wxRenderer_DrawScrollbar):
62885        * platform/wx/wxcode/mac/carbon/scrollbar_render.cpp: Added.
62886        (wxScrollbarPartToHIPressedState):
62887        (wxRenderer_DrawScrollbar):
62888        * platform/wx/wxcode/scrollbar_render.h: Added.
62889        (calcThumbStartAndLength):
62890        * platform/wx/wxcode/win/non-kerned-drawing.cpp:
62891        (WebCore::drawTextWithSpacing):
62892        * platform/wx/wxcode/win/scrollbar_render.cpp: Added.
62893        (GraphicsHDC::GraphicsHDC):
62894        (GraphicsHDC::~GraphicsHDC):
62895        (GraphicsHDC::operator HDC):
62896        (getTSStateForPart):
62897        (wxRenderer_DrawScrollbar):
62898        * webcore-wx.bkl:
62899
629002009-09-03  Yael Aharon  <yael.aharon@nokia.com>
62901
62902        Reviewed by Simon Hausmann.
62903
62904        [Qt] Page content is not displayed in case of HTTP status error
62905        https://bugs.webkit.org/show_bug.cgi?id=28949
62906
62907        If the server sent content, show it to the user instead of an error,
62908        even if the HTTP status code is not success.
62909
62910        * platform/network/qt/QNetworkReplyHandler.cpp:
62911        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
62912        (WebCore::QNetworkReplyHandler::finish):
62913        (WebCore::QNetworkReplyHandler::forwardData):
62914        (WebCore::QNetworkReplyHandler::resetState):
62915        * platform/network/qt/QNetworkReplyHandler.h:
62916
629172009-09-03  Drew Wilson  <atwilson@google.com>
62918
62919        Reviewed by Dimitri Glazkov.
62920
62921        Need to update v8 bindings to support passing multiple ports to postMessage()
62922        https://bugs.webkit.org/show_bug.cgi?id=28839
62923
62924        Added support for passing MessagePortArray to v8 bindings.
62925
62926        New tests that now pass with V8:
62927               fast/events/message-port-multi.html
62928               fast/workers/worker-context-multi-port.html
62929               fast/workers/worker-multi-port.html
62930
62931        * WebCore.gypi:
62932        Added V8MessageEventCustom.cpp and V8MessagePortCustom.h
62933        * bindings/v8/custom/V8CustomBinding.h:
62934        Added custom postMessage() handlers for various classes.
62935        * bindings/v8/custom/V8DOMWindowCustom.cpp:
62936        (WebCore::DOMWindowPostMessage):
62937        Added custom handler that supports MessagePortArray.
62938        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
62939        (WebCore::DedicatedWorkerContextPostMessage):
62940        Added custom handler that supports MessagePortArray.
62941        * bindings/v8/custom/V8MessageEventCustom.cpp: Added.
62942        (WebCore::MessageEventPorts):
62943        Added getter for ports attribute.
62944        (WebCore::MessageEventInitMessageEvent):
62945        Added custom handler that supports MessagePortArray.
62946        * bindings/v8/custom/V8MessagePortCustom.cpp:
62947        (WebCore::MessagePortPostMessage):
62948        Added custom handler that supports MessagePortArray.
62949        (WebCore::getMessagePortArray):
62950        Added helper function that supports converting from a sequence-like object to a MessagePortArray.
62951        * bindings/v8/custom/V8MessagePortCustom.h: Added.
62952        Added declaration for getMessagePortArray().
62953        * bindings/v8/custom/V8WorkerCustom.cpp:
62954        (WebCore::WorkerPostMessage):
62955        Added custom handler that supports MessagePortArray.
62956
629572009-09-03  Drew Wilson  <atwilson@google.com>
62958
62959        Reviewed by Sam Weinig.
62960
62961        Need to update JS bindings and IDL files to support multiple message ports in postMessage()
62962        https://bugs.webkit.org/show_bug.cgi?id=28460
62963
62964        Added new toJSSequence() API which validates that a JSValue meets the WebIDL criteria for a sequence.
62965
62966        Tests: fast/events/message-port-multi.html
62967               fast/workers/worker-context-multi-port.html
62968               fast/workers/worker-multi-port.html
62969
62970        * GNUmakefile.am:
62971        * WebCore.gypi:
62972        * WebCore.pro:
62973        * WebCore.vcproj/WebCore.vcproj:
62974        * WebCore.xcodeproj/project.pbxproj:
62975        * WebCoreSources.bkl:
62976        Added JSMessagePortCustom.h and JSMessageEventCustom.cpp.
62977        * bindings/js/JSDOMBinding.cpp:
62978        (WebCore::toJSSequence):
62979        Added toJSSequence() API to do validation on sequence-like objects per WebIDL.
62980        * bindings/js/JSDOMBinding.h:
62981        * bindings/js/JSDOMWindowCustom.cpp:
62982        (WebCore::JSDOMWindow::postMessage):
62983        Added custom handler for postMessage() that handles being passed MessagePortArrays.
62984        * bindings/js/JSDedicatedWorkerContextCustom.cpp:
62985        (WebCore::JSDedicatedWorkerContext::postMessage):
62986        Added custom handler for postMessage() that handles being passed MessagePortArrays.
62987        * bindings/js/JSMessageEventCustom.cpp: Added.
62988        (WebCore::JSMessageEvent::ports):
62989        Added custom ports() getter that converts from MessagePortArray to JSArray.
62990        (WebCore::JSMessageEvent::initMessageEvent):
62991        Added support for passing a MessagePortArray.
62992        * bindings/js/JSMessagePortCustom.cpp:
62993        (WebCore::JSMessagePort::postMessage):
62994        Added custom handler for postMessage() that handles being passed MessagePortArray.
62995        (WebCore::fillMessagePortArray):
62996        New helper routine that validates/converts from a JS sequence o a WebCore::MessagePortArray.
62997        * bindings/js/JSMessagePortCustom.h: Added.
62998        * bindings/js/JSWorkerCustom.cpp:
62999        (WebCore::JSWorker::postMessage):
63000        Added custom handler for postMessage() that handles being passed MessagePortArray.
63001        * dom/MessageEvent.cpp:
63002        * dom/MessageEvent.h:
63003        (WebCore::MessageEvent::ports):
63004        Changed ports() to return a MessagePortArray* since this value can be null.
63005        * dom/MessageEvent.idl:
63006        Updated IDL to match HTML5 spec (now accepts MessagePortArrays instead of a solitary MessagePort).
63007        * dom/MessagePort.cpp:
63008        * dom/MessagePort.h:
63009        * dom/MessagePort.idl:
63010        Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
63011        * page/DOMWindow.h:
63012        * page/DOMWindow.idl:
63013        Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
63014        * workers/DedicatedWorkerContext.cpp:
63015        * workers/DedicatedWorkerContext.h:
63016        * workers/DedicatedWorkerContext.idl:
63017        Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
63018        * workers/Worker.cpp:
63019        * workers/Worker.h:
63020        * workers/Worker.idl:
63021        Updated IDL to match HTML5 spec (postMessage() now accepts MessagePortArrays instead of a solitary MessagePort).
63022
630232009-09-03  Pavel Feldman  <pfeldman@chromium.org>
63024
63025        Reviewed by Timothy Hatcher.
63026
63027        WebInspector: Do not query non-function call frames for function name.
63028
63029        https://bugs.webkit.org/show_bug.cgi?id=28799
63030
63031        * inspector/front-end/InjectedScript.js:
63032        (InjectedScript.CallFrameProxy):
63033        (InjectedScript.CallFrameProxy.prototype._wrapScopeChain):
63034
630352009-09-03  Pavel Feldman  <pfeldman@chromium.org>
63036
63037        Reviewed by Timothy Hatcher.
63038
63039        Crash after typing "clear" and pressing return in inspector console.
63040
63041        https://bugs.webkit.org/show_bug.cgi?id=28684
63042
63043        * inspector/front-end/InjectedScript.js:
63044        (InjectedScript._clearConsoleMessages):
63045        (InjectedScript._inspectObject):
63046        (InjectedScript._ensureCommandLineAPIInstalled):
63047
630482009-09-03  Vitaly Repeshko  <vitalyr@chromium.org>
63049
63050        Reviewed by Adam Barth.
63051
63052        [V8] Squeezed out some performance from string conversion.
63053        https://bugs.webkit.org/show_bug.cgi?id=28945
63054
63055        * bindings/v8/V8Binding.cpp:
63056        (WebCore::WebCoreStringResource::WebCoreStringResource):
63057        (WebCore::WebCoreStringResource::~WebCoreStringResource):
63058        (WebCore::WebCoreStringResource::data):
63059        (WebCore::WebCoreStringResource::length):
63060        (WebCore::WebCoreStringResource::atomicString):
63061        (WebCore::WebCoreStringResource::string):
63062        Avoid calling virtual length method. Be more explicit with
63063        external memory computation. Avoid function calls in data and
63064        length.
63065        (WebCore::):
63066        (WebCore::v8StringToWebCoreString):
63067        (WebCore::v8StringToAtomicWebCoreString):
63068        (WebCore::v8NonStringValueToWebCoreString):
63069        (WebCore::v8NonStringValueToAtomicWebCoreString):
63070        Avoid extra calls of WebCoreStringResource::toString. When
63071        AtomicString is computed pass it immediately when constructing
63072        WebCoreStringResource. Use inline buffer for small strings.
63073        * bindings/v8/V8Binding.h:
63074        (WebCore::v8ValueToWebCoreString):
63075        (WebCore::v8ValueToAtomicWebCoreString):
63076        (WebCore::toString):
63077        Inline dispatch of string vs. non-string values.
63078
630792009-09-03  Vitaly Repeshko  <vitalyr@chromium.org>
63080
63081        Reviewed by Adam Barth.
63082
63083        [V8] Inlined common case of V8IsolatedWorld::getEntered to speed
63084        up V8Proxy lookup.
63085        https://bugs.webkit.org/show_bug.cgi?id=28946
63086
63087        * bindings/v8/V8IsolatedWorld.cpp:
63088        (WebCore::V8IsolatedWorld::getEnteredImpl):
63089        * bindings/v8/V8IsolatedWorld.h:
63090        (WebCore::V8IsolatedWorld::getEntered):
63091
630922009-09-03  Kent Tamura  <tkent@chromium.org>
63093
63094        Reviewed by Eric Seidel.
63095
63096        Fix a regression bug that maxLength doesn't work for IME input.
63097        https://bugs.webkit.org/show_bug.cgi?id=25253
63098
63099        Tests: fast/forms/input-maxlength-ime-completed.html
63100               fast/forms/input-maxlength-ime-preedit.html
63101
63102        * dom/InputElement.cpp:
63103        (WebCore::InputElement::handleBeforeTextInsertedEvent):
63104        * dom/InputElement.h:
63105        * html/HTMLInputElement.cpp:
63106        (WebCore::HTMLInputElement::defaultEventHandler):
63107        * wml/WMLInputElement.cpp:
63108        (WebCore::WMLInputElement::defaultEventHandler):
63109
631102009-09-03  Cameron McCormack  <cam@mcc.id.au>
63111
63112        Reviewed by Eric Seidel.
63113
63114        Make SVGStyleElement title/media/type setters do something
63115        https://bugs.webkit.org/show_bug.cgi?id=28828
63116
63117        Test: svg/dom/style-reflect.html
63118
63119        * svg/SVGStyleElement.cpp:
63120        (WebCore::SVGStyleElement::setXmlspace): Actually change the attribute.
63121        (WebCore::SVGStyleElement::setType): Ditto.
63122        (WebCore::SVGStyleElement::setMedia): Ditto.
63123        (WebCore::SVGStyleElement::setTitle): Ditto.
63124
631252009-09-03  Ben Murdoch  <benm@google.com>
63126
63127        https://bugs.webkit.org/show_bug.cgi?id=28872
63128        
63129        Fixes a bug where handleEvent() in the V8 Custom SQL Statement Error binding would not return the correct result to WebCore after invoking the callback.
63130
63131        Test: storage/statement-error-callback.html
63132
63133        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
63134        (WebCore::V8CustomSQLStatementErrorCallback::handleEvent): Return true from handleEvent() if the callback raised an exception or the callback itself returned true.
63135
631362009-09-03  Maxime Simon  <simon.maxime@gmail.com>
63137
63138        Reviewed by Eric Seidel.
63139
63140        [Haiku] Adding three font-specific files to WebCore:
63141        FontCustomPlatformData.cpp, FontCustomPlatformData.h,
63142        and FontPlatformData.h
63143        https://bugs.webkit.org/show_bug.cgi?id=28131
63144
63145        * platform/graphics/haiku/FontCustomPlatformData.cpp: Added.
63146        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
63147        (WebCore::FontCustomPlatformData::fontPlatformData):
63148        (WebCore::createFontCustomPlatformData):
63149        * platform/graphics/haiku/FontCustomPlatformData.h: Added.
63150        (WebCore::FontCustomPlatformData::FontCustomPlatformData):
63151        * platform/graphics/haiku/FontPlatformData.h: Added.
63152        (WebCore::FontPlatformData::FontPlatformData):
63153        (WebCore::FontPlatformData::font):
63154        (WebCore::FontPlatformData::size):
63155        (WebCore::FontPlatformData::bold):
63156        (WebCore::FontPlatformData::oblique):
63157        (WebCore::FontPlatformData::hashTableDeletedFontValue):
63158
631592009-09-02  Brady Eidson  <beidson@apple.com>
63160
63161        Reviewed by Darin Adler.
63162
63163        More partial work towards "Page Cache should support pages with Frames"
63164        https://bugs.webkit.org/show_bug.cgi?id=13631
63165
63166        No new tests. (No change in behavior, current tests pass).
63167
63168        * loader/DocumentLoader.cpp:
63169        (WebCore::DocumentLoader::stopLoading): Adopt the new enum form for FrameLoader::stopLoading().
63170
63171        * loader/FrameLoader.cpp:
63172        (WebCore::FrameLoader::stopLoading): Take an enum to decide whether to dispatch no unload events,
63173          only unload, or unload and pagehide.
63174        (WebCore::FrameLoader::closeURL):
63175        (WebCore::FrameLoader::scheduleRedirection):
63176        (WebCore::FrameLoader::cachePageForHistoryItem): Call pageHidden().
63177        (WebCore::FrameLoader::pageHidden): Add to dispatch the pagehide event to all frames in the case
63178          where a page is added to the PageCache.
63179        * loader/FrameLoader.h:
63180
63181        * loader/FrameLoaderTypes.h: Add an UnloadEventPolicy enum.
63182
631832009-09-02  Brady Eidson  <beidson@apple.com>
63184
63185        Reviewed by Darin Adler.
63186
63187        More partial work towards "Page Cache should support pages with Frames"
63188        https://bugs.webkit.org/show_bug.cgi?id=13631
63189
63190        - More CachedFrame destruction work.
63191        - Including related Frame and FrameLoader changes and cleanup.
63192
63193        No new tests. (No change in behavior, current tests pass).
63194
63195        * history/CachedFrame.cpp:
63196        (WebCore::CachedFrameBase::restore): Rebuild up the whole FrameTree when restoring.
63197        (WebCore::CachedFrame::CachedFrame): Tear down the entire FrameTree when caching.
63198        (WebCore::CachedFrame::destroy): For child frames that are being destroyed while in
63199          the PageCache, do lightweight cleanup to:
63200          A - Prevent referring to a stale Page object.
63201          B - Prevent World Leaks of WebKit objects.
63202
63203        * loader/FrameLoader.cpp:
63204        (WebCore::FrameLoader::stopAllLoaders): stopAllLoaders() should never be called on Frames that are
63205          in the PageCache. ASSERT that fact.
63206        (WebCore::FrameLoader::open): Remove a bogus release-build workaround, as the comment right above it
63207          explains it is not effective, and it'd be better to see the crash locally instead of downstream.
63208        (WebCore::FrameLoader::closeAndRemoveChild): Make sure the owner element has a page pointer before
63209          referencing it.
63210        (WebCore::FrameLoader::detachFromParent): Use the new detachViewsAndDocumentLoader() call
63211        (WebCore::FrameLoader::detachViewsAndDocumentLoader): Does lightweight cleanup of client (WebKit) objects.
63212        * loader/FrameLoader.h:
63213
63214        * page/Frame.cpp:
63215        (WebCore::Frame::detachFromPage): Simply clear the Page pointer without doing any other work.
63216        (WebCore::Frame::pageDestroyed): Use the new detachFromPage().
63217        * page/Frame.h:
63218
632192009-09-02  Jungshik Shin  <jshin@chromium.org>
63220
63221        Reviewed by Dimitri Glazkov
63222
63223        [Chromium] Add 'icu::' qualifier in preparation for ICU upgrade to 4.2
63224        in Chromium. This is to fix a new file added in r28742 since the
63225        last patch for this issue.
63226
63227        https://bugs.webkit.org/show_bug.cgi?id=28410
63228
63229        No change in the test result.
63230
63231        * platform/graphics/chromium/FontLinux.cpp:
63232        (WebCore::TextRunWalker::getNormalizedTextRun):
63233
632342009-09-02  Dimitri Glazkov  <dglazkov@chromium.org>
63235
63236        Unreviewed, build fix.
63237
63238        [Chromium] Correct a typo to fix bustage, caused by r47991.
63239        https://bugs.webkit.org/show_bug.cgi?id=27933
63240
63241        * platform/graphics/skia/ImageBufferSkia.cpp: Changed "Unpremultipled" to "Unmultiplied".
63242
632432009-09-02  Dimitri Glazkov  <dglazkov@chromium.org>
63244
63245        Unreviewed, build fix.
63246
63247        [Chromium] Add a missing include to fix bustage, caused by r47991.
63248        https://bugs.webkit.org/show_bug.cgi?id=27933
63249
63250        * platform/graphics/skia/ImageBufferSkia.cpp: Added SkColorPriv include.
63251
632522009-09-02  Jian Li  <jianli@chromium.org>
63253
63254        Reviewed by Dimitri Glazkov.
63255
63256        [Chromium] Implement file support for DragData.
63257        https://bugs.webkit.org/show_bug.cgi?id=28896
63258
63259        * platform/chromium/DragDataChromium.cpp:
63260        (WebCore::DragData::containsURL):
63261        (WebCore::DragData::asURL):
63262        (WebCore::DragData::containsCompatibleContent):
63263
632642009-09-02  Kevin Watters  <kevinwatters@gmail.com>
63265
63266        Reviewed by Kevin Ollivier.
63267
63268        Protect libcurl shared data with Mutex objects via curl_set_share_opt.
63269        https://bugs.webkit.org/show_bug.cgi?id=28920
63270
63271        * platform/network/curl/ResourceHandleManager.cpp:
63272        (WebCore::sharedResourceMutex):
63273        (WebCore::curl_lock_callback):
63274        (WebCore::curl_unlock_callback):
63275        (WebCore::ResourceHandleManager::ResourceHandleManager):
63276
632772009-09-02  Evan Stade  <estade@chromium.org>
63278
63279        Reviewed by Eric Seidel.
63280
63281        Expose functions to change the focus ring color for Linux Chromium
63282
63283        https://bugs.webkit.org/show_bug.cgi?id=28887
63284
63285        * rendering/RenderThemeChromiumLinux.cpp:
63286        (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
63287        (WebCore::RenderThemeChromiumLinux::setFocusRingColor):
63288        (WebCore::RenderThemeChromiumLinux::platformFocusRingColor):
63289        * rendering/RenderThemeChromiumLinux.h:
63290
632912009-09-02  Dirk Schulze  <krit@webkit.org>
63292
63293        Reviewed by Eric Seidel.
63294
63295        SVG Filter premultiplied color support for getImageDate/putImageData
63296        [https://bugs.webkit.org/show_bug.cgi?id=27933]
63297
63298        Patch to get premultiplied color support for Skia on getImageDate/putImageData.
63299
63300        * platform/graphics/skia/ImageBufferSkia.cpp:
63301        (WebCore::getImageData):
63302        (WebCore::putImageData):
63303
633042009-09-02  Brady Eidson  <beidson@apple.com>
63305
63306        Forget to rename openInFrameloader() to open(), which was requested in Darin's review of my last patch.
63307
63308        * history/CachedFrame.cpp:
63309        (WebCore::CachedFrameBase::restore):
63310        (WebCore::CachedFrame::open):
63311        * history/CachedFrame.h:
63312        * history/CachedPage.cpp:
63313        (WebCore::CachedPage::restore):
63314
633152009-09-02  Brady Eidson  <beidson@apple.com>
63316
63317        Reviewed by Darin Adler.
63318
63319        In http://trac.webkit.org/changeset/47943 I added new header dependencies to FrameLoader.h.
63320        Removing them is a little trouble, but worth it going forward.
63321        The pattern of creating a "CachedFrameBase" as the interface CachedFrame provides to FrameLoader
63322        was suggested by Darin Adler.
63323
63324        No new tests. (No change in behavior)
63325
63326        Make CachedFrame inherit privately from CachedFrameBase, which becomes the interface FrameLoader uses:
63327        * history/CachedFrame.cpp:
63328        (WebCore::CachedFrameBase::CachedFrameBase):
63329        (WebCore::CachedFrameBase::~CachedFrameBase):
63330        (WebCore::CachedFrameBase::restore):
63331        (WebCore::CachedFrame::CachedFrame):
63332        (WebCore::CachedFrame::openInFrameLoader):
63333        * history/CachedFrame.h:
63334        (WebCore::CachedFrameBase::document):
63335        (WebCore::CachedFrameBase::view):
63336        (WebCore::CachedFrameBase::domWindow):
63337        (WebCore::CachedFrame::create):
63338        (WebCore::CachedFrame::documentLoader):
63339        (WebCore::CachedFrame::mousePressNode):
63340
63341        Call the new ::openInFrameLoader() method on the CachedFrame, as CachedFrameBase is now the only
63342        thing capable of interacting with FrameLoader::open(CachedFrameBase):
63343        * history/CachedPage.cpp:
63344        (WebCore::CachedPage::restore):
63345        * history/CachedPage.h:
63346        (WebCore::CachedPage::documentLoader):
63347
63348        Make ::open(CachedFrame) public, and change it to ::open(CachedFrameBase):
63349        * loader/FrameLoader.cpp:
63350        (WebCore::FrameLoader::open):
63351        * loader/FrameLoader.h:
63352
633532009-09-02  Ryosuke Niwa  <rniwa@webkit.org>
63354
63355        Reviewed by Eric Seidel.
63356
63357        Cannot pres Enter to escape from bulleted list when <ul> is a child of <li>.
63358        https://bugs.webkit.org/show_bug.cgi?id=24866
63359
63360        This patch modifies breakOutOfEmptyListItem to break out of a properly nested list
63361        (a list to break out of is inside another list item).
63362
63363        When the empty list item appears at the end of another list item, WebKit breaks out of
63364        the outer list item, and adds new item below the outer list item.
63365        Otherwise, WebKit breaks out of the the inner list item and inserts new paragraph.
63366
63367        Test: editing/execCommand/break-out-of-empty-list-item.html
63368
63369        * editing/CompositeEditCommand.cpp:
63370        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
63371
633722009-09-02  Brady Eidson  <beidson@apple.com>
63373
63374        Reviewed by Sam Weinig.
63375
63376        More partial work towards "Page Cache should support pages with Frames"
63377        https://bugs.webkit.org/show_bug.cgi?id=13631
63378
63379        This patch is primarily about the "CachedFrame tree" and making slightly different decisions
63380        based on whether a CachedFrame is the main frame or a subframe.
63381
63382        - Store whether a CachedFrame represents the main frame or a subframe.
63383        - "Chop off the frame tree" for the main frame when creating its CachedFrame, as main frames 
63384          are reused and need to start new page loads with an empty frame tree.
63385        - Reattach the frame tree to the main frame when restoring it.
63386        - open() the cached subframes in their respective loaders when restoring.
63387        - Properly clear() and destroy() cached subframes.
63388        - When committing to a new page load, and after caching the previous page, only clear the
63389          FrameView for the main frame.
63390
63391        Note that all of above will eventually be necessary as I continue to land this work in pieces,
63392        but doesn't actually change any behavior right now because we still refuse to even *try* to
63393        cache pages with frames.
63394
63395        No new tests. No change in behavior, and current tests continue to pass.
63396
63397        * history/CachedFrame.cpp:
63398        (WebCore::CachedFrame::CachedFrame):
63399        (WebCore::CachedFrame::restore):
63400        (WebCore::CachedFrame::clear):
63401        (WebCore::CachedFrame::destroy):
63402        * history/CachedFrame.h:
63403        (WebCore::CachedFrame::isMainFrame):
63404
63405        * loader/FrameLoader.cpp:
63406        (WebCore::FrameLoader::clear):
63407        (WebCore::FrameLoader::open):
63408        * loader/FrameLoader.h:
63409
634102009-09-02  Brady Eidson  <beidson@apple.com>
63411
63412        No review, build fix.
63413
63414        http://trac.webkit.org/changeset/47976 broke the build.  
63415        Let's try compiling before we land things, shall we?
63416
63417        * platform/graphics/SimpleFontData.cpp:
63418        (WebCore::SimpleFontData::SimpleFontData): Order the initialization list correctly.
63419
634202009-09-02  Kevin Ollivier  <kevino@theolliviers.com>
63421
63422        waf build fixes for Windows/MSVC.
63423
63424        * wscript:
63425
634262009-09-02  Ben Murdoch  <benm@google.com>
63427
63428        Unreviewed build fix for Chromium.
63429
63430        Missed #including V8Proxy.h in WebCore/bindings/v8/V8Binding.cpp.
63431
63432        * bindings/v8/V8Binding.cpp: add V8Proxy.h as an include
63433
634342009-09-02  Kevin Ollivier  <kevino@theolliviers.com>
63435
63436        waf build fix, don't define symbols we now grab from other sources.
63437
63438        * platform/wx/TemporaryLinkStubs.cpp:
63439
634402009-09-02  Kevin Ollivier  <kevino@theolliviers.com>
63441
63442        Build fixes for PluginViewNone.cpp and a wx build fix for PluginView.cpp.
63443
63444        * plugins/PluginView.cpp:
63445        (WebCore::PluginView::stop):
63446        * plugins/PluginViewNone.cpp:
63447        (WebCore::PluginView::platformDestroy):
63448
634492009-09-02  Charles Wei  <charles.wei@torchmobile.com.cn>
63450
63451        Reviewed by Eric Seidel.
63452
63453        Fix the build failure of WebKit for Linux/Qt when WML is enabled
63454
63455        No test cases needed since this just fixes the build problem.
63456
63457        * wml/WMLElement.cpp:
63458        (WebCore::WMLElement::create):
63459        * wml/WMLTableElement.cpp:
63460        (WebCore::WMLTableElement::joinSuperflousColumns):
63461        (WebCore::WMLTableElement::padWithEmptyColumns):
63462
634632009-09-02 Yong Li <yong.li@torchmobile.com>
63464
63465        Reviewed by Adam Barth.
63466
63467        WINCE PORT: use shared buffer for custom font data
63468        https://bugs.webkit.org/show_bug.cgi?id=27734
63469
63470        Refactored by Joe Mason <joe.mason@torchmobile.com>
63471
63472        * loader/CachedFont.cpp:
63473        add WINCE to platforms using cached custom data
63474        * platform/graphics/opentype/OpenTypeUtilities.cpp:
63475        (WebCore::renameFont): implement for WinCE
63476        * platform/graphics/opentype/OpenTypeUtilities.h:
63477        build fixes
63478        * platform/graphics/wince/FontCustomPlatformData.cpp:
63479        (WebCore::setCustomFontCache): add accessor
63480        (WebCore::createFontCustomPlatformData): change param to SharedBuffer
63481        * platform/graphics/wince/FontCustomPlatformData.h:
63482        update function signatures 
63483 
634842009-09-02 Yong Li <yong.li@torchmobile.com>
63485
63486        Reviewed by Adam Barth.
63487
63488        WINCE PORT: font-related build fixes and minor bugfixes
63489        https://bugs.webkit.org/show_bug.cgi?id=27734
63490
63491        * platform/graphics/FontCache.h: declare functions added in https://bugs.webkit.org/show_bug.cgi?id=27509
63492        * platform/graphics/GlyphPageTreeNode.cpp:
63493        (WebCore::GlyphPageTreeNode::initializePage): fix ambiguous overload error in min/max on Windows
63494        * platform/graphics/SimpleFontData.cpp:
63495        (WebCore::SimpleFontData::SimpleFontData): initialize member vars
63496        * platform/graphics/SimpleFontData.h: disable unused members on Wince to save space 
63497
634982009-09-02  Jeremy Orlow  <jorlow@chromium.org>
63499
63500        Reviewed by Adam Barth.
63501
63502        Another pass at releasing the storage mutex.
63503        https://bugs.webkit.org/show_bug.cgi?id=28904
63504
63505        Another pass at releasing the storage mutex (when applicable) when we finish
63506        executing JavaScript.  http://dev.w3.org/html5/spec/Overview.html#storage-mutex
63507        describes the required behavior.
63508
63509        As it turns out, https://bugs.webkit.org/show_bug.cgi?id=28789 didn't solve
63510        the problem correctly.  First of all, I missed that events and timeouts go
63511        through a different call path.  Second of all, I didn't consider recursion
63512        correctly.  Third of all, my check to see if LocalStorage is alive actually
63513        instantiates it if it isn't yet.  Fourth, I forgot DOM_STORAGE guards around
63514        it.  So I'm reverting that change completely and doing it more cleanly.
63515        Unfortunately, the solution isn't as portable (and thus I've left out the JSC
63516        implementation for now).
63517
63518        NOTE: This change now tracks recursion on function callbacks in V8.  I ran this
63519        by Mads Ager and Mike Belshe and they seemed to think adding the checks were
63520        fine.  Most callbacks are asynchronous and thus wouldn't be nested.  The few
63521        scenareos where you can have nested callbacks probably should have always been
63522        protected by a recursion guard.
63523
63524        Unfortunately, this can't be tested without a hook added to the layout test
63525        controllers since the lock is (by design) not supposed to be observable by
63526        JavaScript.  https://bugs.webkit.org/show_bug.cgi?id=28906
63527
63528        * bindings/js/ScriptController.cpp:
63529        (WebCore::ScriptController::evaluate): revert
63530        * bindings/v8/ScriptController.cpp:
63531        (WebCore::ScriptController::evaluate): revert
63532        * bindings/v8/V8Proxy.cpp:
63533        (WebCore::V8Proxy::runScript):
63534            Add releaseStorageMutex call.  A small amount of clean up.
63535        (WebCore::V8Proxy::callFunction):
63536            Add releaseStorageMutex call.  A small amount of clean up.
63537        (WebCore::V8Proxy::releaseStorageMutex):
63538            Check to see if localStorage has been instantiated.  If so, tell it to
63539            unlock all storage areas.
63540        * bindings/v8/V8Proxy.h:
63541        * page/PageGroup.h:
63542        (WebCore::PageGroup::hasLocalStorage):  Make hasLocalStorage public.
63543
635442009-09-02  Yong Li  <yong.li@torchmobile.com>
63545
63546        Reviewed by Adam Barth.
63547
63548        WINCE PORT: Implement ImageBuffer for WINCE
63549        Implement Image interface with a light class BufferedImage
63550        for rendering ImageBuffer
63551        https://bugs.webkit.org/show_bug.cgi?id=28167
63552
63553        * platform/graphics/wince/ImageBufferData.h: Added.
63554        * platform/graphics/wince/ImageBufferWince.cpp: Added.
63555
635562009-08-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
63557
63558        Reviewed by Eric Seidel.
63559
63560        Join the various PluginView destructors into one shared implementation
63561
63562        https://bugs.webkit.org/show_bug.cgi?id=27706
63563
63564        The Qt port used to delete the platform plugin widget as the last step.
63565        Now this is done before cleaning up the script objects and unloading the
63566        plugin package, similar to how the Win port does it.
63567
63568        * plugins/PluginView.cpp:
63569        * plugins/PluginViewNone.cpp:
63570        * plugins/gtk/PluginViewGtk.cpp:
63571        * plugins/mac/PluginViewMac.cpp:
63572        * plugins/qt/PluginViewQt.cpp:
63573        * plugins/win/PluginViewWin.cpp:
63574
635752009-08-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
63576
63577        Reviewed by Eric Seidel.
63578
63579        Share PluginView::init() between ports
63580
63581        https://bugs.webkit.org/show_bug.cgi?id=27706
63582
63583        The port-spesific bits are moved to platformStart(), which now returns
63584        a bool based on the success of the platformStart.
63585
63586        m_hasPendingGeometryChange is now initialized in the initializer list
63587        instead of in PluginViewQt's init()
63588
63589        PluginViewMac (currently used only by the Qt port) used to manually call
63590        stop() in the case where an unsupported drawing or event model was detected.
63591        This was wrong, as the m_status and m_isStarted fields should be used to
63592        guard against doing operations on a plugin in this intermediate state.
63593
63594        * plugins/PluginView.cpp:
63595        * plugins/PluginView.h:
63596        * plugins/PluginViewNone.cpp:
63597        * plugins/gtk/PluginViewGtk.cpp:
63598        * plugins/mac/PluginViewMac.cpp:
63599        * plugins/qt/PluginViewQt.cpp:
63600        * plugins/win/PluginViewWin.cpp:
63601
636022009-09-02  Ben Murdoch  <benm@google.com>
63603
63604        https://bugs.webkit.org/show_bug.cgi?id=28737
63605        
63606        Update JavaScript bindings in JSC and V8 for SQLTransaction to throw exceptions in the right places.
63607
63608        * bindings/js/JSSQLTransactionCustom.cpp:
63609        (WebCore::JSSQLTransaction::executeSql): Throw an exception if no parameters are passed to executeSql().
63610        * bindings/v8/V8Binding.cpp:
63611        (WebCore::v8ValueToWebCoreString): Catch an exception if thrown from toString().
63612        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
63613        (WebCore::CALLBACK_FUNC_DECL): Allow "arrayish objects" to be passed to executeSql.
63614
636152009-09-01  Pavel Feldman  <pfeldman@chromium.org>
63616
63617        Reviewed by Timothy Hatcher.
63618
63619        WebInspector: Migrate Databases tab to InjectedScript /
63620        serialized interaction.
63621
63622        https://bugs.webkit.org/show_bug.cgi?id=28873
63623
63624        * inspector/InspectorDOMAgent.cpp:
63625        (WebCore::InspectorDOMAgent::handleEvent):
63626        * inspector/front-end/Database.js:
63627        (WebInspector.Database.prototype.isDB):
63628        (WebInspector.Database.prototype.runWithTableNames.sortingCallback):
63629        (WebInspector.Database.prototype.runWithTableNames):
63630        (WebInspector.Database.prototype.executeSql):
63631        (WebInspector.Database.prototype.executeSql.errorCallback):
63632        (WebInspector.Database.prototype.executeSql.queryTransaction):
63633        * inspector/front-end/DatabaseQueryView.js:
63634        (WebInspector.DatabaseQueryView.prototype._enterKeyPressed):
63635        (WebInspector.DatabaseQueryView.prototype._queryFinished):
63636        * inspector/front-end/DatabaseTableView.js:
63637        (WebInspector.DatabaseTableView):
63638        * inspector/front-end/StoragePanel.js:
63639        (WebInspector.StoragePanel.prototype.selectDatabase):
63640        (WebInspector.StoragePanel.prototype.updateDatabaseTables.withTableNames):
63641        (WebInspector.StoragePanel.prototype.updateDatabaseTables):
63642        (WebInspector.DatabaseSidebarTreeElement.prototype.onpopulate.withTableNames):
63643        (WebInspector.DatabaseSidebarTreeElement.prototype.onpopulate):
63644
636452009-09-02  Pavel Feldman  <pfeldman@chromium.org>
63646
63647        Not reviewed (trivial followup fix). 
63648        
63649        Web Inspector: Trivial follow up fix to r47944.
63650
63651        https://bugs.webkit.org/show_bug.cgi?id=28800
63652
63653        * inspector/InspectorBackend.cpp:
63654        (WebCore::InspectorBackend::nodeForId):
63655
636562009-09-01  Brian Weinstein  <bweinstein@apple.com>
63657
63658        Reviewed by John Sullivan.
63659
63660        Fixed a bug in handling of isReadOnly, where textareas were casted to HTMLInputElements.
63661
63662        * accessibility/AccessibilityRenderObject.cpp:
63663        (WebCore::AccessibilityRenderObject::isReadOnly):
63664
636652009-09-01  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
63666
63667        Reviewed by Timothy Hatcher.
63668
63669        https://bugs.webkit.org/show_bug.cgi?id=28047
63670        add utility method to enable logging messages for inspector development
63671
63672        manual test case added (see below)
63673
63674        * inspector/front-end/ConsoleView.js:
63675        (WebInspector.ConsoleMessage.prototype.toMessageElement):
63676        (WebInspector.ConsoleMessage.prototype.toString):
63677        * inspector/front-end/inspector.css:
63678        * inspector/front-end/inspector.js:
63679        (WebInspector.log):
63680        * manual-tests/inspector/webinspector-log.html: Added.
63681        * page/Console.cpp:
63682        (WebCore::printMessageSourceAndLevelPrefix):
63683        * page/Console.h:
63684        (WebCore::):
63685
636862009-09-01  Alexey Proskuryakov  <ap@apple.com>
63687
63688        Reviewed by Darin Adler.
63689
63690        https://bugs.webkit.org/show_bug.cgi?id=21990
63691        When a rare EUC-JP character is present, explicitly (and correctly) labelled EUC-JP document
63692        is mistreated as Shift_JIS
63693
63694        <rdar://problem/5828506> Safari should not try auto-detecting if charset information exists
63695
63696        WebKit used to unconditionally auto-detect document encoding if it was one of Japanese ones.
63697        This didn't really match any browser, and did cause problems on some sites.
63698
63699        Our detector is very quick to label an EUC-JP page as Shift_JIS if it notices a byte that
63700        cannot be part of EUC-JP source. However, such bytes do appear in Web pages sometimes,
63701        especially in comments. Also, some valid EUC-JP sequences are not known to it.
63702
63703        Some pages that are fixed by this change:
63704
63705        <rdar://problem/5934750> Encoding in incorrect at http://cocodeparis.blog45.fc2.com/. This
63706        page has incorrect encoding in title, so no browser displays it 100% fine. We now match
63707        Firefox and IE.
63708
63709        <rdar://problem/6007713> The web page http://www.sf.us.emb-japan.go.jp/top.htm is garbled
63710        in Safari. There is a stray byte in comments that was makes charset detector think it can't
63711        be EUC-JP.
63712
63713        <rdar://problem/6965711> A Japanese web page www.nippontv.studiolegend.tv is garbled in
63714        Safari. Many comments on this page are encoded as Shift_JIS - IE magically displays that
63715        fine in View Source mode (it doesn't seem to have an ability to switch between EUC-JP and
63716        Shift_JIS in normal HTML view though).
63717
63718        Test: fast/encoding/japanese-encoding-mix.html
63719
63720        * loader/TextResourceDecoder.cpp: (WebCore::TextResourceDecoder::decode): Only invoke auto-
63721        detection if there is no solid charset information yet.
63722
637232009-09-01  Jian Li  <jianli@chromium.org>
63724
63725        Reviewed by Dimitri Glazkov.
63726
63727        [V8] FileList cannot be accessed via index in Chromium.
63728        https://bugs.webkit.org/show_bug.cgi?id=28883
63729
63730        Tested by clipboard-file-access.html.
63731
63732        * WebCore.gypi:
63733        * bindings/v8/V8DOMWrapper.cpp:
63734        (WebCore::V8DOMWrapper::getTemplate):
63735        * bindings/v8/custom/V8CustomBinding.h:
63736        * bindings/v8/custom/V8FileListCustom.cpp: Added.
63737
637382009-08-31  Jon Honeycutt  <jhoneycutt@apple.com>
63739
63740        Remove the workaround added in r47316.
63741
63742        Reviewed by Sam Weinig.
63743
63744        * accessibility/AXObjectCache.cpp:
63745        (WebCore::AXObjectCache::AXObjectCache):
63746
63747        * accessibility/AXObjectCache.h:
63748        Remove the Document argument to the AXObjectCache constructor and the
63749        m_document member variable, and replace the no-parameter
63750        handleFocusedUIElementChanged() with the two-parameter GTK function.
63751        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
63752
63753        * accessibility/chromium/AXObjectCacheChromium.cpp:
63754        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
63755
63756        * accessibility/gtk/AXObjectCacheAtk.cpp:
63757        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
63758
63759        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
63760        (fallbackObject):
63761        Don't pass a null Document when constructing the AXObjectCache.
63762
63763        * accessibility/mac/AXObjectCacheMac.mm:
63764        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
63765
63766        * accessibility/win/AXObjectCacheWin.cpp:
63767        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
63768        Get the document from the RenderObject; m_document was removed.
63769
63770        * dom/Document.cpp:
63771        (WebCore::Document::axObjectCache):
63772        Don't pass the Document when constructing the AXObjectCache.
63773        (WebCore::Document::setFocusedNode):
63774        Pass the old and new focused RenderObjects when calling
63775        handleFocusedUIElementChanged().
63776
637772009-09-01  Yury Semikhatsky  <yurys@chromium.org>
63778
63779        Reviewed by Timothy Hatcher.
63780
63781        Check that InspectorDOMAgent and InspectorFrontend are not null
63782        before accessing them in InspectorBackend. They may be null if
63783        InspectorController is closed before an asynchronous operation is
63784        started.
63785
63786        https://bugs.webkit.org/show_bug.cgi?id=28800
63787
63788        * inspector/InspectorBackend.cpp:
63789        (WebCore::InspectorBackend::getCookies):
63790        (WebCore::InspectorBackend::getChildNodes):
63791        (WebCore::InspectorBackend::setAttribute):
63792        (WebCore::InspectorBackend::removeAttribute):
63793        (WebCore::InspectorBackend::setTextNodeValue):
63794        (WebCore::InspectorBackend::highlight):
63795        (WebCore::InspectorBackend::nodeForId):
63796        (WebCore::InspectorBackend::pushNodePathToFrontend):
63797        (WebCore::InspectorBackend::addNodesToSearchResult):
63798        (WebCore::InspectorBackend::selectDatabase):
63799        (WebCore::InspectorBackend::selectDOMStorage):
63800        (WebCore::InspectorBackend::inspectorDOMAgent):
63801        (WebCore::InspectorBackend::inspectorFrontend):
63802        * inspector/InspectorBackend.h:
63803
638042009-09-01  Brady Eidson  <beidson@apple.com>
63805
63806        Reviewed by Sam Weinig.
63807
63808        Page Cache should support pages with frames
63809        https://bugs.webkit.org/show_bug.cgi?id=13631
63810
63811        Things learned in the full task that this patch addresses:
63812        - The notions of clearing a CachedFrame and destroying a CachedFrame were two concepts that 
63813          needed to be managed separately.
63814        - Once we start restoring pages with multiple CachedFrames, we'll have to be calling
63815          FrameLoader::open(CachedFrame&) multiple times with different CachedFrames, and this process
63816          will be guided by the CachedFrames themselves.
63817
63818        No new tests. (No change in behavior, current layout tests pass)
63819        
63820        * history/CachedFrame.cpp:
63821        (WebCore::CachedFrame::CachedFrame):
63822        (WebCore::CachedFrame::~CachedFrame):
63823        (WebCore::CachedFrame::clear): Only clear pointers out.
63824        (WebCore::CachedFrame::destroy): Perform the destructive cleanup work here - Things that shouldn't
63825          occur simply by navigating back to a page with a CachedFrame.
63826        * history/CachedFrame.h:
63827
63828        * history/CachedPage.cpp:
63829        (WebCore::CachedPage::~CachedPage):
63830        (WebCore::CachedPage::restore): Call clear() after restoring.
63831        (WebCore::CachedPage::clear):
63832        (WebCore::CachedPage::destroy):
63833        * history/CachedPage.h:
63834
63835        * history/PageCache.cpp:
63836        (WebCore::PageCache::releaseAutoreleasedPagesNow): destroy() CachedPages that are being pruned,
63837          instead of clearing them.
63838
63839        * loader/FrameLoader.cpp:
63840        (WebCore::FrameLoader::commitProvisionalLoad): Let the CachedPage clear() itself after restoring.
63841        (WebCore::FrameLoader::open): Don't ::open() the CachedFrame, as the CachedPage does that now.
63842        * loader/FrameLoader.h:  Add the friending so CachedPage and CachedFrame can better guide the process.
63843          Even though CachedFrame::restore() isn't used for now, it will be soon.
63844
638452009-09-01  Andrei Popescu  <andreip@google.com>
63846
63847        Reviewed by David Levin.
63848
63849        Add a "lowMemoryNotification" method to the V8 ScriptController class.
63850        This is needed in order to allow the host application (Android Web browser in this case)
63851        to call the v8::V8::LowMemoryNotification() method added to V8 in
63852        http://code.google.com/p/v8/source/detail?spec=svn2777&r=2725
63853        
63854        https://bugs.webkit.org/show_bug.cgi?id=28776
63855
63856
63857        * bindings/v8/ScriptController.cpp:
63858        (WebCore::ScriptController::lowMemoryNotification):
63859        * bindings/v8/ScriptController.h:
63860
638612009-09-01  Fumitoshi Ukai  <ukai@chromium.org>
63862
63863        Reviewed by Adam Barth.
63864
63865        V8 Bindings for WebSocket API.
63866        https://bugs.webkit.org/show_bug.cgi?id=28844
63867
63868        * bindings/v8/DOMObjectsInclude.h:
63869        * bindings/v8/DerivedSourcesAllInOne.cpp:
63870        * bindings/v8/V8DOMWrapper.cpp:
63871        (WebCore::V8DOMWrapper::getTemplate):
63872        (WebCore::V8DOMWrapper::convertToV8Object):
63873        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
63874        * bindings/v8/V8DOMWrapper.h:
63875        * bindings/v8/V8Index.cpp:
63876        * bindings/v8/V8Index.h:
63877        * bindings/v8/WorkerContextExecutionProxy.cpp:
63878        * bindings/v8/custom/V8CustomBinding.h:
63879        * bindings/v8/custom/V8WebSocketCustom.cpp: Added.
63880
638812009-09-01  Peter Kasting  <pkasting@google.com>
63882
63883        Unreviewed (build fix).
63884
63885        Missed a "." -> "->" conversion.
63886
63887        * platform/graphics/qt/ImageDecoderQt.cpp:
63888        (WebCore::ImageDecoderQt::ReadContext::ReadContext):
63889
638902009-09-01  Peter Kasting  <pkasting@google.com>
63891
63892        Unreviewed (build fix).
63893
63894        Try to fix Qt build, take 2.  The Qt code had what looks like a
63895        broken virtual function override.
63896
63897        * platform/graphics/qt/ImageDecoderQt.cpp:
63898        (WebCore::ImageDecoderQt::ReadContext::ReadContext):
63899        (WebCore::ImageDecoderQt::setData):
63900        * platform/graphics/qt/ImageDecoderQt.h:
63901
639022009-09-01  Adam Barth  <abarth@webkit.org>
63903
63904        Reviewed by Sam Weinig.
63905
63906        Uninitialized variable in XSSAuditor
63907        https://bugs.webkit.org/show_bug.cgi?id=28874
63908
63909        One ought to initialize variables before use even when it doesn't
63910        matter.  No behavior change.
63911
63912        * page/XSSAuditor.h:
63913        (WebCore::XSSAuditor::CachingURLCanonicalizer::CachingURLCanonicalizer):
63914
639152009-09-01  Peter Kasting  <pkasting@google.com>
63916
63917        Unreviewed (build fix).
63918
63919        Try to fix Qt build.
63920
63921        * platform/graphics/ImageSource.cpp:
63922
639232009-08-28  Peter Kasting  <pkasting@google.com>
63924
63925        Reviewed by Eric Seidel.
63926
63927        https://bugs.webkit.org/show_bug.cgi?id=27965
63928        Eliminate most of ImageSourceQt.cpp in favor of ImageSource.cpp.
63929
63930        * WebCore.pro:
63931        * platform/graphics/ImageSource.cpp:
63932        (WebCore::ImageSource::frameHasAlphaAtIndex):
63933        * platform/graphics/qt/ImageSourceQt.cpp:
63934        (WebCore::ImageSource::createFrameAtIndex):
63935        (WebCore::ImageSource::frameHasAlphaAtIndex):
63936        (WebCore::ImageSource::frameIsCompleteAtIndex):
63937
639382009-09-01  Pavel Feldman  <pfeldman@chromium.org>
63939
63940        Reviewed by Timothy Hatcher.
63941
63942        WebInspector: Make InjectedScript self-contained (move necessary
63943        methods from utilities.js into InjectedScript).
63944
63945        https://bugs.webkit.org/show_bug.cgi?id=28871
63946
63947        * inspector/front-end/ElementsPanel.js:
63948        (WebInspector.ElementsPanel.prototype.generateStylesheet):
63949        * inspector/front-end/InjectedScript.js:
63950        (InjectedScript._ensureCommandLineAPIInstalled.inspectObject):
63951        (InjectedScript._ensureCommandLineAPIInstalled):
63952        (InjectedScript.pushNodeToFrontend):
63953        (InjectedScript.createProxyObject):
63954        (Object.type):
63955        (Object.hasProperties):
63956        (Object.className):
63957        (String.prototype.escapeCharacters):
63958        * inspector/front-end/utilities.js:
63959
639602009-09-01  Pavel Feldman  <pfeldman@chromium.org>
63961
63962        Reviewed by Timothy Hatcher.
63963
63964        WebInspector: console log message repeat count double.
63965
63966        https://bugs.webkit.org/show_bug.cgi?id=28856
63967
63968        * inspector/front-end/InjectedScript.js:
63969        (InjectedScript._evaluateOn):
63970
639712009-09-01  Jan Michael Alonzo  <jmalonzo@webkit.org>
63972
63973        Reviewed by Mark Rowe.
63974
63975        [Gtk] Fix DATALIST build
63976        https://bugs.webkit.org/show_bug.cgi?id=28826
63977
63978        Add ENABLE_DATALIST to FEATURE_DEFINES.
63979
63980        * GNUmakefile.am:
63981
639822009-09-01  Cameron McCormack  <cam@mcc.id.au>
63983
63984        Reviewed by Eric Seidel.
63985
63986        SVGSVGElement suspend methods argument/return types incorrect
63987        https://bugs.webkit.org/show_bug.cgi?id=28860
63988
63989        Also fix the style of the argument names.
63990
63991        * svg/SVGSVGElement.cpp:
63992        (WebCore::SVGSVGElement::suspendRedraw):
63993        (WebCore::SVGSVGElement::unsuspendRedraw):
63994        * svg/SVGSVGElement.h:
63995
639962009-09-01  Roland Steiner  <rolandsteiner@google.com>
63997
63998        Reviewed by Eric Seidel.
63999
64000        Fix bug 28808:  [Skia] Fix flaky layout test svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html [DEBUG]
64001        (https://bugs.webkit.org/show_bug.cgi?id=28808)
64002
64003        The bug fix adds an explicit check for the validity of the path when it is 
64004        transformed into local coordinates. 
64005        This was the most suitable place I could find that didn't cause an inordinate 
64006        amount of refactoring. Also, it seems pertinent and may also catch other cases 
64007        that are not limited to clipping paths.
64008
64009        TEST: existing svg/dynamic-updates/SVGClipPathElement-dom-clipPathUnits-attr.html
64010
64011        * platform/graphics/skia/GraphicsContextSkia.cpp: make isPathSkiaSafe accessible
64012        (WebCore::):
64013        * platform/graphics/skia/PlatformContextSkia.cpp:
64014        (PlatformContextSkia::currentPathInLocalCoordinates): check Skia safety of path
64015
640162009-09-01  Yusuke Sato  <yusukes@chromium.org>
64017
64018        Reviewed by Eric Seidel.
64019
64020        [Chromium] Combining Diacritical Marks (U+0300..) are not handled correctly.
64021        https://bugs.webkit.org/show_bug.cgi?id=28742 
64022
64023        Normalize (NFC) a TextRun when the run contains combining diacritical marks
64024        so that Skia can pick a correct glyph without relying on GSUB table in a font.
64025        This change is for Chromium Linux.
64026
64027        * platform/graphics/chromium/FontLinux.cpp:
64028        (WebCore::TextRunWalker::getTextRun): Added.
64029        (WebCore::TextRunWalker::getNormalizedTextRun): Added.
64030
64031        This function is called when the run contains U+0300..U+036F and converts characters in
64032        the run to the combined form (NFC) using ICU.
64033
640342009-09-01  Vitaly Repeshko  <vitalyr@chromium.org>
64035
64036        Reviewed by Dimitri Glazkov.
64037
64038        [V8] Inlined fast paths of V8DOMWrapper::convertNodeToV8Object and
64039        V8Proxy::createWrapperFromCache.
64040        https://bugs.webkit.org/show_bug.cgi?id=28848
64041
64042        * bindings/v8/V8DOMWrapper.cpp:
64043        (WebCore::V8DOMWrapper::convertDocumentToV8Object): Special
64044        function for document wrapping.
64045        (WebCore::V8DOMWrapper::convertNewNodeToV8Object): Slow case of
64046        wrapping a new node.
64047        * bindings/v8/V8DOMWrapper.h:
64048        (WebCore::V8DOMWrapper::convertNodeToV8Object): Extracted fast
64049        path from V8DOMWrapper.cpp.
64050        * bindings/v8/V8Proxy.cpp:
64051        (WebCore::V8Proxy::createWrapperFromCacheSlowCase):
64052        * bindings/v8/V8Proxy.h:
64053        (WebCore::V8Proxy::createWrapperFromCache): Extracted fast path
64054        from V8Proxy.cpp.
64055
640562009-09-01  Eric Seidel  <eric@webkit.org>
64057
64058        No review, windows build fix only.  Clearly I should have read the patch closer. :(
64059
64060        Allow excluding certain plugins from loading
64061        https://bugs.webkit.org/show_bug.cgi?id=28677
64062
64063        * plugins/PluginDatabase.cpp:
64064        (WebCore::PluginDatabase::refresh):
64065
640662009-09-01  Alexander Pavlov  <apavlov@chromium.org>
64067
64068        Reviewed by Timothy Hatcher.
64069
64070        Implement conditional breakpoints in the Web Inspector backend
64071        and add frontend JavaScript stubs.
64072        https://bugs.webkit.org/show_bug.cgi?id=28846
64073
64074        * inspector/InspectorBackend.cpp:
64075        (WebCore::InspectorBackend::profiles):
64076        (WebCore::InspectorBackend::addBreakpoint):
64077        (WebCore::InspectorBackend::updateBreakpoint):
64078        * inspector/InspectorBackend.h:
64079        * inspector/InspectorBackend.idl:
64080        * inspector/JavaScriptDebugServer.cpp:
64081        (WebCore::JavaScriptDebugServer::BreakpointInfo::condition):
64082        (WebCore::JavaScriptDebugServer::BreakpointInfo::setCondition):
64083        (WebCore::JavaScriptDebugServer::addBreakpoint):
64084        (WebCore::JavaScriptDebugServer::breakpointInfo):
64085        (WebCore::JavaScriptDebugServer::updateBreakpoint):
64086        (WebCore::JavaScriptDebugServer::updateBreakpointInfo):
64087        (WebCore::JavaScriptDebugServer::removeBreakpoint):
64088        (WebCore::JavaScriptDebugServer::hasBreakpoint):
64089        (WebCore::JavaScriptDebugServer::clearBreakpoints):
64090        * inspector/JavaScriptDebugServer.h:
64091        (WebCore::JavaScriptDebugServer::BreakpointInfo::BreakpointInfo):
64092        * inspector/front-end/Breakpoint.js:
64093        (WebInspector.Breakpoint):
64094        (WebInspector.Breakpoint.prototype.get id):
64095        (WebInspector.Breakpoint.prototype.get condition):
64096        (WebInspector.Breakpoint.prototype.set condition):
64097        * inspector/front-end/BreakpointsSidebarPane.js:
64098        (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
64099        (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
64100        * inspector/front-end/ScriptsPanel.js:
64101        (WebInspector.ScriptsPanel.prototype.addScript):
64102
641032009-09-01  Marius Renn  <damarvy@gmail.com>
64104
64105        Reviewed by Eric Seidel.
64106
64107        Added delegate to PluginDatabase to disable loading certain plugins.
64108        This is useful when you want to load from the standard plugin
64109        directory, but want to exclude certain plugins. Plugins may be
64110        excluded early on by name, so that no plugin code is executed (which
64111        may have caused a crash).
64112
64113        * plugins/PluginDatabase.cpp:
64114        (WebCore::PluginDatabase::PluginDatabase):
64115        (WebCore::PluginDatabase::refresh):
64116        * plugins/PluginDatabase.h:
64117        (WebCore::PluginDatabase::setClient):
64118        * plugins/PluginDatabaseClient.h: Added.
64119        (WebCore::PluginDatabaseClient::~PluginDatabaseClient):
64120
641212009-08-31  Brady Eidson  <beidson@apple.com>
64122
64123        Rubberstamped by Sam Weinig
64124
64125        * WebCore.base.exp: Removed an unneeded symbol export.
64126
641272009-08-31  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
64128
64129        Reviewed by Alexey Proskuryakov.
64130
64131        https://bugs.webkit.org/show_bug.cgi?id=28466
64132        When downloading a file, two GET requests are sent to the HTTP server
64133
64134        Can't think of a way to test this.
64135
64136        * loader/ResourceLoader.cpp:
64137        (WebCore::ResourceLoader::releaseResources): only nullify the
64138        handle's client when it is the ResourceLoader, to support the case
64139        in which a download API uses a different client
64140
641412009-08-31  Brian Weinstein  <bweinstein@apple.com>
64142
64143        Reviewed by Darin Adler.
64144
64145        Text Fields and Text Areas are reported as read-only by inspect32.exe.
64146        https://bugs.webkit.org/show_bug.cgi?id=28854
64147
64148        Added another case in AcccessibiltyRenderObject::isReadOnly to test if text fields
64149        and texts areas are read-only.
64150
64151        * accessibility/AccessibilityRenderObject.cpp:
64152        (WebCore::AccessibilityRenderObject::isReadOnly):
64153        (WebCore::AccessibilityRenderObject::canSetValueAttribute):
64154
641552009-08-31  Drew Wilson  <atwilson@google.com>
64156
64157        Reviewed by Alexey Proskuryakov.
64158
64159        fast/workers/worker-lifecycle.html crashes intermittently on snowleopard
64160        https://bugs.webkit.org/show_bug.cgi?id=28795
64161
64162        Changed WorkerContext::close() to no longer stop the worker thread.
64163        It is now the parent's responsibility to shut down the worker thread when it is notified that the context is closed.
64164
64165        * workers/AbstractWorker.cpp:
64166        Updated dispatchScriptErrorEvent to pass-through the "handled" value from dispatchEvent(), to allow event handlers added with addEventListener() to mark events as handled.
64167        * workers/DefaultSharedWorkerRepository.cpp:
64168        (WebCore::SharedWorkerProxy::workerContextClosed):
64169        Now shuts down the worker thread when notified that the context is closed.
64170        (WebCore::SharedWorkerProxy::close):
64171        Now handles being invoked when the context is already in the process of shutting down.
64172        * workers/WorkerContext.cpp:
64173        (WebCore::WorkerContext::close):
64174        No longer calls WorkerThread::stop() to avoid race conditions with shutting down the thread while the parent is still interacting with it.
64175        * workers/WorkerContext.h:
64176        (WebCore::WorkerContext::isClosing):
64177        isClosing() is now public so WorkerRunLoop can call it to determine whether to process tasks.
64178        * workers/WorkerMessagingProxy.cpp:
64179        (WebCore::WorkerExceptionTask::performTask):
64180        Error events should still be delivered even if the worker thread is closing.
64181        Also fixed problem where error events were not dispatched if error handlers were added via addEventListener().
64182        (WebCore::WorkerTerminateTask::create):
64183        New task that invokes terminateWorkerContext() on the parent thread when the context is closed.
64184        (WebCore::WorkerTerminateTask::WorkerTerminateTask):
64185        (WebCore::WorkerTerminateTask::performTask):
64186        (WebCore::WorkerMessagingProxy::workerContextClosed):
64187        Now fires off a WorkerTerminateTask to shut down the thread when the context is closed.
64188        * workers/WorkerMessagingProxy.h:
64189        WorkerMessagingProxy now overrides workerContextClosed().
64190        * workers/WorkerRunLoop.cpp:
64191        (WebCore::WorkerRunLoop::runInMode):
64192        Now drops tasks on the floor if the WorkerContext is closing.
64193
641942009-08-31  Ojan Vafai  <ojan@chromium.org>
64195
64196        Not reviewed (build fix)
64197
64198        Build fix for Chromium to match r49707.
64199
64200        * bindings/v8/ScriptCallFrame.cpp:
64201        (WebCore::ScriptCallFrame::ScriptCallFrame):
64202        * bindings/v8/ScriptSourceCode.h:
64203        (WebCore::ScriptSourceCode::ScriptSourceCode):
64204        * platform/KURLGoogle.cpp:
64205        (WebCore::KURL::KURL):
64206        (WebCore::blankURL):
64207
642082009-08-31  Alexey Proskuryakov  <ap@webkit.org>
64209
64210        Reviewed by Darin Adler.
64211
64212        https://bugs.webkit.org/show_bug.cgi?id=28858
64213        Element.baseURI parses xml:base attribute incorrectly
64214
64215        Test: fast/dom/base-attribute-parsing.xhtml
64216
64217        * dom/Element.cpp: (WebCore::Element::baseURI): Avoid assertion failure (no change in
64218        release mode).
64219
642202009-08-31  Dimitri Glazkov  <dglazkov@chromium.org>
64221
64222        Reverting http://trac.webkit.org/changeset/47904, because it caused
64223        layout test failure.
64224
64225        Test: fast/dom/Window/new-window-opener.html
64226
642272009-08-31  Alexey Proskuryakov  <ap@webkit.org>
64228
64229        Reviewed by Darin Adler.
64230
64231        https://bugs.webkit.org/show_bug.cgi?id=28852
64232        Rename KURL single argument constructor to avoid confusion
64233
64234        * platform/KURL.h: The constructor that used to be single argument should now be invoked
64235        as KURL(ParsedURLString, myString).
64236
64237        * WebCore.base.exp:
64238        * bindings/js/JSDOMWindowCustom.cpp:
64239        (WebCore::createWindow):
64240        * bindings/js/ScriptCallFrame.cpp:
64241        (WebCore::ScriptCallFrame::ScriptCallFrame):
64242        * bindings/v8/NPV8Object.cpp:
64243        (_NPN_EvaluateHelper):
64244        * bindings/v8/custom/V8DOMWindowCustom.cpp:
64245        (WebCore::createWindow):
64246        * css/CSSCursorImageValue.cpp:
64247        (WebCore::isSVGCursorIdentifier):
64248        * css/CSSImageValue.cpp:
64249        (WebCore::CSSImageValue::cachedImage):
64250        * css/CSSImportRule.cpp:
64251        (WebCore::CSSImportRule::insertedIntoParent):
64252        * css/StyleBase.cpp:
64253        (WebCore::StyleBase::baseURL):
64254        * dom/Document.cpp:
64255        (WebCore::Document::initSecurityContext):
64256        * dom/Element.cpp:
64257        (WebCore::Element::baseURI):
64258        * editing/markup.cpp:
64259        (WebCore::completeURLs):
64260        * history/HistoryItem.cpp:
64261        (WebCore::HistoryItem::url):
64262        (WebCore::HistoryItem::originalURL):
64263        * inspector/InspectorController.cpp:
64264        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
64265        * inspector/InspectorResource.cpp:
64266        (WebCore::InspectorResource::createCached):
64267        * loader/Cache.cpp:
64268        (WebCore::Cache::revalidateResource):
64269        * loader/DocLoader.cpp:
64270        (WebCore::DocLoader::requestResource):
64271        * loader/DocumentLoader.cpp:
64272        (WebCore::DocumentLoader::getSubresources):
64273        * loader/FrameLoader.cpp:
64274        (WebCore::FrameLoader::init):
64275        (WebCore::FrameLoader::iconURL):
64276        (WebCore::FrameLoader::scheduleLocationChange):
64277        (WebCore::FrameLoader::redirectionTimerFired):
64278        (WebCore::FrameLoader::loadURLIntoChildFrame):
64279        (WebCore::FrameLoader::startRedirectionTimer):
64280        * loader/appcache/ApplicationCache.cpp:
64281        (WebCore::ApplicationCache::resourceForURL):
64282        * loader/appcache/ApplicationCacheGroup.cpp:
64283        (WebCore::ApplicationCacheGroup::startLoadingEntry):
64284        (WebCore::ApplicationCacheGroup::addEntry):
64285        * loader/appcache/ApplicationCacheStorage.cpp:
64286        (WebCore::ApplicationCacheStorage::cacheGroupForURL):
64287        (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
64288        (WebCore::ApplicationCacheStorage::loadCache):
64289        (WebCore::ApplicationCacheStorage::manifestURLs):
64290        * loader/archive/cf/LegacyWebArchive.cpp:
64291        (WebCore::LegacyWebArchive::createResource):
64292        (WebCore::LegacyWebArchive::create):
64293        * loader/loader.cpp:
64294        (WebCore::Loader::load):
64295        * notifications/NotificationCenter.h:
64296        (WebCore::NotificationCenter::createHTMLNotification):
64297        * platform/KURL.cpp:
64298        (WebCore::KURL::KURL):
64299        (WebCore::blankURL):
64300        * platform/KURLHash.h:
64301        * platform/chromium/ClipboardChromium.cpp:
64302        (WebCore::ClipboardChromium::setData):
64303        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
64304        (WebCore::MediaPlayerPrivate::createQTMovie):
64305        * platform/network/cf/ResourceErrorCF.cpp:
64306        (WebCore::ResourceError::operator CFErrorRef):
64307        * platform/network/cf/ResourceRequest.h:
64308        (WebCore::ResourceRequest::ResourceRequest):
64309        * platform/network/chromium/ResourceRequest.h:
64310        (WebCore::ResourceRequest::ResourceRequest):
64311        * platform/network/curl/ResourceHandleManager.cpp:
64312        (WebCore::handleLocalReceiveResponse):
64313        (WebCore::headerCallback):
64314        * platform/network/curl/ResourceRequest.h:
64315        (WebCore::ResourceRequest::ResourceRequest):
64316        * platform/network/mac/ResourceErrorMac.mm:
64317        (WebCore::ResourceError::operator NSError*):
64318        * platform/network/mac/ResourceRequest.h:
64319        (WebCore::ResourceRequest::ResourceRequest):
64320        * platform/network/qt/ResourceRequest.h:
64321        (WebCore::ResourceRequest::ResourceRequest):
64322        * platform/network/soup/ResourceRequest.h:
64323        (WebCore::ResourceRequest::ResourceRequest):
64324        * platform/win/ClipboardWin.cpp:
64325        (WebCore::filesystemPathFromUrlOrTitle):
64326        (WebCore::ClipboardWin::setData):
64327        * svg/graphics/SVGImage.cpp:
64328        (WebCore::SVGImage::dataChanged):
64329        * xml/XSLImportRule.cpp:
64330        (WebCore::XSLImportRule::loadSheet):
64331        * xml/XSLTProcessor.cpp:
64332        (WebCore::docLoaderFunc):
64333        Adapt to the change everywhere the single argument constructor was used. I did a very
64334        cursory check of whether these locations were using this constructor properly, and didn't
64335        notice any obvious mistakes. The new explicit name will hopefully suggest checking this
64336        better when refactoring any such code.
64337
643382009-08-31  Beth Dakin  <bdakin@apple.com>
64339
64340        Reviewed by Darin Adler.
64341
64342        Fix for https://bugs.webkit.org/show_bug.cgi?id=28635 [CSS3 
64343        Backgrounds and Borders] Add support for 2-keyword values for 
64344        background-repeat
64345
64346        This patch allows background-repeat to take two values by making 
64347        background-repeat just like background-position internally. There 
64348        is a little extra legwork for background-repeat because the spec 
64349        indicates that its computed value should be equivalent to how it 
64350        was specified. I keep track of the specified thing by setting the 
64351        implicit flag whenever background-repeat is defined with only one 
64352        value (since internally, we now store this as 2 values.)
64353        
64354        Here we can't access the implicit flag, so for backwards-
64355        compatibility's sake, we always return one value when that makes 
64356        sense.
64357        * css/CSSComputedStyleDeclaration.cpp:
64358        (WebCore::fillRepeatToCSSValue):
64359        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
64360
64361        Here we check for the implicit flag and return one value when it is 
64362        set.
64363        * css/CSSMutableStyleDeclaration.cpp:
64364        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
64365        (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):
64366        (WebCore::CSSMutableStyleDeclaration::cssText):
64367
64368        Add support for CSSPropertyBackgroundRepeatX and 
64369        CSSPropertyBackgroundRepeatY
64370        * css/CSSParser.cpp:
64371        (WebCore::CSSParser::parseValue):
64372        (WebCore::CSSParser::parseFillShorthand):
64373        (WebCore::CSSParser::parseFillRepeat):
64374        (WebCore::CSSParser::parseFillProperty):
64375        * css/CSSParser.h:
64376
64377        Get rid of mappings to RepeatXFill and RepeatYFill since we don't 
64378        need those parts of the EFillRepeat enum anymore.
64379        * css/CSSPrimitiveValueMappings.h:
64380        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
64381        (WebCore::CSSPrimitiveValue::operator EFillRepeat):
64382
64383        Add CSSPropertyBackgroundRepeatX and CSSPropertyBackgroundRepeatY
64384        * css/CSSPropertyLonghand.cpp:
64385        (WebCore::initShorthandMap):
64386
64387        Add background-repeat-x and -y.
64388        * css/CSSPropertyNames.in:
64389
64390        Break repeat into x and y.
64391        * css/CSSStyleSelector.cpp:
64392        (WebCore::CSSStyleSelector::applyProperty):
64393        (WebCore::CSSStyleSelector::mapFillRepeatX):
64394        (WebCore::CSSStyleSelector::mapFillRepeatY):
64395        * css/CSSStyleSelector.h:
64396
64397        There is no more RepeatXFill. Instead, look for 
64398        fillLayer->repeatX() == RepeatFill
64399        * rendering/RenderBoxModelObject.cpp:
64400        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
64401
64402        Break m_repeat into m_repeatX and m_repeatY
64403        * rendering/style/FillLayer.cpp:
64404        (WebCore::FillLayer::FillLayer):
64405        (WebCore::FillLayer::operator=):
64406        (WebCore::FillLayer::operator==):
64407        (WebCore::FillLayer::fillUnsetProperties):
64408        (WebCore::FillLayer::cullEmptyLayers):
64409        * rendering/style/FillLayer.h:
64410        (WebCore::FillLayer::repeatX):
64411        (WebCore::FillLayer::repeatY):
64412        (WebCore::FillLayer::isRepeatXSet):
64413        (WebCore::FillLayer::isRepeatYSet):
64414        (WebCore::FillLayer::setRepeatX):
64415        (WebCore::FillLayer::setRepeatY):
64416        (WebCore::FillLayer::clearRepeatX):
64417        (WebCore::FillLayer::clearRepeatY):
64418        (WebCore::FillLayer::initialFillRepeatX):
64419        (WebCore::FillLayer::initialFillRepeatY):
64420
64421        Again, break backgroundRepeat into backgroundRepeatX and 
64422        backgroundRepeatY
64423        * rendering/style/RenderStyle.h:
64424        (WebCore::InheritedFlags::backgroundRepeatX):
64425        (WebCore::InheritedFlags::backgroundRepeatY):
64426        (WebCore::InheritedFlags::maskRepeatX):
64427        (WebCore::InheritedFlags::maskRepeatY):
64428
64429        We don't need RepeatXFill or RepeatYFill. Now that we store two 
64430        values, they are represented by Repeat-NoRepeat and NoRepeat-
64431        Repeat, respectively.
64432        * rendering/style/RenderStyleConstants.h:
64433        (WebCore::):
64434
644352009-08-31  Simon Fraser  <simon.fraser@apple.com>
64436
64437        Reviewed by Dan Bernstein.
64438
64439        Compositing layer size needs to take into account software reflections on children.
64440        https://bugs.webkit.org/show_bug.cgi?id=28837
64441        
64442        When computing the bounds of a composited layer, take software-rendered
64443        reflections into account.
64444
64445        Test: compositing/reflections/reflection-in-composited.html
64446
64447        * rendering/RenderLayerCompositor.cpp:
64448        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
64449
644502009-08-31  Mark Mentovai  <mark@chromium.org>
64451
64452        Reviewed by Dave Hyatt.
64453
64454        https://bugs.webkit.org/show_bug.cgi?id=28614
64455
64456        Perform a layout prior to checking whether the scrollbar modes are
64457        off, on, or automatic.  The modes may change during layout.
64458
64459        * platform/ScrollView.cpp:
64460        (WebCore::ScrollView::updateScrollbars):
64461
644622009-08-31  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
64463
64464        Reviewed by Timothy Hatcher.
64465
64466        Inspector Request Headers Should Show Data Sent With Request
64467        https://bugs.webkit.org/show_bug.cgi?id=22920
64468
64469        Manual test added - see below.
64470
64471        * English.lproj/localizedStrings.js:
64472        * inspector/InspectorResource.cpp:
64473        (WebCore::InspectorResource::updateRequest):
64474        (WebCore::InspectorResource::createScriptObject):
64475        (WebCore::InspectorResource::updateScriptObject):
64476        * inspector/InspectorResource.h:
64477        * inspector/front-end/Resource.js:
64478        (WebInspector.Resource):
64479        * inspector/front-end/ResourceView.js:
64480        (WebInspector.ResourceView):
64481        (WebInspector.ResourceView.prototype._refreshURL):
64482        (WebInspector.ResourceView.prototype._refreshQueryString):
64483        (WebInspector.ResourceView.prototype._refreshFormData):
64484        (WebInspector.ResourceView.prototype._refreshRequestPayload):
64485        (WebInspector.ResourceView.prototype._refreshParms):
64486        (WebInspector.ResourceView.prototype._toggleURLdecoding):
64487        (WebInspector.ResourceView.prototype._getHeaderValue):
64488        (WebInspector.ResourceView.prototype._refreshRequestHeaders):
64489        * inspector/front-end/inspector.css:
64490        * inspector/front-end/inspector.js:
64491        (WebInspector.addResource):
64492        (WebInspector.updateResource):
64493        * manual-tests/inspector/display-form-data.html: Added.
64494
644952009-08-31  Pavel Feldman  <pfeldman@chromium.org>
64496
64497        Reviewed by Timothy Hatcher.
64498
64499        WebInspector: pass call frames into the frontend as a part of
64500        pausedScript event.
64501
64502        https://bugs.webkit.org/show_bug.cgi?id=28847
64503
64504        * inspector/InspectorController.cpp:
64505        (WebCore::InspectorController::didPause):
64506        * inspector/InspectorFrontend.cpp:
64507        (WebCore::InspectorFrontend::pausedScript):
64508        * inspector/InspectorFrontend.h:
64509        * inspector/front-end/ScriptsPanel.js:
64510        (WebInspector.ScriptsPanel.prototype.debuggerPaused):
64511        * inspector/front-end/inspector.js:
64512        (WebInspector.pausedScript):
64513
645142009-08-31  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
64515
64516        Reviewed by Ariya Hidayat.
64517
64518        [Qt] Un-blacklist Silverlight on Mac
64519
64520        Does not seem to crash anymore, probably due to how we now handle
64521        drawing and event model handshake better.
64522
64523        * plugins/mac/PluginPackageMac.cpp:
64524        (WebCore::PluginPackage::isPluginBlacklisted):
64525
645262009-08-31  Cameron McCormack  <cam@mcc.id.au>
64527
64528        Reviewed by Eric Seidel.
64529
64530        https://bugs.webkit.org/show_bug.cgi?id=28827
64531        SVGSVGElement.unsuspendRedraw() shouldn't throw
64532
64533        * svg/SVGSVGElement.cpp:
64534        (WebCore::SVGSVGElement::unsuspendRedraw):
64535        * svg/SVGSVGElement.h:
64536        * svg/SVGSVGElement.idl:
64537
645382009-08-31  Kent Tamura  <tkent@chromium.org>
64539
64540        Reviewed by Eric Seidel.
64541
64542        - Change the reutrn type of HTMLInputElement::list so that it
64543          conforms to the standard.
64544        - Add HTMLInputElement::dataList()
64545        https://bugs.webkit.org/show_bug.cgi?id=28769
64546
64547
64548        * html/HTMLInputElement.cpp:
64549        (WebCore::HTMLInputElement::list):
64550        (WebCore::HTMLInputElement::dataList):
64551        (WebCore::HTMLInputElement::selectedOption):
64552        * html/HTMLInputElement.h:
64553        * html/HTMLInputElement.idl:
64554
645552009-08-31  Kwang Yul Seo  <skyul@company100.net>
64556
64557        Reviewed by Eric Seidel.
64558
64559        Remove ASSERT(frame) in ResourceHandle::start (ResourceHandleCurl.cpp)
64560        https://bugs.webkit.org/show_bug.cgi?id=28802
64561
64562        Remove ASSERT because the frame could be null if the
64563        ResourceHandle is not associated with any frame, e.g. if we are
64564        downloading a file.
64565        If the frame is not null but the page is null this must be an
64566        attempted load from an onUnload handler, so let's just block it.
64567
64568        * platform/network/curl/ResourceHandleCurl.cpp:
64569        (WebCore::ResourceHandle::start):
64570
645712009-08-31  Maxime Simon  <simon.maxime@gmail.com>
64572
64573        Reviewed by Eric Seidel.
64574
64575        Build fix for platforms which don't enable DOM_STORAGE.
64576        https://bugs.webkit.org/show_bug.cgi?id=28834
64577
64578        * bindings/js/ScriptController.cpp:
64579        (WebCore::ScriptController::evaluate):
64580        * bindings/v8/ScriptController.cpp:
64581        (WebCore::ScriptController::evaluate):
64582
645832009-08-29  Adele Peterson  <adele@apple.com>
64584
64585        Reviewed by Dan Bernstein.
64586
64587        Fix for https://bugs.webkit.org/show_bug.cgi?id=28829
64588        Crash in AccessibilityRenderObject::activeDescendant when trying to set aria-activedescendant to something without a renderer
64589
64590        Test: accessibility/aria-activedescendant-crash.html
64591
64592        * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::activeDescendant): Nil check.
64593
645942009-08-28  Jan Michael Alonzo  <jmalonzo@webkit.org>
64595
64596        Reviewed by Oliver Hunt.
64597
64598        Gtk Build broken for OSX Quartz
64599        https://bugs.webkit.org/show_bug.cgi?id=28727
64600
64601        Check for XP_UNIX instead of GTK or X11 to ease building of the Gtk
64602        port in Mac and Unix/Linux.
64603
64604        * plugins/PluginView.cpp:
64605        (WebCore::PluginView::PluginView):
64606        * plugins/PluginView.h:
64607        * plugins/gtk/PluginViewGtk.cpp:
64608        (WebCore::PluginView::setNPWindowIfNeeded):
64609        (WebCore::PluginView::getValueStatic):
64610        (WebCore::PluginView::getValue):
64611        (WebCore::PluginView::init):
64612
646132009-08-28  Simon Fraser  <simon.fraser@apple.com>
64614
64615        Reviewed by Dan Bernstein.
64616
64617        Fix positioning error when a compositing, absolutely-positioned element has an ancestor with opacity.
64618        https://bugs.webkit.org/show_bug.cgi?id=28754
64619        
64620        For absolutely-positioned layers, convertToLayerCoords() jumps to the positioned
64621        ancestor, since the layer x and y are relative to that ancestor. However, this could
64622        skip over the ancestorLayer, thus giving the wrong result.
64623        
64624        Fix by duplicating the enclosingPositionedAncestor() logic in convertToLayerCoords(),
64625        and checking for ancestorLayer along the way. If found, compute offset of both to
64626        the enclosingPositionedAncestor() and subtract.
64627        
64628        This also fixes a positioning bug with abs. positioned elements in reflections,
64629        so there is a new reflection test with a pixel result.
64630
64631        Tests: compositing/geometry/abs-position-inside-opacity.html
64632               fast/reflections/abs-position-in-reflection.html
64633
64634        * rendering/RenderLayer.cpp:
64635        (WebCore::isPositionedContainer):
64636        (WebCore::RenderLayer::enclosingPositionedAncestor):
64637        (WebCore::RenderLayer::enclosingTransformedAncestor):
64638        (WebCore::RenderLayer::convertToLayerCoords):
64639
646402009-08-28  Simon Fraser  <simon.fraser@apple.com>
64641
64642        Reviewed by Mark Rowe
64643
64644        Wrap WebkitCSSTransformValues in the correct class of DOM wrapper.
64645        https://bugs.webkit.org/show_bug.cgi?id=27727
64646
64647        When fetching the DOM wrapper for a WebkitCSSTransformValue (which is a kind of 
64648        CSSValueList), we need to ask the value list whether it's a WebkitCSSTransformValue,
64649        because there is not a unique enum value for WebkitCSSTransformValue.
64650
64651        * bindings/objc/DOMCSS.mm:
64652        (kitClass):
64653
646542009-08-28  Peter Kasting  <pkasting@google.com>
64655
64656        Reviewed by Jan Michael Alonzo.
64657
64658        https://bugs.webkit.org/show_bug.cgi?id=28308
64659        Fix some warnings introduced by r47381.
64660
64661        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
64662        (WebCore::convertCMYKToRGBA):
64663        (WebCore::convertRGBToRGBA):
64664
646652009-08-28  Ada Chan  <adachan@apple.com>
64666
64667        Reviewed by Adam Roben.
64668
64669        https://bugs.webkit.org/show_bug.cgi?id=21442
64670        Make sure filesystemPathFromUrlOrTitle() returns a string with length
64671        <= MAX_PATH - 1.
64672
64673        * platform/win/ClipboardWin.cpp:
64674        (WebCore::filesystemPathFromUrlOrTitle):
64675
646762009-08-28  Dumitru Daniliuc  <dumi@chromium.org>
64677
64678        Reviewed by Dimitri Glazkov.
64679
64680        Adding Chromium's VFS for Linux and Mac.
64681
64682        https://bugs.webkit.org/show_bug.cgi?id=28750
64683
64684        * WebCore.gypi:
64685        * platform/chromium/ChromiumBridge.h:
64686        * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
64687        (WebCore::SQLiteFileSystem::openDatabase):
64688        (WebCore::SQLiteFileSystem::deleteDatabaseFile):
64689        * platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp: Removed.
64690        * platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp: Removed.
64691        * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp: Added.
64692        * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
64693
646942009-08-28  Vitaly Repeshko  <vitalyr@chromium.org>
64695
64696        Reviewed by Dimitri Glazkov.
64697
64698        [V8] Made bindings use Node::setOnEvent functions for Node descendants
64699        instead of Node::setAttributeEventListener.
64700
64701        Node::setAttributeEventListener is an internal function and
64702        doesn't do the forwarding to DOM window that is required for some
64703        HTML elements.
64704        https://bugs.webkit.org/show_bug.cgi?id=28709
64705
64706        Tests added in http://trac.webkit.org/changeset/47326 now pass with V8.
64707
64708        * bindings/scripts/CodeGeneratorV8.pm:
64709        Now generates EventListener accessors for Node descendants instead
64710        of using custom callbacks.
64711        * bindings/v8/V8DOMWrapper.cpp:
64712        (WebCore::V8DOMWrapper::getEventListener): Moved from V8NodeCustom.cpp.
64713        * bindings/v8/V8DOMWrapper.h:
64714        (WebCore::V8DOMWrapper::convertEventListenerToV8Object): Fixed a bug in
64715        signature.
64716        * bindings/v8/V8Utilities.cpp:
64717        (WebCore::createHiddenDependency):
64718        (WebCore::removeHiddenDependency):
64719        Changed signature to accept Handle instead of Local.
64720        * bindings/v8/V8Utilities.h:
64721        * bindings/v8/custom/V8CustomBinding.h:
64722        * bindings/v8/custom/V8NodeCustom.cpp:
64723        (WebCore::CALLBACK_FUNC_DECL):
64724        Removed custom callbacks for EventListener accessors.
64725
647262009-08-28  Ben Murdoch  <benm@google.com>
64727
64728        https://bugs.webkit.org/show_bug.cgi?id=28803
64729        
64730        Implements V8CustomVoidCallback reporting any exceptions that were thrown from the callback function.
64731
64732        * bindings/v8/custom/V8CustomVoidCallback.cpp:
64733        (WebCore::invokeCallback): Checks if the callback raised an exception and reports it to WebCore if so.
64734
647352009-08-28  Peter Kasting  <pkasting@google.com>
64736
64737        Not reviewed (build fix).
64738
64739        * platform/graphics/qt/ImageDecoderQt.cpp: Accidentally added some spaces.
64740        (WebCore::ImageDecoder::create):
64741        (WebCore::ImageDecoderQt::ImageDecoderQt):
64742        * platform/graphics/qt/ImageDecoderQt.h: Make constructor public so factory function can access it (this seemed better than making ImageDecoder a friend).
64743
647442009-08-28  Peter Kasting  <pkasting@google.com>
64745
64746        Reviewed by Eric Seidel.
64747
64748        https://bugs.webkit.org/show_bug.cgi?id=27965
64749        Move ImageDecoder creation function to a factory function on
64750        ImageDecoder.  This is arguably where it makes the most sense anyway,
64751        and it will (soon) allow ImageSourceQt.cpp to have one less dedicated
64752        function.
64753
64754        * platform/graphics/ImageSource.cpp:
64755        * platform/graphics/qt/ImageDecoderQt.cpp:
64756        (WebCore::ImageDecoder::create):
64757        * platform/graphics/qt/ImageDecoderQt.h:
64758        * platform/graphics/qt/ImageSourceQt.cpp:
64759        (WebCore::ImageSource::setData):
64760        * platform/image-decoders/ImageDecoder.cpp:
64761        * platform/image-decoders/ImageDecoder.h:
64762
647632009-08-28  Peter Kasting  <pkasting@google.com>
64764
64765        Reviewed by Eric Seidel.
64766
64767        https://bugs.webkit.org/show_bug.cgi?id=28785
64768        Combine duplicated code from ImageDecoder*.cpp into the main
64769        ImageDecoder.cpp.
64770
64771        * platform/image-decoders/ImageDecoder.cpp:
64772        (WebCore::RGBA32Buffer::RGBA32Buffer):
64773        (WebCore::RGBA32Buffer::clear):
64774        (WebCore::RGBA32Buffer::zeroFill):
64775        (WebCore::RGBA32Buffer::copyBitmapData):
64776        (WebCore::RGBA32Buffer::setSize):
64777        (WebCore::RGBA32Buffer::hasAlpha):
64778        (WebCore::RGBA32Buffer::setHasAlpha):
64779        (WebCore::RGBA32Buffer::setStatus):
64780        (WebCore::RGBA32Buffer::operator=):
64781        (WebCore::RGBA32Buffer::width):
64782        (WebCore::RGBA32Buffer::height):
64783        * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
64784        * platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
64785        * platform/image-decoders/wx/ImageDecoderWx.cpp:
64786
647872009-08-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
64788
64789        Reviewed by Holger Freyther.
64790
64791        https://bugs.webkit.org/show_bug.cgi?id=25889
64792        [GTK] scrollbar policy for main frame is not implementable
64793
64794        Override setScrollbarModes to correctly forward scrollbar modes
64795        policy changes to client code, via a new platform-specific method,
64796        scrollbarsPolicyDidChange.
64797
64798        * page/ChromeClient.h:
64799        (WebCore::ChromeClient::scrollbarsPolicyDidChange):
64800        * platform/ScrollView.cpp:
64801        (WebCore::ScrollView::createScrollbar):
64802        * platform/ScrollView.h:
64803        * platform/gtk/ScrollViewGtk.cpp:
64804        (WebCore::ScrollView::setScrollbarModes):
64805
648062009-08-28  Cédric Luthi <cedric.luthi@gmail.com>
64807
64808        Reviewed by Tor Arne Vestbø
64809
64810        [Qt/Mac] Un-blacklist the QuickTime plugin
64811
64812        https://bugs.webkit.org/show_bug.cgi?id=28768
64813
64814        Now that the drawing model is properly negotiated, there is no need the
64815        blacklist the QuickTime plugin anymore.
64816
64817        This revealed a bug in PluginView::performRequest: it should not initiate a
64818        request if the plugin has been stopped, which is what happens when a plugin
64819        only supports the QuickDraw drawing model.
64820
64821        * plugins/PluginView.cpp:
64822        * plugins/mac/PluginPackageMac.cpp:
64823
648242009-08-28  Yury Semikhatsky  <yurys@chromium.org>
64825
64826        Reviewed by Timothy Hatcher.
64827
64828        Set DOM agent document to 0 in InspectorController::close to
64829        make DOM agent remove DOM listeners from the inspected document.
64830
64831        Replace windowVisible checks with m_frontend checks to as inspector
64832        window lives in a different process in Chromium while frontend proxy
64833        is in the inspected page process.
64834
64835        https://bugs.webkit.org/show_bug.cgi?id=28800
64836
64837        * inspector/InspectorController.cpp:
64838        (WebCore::InspectorController::inspect):
64839        (WebCore::InspectorController::addConsoleMessage):
64840        (WebCore::InspectorController::close):
64841        (WebCore::InspectorController::pruneResources):
64842        (WebCore::InspectorController::didCommitLoad):
64843        (WebCore::InspectorController::didLoadResourceFromMemoryCache):
64844        (WebCore::InspectorController::identifierForInitialRequest):
64845        (WebCore::InspectorController::willSendRequest):
64846        (WebCore::InspectorController::didReceiveResponse):
64847        (WebCore::InspectorController::didReceiveContentLength):
64848        (WebCore::InspectorController::didFinishLoading):
64849        (WebCore::InspectorController::didFailLoading):
64850        (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
64851        (WebCore::InspectorController::scriptImported):
64852        (WebCore::InspectorController::didOpenDatabase):
64853        (WebCore::InspectorController::didUseDOMStorage):
64854        (WebCore::InspectorController::addProfile):
64855        * inspector/InspectorController.h:
64856
648572009-08-28  Mikhail Naganov  <mnaganov@chromium.org>
64858
64859        Reviewed by Timothy Hatcher.
64860
64861        Remove dependency of SummaryBar on WebInspector.resourceCategories.
64862
64863        https://bugs.webkit.org/show_bug.cgi?id=28801
64864
64865        * inspector/front-end/ResourcesPanel.js:
64866        (WebInspector.ResourcesPanel):
64867        (WebInspector.ResourcesPanel.prototype.toolbarItemClass.get categories):
64868        * inspector/front-end/SummaryBar.js:
64869        (WebInspector.SummaryBar):
64870        (WebInspector.SummaryBar.prototype.update):
64871
648722009-08-28  Pavel Feldman  <pfeldman@chromium.org>
64873
64874        Not reviewed (patching in l18n change that was missing due to
64875        the git binary diff format).
64876
64877        https://bugs.webkit.org/show_bug.cgi?id=28429
64878
64879        * English.lproj/localizedStrings.js:
64880
648812009-08-28  Adam Barth  <abarth@webkit.org>
64882
64883        Reviewed by Eric Seidel.
64884
64885        Make XSSAuditor go fast
64886        https://bugs.webkit.org/show_bug.cgi?id=28667
64887
64888        Make the XSSAuditor go faster by implementing two optimizations:
64889
64890        1) We avoid canonicalizing scripts that are larger than the page's URL.
64891           This saves a bunch of time for large inline scripts.
64892
64893        2) We memoize canonicalizing the page's URL because it's silly to
64894           canonicalize repeated for each inline event listener.
64895
64896        These optimizations have a measurable affect on the intl1 page cycler.
64897
64898        No behavior change.
64899
64900        * page/XSSAuditor.cpp:
64901        (WebCore::XSSAuditor::MemoizingURLCanonicalizer::canonicalizeURL):
64902        (WebCore::XSSAuditor::canEvaluate):
64903        (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
64904        (WebCore::XSSAuditor::canCreateInlineEventListener):
64905        (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
64906        (WebCore::XSSAuditor::canLoadObject):
64907        (WebCore::XSSAuditor::canSetBaseElementURL):
64908        (WebCore::XSSAuditor::decodeURL):
64909        (WebCore::XSSAuditor::findInRequest):
64910        * page/XSSAuditor.h:
64911
649122009-08-27  Dimitri Glazkov  <dglazkov@chromium.org>
64913
64914        Unreviewed, build fix.
64915
64916        Removed ASSERT_NOT_REACHED, because indeed this ASSERT is reached in
64917        fast/canvas/change-context.html. And it's alright to reach it.
64918
64919        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
64920        (WebCore::CALLBACK_FUNC_DECL): Removed assertion.
64921
649222009-08-27  Jeremy Orlow  <jorlow@chromium.org>
64923
64924        Not reviewed.  Build fix for http://trac.webkit.org/changeset/47840
64925
64926        Peter's change forgot one m_decoder->
64927
64928        * platform/graphics/ImageSource.cpp:
64929        (WebCore::ImageSource::frameSizeAtIndex):
64930
649312009-08-27  Dimitri Glazkov  <dglazkov@chromium.org>
64932
64933        Unreviewed, build fix.
64934
64935        [V8] Add NULL-check, since the context ain't changeable no more, and
64936        thus getContext could return 0.
64937
64938        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
64939        (WebCore::CALLBACK_FUNC_DECL): Added NULL-check.
64940
649412009-08-27  Noel Gordon  <noel.gordon@gmail.com>
64942
64943        Reviewed by Eric Seidel.
64944
64945        dataTransfer.types() should include type "Files" when files are present in the clipboard.
64946        https://bugs.webkit.org/show_bug.cgi?id=28780
64947
64948        Add dataTransfer type "Files" to the chromium port.  Add eseidel's
64949        patch for same for the mac port.
64950
64951        * platform/chromium/ClipboardChromium.cpp:
64952
649532009-08-27  Chris Marrin  <cmarrin@apple.com>
64954
64955        Reviewed by Simon Fraser.
64956
64957        Removed GL_ from all constants, and gl prefix from all calls
64958        https://bugs.webkit.org/show_bug.cgi?id=28773
64959
64960        This was done for the external API in CanvasRenderingContext3D and
64961        the internal API in GraphicsContext3D.
64962
64963        * html/canvas/CanvasRenderingContext3D.cpp:
64964        * html/canvas/CanvasRenderingContext3D.h:
64965        * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
64966        * html/canvas/CanvasRenderingContext3D.idl:
64967        * platform/graphics/GraphicsContext3D.h:
64968        * platform/graphics/mac/GraphicsContext3DMac.cpp:
64969
649702009-08-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
64971
64972        Qt and Gtk build fixes. Not reviewed.
64973
64974        Add CanvasRenderingContext3D.idl to the build scripts.
64975
64976        * GNUmakefile.am:
64977        * WebCore.pro:
64978
649792009-08-27  Jeremy Orlow  <jorlow@chromium.org>
64980
64981        Reviewed by Darin Fisher.
64982
64983        Release the storage mutex whenever leaving JavaScript execution.
64984        https://bugs.webkit.org/show_bug.cgi?id=28789
64985
64986        http://dev.w3.org/html5/spec/Overview.html#storage-mutex describes the
64987        required behavior.  After we leave JavaScript, we must be sure the storage
64988        mutex has been released.  At the end of evaluate(), if localStorage has been
64989        instantiated, tell it to release any locks that may be applicable.
64990
64991        * bindings/js/ScriptController.cpp:
64992        (WebCore::ScriptController::evaluate):
64993        * bindings/v8/ScriptController.cpp:
64994        (WebCore::ScriptController::evaluate):
64995
649962009-08-27  Alexey Proskuryakov  <ap@apple.com>
64997
64998        Reviewed by Oliver Hunt.
64999
65000        https://bugs.webkit.org/show_bug.cgi?id=28753
65001        <rdar://problem/7173448> Excessive number of threads (and a crash)
65002
65003        Coalesce DNS prefetch requests to reduce strain on CFHost. Currently, the algorithm is as follows:
65004        - when resolver is idle, the first few requests are sent immediately (they may or may not
65005        hit the wire);
65006        - if there are a few requests in flight already, coalesce all requests for one second;
65007        - to avoid pathological cases with lots of links to different sites on a page, only ask
65008        CFHost about a handful of names (dropping the rest).
65009
65010        Coalescing reduces the number of requests dramatically, as prefetchDNS is called for each
65011        link, and these tend to have identical host name.
65012
65013        * platform/network/cf/DNSCFNet.cpp:
65014        (WebCore::DNSResolveQueue::DNSResolveQueue):
65015        (WebCore::DNSResolveQueue::shared):
65016        (WebCore::DNSResolveQueue::add):
65017        (WebCore::DNSResolveQueue::decrementRequestCount):
65018        (WebCore::DNSResolveQueue::fired):
65019        (WebCore::clientCallback):
65020        (WebCore::DNSResolveQueue::resolve):
65021        (WebCore::prefetchDNS):
65022
650232009-08-27  Chris Marrin  <cmarrin@apple.com>
65024
65025        Reviewed by Simon Fraser.
65026
65027        Final patch for Canvas 3D support
65028        https://bugs.webkit.org/show_bug.cgi?id=28018
65029
65030        This hooks everything up and provides a working implementation of
65031        Canvas 3D. I plumb the creation of the 3D canvas down to GraphicsLayer,
65032        passing the opaque context and texture pointers so a Canvas3DLayer can be
65033        created (more on that later). It also plumbs changes to the 3D canvas so
65034        that Canvas3DLayer can recomposite the results.
65035        
65036        A 3D Canvas element needs a RenderLayer and compositing layer to render.
65037        This is because it renders to an off-screen texture in the GPU and then
65038        hands it to a Canvas3DLayer, which is a subclass of CAOpenGLLayer, to
65039        render that texture as a 3D quad. This keeps everything in GPU memory to 
65040        maximize performance. When a CanvasRenderingContext3D is created it 
65041        forces a style recalc which creates the RenderLayer and compositing 
65042        layer if needed. 
65043        
65044        I repurposed an existing flag which was put in place for animation to accomplish 
65045        this. This flag is passed to setNeedsStyleRecalc(), and I renamed it from 
65046        AnimationStyleChange to SyntheticStyleChange. It essentially says that you need
65047        to do a complete style recalc, even though the style itself has not really
65048        changed.
65049        
65050        This patch also fixes a couple of bugs discovered when testing with 3d-canvas
65051        turned on. I also added a constructor DOMWindow.idl for CanvasRenderingContext3D.
65052        This is needed when making a JS wrapper for the object so the prototype 
65053        property can be set.
65054
65055        Test: fast/canvas/change-context.html
65056
65057        * WebCore.xcodeproj/project.pbxproj:
65058        * bindings/js/JSCanvasRenderingContext3DCustom.cpp:
65059        (WebCore::JSCanvasRenderingContext3D::glDrawElements):
65060        * bindings/js/JSCanvasRenderingContextCustom.cpp:
65061        (WebCore::toJS):
65062        * dom/Element.cpp:
65063        (WebCore::Element::recalcStyle):
65064        * dom/Node.cpp:
65065        (WebCore::Node::setNeedsStyleRecalc):
65066        * dom/Node.h:
65067        (WebCore::):
65068        * html/HTMLCanvasElement.cpp:
65069        (WebCore::HTMLCanvasElement::getContext):
65070        (WebCore::HTMLCanvasElement::is3D):
65071        * html/HTMLCanvasElement.h:
65072        * html/canvas/CanvasBuffer.cpp:
65073        (WebCore::CanvasBuffer::create):
65074        (WebCore::CanvasBuffer::CanvasBuffer):
65075        (WebCore::CanvasBuffer::_deleteObject):
65076        * html/canvas/CanvasBuffer.h:
65077        * html/canvas/CanvasFramebuffer.cpp:
65078        (WebCore::CanvasFramebuffer::create):
65079        (WebCore::CanvasFramebuffer::CanvasFramebuffer):
65080        (WebCore::CanvasFramebuffer::_deleteObject):
65081        * html/canvas/CanvasFramebuffer.h:
65082        * html/canvas/CanvasObject.cpp:
65083        (WebCore::CanvasObject::CanvasObject):
65084        (WebCore::CanvasObject::~CanvasObject):
65085        (WebCore::CanvasObject::deleteObject):
65086        * html/canvas/CanvasObject.h:
65087        (WebCore::CanvasObject::context):
65088        * html/canvas/CanvasProgram.cpp:
65089        (WebCore::CanvasProgram::create):
65090        (WebCore::CanvasProgram::CanvasProgram):
65091        (WebCore::CanvasProgram::_deleteObject):
65092        * html/canvas/CanvasProgram.h:
65093        * html/canvas/CanvasRenderbuffer.cpp:
65094        (WebCore::CanvasRenderbuffer::create):
65095        (WebCore::CanvasRenderbuffer::CanvasRenderbuffer):
65096        (WebCore::CanvasRenderbuffer::_deleteObject):
65097        * html/canvas/CanvasRenderbuffer.h:
65098        * html/canvas/CanvasRenderingContext3D.cpp:
65099        (WebCore::CanvasRenderingContext3D::createBuffer):
65100        (WebCore::CanvasRenderingContext3D::createFramebuffer):
65101        (WebCore::CanvasRenderingContext3D::createTexture):
65102        (WebCore::CanvasRenderingContext3D::createProgram):
65103        (WebCore::CanvasRenderingContext3D::createRenderbuffer):
65104        (WebCore::CanvasRenderingContext3D::createShader):
65105        * html/canvas/CanvasRenderingContext3D.h:
65106        (WebCore::CanvasRenderingContext3D::graphicsContext3D):
65107        * html/canvas/CanvasShader.cpp:
65108        (WebCore::CanvasShader::create):
65109        (WebCore::CanvasShader::CanvasShader):
65110        (WebCore::CanvasShader::_deleteObject):
65111        * html/canvas/CanvasShader.h:
65112        * html/canvas/CanvasTexture.cpp:
65113        (WebCore::CanvasTexture::create):
65114        (WebCore::CanvasTexture::CanvasTexture):
65115        (WebCore::CanvasTexture::_deleteObject):
65116        * html/canvas/CanvasTexture.h:
65117        * page/DOMWindow.idl:
65118        * page/animation/AnimationBase.cpp:
65119        (WebCore::AnimationBase::setNeedsStyleRecalc):
65120        * page/animation/AnimationController.cpp:
65121        (WebCore::AnimationControllerPrivate::updateAnimationTimer):
65122        (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
65123        (WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
65124        (WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
65125        (WebCore::AnimationController::cancelAnimations):
65126        * platform/graphics/GraphicsContext3D.h:
65127        (WebCore::GraphicsContext3D::platformGraphicsContext3D):
65128        (WebCore::GraphicsContext3D::platformTexture):
65129        * platform/graphics/GraphicsLayer.h:
65130        (WebCore::GraphicsLayer::setContentsToGraphicsContext3D):
65131        (WebCore::GraphicsLayer::setGraphicsContext3DNeedsDisplay):
65132        * platform/graphics/mac/GraphicsContext3DMac.cpp:
65133        (WebCore::GraphicsContext3D::~GraphicsContext3D):
65134        (WebCore::GraphicsContext3D::reshape):
65135        * platform/graphics/mac/GraphicsLayerCA.h:
65136        (WebCore::GraphicsLayerCA::):
65137        * platform/graphics/mac/GraphicsLayerCA.mm:
65138        (WebCore::GraphicsLayerCA::GraphicsLayerCA):
65139        (WebCore::GraphicsLayerCA::commitLayerChanges):
65140        (WebCore::GraphicsLayerCA::updateContentsGraphicsContext3D):
65141        (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D):
65142        (WebCore::GraphicsLayerCA::setGraphicsContext3DNeedsDisplay):
65143        * rendering/RenderHTMLCanvas.cpp:
65144        (WebCore::RenderHTMLCanvas::requiresLayer):
65145        * rendering/RenderHTMLCanvas.h:
65146        (WebCore::RenderHTMLCanvas::isCanvas):
65147        * rendering/RenderLayerBacking.cpp:
65148        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
65149        (WebCore::RenderLayerBacking::canUseDirectCompositing):
65150        (WebCore::RenderLayerBacking::rendererContentChanged):
65151        * rendering/RenderLayerCompositor.cpp:
65152        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
65153        (WebCore::RenderLayerCompositor::requiresCompositingForCanvas):
65154        * rendering/RenderLayerCompositor.h:
65155        * rendering/RenderObject.h:
65156        (WebCore::RenderObject::isCanvas):
65157
651582009-08-27  Peter Kasting  <pkasting@google.com>
65159
65160        Reviewed by Eric Seidel.
65161
65162        https://bugs.webkit.org/show_bug.cgi?id=28751
65163        Clean up ImageDecoder*.cpp a bit.
65164
65165        * platform/image-decoders/ImageDecoder.cpp: Put functions in the same
65166          order as in the header file.  Also, since there's already an anonymous
65167          namespace in this file, use it to enclose the local helper functions.
65168        (WebCore::):
65169        (WebCore::ImageDecoder::upperBoundScaledX):
65170        (WebCore::ImageDecoder::lowerBoundScaledX):
65171        (WebCore::ImageDecoder::scaledY):
65172        * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
65173        (WebCore::RGBA32Buffer::width): Style fix.
65174        (WebCore::RGBA32Buffer::height): Style fix.
65175        * platform/image-decoders/haiku/ImageDecoderHaiku.cpp:
65176        (WebCore::RGBA32Buffer::copyBitmapData): Ensure m_size is set correctly.
65177        (WebCore::RGBA32Buffer::asNewNativeImage): Remove unneeded temp.
65178        (WebCore::RGBA32Buffer::operator=): Simplify.
65179        * platform/image-decoders/wx/ImageDecoderWx.cpp:
65180        (WebCore::RGBA32Buffer::asNewNativeImage): Try and collect spaced-out temps under loop comment to show they're all related.  Use size_t for iterating over elements of a Vector.
65181        (WebCore::RGBA32Buffer::width): Style fix.
65182        (WebCore::RGBA32Buffer::height): Style fix.
65183
651842009-08-27  Peter Kasting  <pkasting@google.com>
65185
65186        Reviewed by Eric Seidel.
65187
65188        https://bugs.webkit.org/show_bug.cgi?id=28751
65189        Clean up ImageSource.* in preparation for more fixes on bug 27965.
65190
65191        * platform/graphics/ImageSource.cpp: Put functions in the same order as in header file.
65192        (WebCore::ImageSource::isSizeAvailable): Shorten.
65193        (WebCore::ImageSource::size): Shorten.
65194        (WebCore::ImageSource::frameSizeAtIndex): Shorten.
65195        (WebCore::ImageSource::repetitionCount): Shorten.
65196        (WebCore::ImageSource::frameIsCompleteAtIndex):
65197        * platform/graphics/ImageSource.h: Shorten #ifdef section a bit by sharing common typedefs.
65198
651992009-08-27  Peter Kasting  <pkasting@google.com>
65200
65201        Reviewed by Eric Seidel.
65202
65203        https://bugs.webkit.org/show_bug.cgi?id=28785
65204        Add ImageDecoder.cpp to various build files so platforms will be able to
65205        use it.  Move an ENABLE to not cover the whole file, in preparation for
65206        adding a bunch of code.  Simplify #ifdefs in ImageDecoder.h to be "Skia
65207        vs. everyone else", which also gives new platforms a reasonable default
65208        behavior.
65209
65210        * GNUmakefile.am:
65211        * WebCore.gypi:
65212        * WebCore.vcproj/WebCore.vcproj:
65213        * WebCoreSources.bkl:
65214        * platform/image-decoders/ImageDecoder.cpp:
65215        (WebCore::):
65216        * platform/image-decoders/ImageDecoder.h:
65217        (WebCore::RGBA32Buffer::getAddr):
65218
652192009-08-27  Antti Koivisto  <antti@apple.com>
65220
65221        Reviewed by Dave Kilzer.
65222        
65223        https://bugs.webkit.org/show_bug.cgi?id=28784
65224        
65225        Add an exported method to flush pending repaints.
65226
65227        * WebCore.base.exp:
65228        * page/FrameView.cpp:
65229        (WebCore::FrameView::layoutIfNeededRecursive):
65230        (WebCore::FrameView::flushDeferredRepaints):
65231        * page/FrameView.h:
65232
652332009-08-27  Noel Gordon  <noel.gordon@gmail.com>
65234
65235        Reviewed by Eric Seidel.
65236
65237        [V8] Expose files from the pasteboard in drop events.
65238        https://bugs.webkit.org/show_bug.cgi?id=28782
65239
65240        Update chromium port to expose dataTransfer.files() as per
65241        HTML5 drag drop (Aug 2009 edition).
65242
65243        * platform/chromium/ClipboardChromium.cpp:
65244
652452009-08-27  Yury Semikhatsky  <yurys@chromium.org>
65246
65247        Reviewed by Dmitry Glazkov.
65248
65249        ScriptState now keeps explicit Handle of devtools front-end
65250        utility context instead of trying to retrieve it from inspected
65251        Frame.
65252
65253        https://bugs.webkit.org/show_bug.cgi?id=28772
65254
65255        * bindings/v8/ScriptController.cpp:
65256        (WebCore::ScriptController::ScriptController):
65257        * bindings/v8/ScriptController.h:
65258        * bindings/v8/ScriptObjectQuarantine.cpp:
65259        (WebCore::getQuarantinedScriptObject):
65260        * bindings/v8/ScriptScope.cpp:
65261        (WebCore::ScriptScope::ScriptScope):
65262        * bindings/v8/ScriptState.cpp:
65263        (WebCore::ScriptState::ScriptState):
65264        (WebCore::ScriptState::~ScriptState):
65265        (WebCore::scriptStateFromPage):
65266        * bindings/v8/ScriptState.h:
65267        (WebCore::ScriptState::context):
65268        * bindings/v8/ScriptValue.h:
65269        (WebCore::ScriptValue::~ScriptValue):
65270        * inspector/InspectorController.h:
65271        (WebCore::InspectorController::frontendScriptState):
65272
652732009-08-27  Pavel Feldman  <pfeldman@chromium.org>
65274
65275        Reviewed by Timothy Hatcher.
65276
65277        WebInspector: Console won't close.
65278
65279        https://bugs.webkit.org/show_bug.cgi?id=28778
65280
65281        * inspector/front-end/ElementsPanel.js:
65282        (WebInspector.ElementsPanel.prototype._updateModifiedNodes):
65283        * inspector/front-end/utilities.js:
65284        (Node.prototype.isAncestor):
65285
652862009-08-27  Eric Seidel  <eric@webkit.org>
65287
65288        Reviewed by Adam Barth.
65289
65290        Fix a typo in files() causing image drags to have junk file arrays.
65291        https://bugs.webkit.org/show_bug.cgi?id=28755
65292
65293        Test: editing/pasteboard/files-during-page-drags.html
65294
65295        * platform/mac/ClipboardMac.mm:
65296        (WebCore::ClipboardMac::files):
65297
652982009-08-27  Jeremy Orlow  <jorlow@chromium.org>
65299
65300        Not reviewed.  Build fix for Chromium.
65301
65302        * bindings/v8/DOMObjectsInclude.h:
65303        * bindings/v8/DerivedSourcesAllInOne.cpp:
65304        * bindings/v8/V8Index.cpp:
65305        * bindings/v8/V8Index.h:
65306
653072009-08-27  Alexey Proskuryakov  <ap@apple.com>
65308
65309        Windows build fix.
65310
65311        * DerivedSources.cpp: Added JSPageTransitionEvent.cpp to DerivedSources.cpp.
65312
653132009-08-26  Alexey Proskuryakov  <ap@apple.com>
65314
65315        Reviewed by Adele Peterson.
65316
65317        https://bugs.webkit.org/show_bug.cgi?id=28758
65318        <rdar://problem/6440869> Implement pageshow and pagehide events for b/f cache (28758)
65319
65320        Tests: fast/events/pageshow-pagehide-on-back-cached.html
65321               fast/events/pageshow-pagehide-on-back-uncached.html
65322               fast/events/pageshow-pagehide.html
65323
65324        * loader/FrameLoader.cpp: (WebCore::FrameLoader::stopLoading): Dispatch pagehide event
65325        (this function is called both when a document goes away, and when it goes to b/f cache).
65326
65327        * page/DOMWindow.cpp:
65328        (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): Dispatch pagehide right before unload.
65329        (WebCore::DOMWindow::dispatchPageTransitionEvent): Do what it takes to add a new event handler
65330        that can be installed on Window object.
65331        (WebCore::DOMWindow::onpagehide): Ditto.
65332        (WebCore::DOMWindow::setOnpagehide): Ditto.
65333        (WebCore::DOMWindow::onpageshow): Ditto.
65334        (WebCore::DOMWindow::setOnpageshow): Ditto.
65335
65336        * history/CachedFrame.cpp: (WebCore::CachedFrame::restore): Dispatch pageshow for a page
65337        that isn't being restored from cache.
65338
65339        * dom/PageTransitionEvent.cpp: Added.
65340        (WebCore::PageTransitionEvent::PageTransitionEvent):
65341        (WebCore::PageTransitionEvent::~PageTransitionEvent):
65342        (WebCore::PageTransitionEvent::initPageTransitionEvent):
65343        * dom/PageTransitionEvent.h: Added.
65344        (WebCore::PageTransitionEvent::create):
65345        (WebCore::PageTransitionEvent::isPageTransitionEvent):
65346        (WebCore::PageTransitionEvent::persisted):
65347        * dom/PageTransitionEvent.idl: Added.
65348        Add event class implementation.
65349
65350        * html/HTMLBodyElement.cpp: (WebCore::HTMLBodyElement::parseMappedAttribute): Support
65351        inline listener definition (note that adding listeners to document.body programmatically
65352        is not supported, matching Firefox).
65353
65354        * dom/Document.cpp:
65355        (WebCore::Document::implicitClose): Dispatch pageshow event right before load event.
65356        (WebCore::Document::dispatchPageTransitionEvent): Do what it takes to add a new event for
65357        Docuemnt.
65358        (WebCore::Document::createEvent): Ditto.
65359
65360        * dom/Document.h: Added dispatchPageTransitionEvent.
65361
65362        * DerivedSources.make:
65363        * GNUmakefile.am:
65364        * WebCore.gypi:
65365        * WebCore.pro:
65366        * WebCore.vcproj/WebCore.vcproj:
65367        * WebCore.xcodeproj/project.pbxproj:
65368        * WebCoreSources.bkl:
65369        * bindings/js/JSEventCustom.cpp: (WebCore::toJS):
65370        * dom/Event.cpp: (WebCore::Event::isPageTransitionEvent):
65371        * dom/Event.h:
65372        * dom/EventNames.h:
65373        * html/HTMLAttributeNames.in:
65374        * page/DOMWindow.h:
65375        * page/DOMWindow.idl:
65376        Do what it takes to add a new event type.
65377
653782009-08-27  Pavel Feldman  <pfeldman@chromium.org>
65379
65380        Reviewed by NOBODY (build fix).
65381
65382        Adding missing file from previous commit.
65383
65384        https://bugs.webkit.org/show_bug.cgi?id=28740
65385
65386        * inspector/front-end/SummaryBar.js: Added.
65387        (WebInspector.SummaryBar):
65388        (WebInspector.SummaryBar.prototype.get calculator):
65389        (WebInspector.SummaryBar.prototype.set calculator):
65390        (WebInspector.SummaryBar.prototype.reset):
65391        (WebInspector.SummaryBar.prototype.update):
65392        (WebInspector.SummaryBar.prototype._drawSwatch.drawSwatchSquare):
65393        (WebInspector.SummaryBar.prototype._drawSwatch):
65394        (WebInspector.SummaryBar.prototype._drawSummaryGraph.var):
65395        (WebInspector.SummaryBar.prototype._drawSummaryGraph):
65396        (WebInspector.SummaryBar.prototype._drawSummaryGraph.drawPill):
65397        (WebInspector.SummaryBar.prototype._fadeOutRect):
65398        (WebInspector.SummaryBar.prototype._makeLegendElement):
65399
654002009-08-27  Mikhail Naganov  <mnaganov@chromium.org>
65401
65402        Reviewed by Timothy Hatcher.
65403
65404        Factor out Factor out summary bar from Resources panel.
65405
65406        https://bugs.webkit.org/show_bug.cgi?id=28740
65407
65408        * WebCore.gypi:
65409        * WebCore.vcproj/WebCore.vcproj:
65410        * inspector/front-end/ResourcesPanel.js:
65411        (WebInspector.ResourcesPanel.prototype.reset):
65412        (WebInspector.ResourcesPanel.prototype._updateSummaryGraph):
65413        (WebInspector.ResourcesPanel.prototype._updateDividersLabelBarPosition):
65414        (WebInspector.ResourcesPanel.prototype._changeSortingFunction):
65415        * inspector/front-end/SummaryBar.js: Added.
65416        (WebInspector.SummaryBar):
65417        (WebInspector.SummaryBar.prototype.get calculator):
65418        (WebInspector.SummaryBar.prototype.set calculator):
65419        (WebInspector.SummaryBar.prototype.reset):
65420        (WebInspector.SummaryBar.prototype.update):
65421        (WebInspector.SummaryBar.prototype._drawSwatch.drawSwatchSquare):
65422        (WebInspector.SummaryBar.prototype._drawSwatch):
65423        (WebInspector.SummaryBar.prototype._drawSummaryGraph.var):
65424        (WebInspector.SummaryBar.prototype._drawSummaryGraph):
65425        (WebInspector.SummaryBar.prototype._drawSummaryGraph.drawPill):
65426        (WebInspector.SummaryBar.prototype._fadeOutRect):
65427        (WebInspector.SummaryBar.prototype._makeLegendElement):
65428        * inspector/front-end/WebKit.qrc:
65429        * inspector/front-end/inspector.css:
65430        * inspector/front-end/inspector.html:
65431
654322009-08-26  Mikhail Naganov  <mnaganov@chromium.org>
65433
65434        Reviewed by Timothy Hatcher.
65435
65436        Start adding heap profiler to Inspector (hidden behind a flag.)
65437
65438        https://bugs.webkit.org/show_bug.cgi?id=28429
65439
65440        * English.lproj/localizedStrings.js:
65441        * inspector/front-end/ProfilesPanel.js:
65442        (WebInspector.ProfilesPanel):
65443        (WebInspector.ProfilesPanel.prototype.get statusBarItems):
65444        (WebInspector.ProfilesPanel.prototype.reset):
65445        (WebInspector.ProfilesPanel.prototype.addProfile):
65446        (WebInspector.ProfilesPanel.prototype._updateInterface):
65447        (WebInspector.ProfilesPanel.prototype._snapshotClicked):
65448        * inspector/front-end/inspector.css:
65449        * inspector/front-end/inspector.js: added Preferences.heapProfilerPresent flag.
65450
654512009-08-27  Pavel Feldman  <pfeldman@chromium.org>
65452
65453        Reviewed by Timothy Hatcher.
65454
65455        WebInspector: Metrics sidebar editing is broken.
65456
65457        https://bugs.webkit.org/show_bug.cgi?id=28434
65458
65459        * inspector/front-end/MetricsSidebarPane.js:
65460        (WebInspector.MetricsSidebarPane.prototype.update):
65461
654622009-08-27  Darin Fisher  <darin@chromium.org>
65463
65464        Reviewed by Dimitri Glazkov.
65465
65466        https://bugs.webkit.org/show_bug.cgi?id=28767
65467
65468        Make KURLGoogle.cpp's decodeURLEscapeSequences decode %00 to match
65469        KURL.cpp.  This makes the XSSAuditor tests pass when using KURLGoogle.
65470
65471        * platform/KURLGoogle.cpp:
65472        (WebCore::decodeURLEscapeSequences):
65473
654742009-08-27  Ariya Hidayat  <ariya.hidayat@nokia.com>
65475
65476        Reviewed by Tor Arne Vestbø.
65477
65478        [Qt] Build fix, missing functions after r47763.
65479
65480        * platform/qt/Localizations.cpp:
65481        (WebCore::localizedMediaControlElementString):
65482        (WebCore::localizedMediaControlElementHelpText):
65483        (WebCore::localizedMediaTimeDescription):
65484
654852009-08-26  Dumitru Daniliuc  <dumi@chromium.org>
65486
65487        Reviewed by Adam Barth.
65488
65489        Removing trailing whitespaces from all storage classes.
65490
65491        https://bugs.webkit.org/show_bug.cgi?id=28075
65492
65493        * storage/ChangeVersionWrapper.cpp:
65494        * storage/Database.cpp:
65495        * storage/Database.h:
65496        * storage/DatabaseDetails.h:
65497        * storage/DatabaseThread.cpp:
65498        * storage/DatabaseTracker.cpp:
65499        * storage/DatabaseTracker.h:
65500        * storage/LocalStorageTask.cpp:
65501        * storage/LocalStorageTask.h:
65502        * storage/LocalStorageThread.cpp:
65503        * storage/LocalStorageThread.h:
65504        * storage/OriginQuotaManager.cpp:
65505        * storage/OriginUsageRecord.cpp:
65506        * storage/OriginUsageRecord.h:
65507        * storage/SQLError.h:
65508        * storage/SQLResultSetRowList.h:
65509        * storage/SQLStatement.cpp:
65510        * storage/SQLStatement.h:
65511        * storage/SQLStatementCallback.h:
65512        * storage/SQLStatementErrorCallback.h:
65513        * storage/SQLTransaction.cpp:
65514        * storage/SQLTransaction.h:
65515        * storage/SQLTransactionCallback.h:
65516        * storage/SQLTransactionErrorCallback.h:
65517        * storage/Storage.cpp:
65518        * storage/Storage.h:
65519        * storage/StorageArea.h:
65520        * storage/StorageAreaImpl.cpp:
65521        * storage/StorageAreaImpl.h:
65522        * storage/StorageAreaSync.cpp:
65523        * storage/StorageAreaSync.h:
65524        * storage/StorageEvent.cpp:
65525        * storage/StorageEvent.h:
65526        * storage/StorageMap.cpp:
65527        * storage/StorageMap.h:
65528        * storage/StorageNamespaceImpl.cpp:
65529        * storage/StorageSyncManager.cpp:
65530        * storage/StorageSyncManager.h:
65531
655322009-08-26  Dave Hyatt  <hyatt@apple.com>
65533
65534        Reviewed by Anders Carlsson.
65535
65536        https://bugs.webkit.org/show_bug.cgi?id=28763, flickering when opacity changes.
65537
65538        Make opacity changes from < 1 to 1 and from 1 to < 1 cause a relayout to happen.  We need
65539        to do this in order for overflow information to be properly recomputed.
65540
65541        * rendering/style/RenderStyle.cpp:
65542        (WebCore::RenderStyle::diff):
65543
655442009-08-26  Eric Carlson  <eric.carlson@apple.com>
65545
65546        Reviewed by Simon Fraser.
65547
65548        HTMLMediaElement sometimes loses events
65549        https://bugs.webkit.org/show_bug.cgi?id=28762
65550        <rdar://problem/7172437>
65551
65552        A media element triggers the resource selection algorithm if 
65553        play() is called when the networkState attribute is NETWORK_EMPTY, but
65554        it also immediately queues 'play' and either 'waiting' or 'playing' events.
65555        One of the steps in preparing to load is to flush pending events, so those 
65556        events were lost if the load timer fired quickly enough. Fixed by deleting
65557        pending events before scheduling the load timer.
65558
65559        Test: media/audio-play-event.html
65560
65561        * html/HTMLMediaElement.cpp:
65562        (WebCore::HTMLMediaElement::scheduleLoad):
65563            Do nothing if the load timer is already scheduled. Call prepareForLoad so queue of 
65564            pending events is flushed immediately.
65565        (WebCore::HTMLMediaElement::scheduleNextSourceChild):
65566            New, start the load timer without flushing pending events.
65567        (WebCore::HTMLMediaElement::load):
65568            Call prepareForLoad();
65569        (WebCore::HTMLMediaElement::prepareForLoad):
65570            New, load setup code moved from loadInternal.
65571        (WebCore::HTMLMediaElement::loadInternal):
65572            Moved some setup code to prepareForLoad so it can be invoked immediately before
65573            arming the load timer.
65574        (WebCore::HTMLMediaElement::setNetworkState):
65575            Call scheduleNextSourceChild instead of scheduleLoad as the later now clears
65576            pending events.
65577        * html/HTMLMediaElement.h:
65578            Declare scheduleNextSourceChild.
65579
655802009-08-26  Peter Kasting  <pkasting@google.com>
65581
65582        Reviewed by Eric Seidel.
65583
65584        https://bugs.webkit.org/show_bug.cgi?id=28751
65585        Switch ICO decoder from a Vector of raw pointers to a Vector of
65586        OwnPtrs now that that is possible.  Makes code slightly simpler.
65587
65588        * platform/image-decoders/ico/ICOImageDecoder.cpp:
65589        (WebCore::ICOImageDecoder::decodeAtIndex):
65590        (WebCore::ICOImageDecoder::processDirectory):
65591        * platform/image-decoders/ico/ICOImageDecoder.h:
65592
655932009-08-26  Dave Hyatt  <hyatt@apple.com>
65594
65595        Reviewed by Dan Bernstein.
65596
65597        https://bugs.webkit.org/show_bug.cgi?id=28718, image inside relpositioned inline doesn't paint.
65598        Make sure vertical overflow is still computed across self-painting layers, even though it isn't
65599        propagated to parents.
65600
65601        Added fast/repaint/rel-positioned-inline-with-overflow.html
65602
65603        * rendering/InlineFlowBox.cpp:
65604        (WebCore::InlineFlowBox::computeVerticalOverflow):
65605
656062009-08-26  David Levin  <levin@chromium.org>
65607
65608        Reviewed by Darin Fisher.
65609
65610        ResourceRequestBase::*[Aa]llowHTTPCookies shouldn't mention http.
65611        https://bugs.webkit.org/show_bug.cgi?id=28735
65612
65613        Renaming the method to imply its wider implications of affecting cookies
65614        over any protocol that supports them.
65615
65616        No change in functionality so no new tests.
65617
65618        * WebCore.order:
65619        * loader/DocumentThreadableLoader.cpp:
65620        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
65621        (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
65622        (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
65623        * platform/network/ResourceRequestBase.cpp:
65624        (WebCore::ResourceRequestBase::adopt):
65625        (WebCore::ResourceRequestBase::copyData):
65626        (WebCore::ResourceRequestBase::allowCookies):
65627        (WebCore::ResourceRequestBase::setAllowCookies):
65628        (WebCore::equalIgnoringHeaderFields):
65629        * platform/network/ResourceRequestBase.h:
65630        (WebCore::ResourceRequestBase::ResourceRequestBase):
65631        * platform/network/cf/ResourceRequestCFNet.cpp:
65632        (WebCore::ResourceRequest::doUpdatePlatformRequest):
65633        (WebCore::ResourceRequest::doUpdateResourceRequest):
65634        * platform/network/mac/ResourceRequestMac.mm:
65635        (WebCore::ResourceRequest::doUpdateResourceRequest):
65636        (WebCore::ResourceRequest::doUpdatePlatformRequest):
65637        * platform/network/soup/ResourceRequestSoup.cpp:
65638        (WebCore::ResourceRequest::updateFromSoupMessage):
65639
656402009-08-26  Dan Bernstein  <mitz@apple.com>
65641
65642        Reviewed by Dave Hyatt.
65643
65644        Made RenderInline::clippedOverflowRectForRepaint() actually include
65645        overflow.
65646
65647        Test: fast/repaint/inline-overflow.html
65648
65649        * rendering/RenderInline.cpp:
65650        (WebCore::RenderInline::linesVisibleOverflowBoundingBox): Added. Returns
65651            the bounding box of all lines’ visible overflow boxes (under the
65652            assumption that the first and last lines determine the top and
65653            bottom, respectively).
65654        (WebCore::RenderInline::clippedOverflowRectForRepaint): Changed to use
65655            linesVisibleOverflowBoundingBox() instead of linesBoundingBox().
65656        * rendering/RenderInline.h:
65657
656582009-08-26  John Gregg  <johnnyg@google.com>
65659
65660        Reviewed by David Levin.
65661
65662        minor style correction and include fix for notifications
65663        https://bugs.webkit.org/show_bug.cgi?id=28745
65664
65665        No change in behavior, so no tests.
65666
65667        * bindings/js/JSDesktopNotificationsCustom.cpp: add include of Error.h
65668        * notifications/Notification.cpp: change enum style to InterCaps
65669        (WebCore::Notification::Notification):
65670        * notifications/NotificationPresenter.h:
65671        (WebCore::NotificationPresenter::):
65672
656732009-08-25  Drew Wilson  <atwilson@google.com>
65674
65675        Reviewed by David Levin.
65676
65677        postMessage() spec now supports sending arrays of ports
65678        https://bugs.webkit.org/show_bug.cgi?id=26902
65679
65680        Added support for sending multiple ports at once via postMessage(). JS bindings will be updated in an upcoming patch.
65681
65682        No new tests, since the new functionality is not exposed via new JS bindings yet, so the old tests suffice.
65683
65684        * WebCore.xcodeproj/project.pbxproj:
65685        Mark MessagePort.h and MessagePortChannel.h as private since they are used by WebKit now.
65686        * dom/MessageEvent.cpp:
65687        Updated APIs to support passing MessagePortArrays.
65688        (WebCore::MessageEvent::MessageEvent):
65689        (WebCore::MessageEvent::initMessageEvent):
65690        (WebCore::MessageEvent::messagePort):
65691        * dom/MessageEvent.h:
65692        (WebCore::MessageEvent::create):
65693        Now accepts a MessagePortArray parameter instead of a single MessagePort.
65694        (WebCore::MessageEvent::ports):
65695        * dom/MessagePort.cpp:
65696        (WebCore::MessagePort::postMessage):
65697        (WebCore::MessagePort::dispatchMessages):
65698        (WebCore::MessagePort::disentanglePorts):
65699        Added new static function to extract a MessagePortChannelArray from a MessagePortArray.
65700        (WebCore::MessagePort::entanglePorts):
65701        Added new static function to generate a MessagePortArray (entangled ports) from a MessagePortChannelArray.
65702        * dom/MessagePort.h:
65703        * dom/MessagePortChannel.cpp:
65704        EventData now contains a MessagePortChannelArray field instead of a single MessagePortChannel.
65705        (WebCore::MessagePortChannel::EventData::create):
65706        (WebCore::MessagePortChannel::EventData::EventData):
65707        * dom/MessagePortChannel.h:
65708        (WebCore::MessagePortChannel::EventData::channels):
65709        * page/DOMWindow.cpp:
65710        (WebCore::PostMessageTimer::PostMessageTimer):
65711        (WebCore::PostMessageTimer::event):
65712        (WebCore::DOMWindow::postMessage):
65713        Now accepts a MessagePortArray parameter instead of a single MessagePort.
65714        * page/DOMWindow.h:
65715        * workers/DedicatedWorkerContext.cpp:
65716        (WebCore::DedicatedWorkerContext::postMessage):
65717        Now accepts a MessagePortArray parameter instead of a single MessagePort.
65718        (WebCore::DedicatedWorkerContext::dispatchMessage):
65719        * workers/DedicatedWorkerContext.h:
65720        * workers/Worker.cpp:
65721        (WebCore::Worker::postMessage):
65722        Now accepts a MessagePortArray parameter instead of a single MessagePort.
65723        (WebCore::Worker::dispatchMessage):
65724        * workers/Worker.h:
65725        * workers/WorkerContextProxy.h:
65726        * workers/WorkerMessagingProxy.cpp:
65727        Updated WorkerObjectProxy and WorkerContextProxy API implementations to support sending multiple MessagePorts.
65728        (WebCore::MessageWorkerContextTask::create):
65729        (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
65730        (WebCore::MessageWorkerContextTask::performTask):
65731        (WebCore::MessageWorkerTask::create):
65732        (WebCore::MessageWorkerTask::MessageWorkerTask):
65733        (WebCore::MessageWorkerTask::performTask):
65734        (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
65735        (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
65736        * workers/WorkerMessagingProxy.h:
65737        * workers/WorkerObjectProxy.h:
65738        Updated WorkerObjectProxy and WorkerContextProxy APIs to support sending multiple MessagePorts.
65739
657402009-08-26  Fumitoshi Ukai  <ukai@chromium.org>
65741
65742        Reviewed by Alexey Proskuryakov.
65743
65744        SocketStreamHandle interface for WebSocket API
65745        https://bugs.webkit.org/show_bug.cgi?id=28037
65746
65747        Add build systems only for GNUmakefile.am and WebCore.xcodeproj.now.
65748        Other build systems will be updated once the code is functional.
65749        Tests will be landed once this code is complete and functional.
65750
65751        * GNUmakefile.am:
65752        * WebCore.xcodeproj/project.pbxproj:
65753        * platform/network/SocketStreamErrorBase.cpp: Added.
65754        * platform/network/SocketStreamErrorBase.h: Added.
65755        * platform/network/SocketStreamHandleBase.cpp: Added.
65756        * platform/network/SocketStreamHandleBase.h: Added.
65757        * platform/network/SocketStreamHandleClient.h: Added.
65758        * platform/network/cf/SocketStreamError.h: Added.
65759        * platform/network/cf/SocketStreamHandle.h: Added.
65760        * platform/network/cf/SocketStreamHandleCFNet.cpp: Added.
65761        * platform/network/soup/SocketStreamError.h: Added.
65762        * platform/network/soup/SocketStreamHandle.h: Added.
65763        * platform/network/soup/SocketStreamHandleSoup.cpp: Added.
65764
657652009-08-26  Mads Ager  <ager@chromium.org>
65766
65767        Reviewed by Dimitri Glazkov.
65768
65769        [V8] setTimeout does not convert non-string argument to string
65770        https://bugs.webkit.org/show_bug.cgi?id=28739
65771
65772        Convert non-string argument to setTimeout to string in the V8
65773        bindings.
65774
65775        * bindings/v8/custom/V8DOMWindowCustom.cpp:
65776        (WebCore::V8Custom::WindowSetTimeoutImpl):
65777
657782009-08-25  Oliver Hunt  <oliver@apple.com>
65779
65780        Reviewed by Gavin Barraclough.
65781
65782        [ES5] Implement getOwnPropertyDescriptor
65783        https://bugs.webkit.org/show_bug.cgi?id=28724
65784
65785        Implement the WebCore side of getOwnPropertyDescriptor.  This
65786        requires a custom implementation of getOwnPropertyDescriptor
65787        for every class with a custom implementation of getOwnPropertySlot.
65788
65789        The bindings generator has been updated to generate appropriate
65790        versions of getOwnPropertyDescriptor for the general case where
65791        a custom getOwnPropertyDescriptor is not needed.  ES5 is vague
65792        about how getOwnPropertyDescriptor should work in the context of
65793        "host" functions with polymorphic [[GetOwnProperty]], so it seems
65794        okay that occasionally we "guess" what attributes -- eg. determining
65795        whether a property is writable.
65796
65797        Test: fast/js/getOwnPropertyDescriptor.html
65798
65799        * bindings/js/JSDOMWindowCustom.cpp:
65800        (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
65801        * bindings/js/JSDOMWindowShell.cpp:
65802        (WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
65803        * bindings/js/JSDOMWindowShell.h:
65804        * bindings/js/JSHTMLAppletElementCustom.cpp:
65805        (WebCore::JSHTMLAppletElement::getOwnPropertyDescriptorDelegate):
65806        * bindings/js/JSHTMLEmbedElementCustom.cpp:
65807        (WebCore::JSHTMLEmbedElement::getOwnPropertyDescriptorDelegate):
65808        * bindings/js/JSHTMLObjectElementCustom.cpp:
65809        (WebCore::JSHTMLObjectElement::getOwnPropertyDescriptorDelegate):
65810        * bindings/js/JSHistoryCustom.cpp:
65811        (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
65812        * bindings/js/JSLocationCustom.cpp:
65813        (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
65814        * bindings/js/JSNamedNodesCollection.cpp:
65815        (WebCore::JSNamedNodesCollection::getOwnPropertyDescriptor):
65816        * bindings/js/JSNamedNodesCollection.h:
65817        * bindings/js/JSPluginElementFunctions.cpp:
65818        (WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):
65819        * bindings/js/JSPluginElementFunctions.h:
65820        * bindings/js/JSQuarantinedObjectWrapper.cpp:
65821        (WebCore::JSQuarantinedObjectWrapper::getOwnPropertyDescriptor):
65822        * bindings/js/JSQuarantinedObjectWrapper.h:
65823        * bindings/js/JSWorkerContextCustom.cpp:
65824        (WebCore::JSWorkerContext::getOwnPropertyDescriptorDelegate):
65825        * bindings/scripts/CodeGeneratorJS.pm:
65826        * bridge/objc/objc_runtime.h:
65827        * bridge/objc/objc_runtime.mm:
65828        (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertyDescriptor):
65829        * bridge/runtime.h:
65830        (JSC::Bindings::Instance::getOwnPropertyDescriptor):
65831        * bridge/runtime_array.cpp:
65832        (JSC::RuntimeArray::getOwnPropertyDescriptor):
65833        * bridge/runtime_array.h:
65834        * bridge/runtime_method.cpp:
65835        (JSC::RuntimeMethod::getOwnPropertyDescriptor):
65836        * bridge/runtime_method.h:
65837        * bridge/runtime_object.cpp:
65838        (JSC::RuntimeObjectImp::getOwnPropertyDescriptor):
65839        * bridge/runtime_object.h:
65840
658412009-08-26  Vincent Untz <vuntz@gnome.org>
65842
65843        Reviewed by Xan Lopez.
65844
65845        GObject checks for NULL (and not 0) in g_object_get, so use that
65846        as we were already doing elsewhere to make the compiler happy.
65847
65848        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
65849        (WebCore::MediaPlayerPrivate::hasAudio):
65850
658512009-08-26  Alpha Lam  <hclam@chromium.org>
65852
65853        Reviewed by David Levin.
65854
65855        RenderThemeMac.mm has incorrect casting for media control element.
65856        https://bugs.webkit.org/show_bug.cgi?id=28730
65857
65858        MediaControlMuteButtonElement was incorrectly casted to
65859        MediaControlPlayButtonElement. This is corrected in this patch.
65860
65861        No new tests because this is code cleanup and is already covered by existing
65862        media layout tests.
65863
65864        * rendering/RenderThemeMac.mm:
65865        (WebCore::RenderThemeMac::paintMediaMuteButton):
65866
658672009-08-26  Robert Sesek  <rsesek@chromium.org>
65868
65869        Reviewed by Eric Seidel.
65870
65871        [Chromium] Multi-value select boxes cannot do non-contiguous selection on Mac
65872        https://bugs.webkit.org/show_bug.cgi?id=28670
65873
65874        Change the condition regarding the key modifier check for non-contiguous
65875        selection on a multi-value list from just PLATFORM(MAC) to
65876        PLATFORM(MAC) || (PLATFORM(CHROMIUM) && PLATFORM(DARWIN)).
65877
65878        No new tests. This patch only changes the condition on which a certain mouse
65879        event modifier key is used.
65880
65881        * dom/SelectElement.cpp:
65882        (WebCore::SelectElement::listBoxDefaultEventHandler):
65883
658842009-08-25  Eric Carlson  <eric.carlson@apple.com>
65885
65886        Reviewed by Dan Bernstein
65887
65888        r47744 causes media/video-controls-with-mutation-event-handler.html to crash
65889        https://bugs.webkit.org/show_bug.cgi?id=28732
65890
65891        * rendering/MediaControlElements.cpp:
65892        (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
65893            Don't call setAttribute from the construtor, any registered mutation event 
65894            listener will cause a crash.
65895
65896        * rendering/RenderMedia.cpp:
65897        (WebCore::RenderMedia::createVolumeSlider):
65898            Set the maxAttr here instead of in the constructor.
65899
659002009-08-25  Dmitry Titov  <dimich@chromium.org>
65901
65902        Reviewed by Brady Eidson.
65903
65904        Timers from cached pages fire instantly rather than the after the specified timeout delay
65905        https://bugs.webkit.org/show_bug.cgi?id=28683
65906
65907        Test: fast/dom/Window/timer-resume-on-navigation-back.html
65908
65909        * history/CachedPage.cpp:
65910        (WebCore::CachedPage::restore): Remove duplicated Frame::restore() call, since
65911            it should be done only once in FrameLoader::open(cachedFrame)
65912        * page/DOMTimer.cpp: Added a debug-only flag and ASSERT to catch out-of-order suspense/restore.
65913        (WebCore::DOMTimer::DOMTimer): Ditto.
65914        (WebCore::DOMTimer::suspend): Ditto.
65915        (WebCore::DOMTimer::resume): Ditto.
65916        * page/DOMTimer.h: Ditto.
65917
659182009-08-25  Eric Carlson  <eric.carlson@apple.com>
65919
65920        Reviewed by Simon Fraser.
65921
65922        Setting the volume of a media element has no effect if called too early
65923        https://bugs.webkit.org/show_bug.cgi?id=28731
65924
65925        * manual-tests/audio-volume.html: 
65926            Added.
65927
65928        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
65929        (WebCore::MediaPlayerPrivate::setVolume):
65930        (WebCore::MediaPlayerPrivate::setRate):
65931            Don't bail if metadata hasn't been loaded, it is fine to set rate and/or
65932            volume as soon as the movie has been created.
65933
659342009-08-25  David Levin  <levin@chromium.org>
65935
65936        Reviewed by Maciej Stachowiak.
65937
65938        DocumentThreadableLoader::getShouldUseCredentialStorage should allow for synchronous callbacks from SubresourceLoader::create.
65939        https://bugs.webkit.org/show_bug.cgi?id=28728
65940
65941        Test: This code path is exercised while running xhr layout tests in chromium.
65942
65943        * loader/DocumentThreadableLoader.cpp:
65944        (WebCore::DocumentThreadableLoader::getShouldUseCredentialStorage): When called
65945        back synchronously, the loader is 0, so the assert is changed to allow for that.
65946        (WebCore::DocumentThreadableLoader::loadRequest): Synchronous callbacks may be
65947        done before SubresourceLoader::create finishes, so ensure that any previous loader
65948        -- from a preflight request -- is cleared before calling SubresourceLoader::create.
65949
659502009-08-25  Mark Rowe  <mrowe@apple.com>
65951
65952        Stop installing IDL files in to the framework.
65953
65954        * WebCore.xcodeproj/project.pbxproj:
65955
659562009-08-25  Kent Tamura  <tkent@chromium.org>
65957
65958        Reviewed by Eric Seidel.
65959
65960        Support for HTMLInputElement::list and HTMLInputElement::selectedOption.
65961        https://bugs.webkit.org/show_bug.cgi?id=27756
65962
65963        Tests: fast/forms/input-list.html
65964               fast/forms/input-selectedoption.html
65965
65966        * html/HTMLAttributeNames.in:
65967        * html/HTMLInputElement.cpp:
65968        (WebCore::HTMLInputElement::parseMappedAttribute):
65969        (WebCore::HTMLInputElement::list):
65970        (WebCore::HTMLInputElement::selectedOption):
65971        * html/HTMLInputElement.h:
65972        * html/HTMLInputElement.idl:
65973
659742009-08-25  Eric Carlson  <eric.carlson@apple.com>
65975
65976        Reviewed by Oliver Hunt.
65977
65978        <video> and <audio> controller should be accessible (edit)
65979        https://bugs.webkit.org/show_bug.cgi?id=28081
65980
65981        Test: accessibility/media-element.html
65982
65983        * GNUmakefile.am:
65984        * WebCore.gypi:
65985        * WebCore.pro:
65986        * WebCore.vcproj/WebCore.vcproj:
65987        * WebCore.xcodeproj/project.pbxproj:
65988        * WebCoreSources.bkl:
65989            Add AccessibilityMediaControls.cpp/.h
65990
65991        * accessibility/AXObjectCache.cpp:
65992        * accessibility/AXObjectCache.h:
65993        (WebCore::AXObjectCache::getOrCreate):
65994            Create AccessibilityMediaControl. Update Copyright
65995
65996        * accessibility/AccessibilityMediaControls.cpp:
65997        * accessibility/AccessibilityMediaControls.h:
65998            Added.
65999
66000        * accessibility/AccessibilityObject.cpp:
66001        * accessibility/AccessibilityObject.h:
66002            Add isMediaTimeline. Update Copyright.
66003
66004        * accessibility/AccessibilitySlider.h:
66005            Make constructor protected instead of private so AccessibilityMediaTimeline can
66006            call it.
66007
66008        * accessibility/mac/AccessibilityObjectWrapper.mm:
66009        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
66010            Add NSAccessibilityValueDescriptionAttribute to range attributes. 
66011        (-[AccessibilityObjectWrapper subrole]):
66012            Return NSAccessibilityTimelineSubrole for AccessibilityMediaTimeline.
66013
66014        * dom/Node.h:
66015            add isMediaControlElement.
66016
66017        * page/mac/WebCoreViewFactory.h:
66018        * platform/LocalizedStrings.h:
66019        * platform/mac/LocalizedStringsMac.mm:
66020        (WebCore::localizedMediaControlElementString): 
66021        (WebCore::localizedMediaControlElementHelpText):
66022        (WebCore::localizedMediaTimeDescription): 
66023            New, return localized media controller strings.
66024
66025        * platform/gtk/LocalizedStringsGtk.cpp:
66026        (WebCore::mediaElementLoadingStateText):
66027        (WebCore::mediaElementLiveBroadcastStateText):
66028            Move inside of "#if ENABLE(VIDEO)"
66029        (WebCore::localizedMediaControlElementString):
66030        (WebCore::localizedMediaControlElementHelpText):
66031        (WebCore::localizedMediaTimeDescription):
66032
66033        * rendering/MediaControlElements.cpp:
66034        (WebCore::MediaControlElement::MediaControlElement):
66035            Initialize m_displayType.
66036        (WebCore::MediaControlElement::MediaControlElement):
66037        (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
66038            Fix style.
66039        (WebCore::MediaControlInputElement::MediaControlInputElement):
66040            Set m_displayType based on pseudo style ID.
66041        (WebCore::MediaControlInputElement::MediaControlInputElement):
66042            rename local "o" to "object".
66043        (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
66044        (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
66045        (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
66046        (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement):
66047        (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement):
66048        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
66049        (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
66050        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
66051        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
66052        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
66053            Update for MediaControlInputElement constructor change.
66054        (WebCore::MediaControlTimeDisplayElement::formatTime):
66055            New, moved here from RenderMedia so AccessibilityMediaTimeDisplay can use it.
66056        (WebCore::MediaControlTimeDisplayElement::setCurrentValue):
66057            New, set text to current time.
66058        * rendering/MediaControlElements.h:
66059
66060        * rendering/RenderMedia.cpp:
66061        (WebCore::RenderMedia::updateControls):
66062            Create controls in tab order.
66063        (WebCore::RenderMedia::formatTime):
66064            Moved to MediaControlTimeDisplayElement::formatTime.
66065        (WebCore::RenderMedia::updateTimeDisplay):
66066            Call MediaControlTimeDisplayElement::setCurrentValue.
66067        * rendering/RenderMedia.h:
66068
660692009-08-25  Jian Li  <jianli@chromium.org>
66070
66071        Reviewed by David Levin.
66072
66073        [V8] Fix Canvas layout test failures in Chromium build.
66074        https://bugs.webkit.org/show_bug.cgi?id=28720
66075
66076        The previous fix r47757 does not handle the V8 object conversion correctly.
66077
66078        * bindings/v8/custom/V8DocumentCustom.cpp:
66079        (WebCore::CALLBACK_FUNC_DECL):
66080        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
66081        (WebCore::CALLBACK_FUNC_DECL):
66082
660832009-08-25  Jian Li  <jianli@chromium.org>
66084
66085        Reviewed by David Levin.
66086
66087        [V8] Fix compiling errors in Chromium build caused by Canvas3D changes from r47752.
66088        https://bugs.webkit.org/show_bug.cgi?id=28717
66089
66090        * bindings/v8/DOMObjectsInclude.h:
66091        * bindings/v8/DerivedSourcesAllInOne.cpp:
66092        * bindings/v8/V8Index.cpp:
66093        * bindings/v8/V8Index.h:
66094        * bindings/v8/custom/V8DocumentCustom.cpp:
66095        (WebCore::CALLBACK_FUNC_DECL):
66096        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
66097        (WebCore::CALLBACK_FUNC_DECL):
66098
660992009-08-25  Alpha Lam  <hclam@chromium.org>
66100
66101        Reviewed by David Levin.
66102
66103        [chromium] Implement media volume slider for chromium
66104        https://bugs.webkit.org/show_bug.cgi?id=28715
66105
66106        Provided the implementation of the volume slider and its container for
66107        chromium port. With this change there will be a usable volume control
66108        slider for chromium theme.
66109
66110        No new tests since this is covered by existing media layout tests.
66111
66112        * css/mediaControlsChromium.css: CSS style for the volume slider.
66113        * rendering/RenderThemeChromiumSkia.cpp:
66114        (WebCore::mediaSliderThumbImage): Returns the image for slider thumb.
66115        (WebCore::mediaVolumeSliderThumbImage): Returns the image for volume slider thumb.
66116        (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderTrack): Paints the track with one vertical white line.
66117        (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize): Adjusts thumb sizes according to the images.
66118        (WebCore::RenderThemeChromiumSkia::paintMediaSliderThumb): Paints slider thumb image.
66119        (WebCore::RenderThemeChromiumSkia::paintMediaVolumeSliderThumb): Paints volume slider thumb image.
66120
661212009-08-25  Chris Marrin  <cmarrin@apple.com>
66122
66123        Reviewed by Simon Fraser.
66124
66125        Missed checking in 2 Canvas3D files
66126        https://bugs.webkit.org/show_bug.cgi?id=28018
66127
66128        * bindings/js/JSCanvasRenderingContextCustom.cpp: Implements toJS to do proper subclass binding
66129        * bindings/js/JSCanvasRenderingContext3DCustom.cpp: Argument marshaling for 3D calls
66130
661312009-08-25  Mads Ager  <ager@chromium.org>
66132
66133        Reviewed by Adam Barth.
66134
66135        [V8] Exception from JavaScript propagates to main script
66136        https://bugs.webkit.org/show_bug.cgi?id=26433
66137
66138        Make sure that exceptions thrown both at compile time and at
66139        runtime in javascript URLs are isolated from the main script.
66140
66141        Test: fast/dom/javascript-url-exception-isolation.html
66142
66143        * bindings/v8/V8Proxy.cpp:
66144        (WebCore::V8Proxy::evaluate):
66145
661462009-08-25  Chris Marrin  <cmarrin@apple.com>
66147
66148        Reviewed by Simon Fraser.
66149
66150        Added all new Canvas3D files to the build
66151        https://bugs.webkit.org/show_bug.cgi?id=28018
66152
66153        This also hooks up CanvasRenderingContext as the common base class for
66154        CanvasRenderingContext2D and CanvasRenderingContext3D. And it adds a bit
66155        of logic throughout to support the new CanvasRenderingContext3D object.
66156        But nothing is hooked up yet.
66157
66158        * DerivedSources.make:
66159        * WebCore.pro:
66160        * WebCore.vcproj/WebCore.vcproj:
66161        * WebCore/GNUmakefile.am:
66162        * WebCore/WebCore.gypi:
66163        * WebCore/WebCoreSources.bkl:
66164        * WebCore.xcodeproj/project.pbxproj:
66165        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
66166        (WebCore::JSCanvasRenderingContext2D::strokeStyle):
66167        (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
66168        (WebCore::JSCanvasRenderingContext2D::fillStyle):
66169        (WebCore::JSCanvasRenderingContext2D::setFillStyle):
66170        (WebCore::JSCanvasRenderingContext2D::setFillColor):
66171        (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
66172        (WebCore::JSCanvasRenderingContext2D::strokeRect):
66173        (WebCore::JSCanvasRenderingContext2D::drawImage):
66174        (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
66175        (WebCore::JSCanvasRenderingContext2D::setShadow):
66176        (WebCore::JSCanvasRenderingContext2D::createPattern):
66177        (WebCore::JSCanvasRenderingContext2D::putImageData):
66178        (WebCore::JSCanvasRenderingContext2D::fillText):
66179        (WebCore::JSCanvasRenderingContext2D::strokeText):
66180        * bindings/js/JSDOMBinding.cpp:
66181        (WebCore::isObservableThroughDOM):
66182        * bindings/js/JSDocumentCustom.cpp:
66183        * bindings/js/JSHTMLCanvasElementCustom.cpp:
66184        (WebCore::JSHTMLCanvasElement::markChildren):
66185        * dom/Document.cpp:
66186        (WebCore::Document::getCSSCanvasContext):
66187        * dom/Document.h:
66188        * html/HTMLCanvasElement.cpp:
66189        (WebCore::HTMLCanvasElement::getContext):
66190        (WebCore::HTMLCanvasElement::willDraw):
66191        (WebCore::HTMLCanvasElement::reset):
66192        (WebCore::HTMLCanvasElement::paint):
66193        (WebCore::HTMLCanvasElement::is3D):
66194        (WebCore::HTMLCanvasElement::context3D):
66195        (WebCore::HTMLCanvasElement::texture3D):
66196        * html/HTMLCanvasElement.h:
66197        (WebCore::HTMLCanvasElement::renderingContext):
66198        * html/canvas/CanvasObject.cpp:
66199        (WebCore::CanvasObject::~CanvasObject):
66200        * html/canvas/CanvasRenderingContext.idl:
66201        * html/canvas/CanvasRenderingContext2D.cpp:
66202        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
66203        (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
66204        * html/canvas/CanvasRenderingContext2D.h:
66205        (WebCore::CanvasRenderingContext2D::is2d):
66206        * html/canvas/CanvasRenderingContext2D.idl:
66207        * html/canvas/CanvasRenderingContext3D.cpp:
66208        * html/canvas/CanvasRenderingContext3D.idl:
66209
662102009-08-25  Dan Bernstein  <mitz@apple.com>
66211
66212        Reviewed by Anders Carlsson.
66213
66214        REGRESSION (r47630): fast/repaint/background-generated.html is failing
66215        https://bugs.webkit.org/show_bug.cgi?id=28704
66216
66217        * rendering/RenderBoxModelObject.cpp:
66218        (WebCore::RenderBoxModelObject::calculateFillTileSize): Handle SizeNone.
66219        * rendering/style/FillLayer.cpp:
66220        (WebCore::FillLayer::FillLayer): Initialize the size type to SizeNone.
66221        * rendering/style/FillLayer.h:
66222        (WebCore::FillSize::FillSize): Changed assignment to initialization and
66223            removed redundant assignment to size.
66224
662252009-08-25  Yusuke Sato  <yusukes@chromium.org>
66226
66227        Reviewed by Darin Fisher.
66228
66229        [Chromium] Complex text doesn't show up with text stroking
66230        https://bugs.webkit.org/show_bug.cgi?id=28707
66231
66232        Skip the NULL check of m_hdc if Windows GDI is not in use.
66233
66234        * platform/graphics/chromium/FontChromiumWin.cpp:
66235        (WebCore::Font::drawComplexText):
66236
662372009-08-25  Alpha Lam  <hclam@chromium.org>
66238
66239        Reviewed by David Levin.
66240
66241        Media controls panel does not have a volume control slider
66242        https://bugs.webkit.org/show_bug.cgi?id=28241
66243
66244        Introduced "-webkit-media-controls-volume-slider",
66245        "-webkit-media-controls-volume-slider-container" and the supporting
66246        implementation. Also added appearances of "media-volume-slider" and
66247        "media-volume-slider-container".
66248
66249        The implementation of the controls are in WebCore::MediaControlElements.
66250        Logic to trigger the display of the volume controls are in WebCore::RenderMedia.
66251
66252        No new tests since this change doesn't have theme implementation and the
66253        volume slider is disabled by default.
66254
66255        * accessibility/AccessibilitySlider.cpp:
66256        (WebCore::AccessibilitySlider::orientation): Marks that volume slider is vertical.
66257        * css/CSSPrimitiveValueMappings.h:
66258        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added corresponding CSS values.
66259        * css/CSSSelector.cpp:
66260        (WebCore::CSSSelector::extractPseudoType): ditto.
66261        * css/CSSSelector.h:
66262        (WebCore::CSSSelector::): ditto.
66263        * css/CSSStyleSelector.cpp:
66264        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto.
66265        * css/CSSValueKeywords.in: ditto.
66266        * css/mediaControls.css: Makes the volume slider disabled by default.
66267        * platform/ThemeTypes.h: Defines theme parts for volume slider and its container.
66268        (WebCore::):
66269        * rendering/MediaControlElements.cpp:
66270        (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
66271        (WebCore::MediaControlVolumeSliderContainerElement::styleForElement):
66272        Adjust the CSS values for "display", "postion", "left" and "top" according to member variables.
66273        (WebCore::MediaControlVolumeSliderContainerElement::setVisible): Affects the "display" CSS value.
66274        (WebCore::MediaControlVolumeSliderContainerElement::setPosition): Affects the "left" and "top" CSS values.
66275        (WebCore::MediaControlVolumeSliderContainerElement::hitTest): Hit testing this element.
66276        (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
66277        (WebCore::MediaControlVolumeSliderElement::defaultEventHandler): Modifies the volume using the slider value, allows dragging.
66278        * rendering/MediaControlElements.h:
66279        (WebCore::): Added definition for MediaControlVolumeSliderElement and MediaControlVolumeSliderContainerElement.
66280        (WebCore::MediaControlVolumeSliderContainerElement::isVisible): Inline getter.
66281        * rendering/RenderMedia.cpp:
66282        (WebCore::RenderMedia::styleDidChange): Updates styles for volume container and volume slider.
66283        (WebCore::RenderMedia::createVolumeSliderContainer): Creates volume slider container and attach to panel.
66284        (WebCore::RenderMedia::createVolumeSlider): Creates volume slider and attach to volume slider container.
66285        (WebCore::RenderMedia::updateControls): Updates volume container and volume slider.
66286        (WebCore::RenderMedia::updateVolumeSliderContainer): Sets the visibility and position of volume slider container and its child.
66287        (WebCore::RenderMedia::forwardEvent):
66288        Hit testing the volume slider container and volume slider to toggle the visibility and forward events to slider.
66289        * rendering/RenderMedia.h:
66290        Added definition for RenderMedia::updateVolumeSliderContainer().
66291        * rendering/RenderMediaControls.cpp:
66292        (WebCore::RenderMediaControls::paintMediaControlsPart): Not implemented.
66293        * rendering/RenderSlider.cpp:
66294        (WebCore::RenderSlider::createThumbStyle): Makes volume slider vertical.
66295        (WebCore::RenderSlider::thumbRect): ditto.
66296        (WebCore::RenderSlider::mouseEventIsInThumb): ditto.
66297        (WebCore::RenderSlider::setValueForPosition): ditto.
66298        (WebCore::RenderSlider::positionForOffset): ditto.
66299        (WebCore::RenderSlider::currentPosition): ditto.
66300        (WebCore::RenderSlider::trackSize): ditto.
66301        * rendering/RenderTheme.cpp:
66302        (WebCore::RenderTheme::adjustStyle): Adjust style for volume slider thumb.
66303        (WebCore::RenderTheme::paint): Paints volume control parts using theme.
66304        * rendering/RenderTheme.h:
66305        (WebCore::RenderTheme::paintMediaVolumeSliderContainer): Naive implementation to be overridden.
66306        (WebCore::RenderTheme::paintMediaVolumeSliderTrack): ditto.
66307        (WebCore::RenderTheme::paintMediaVolumeSliderThumb): ditto.
66308        * rendering/style/RenderStyleConstants.h:
66309        (WebCore::): Constants for volume control parts.
66310
663112009-08-25  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
66312
66313        Reviewed by Ariya Hidayat.
66314
66315        [Qt/Mac] Use CONFIG+=build_all only when building libraries
66316
66317        If no configuration is specified when building WebKit we pass the
66318        debug_and_release option to QMake which results in Makefiles for
66319        both configurations being generated.
66320
66321        Previously we built both of these configurations by default, for
66322        all targets (both the QtWebKit framework/dyldlib and the various
66323        executables such as QtLauncher and tests). This makes sense for
66324        the libraries, which get the _debug suffix and can be loaded on
66325        demand by setting the DYLD_IMAGE_SUFFIX, but for executables we
66326        ended up building the same executable twice.
66327
66328        We now only build one instance of each executable, and since this
66329        is a developer build we build the debug-version. Passing either
66330        --debug or --release to build-webkit will override this, and
66331        even in the default case the release version can still be built
66332        by running 'make release' in the the build directory of each
66333        target.
66334
66335        * WebCore.pro:
66336
663372009-08-25  Xan Lopez  <xlopez@igalia.com>
66338
66339        Reviewed by Jan Alonzo.
66340
66341        https://bugs.webkit.org/show_bug.cgi?id=28690
66342        Build failure in webkitgtk+-1.1.3
66343
66344        Do not use deprecated function to unref a pixbuf.
66345
66346        * platform/gtk/CursorGtk.cpp:
66347        (WebCore::Cursor::Cursor):
66348
663492009-08-24  Hironori Bono  <hbono@chromium.org>
66350
66351        Reviewed by Adam Barth.
66352
66353        Fix Bug 27827 "[Chromium] Functions Keys don't work in google spreadsheet".
66354        <https://bugs.webkit.org/show_bug.cgi?id=27827>.
66355
66356        Because of the lack of mappings from GDK key-codes to WebKit key-codes,
66357        Chromium cannot send valid key-codes to JavaScript when a user types
66358        function keys. This change just copies the mappings from 'KeyEventGtk.cpp'.
66359
66360        To write layout tests for this issue, added mappings from function-key
66361        names to platform-specific key-codes to EventSendingController objects
66362        so that eventSender.keyDown() can send function-key events without using
66363        platform-specific key codes. (Unfortunately, this eventSender.keyDown() change
66364        is only for Mac. So this change adds this new test to Skipped tests for other
66365        platforms to prevent this change from crashing the build trees.)
66366
66367        Test: fast/events/keydown-function-keys.html
66368
66369       * platform/chromium/KeyCodeConversionGtk.cpp: Add mappings from GDK key-codes
66370        to WebKit key-code for function keys.
66371        (WebCore::windowsKeyCodeForKeyEvent):
66372
663732009-08-24  Antti Koivisto  <antti@apple.com>
66374
66375        Reviewed by Simon Fraser.
66376        
66377        https://bugs.webkit.org/show_bug.cgi?id=28698
66378        Avoid unnecessary transformations for the window resizer rect.
66379
66380        * platform/Scrollbar.cpp:
66381        (WebCore::Scrollbar::setFrameRect):
66382
663832009-08-24  Alexey Proskuryakov  <ap@apple.com>
66384
66385        Reviewed by Anders Carlsson.
66386
66387        <rdar://problem/7161900> REGRESSION: 100 MB membuster leak on windows due to 47391
66388        (DNS prefetching support)
66389
66390        * platform/network/cf/DNSCFNet.cpp: (WebCore::prefetchDNS): Use a run loop from secondary
66391        thread on Windows, because there isn't one on main one.
66392
663932009-08-24  Alexey Proskuryakov  <ap@apple.com>
66394
66395        Reviewed by Darin Adler.
66396
66397        https://bugs.webkit.org/show_bug.cgi?id=28374
66398        Cross-scheme requests should not be blocked by appcache rules
66399
66400        Test: http/tests/appcache/different-scheme.html
66401
66402        * loader/appcache/ApplicationCacheHost.cpp:
66403        (WebCore::ApplicationCacheHost::shouldLoadResourceFromApplicationCache):
66404        Resources with different schemes can never be loaded from appcache.
66405
664062009-08-24  Alexey Proskuryakov  <ap@apple.com>
66407
66408        Reviewed by Darin Adler and Sam Weinig.
66409
66410        https://bugs.webkit.org/show_bug.cgi?id=28688
66411        REGRESSION(r24994): Cannot create a frame with a javascript URL
66412
66413        Test: http/tests/security/javascriptURL/javascriptURL-in-new-iframe.html
66414
66415        * bindings/js/JSAttrCustom.cpp: (WebCore::JSAttr::setValue):
66416        * bindings/js/JSElementCustom.cpp: (WebCore::allowSettingSrcToJavascriptURL):
66417        * bindings/js/JSHTMLFrameElementCustom.cpp: (WebCore::allowSettingJavascriptURL):
66418        * bindings/js/JSHTMLIFrameElementCustom.cpp: (WebCore::JSHTMLIFrameElement::setSrc):
66419        Omit the checks if there is no document in frame yet.
66420
664212009-08-24  Nate Chapin  <japhet@chromium.org>
66422
66423        Reviewed by Eric Seidel.
66424
66425        Fix crash in fast/css/rem-dynamic-scaling.html due to a freed
66426        RenderStyle being accessed.
66427
66428        https://bugs.webkit.org/show_bug.cgi?id=28681
66429
66430        * dom/Element.cpp:
66431        (WebCore::Element::recalcStyle): Make currentStyle a RefPtr.
66432
664332009-08-24  Dan Bernstein  <mitz@apple.com>
66434
66435        Reviewed by Simon Fraser.
66436
66437        <rdar://problem/5743105> Long freezing during loading and selecting text
66438        of a large table
66439        https://bugs.webkit.org/show_bug.cgi?id=14918
66440
66441        * rendering/RenderView.cpp:
66442        (WebCore::RenderView::setSelection): Added calls to
66443            beginDeferredRepaints() and endDeferredRepaints() around the
66444            invalidation of the selection, in order to better coalesce multiple
66445            invalid rectangles.
66446
664472009-08-24  Pavel Feldman  <pfeldman@chromium.org>
66448
66449        Reviewed by Timothy Hatcher.
66450
66451        WebInspector: Simplify findTreeElement code, get rid of potential infinite loop.
66452
66453        https://bugs.webkit.org/show_bug.cgi?id=28680
66454
66455        * inspector/front-end/ElementsPanel.js:
66456        (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
66457        * inspector/front-end/ElementsTreeOutline.js:
66458        (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
66459        * inspector/front-end/treeoutline.js:
66460        (TreeOutline.prototype.getCachedTreeElement):
66461        (TreeOutline.prototype.findTreeElement):
66462        * inspector/front-end/utilities.js:
66463        (isAncestorNode):
66464        ():
66465
664662009-08-24  Pavel Feldman  <pfeldman@chromium.org>
66467
66468        Reviewed by Timothy Hatcher.
66469
66470        WebInspector: Do expand local scope when hitting the break
66471
66472        https://bugs.webkit.org/show_bug.cgi?id=28678
66473
66474        * inspector/front-end/ScopeChainSidebarPane.js:
66475        (WebInspector.ScopeChainSidebarPane.prototype.update):
66476
664772009-08-24  Ada Chan  <adachan@apple.com>
66478
66479        Reviewed by Steve Falkenburg.
66480
66481        Make sure we use the current FrameView's frame rect when
66482        going back to a cached page.
66483        
66484        https://bugs.webkit.org/show_bug.cgi?id=28659
66485
66486        * loader/FrameLoader.cpp:
66487        (WebCore::FrameLoader::open):
66488
664892009-08-24  Cameron McCormack  <cam@mcc.id.au>
66490
66491        Reviewed by Darin Adler.
66492
66493        Modifying <text rotate=""> doesn't clear the corresponding SVGAnimatedNumberList
66494        https://bugs.webkit.org/show_bug.cgi?id=28673
66495
66496        Test: svg/dom/text-rotate-live.html
66497
66498        * svg/SVGNumberList.cpp:
66499        (WebCore::SVGNumberList::parse): Clear the list before adding the parsed
66500        numbers.
66501
665022009-08-24  Simon Fraser  <simon.fraser@apple.com>
66503
66504        Reviewed by NOBODY (build fix)
66505
66506        Turn off ENABLE_3D_CANVAS in the xconfig files.
66507
66508        * Configurations/FeatureDefines.xcconfig:
66509
665102009-08-24  Pavel Feldman  <pfeldman@chromium.org>
66511
66512        Reviewed by Timothy Hatcher.
66513
66514        WebInspector: Only expand local scope when hitting the break
66515
66516        https://bugs.webkit.org/show_bug.cgi?id=28678
66517
66518        * inspector/front-end/ScopeChainSidebarPane.js:
66519        (WebInspector.ScopeChainSidebarPane.prototype.update):
66520
665212009-08-24  Dan Bernstein  <mitz@apple.com>
66522
66523        Reviewed by Simon Fraser.
66524
66525        background-size fails to parse if a single length/percentage/auto is followed by a comma
66526        https://bugs.webkit.org/show_bug.cgi?id=28674
66527
66528        * css/CSSParser.cpp:
66529        (WebCore::CSSParser::parseFillSize): Added an allowComma parameter,
66530            which is set to false when this method consumes a comma. Moved
66531            handling of 'contain' and 'cover' from parseFillProperty into this
66532            method.
66533        (WebCore::CSSParser::parseFillProperty): Set allowComma to true before
66534            processing the next value, and pass allowComma to parseFillSize.
66535        * css/CSSParser.h:
66536
665372009-08-17  Martin Robinson  <martin.james.robinson@gmail.com>
66538
66539        Reviewed by Gustavo Noronha.
66540
66541        [GTK] Support for cursors that are images
66542        https://bugs.webkit.org/show_bug.cgi?id=28346
66543
66544        Added support for cursors which are images for CursorGtk. Added
66545        a manual test for this.
66546
66547        * manual-tests/gtk/cursor-image.html: Added.
66548        * manual-tests/gtk/resources/redcursor.cur: Added.
66549        * platform/gtk/CursorGtk.cpp:
66550        (WebCore::Cursor::Cursor):
66551
665522009-08-24  Zan Dobersek  <zandobersek@gmail.com>
66553
66554        Reviewed by Gustavo Noronha.
66555
66556        [GTK] Integrate GStreamer video with the graphics backend
66557        https://bugs.webkit.org/show_bug.cgi?id=16356
66558
66559        Improves GStreamer backend implementation of MediaPlayerPrivate class.
66560
66561        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
66562        (WebCore::mediaPlayerPrivateErrorCallback): Send proper MediaPlayer
66563        error for different GStreamer errors to MediaPlayerPrivate.
66564        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Move static
66565        initialization boolean to a better place.
66566        (WebCore::MediaPlayerPrivate::play):
66567        (WebCore::MediaPlayerPrivate::pause):
66568        (WebCore::MediaPlayerPrivate::duration): Return if error occured, do not
66569        consider the source as stream if duration query failed.
66570        (WebCore::MediaPlayerPrivate::currentTime): Return if error occured, use
66571        an early return.
66572        (WebCore::MediaPlayerPrivate::seek): Return if error occured.
66573        (WebCore::MediaPlayerPrivate::setEndTime): Remove implementation since this
66574        function doesn't seem to be used anywhere in WebCore.
66575        (WebCore::MediaPlayerPrivate::paused):
66576        (WebCore::MediaPlayerPrivate::seeking):
66577        (WebCore::MediaPlayerPrivate::setRate): Seek to current time when rate is set.
66578        (WebCore::MediaPlayerPrivate::maxTimeBuffered): Return if error occured.
66579        (WebCore::MediaPlayerPrivate::maxTimeSeekable): Ditto.
66580        (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto.
66581        (WebCore::MediaPlayerPrivate::bytesLoaded):
66582        (WebCore::MediaPlayerPrivate::totalBytesKnown):
66583        (WebCore::MediaPlayerPrivate::totalBytes): Ditto.
66584        (WebCore::MediaPlayerPrivate::updateStates): Return if error occured, update
66585        after seek ended with a successful change
66586        (WebCore::MediaPlayerPrivate::didEnd): Do not pause the playbin when end is reached.
66587        (WebCore::MediaPlayerPrivate::loadingFailed): Update network state with the given error.
66588        (WebCore::mimeTypeCache): Gather supported mime types from GStreamer.
66589        (WebCore::MediaPlayerPrivate::getSupportedTypes):
66590        (WebCore::MediaPlayerPrivate::supportsType):
66591        (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
66592        (WebCore::MediaPlayerPrivate::supportsFullscreen): First step towards fullscreen
66593        support.
66594        (WebCore::MediaPlayerPrivate::createGSTPlayBin): Use playbin2 instead of playbin,
66595        do not set playbin's audio sink.
66596        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
66597        * platform/graphics/gtk/VideoSinkGStreamer.cpp:
66598        (webkit_video_sink_idle_func): Use C+casts, decrease reference count of async
66599        queue at the end of the idle function.
66600        (webkit_video_sink_render): Increase reference count of async queue.
66601        (webkit_video_sink_stop): Remove any idle functions with the sink as data.
66602
666032009-08-23  Chris Marrin  <cmarrin@apple.com>
66604
66605        Reviewed by Simon Fraser.
66606
66607        Remaining new files for Canvas3D
66608        https://bugs.webkit.org/show_bug.cgi?id=28018
66609
66610        * bindings/js/JSHTMLCanvasElementCustom.cpp: Added Canvas3D method behind an ifdef
66611        * html/canvas/CanvasByteArray.cpp: Added. Efficient array of bytes for passing to GL functions
66612        * html/canvas/CanvasByteArray.h: Added.
66613        * html/canvas/CanvasByteArray.idl: Added.
66614        * html/canvas/CanvasNumberArray.cpp: Added. Efficient array of 32 bit floats for passing to GL functions
66615        * html/canvas/CanvasNumberArray.h: Added.
66616        * html/canvas/CanvasNumberArray.idl: Added.
66617
666182009-08-24  Pavel Feldman  <pfeldman@chromium.org>
66619
66620        Reviewed by Timothy Hatcher.
66621
66622        WebInspector: Migrate call frames interaction to the InjectedScript-based schema.
66623
66624        https://bugs.webkit.org/show_bug.cgi?id=28408
66625
66626        * inspector/front-end/CallStackSidebarPane.js:
66627        (WebInspector.CallStackSidebarPane.prototype.update):
66628        * inspector/front-end/ConsoleView.js:
66629        (WebInspector.ConsoleView.prototype.doEvalInWindow):
66630        (WebInspector.ConsoleTextMessage):
66631        * inspector/front-end/DOMAgent.js:
66632        (WebInspector.DOMAgent.prototype.get domWindow):
66633        (InspectorController.openInInspectedWindow):
66634        (InspectorController.getCallFrames):
66635        (InspectorController.evaluateInCallFrame):
66636        * inspector/front-end/ElementsPanel.js:
66637        (WebInspector.ElementsPanel.prototype.reset):
66638        (WebInspector.ElementsPanel.prototype.generateStylesheet):
66639        * inspector/front-end/InjectedScript.js:
66640        (InjectedScript.evaluate):
66641        (InjectedScript._evaluateOn):
66642        (InjectedScript.openInInspectedWindow):
66643        (InjectedScript.getCallFrames):
66644        (InjectedScript.evaluateInCallFrame):
66645        (InjectedScript._callFrameForId):
66646        (InjectedScript._objectForId):
66647        (InjectedScript.CallFrameProxy):
66648        (InjectedScript.CallFrameProxy.prototype._wrapScopeChain):
66649        * inspector/front-end/ObjectPropertiesSection.js:
66650        (WebInspector.ObjectPropertiesSection.prototype._update):
66651        * inspector/front-end/ObjectProxy.js:
66652        (WebInspector.ObjectPropertyProxy):
66653        * inspector/front-end/ResourcesPanel.js:
66654        (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick):
66655        * inspector/front-end/ScopeChainSidebarPane.js:
66656        (WebInspector.ScopeChainSidebarPane):
66657        (WebInspector.ScopeChainSidebarPane.prototype.update):
66658        (WebInspector.ScopeVariableTreeElement.prototype.onattach):
66659        (WebInspector.ScopeVariableTreeElement.prototype.onexpand):
66660        (WebInspector.ScopeVariableTreeElement.prototype.oncollapse):
66661        * inspector/front-end/ScriptsPanel.js:
66662        (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
66663        (WebInspector.ScriptsPanel.prototype.variablesInSelectedCallFrame):
66664        (WebInspector.ScriptsPanel.prototype.debuggerPaused.callback):
66665        (WebInspector.ScriptsPanel.prototype.debuggerPaused):
66666
666672009-08-24  Kent Tamura  <tkent@chromium.org>
66668
66669        Reviewed by Eric Seidel.
66670
66671        Add support for the placeholder attribute and DOM property of the textarea element.
66672        https://bugs.webkit.org/show_bug.cgi?id=21248
66673
66674        A DOM node for an INPUT element doesn't have a flag for placeholder
66675        visibility anymore.  This patch also fixes a bug that a renderer
66676        doesn't reflect a corresponding DOM value change.
66677
66678        Tests: fast/forms/textarea-placeholder-dom-property.html
66679               fast/forms/textarea-placeholder-pseudo-style.html
66680               fast/forms/textarea-placeholder-set-attribute.html
66681               fast/forms/textarea-placeholder-set-value.html
66682
66683        * css/html.css: Add the default style for placeholder of textarea.
66684        * dom/InputElement.cpp: Cleanup for m_placeholderShouldBeVisible removal
66685        (WebCore::InputElement::dispatchFocusEvent):
66686        (WebCore::InputElement::dispatchBlurEvent):
66687        (WebCore::InputElement::placeholderShouldBeVisible):
66688        (WebCore::InputElement::updatePlaceholderVisibility):
66689        (WebCore::InputElement::setValueFromRenderer):
66690        (WebCore::InputElementData::InputElementData):
66691        * dom/InputElement.h:
66692        * html/HTMLInputElement.cpp:
66693        (WebCore::HTMLInputElement::dispatchFocusEvent):
66694        (WebCore::HTMLInputElement::dispatchBlurEvent):
66695        (WebCore::HTMLInputElement::setValue):
66696        (WebCore::HTMLInputElement::placeholderShouldBeVisible):
66697        * html/HTMLInputElement.h:
66698        (WebCore::HTMLInputElement::updatePlaceholderVisibility):
66699        * html/HTMLTextAreaElement.cpp:
66700        (WebCore::HTMLTextAreaElement::parseMappedAttribute):
66701        (WebCore::HTMLTextAreaElement::setValue):
66702        (WebCore::HTMLTextAreaElement::placeholderShouldBeVisible):
66703        (WebCore::HTMLTextAreaElement::updatePlaceholderVisibility):
66704        (WebCore::HTMLTextAreaElement::dispatchFocusEvent):
66705        (WebCore::HTMLTextAreaElement::dispatchBlurEvent):
66706        * html/HTMLTextAreaElement.h:
66707        * html/HTMLTextAreaElement.idl:
66708        * rendering/RenderTextControl.cpp:
66709        (WebCore::RenderTextControl::RenderTextControl):
66710        (WebCore::RenderTextControl::styleDidChange):
66711        (WebCore::RenderTextControl::setInnerTextStyle):
66712        (WebCore::RenderTextControl::updatePlaceholderVisibility):
66713        * rendering/RenderTextControl.h:
66714        * rendering/RenderTextControlMultiLine.cpp:
66715        (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine):
66716        (WebCore::RenderTextControlMultiLine::nodeAtPoint):
66717        (WebCore::RenderTextControlMultiLine::updateFromElement):
66718        (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
66719        (WebCore::RenderTextControlMultiLine::textBaseStyle):
66720        * rendering/RenderTextControlMultiLine.h:
66721        * rendering/RenderTextControlSingleLine.cpp:
66722        (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
66723        (WebCore::RenderTextControlSingleLine::textBaseStyle):
66724        (WebCore::RenderTextControlSingleLine::updateFromElement):
66725        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
66726        * rendering/RenderTextControlSingleLine.h:
66727        * wml/WMLInputElement.cpp:
66728        (WebCore::WMLInputElement::dispatchFocusEvent):
66729        (WebCore::WMLInputElement::dispatchBlurEvent):
66730        (WebCore::WMLInputElement::setValue):
66731        (WebCore::WMLInputElement::placeholderShouldBeVisible):
66732
667332009-08-23  Dirk Schulze  <krit@webkit.org>
66734
66735        Reviewed by Mark Rowe.
66736
66737        Code clean-up and build fix for filters enabled builds. Moved SVGNames.h
66738        into #if ENABLE(SVG) for Document.cpp and added SVGNames.h to the other
66739        files. They are needed there after r47688.
66740
66741        * dom/Document.cpp:
66742        * svg/SVGComponentTransferFunctionElement.h:
66743        * svg/SVGFELightElement.h:
66744        * svg/SVGFEMergeNodeElement.h:
66745        * svg/SVGFilterPrimitiveStandardAttributes.h:
66746
667472009-08-23  Gustavo Noronha Silva  <gns@gnome.org>
66748
66749        Unreviewed, build fix for make distcheck on GTK+.
66750
66751        * GNUmakefile.am: Added files needed for the build.
66752        * bindings/js/JSDOMWindowCustom.cpp: Protect SharedWorker include
66753        with #if clause.
66754        * bindings/js/JSEventTarget.cpp: Dito.
66755        * dom/Document.cpp: Dito.
66756        * loader/FrameLoader.cpp: Dito.
66757
667582009-08-23  Joseph Pecoraro  <joepeck@webkit.org>
66759
66760        Reviewed by Timothy Hatcher.
66761
66762        Inspector: Throws an Error on "null"
66763        https://bugs.webkit.org/show_bug.cgi?id=28665
66764
66765        * inspector/front-end/InjectedScript.js:
66766        (InjectedScript.evaluate):
66767
667682009-08-23  Pavel Feldman  <pfeldman@chromium.org>
66769
66770        Reviewed by Timothy Hatcher.
66771
66772        Inspector: REGRESSION Formatting Function in Console is Abbreviated Too Often
66773
66774        https://bugs.webkit.org/show_bug.cgi?id=28666
66775
66776        * inspector/front-end/InjectedScript.js:
66777        (InjectedScript.getProperties):
66778        (InjectedScript.createProxyObject):
66779
667802009-08-22  Martin Robinson  <martin.james.robinson@gmail.com>
66781
66782        Reviewed by Xan Lopez.
66783
66784        [GTK] BitmapImage::getGdkPixbuf does not handle alpha channels properly
66785        https://bugs.webkit.org/show_bug.cgi?id=28345
66786
66787        When doing the conversion between cairo_surface_t* and GdkPixbuf*
66788        account for the differences in the respective formats' in-memory
66789        image format.
66790
66791        * platform/graphics/gtk/ImageGtk.cpp:
66792        (WebCore::getCairoSurfacePixel):
66793        (WebCore::getGdkPixbufPixel):
66794        (WebCore::BitmapImage::getGdkPixbuf):
66795
667962009-08-22  Darin Adler  <darin@apple.com>
66797
66798        Reviewed by Oliver Hunt.
66799
66800        Make DOM classes start with a reference count of 1, like all other RefCounted
66801        
66802        Next step: Element, HTMLElement, HTMLAnchorElement, HTMLAppletElement,
66803        HTMLAreaElement, HTMLEmbedElement, HTMLFrameElement, HTMLIFrameElement,
66804        HTMLObjectElement, HTMLPlugInElement, HTMLPlugInImageElement.
66805
66806        * DerivedSources.make: Fix error seen every time we build by escaping the $
66807        in the build rule, since you have to use $$ for that in make.
66808
66809        * WebCore.base.exp: Updated.
66810
66811        * bindings/objc/DOM.mm:
66812        Added now-needed include of SVGNames.h.
66813
66814        * dom/Document.cpp: Added now-needed include of SVGNames.h.
66815        (WebCore::Document::createElement): Use create instead of new.
66816
66817        * dom/Element.cpp:
66818        (WebCore::Element::Element): Added ConstructionType argument so the caller
66819        can determine whether this starts with a reference count of either 0 or 1.
66820        Later we will remove this again once they are all 1.
66821        (WebCore::Element::create): Added.
66822
66823        * dom/Element.h: Added create and made constructor protected.
66824
66825        * dom/StyledElement.cpp:
66826        (WebCore::StyledElement::StyledElement): Added ConstructionType argument.
66827        * dom/StyledElement.h: Made many functions protected or private, including
66828        the constructor.
66829
66830        * dom/make_names.pl: Use create to create the base elements HTMLElement,
66831        SVGElement, and WMLElement.
66832
66833        * editing/CreateLinkCommand.cpp:
66834        (WebCore::CreateLinkCommand::doApply): Use create instead of new.
66835        * editing/UnlinkCommand.cpp:
66836        (WebCore::UnlinkCommand::doApply): Ditto.
66837
66838        * html/HTMLAnchorElement.cpp:
66839        (WebCore::HTMLAnchorElement::create): Added.
66840        * html/HTMLAnchorElement.h: Made constructor protected and added create.
66841        Also made m_rootEditableElementForSelectionOnMouseDown a RefPtr.
66842
66843        * html/HTMLAppletElement.cpp:
66844        (WebCore::HTMLAppletElement::create): Added.
66845        * html/HTMLAppletElement.h: Made constructor private and added create.
66846
66847        * html/HTMLAreaElement.cpp:
66848        (WebCore::HTMLAreaElement::create): Added.
66849        * html/HTMLAreaElement.h: Made constructor private and added create.
66850
66851        * html/HTMLElement.cpp:
66852        (WebCore::HTMLElement::create): Added.
66853        * html/HTMLElement.h: Made constructor protected and added create.
66854        Made other functions protected and private. Also added inline
66855        definition of constructor.
66856
66857        * html/HTMLEmbedElement.cpp:
66858        (WebCore::HTMLEmbedElement::create): Added.
66859        * html/HTMLEmbedElement.h: Made constructor private and added create.
66860        Made other functions private.
66861
66862        * html/HTMLFrameElement.cpp:
66863        (WebCore::HTMLFrameElement::create): Added.
66864        (WebCore::HTMLFrameElement::parseMappedAttribute):
66865        * html/HTMLFrameElement.h: Made constructor private and added create.
66866        Made other functions private.
66867
66868        * html/HTMLFrameElementBase.h: Made functions protected and private.
66869
66870        * html/HTMLFrameOwnerElement.cpp:
66871        (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): Pass
66872        CreateElement so reference count starts at 1.
66873
66874        * html/HTMLFrameOwnerElement.h: Made functions protected and private.
66875
66876        * html/HTMLIFrameElement.cpp:
66877        (WebCore::HTMLIFrameElement::create): Added.
66878        * html/HTMLIFrameElement.h: Made constructor private and added create.
66879        Made other functions private.
66880
66881        * html/HTMLObjectElement.cpp:
66882        (WebCore::HTMLObjectElement::create): Added.
66883        (WebCore::HTMLObjectElement::containsJavaApplet): Changed while loop
66884        into a for loop and tweaked formatting.
66885
66886        * html/HTMLObjectElement.h: Made constructor private and added create.
66887        Made other functions private.
66888
66889        * html/HTMLPlugInElement.h: Made constructor protected.
66890        Made other functions protected and private.
66891
66892        * html/HTMLPlugInImageElement.h: Made constructor and another function
66893        protected.
66894
66895        * html/HTMLTagNames.in: Removed createWithNew from all classes that
66896        now have create functions. Moved conditional noscript to a separate
66897        paragraph.
66898
66899        * html/HTMLViewSourceDocument.cpp:
66900        (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Use create.
66901        (WebCore::HTMLViewSourceDocument::addLink): Ditto.
66902        * page/DragController.cpp:
66903        (WebCore::documentFragmentFromDragData): Ditto.
66904
66905        * svg/SVGElement.cpp:
66906        (WebCore::SVGElement::SVGElement): Pass CreateElementZeroRefCount
66907        so reference count still starts at 0. Will change this class later.
66908        (WebCore::SVGElement::create): Added.
66909        * svg/SVGElement.h: Added create, made constructor protected, and
66910        made other functions protected and private. Removed unneeded
66911        SVGNames.h include.
66912
66913        * svg/SVGExternalResourcesRequired.h: Added now-needed SVGNames.h
66914        include.
66915
66916        * svg/SVGStopElement.h: Added now-needed SVGNames.h include.
66917        Made functions private.
66918
66919        * wml/WMLElement.cpp:
66920        (WebCore::WMLElement::WMLElement): Pass CreateElementZeroRefCount
66921        so reference count still starts at 0. Will change this class later.
66922        (WebCore::WMLElement::create): Added.
66923        * wml/WMLElement.h: Added create and made constructor protected.
66924
66925        * wml/WMLTagNames.in: Removed createWithNew from WMLElement.
66926
669272009-08-22  Adele Peterson  <adele@apple.com>
66928
66929        Reviewed by Anders Carlsson.
66930
66931        Fix for <rdar://problem/7161656> Crash in RenderObject::destroy when using custom scrollbars
66932
66933        Custom scrollbars normally get detached when a document gets detached.  In this case, a crash was happening when the document had gone into the page cache 
66934        and then was getting destroyed without proper scrollbar teardown.  This change makes custom scrollbars get detached when the document enters the cache.
66935
66936        I couldn't figure out a way to reliably cause this to happen in DRT, since the reproducible case relies on the cache being purged at a particular time.
66937
66938        * history/CachedFrame.cpp: (WebCore::CachedFrame::CachedFrame): Detach custom scrollbars when the CachedFrame is created.  
66939          They'll get reattached when the document comes out of the page cache.
66940        * page/FrameView.cpp: (WebCore::FrameView::~FrameView): Added some asserts to catch this problem earlier in debug builds.
66941
669422009-08-22  David Hyatt  <hyatt@apple.com>
66943
66944        Reviewed by Dan Bernstein.
66945
66946        Make sure self-collapsing blocks that clear floats are still able to collapse their bottom margins with
66947        the bottom of their parent blocks.  The old code prevented all collapsing, but all CSS2.1 states is that:
66948        "An element that has had clearance applied to it never collapses its top margin with its parent block's bottom margin."
66949        
66950        The implication is that the bottom margin can still collapse, and the block-inside-inline form of
66951        fast/block/margin-collapse/025.html (added as fast/block/margin-collapse/block-inside-inline/025.html) depends
66952        on it to get comparable results.
66953
66954        Added block-inside-inline tests (a whole slew of them) in fast/block/margin-collapse/block-inside-inline/
66955
66956        * rendering/RenderBlock.cpp:
66957        (WebCore::RenderBlock::MarginInfo::MarginInfo):
66958        (WebCore::RenderBlock::collapseMargins):
66959        (WebCore::RenderBlock::clearFloatsIfNeeded):
66960        (WebCore::RenderBlock::handleBottomOfBlock):
66961        * rendering/RenderBlock.h:
66962        (WebCore::RenderBlock::MarginInfo::clearMargin):
66963        (WebCore::RenderBlock::MarginInfo::canCollapseBottomWithChildren):
66964
669652009-08-22  Chris Fleizach  <cfleizach@apple.com>
66966
66967        Reviewed by Darin Adler.
66968
66969        Need to implement ARIA role="listitem" and role="list"
66970        https://bugs.webkit.org/show_bug.cgi?id=28606
66971
66972        Test: platform/mac-snowleopard/accessibility/aria-list-and-listitem.html
66973
66974        * accessibility/AXObjectCache.cpp:
66975        (WebCore::AXObjectCache::getOrCreate):
66976        * accessibility/AccessibilityList.cpp:
66977        (WebCore::AccessibilityList::isUnorderedList):
66978        * accessibility/AccessibilityRenderObject.cpp:
66979        (WebCore::RoleEntry::):
66980
669812009-08-21  Dan Bernstein  <mitz@apple.com>
66982
66983        Reviewed by Darin Adler.
66984
66985        Clean up fill image geometry calculation
66986        https://bugs.webkit.org/show_bug.cgi?id=28652
66987
66988        * rendering/RenderBoxModelObject.cpp:
66989        (WebCore::RenderBoxModelObject::calculateFillTileSize): Renamed
66990            calculateBackgroundSize() to this. Replaced separate scaledWidth and
66991            scaledHeight parameters with a single scaledSize parameter. Renamed
66992            parameters and local variables.
66993        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Changed
66994            to use CSS3 Backgrounds and Borders terminology in comments and
66995            local variable names. Renamed, clarified and consolidated some local
66996            variables.
66997        * rendering/RenderBoxModelObject.h: Made calculateFillTileSize() private.
66998
669992009-08-22  Chris Marrin  <cmarrin@apple.com>
67000
67001        Unreviewed, build fix.
67002
67003        Backing out http://trac.webkit.org/changeset/47669
67004
67005        * html/canvas/CanvasRenderingContext2D.cpp:
67006        * html/canvas/CanvasRenderingContext2D.h:
67007
670082009-08-22  Dimitri Glazkov  <dglazkov@chromium.org>
67009
67010        Unreviewed, build fix.
67011
67012        Backing out http://trac.webkit.org/changeset/47671 in preparation of
67013        rolling out http://trac.webkit.org/changeset/47669.
67014
670152009-08-22  Dimitri Glazkov  <dglazkov@chromium.org>
67016
67017        Reviewed by Anders Carlsson.
67018
67019        Build fix, add CanvasRenderingContext to build systems.
67020        https://bugs.webkit.org/show_bug.cgi?id=28018
67021
67022        * DerivedSources.make: Added CanvasRenderinContext.
67023        * GNUmakefile.am: Ditto.
67024        * WebCore.gypi: Ditto.
67025        * WebCore.pro: Ditto.
67026        * WebCore.xcodeproj/project.pbxproj: Ditto.
67027        * WebCoreSources.bkl: Ditto.
67028
670292009-08-21  Chris Marrin  <cmarrin@apple.com>
67030
67031        Reviewed by Oliver Hunt.
67032
67033        New files implementing GL buffer wrappers, and support to make them platform independent
67034        https://bugs.webkit.org/show_bug.cgi?id=28018
67035
67036        * html/canvas/CanvasBuffer.cpp: Added. Wrapper around GL Buffer object
67037        * html/canvas/CanvasBuffer.h: Added.
67038        * html/canvas/CanvasBuffer.idl: Added.
67039        * html/canvas/CanvasFramebuffer.cpp: Added. Wrapper around GL Framebuffer object
67040        * html/canvas/CanvasFramebuffer.h: Added.
67041        * html/canvas/CanvasFramebuffer.idl: Added.
67042        * html/canvas/CanvasObject.h: Expose m_context
67043        * html/canvas/CanvasProgram.cpp: Added. Wrapper around GL Program object
67044        * html/canvas/CanvasProgram.h: Added.
67045        * html/canvas/CanvasProgram.idl: Added.
67046        * html/canvas/CanvasRenderbuffer.cpp: Added. Wrapper around GL Renderbuffer object
67047        * html/canvas/CanvasRenderbuffer.h: Added.
67048        * html/canvas/CanvasRenderbuffer.idl: Added.
67049        * html/canvas/CanvasRenderingContext3D.cpp: Move m_objects hash table from GraphicsContext3D to here
67050        * html/canvas/CanvasRenderingContext3D.h:
67051        * html/canvas/CanvasShader.cpp: Added. Wrapper around GL Shader object
67052        * html/canvas/CanvasShader.h: Added.
67053        * html/canvas/CanvasShader.idl: Added.
67054        * html/canvas/CanvasTexture.cpp: Added. Wrapper around GL Texture object
67055        * html/canvas/CanvasTexture.h: Added.
67056        * html/canvas/CanvasTexture.idl: Added.
67057        * platform/graphics/GraphicsContext3D.cpp: Removed.
67058        * platform/graphics/GraphicsContext3D.h: Move m_objects hash table from here to CanvasRenderingContext3D
67059        * platform/graphics/mac/GraphicsContext3DMac.cpp: Implement platform dependent code for GL object creation/destruction
67060
670612009-08-21  Darin Adler  <darin@apple.com>
67062
67063        * WebCore.vcproj/build-generated-files.sh:
67064        * make-generated-sources.sh:
67065        Removed obsolete code to set up CREATE_HASH_TABLE.
67066
670672009-08-21  Adele Peterson  <adele@apple.com>
67068
67069        Reviewed by Mark Rowe.
67070
67071        <rdar://problem/7162322> Custom style sheet ignored if UAC is enabled 
67072
67073        * platform/win/SharedBufferWin.cpp: (WebCore::SharedBuffer::createWithContentsOfFile): 
67074        No need to open the file with write access.  Only read access is needed.
67075
670762009-08-21  Alexey Proskuryakov  <ap@apple.com>
67077
67078        Reviewed by Darin Adler.
67079
67080        <rdar://problem/7161454> Leaks seen during http/tests/xmlhttprequest/cross-origin-no-authorization.html
67081
67082        Also fixes leaks seen on appcache tests.
67083
67084        * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::cancel): Work around
67085        something that's likely a CFNetwork issue. Note that on Windows, there is no matching API
67086        to call, and we do not think that the leak occurs there anyway.
67087
670882009-08-21  Dmitry Titov  <dimich@chromium.org>
67089
67090        Reviewed by David Levin.
67091
67092        https://bugs.webkit.org/show_bug.cgi?id=28650
67093        Remove cross-thread code from CrossOriginPreflightResultCache.
67094        Removed mutexes, atomic initializer and string copy.
67095
67096        No new tests, the worker tests cover this.
67097
67098        * loader/CrossOriginPreflightResultCache.cpp:
67099        (WebCore::addToAccessControlAllowList):
67100        (WebCore::CrossOriginPreflightResultCache::shared):
67101        (WebCore::CrossOriginPreflightResultCache::appendEntry):
67102        (WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
67103        (WebCore::CrossOriginPreflightResultCache::empty):
67104        * loader/CrossOriginPreflightResultCache.h:
67105
671062009-08-21  Michelangelo De Simone  <micdesim@gmail.com>
67107
67108        Reviewed by Jan Alonzo.
67109
67110        Buildfix after http://trac.webkit.org/changeset/47655.
67111
67112        * html/HTMLFormControlElement.h:
67113
671142009-08-19  Joseph Pecoraro  <joepeck@webkit.org>
67115
67116        Reviewed by Timothy Hatcher.
67117
67118        Inspector: Improve Cookie DataGrid to Show Hidden Data
67119        https://bugs.webkit.org/show_bug.cgi?id=28269
67120
67121          Removed Custom Bindings
67122
67123        * bindings/js/JSInspectorBackendCustom.cpp:
67124        * bindings/v8/custom/V8CustomBinding.h:
67125        * bindings/v8/custom/V8InspectorBackendCustom.cpp:
67126        * inspector/InspectorBackend.cpp:
67127
67128          Made Non-Custom Bindings in the Backend
67129
67130        (WebCore::InspectorBackend::getCookies):
67131        (WebCore::InspectorBackend::deleteCookie):
67132        * inspector/InspectorBackend.h:
67133        * inspector/InspectorBackend.idl:
67134        * inspector/InspectorController.cpp:
67135        (WebCore::InspectorController::deleteCookie):
67136        * inspector/InspectorController.h:
67137
67138          Build the Cookie ScriptObjects, handles using document.cookie in
67139          case the platform hasn't implemented raw cookie access.
67140
67141        * inspector/InspectorDOMAgent.cpp:
67142        (WebCore::InspectorDOMAgent::getCookies):
67143        (WebCore::InspectorDOMAgent::buildObjectForCookie):
67144        (WebCore::InspectorDOMAgent::buildArrayForCookies):
67145        * inspector/InspectorDOMAgent.h:
67146
67147          Complete the Asynchronous Calls
67148
67149        * inspector/InspectorFrontend.cpp:
67150        (WebCore::InspectorFrontend::didGetCookies):
67151        * inspector/InspectorFrontend.h:
67152
67153          Asynchronous Functions to get Cookie Data
67154
67155        * inspector/front-end/DOMAgent.js:
67156        (WebInspector.Cookies.getCookiesAsync):
67157        (WebInspector.Cookies.buildCookiesFromString): fallback behavior
67158
67159          Refactor to use the Asynchronous Functions
67160
67161        * inspector/front-end/CookieItemsView.js:
67162        (WebInspector.CookieItemsView):
67163        (WebInspector.CookieItemsView.prototype.get statusBarItems):
67164        (WebInspector.CookieItemsView.prototype.update.callback):
67165        (WebInspector.CookieItemsView.prototype.update):
67166        (WebInspector.CookieItemsView.prototype.simpleDataGridForCookies):
67167        (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
67168
67169          Cleaned/Commented Related Code
67170
67171        (InspectorController.searchCanceled):
67172        * inspector/front-end/InjectedScript.js:
67173        * platform/Cookie.h:
67174        * English.lproj/localizedStrings.js: the new strings that were supposed to have gone in last time
67175
671762009-08-21  Michelangelo De Simone  <micdesim@gmail.com>
67177
67178        Reviewed by Adele Peterson.
67179
67180        https://bugs.webkit.org/show_bug.cgi?id=28145
67181        Add support for novalidate/formnovalidate attribute, from HTML5 specs:
67182        http://www.whatwg.org/specs/web-apps/current-work/#attr-fs-novalidate
67183
67184        Tests: fast/forms/formnovalidate-attribute.html
67185               fast/forms/novalidate-attribute.html
67186
67187        * html/HTMLAttributeNames.in: added novalidate, formnovalidate
67188        * html/HTMLButtonElement.idl: formnovalidate attribute exposed
67189        * html/HTMLFormControlElement.cpp:
67190        (WebCore::HTMLFormControlElement::formNoValidate): attribute getter
67191        (WebCore::HTMLFormControlElement::setFormNoValidate): attribute setter
67192        * html/HTMLFormControlElement.h:
67193        * html/HTMLFormElement.cpp:
67194        (WebCore::HTMLFormElement::novalidate): attribute getter
67195        (WebCore::HTMLFormElement::setNovalidate): attribute setter
67196        * html/HTMLFormElement.h:
67197        * html/HTMLFormElement.idl: novalidate attribute exposed
67198        * html/HTMLInputElement.idl: formNoValidate attribute exposed
67199
672002009-08-21  Dan Bernstein  <mitz@apple.com>
67201
67202        Reviewed by Beth Dakin.
67203
67204        Rendering changes to complete
67205        [CSS3 Backgrounds and Borders] Add support for the "contain" value for
67206        background-size
67207        https://bugs.webkit.org/show_bug.cgi?id=27573
67208        and
67209        [CSS3 Backgrounds and Borders] Add support for the "cover" value for
67210        background-size
67211        https://bugs.webkit.org/show_bug.cgi?id=27574
67212
67213        Test: fast/backgrounds/size/contain-and-cover.html
67214
67215        * rendering/RenderBoxModelObject.cpp:
67216        (WebCore::RenderBoxModelObject::calculateBackgroundSize):
67217        * rendering/RenderObject.cpp:
67218        (WebCore::mustRepaintFillLayers):
67219
672202009-08-21  Michelangelo De Simone  <micdesim@gmail.com>
67221
67222        Reviewed by Adele Peterson.
67223
67224        https://bugs.webkit.org/show_bug.cgi?id=27452
67225        Add support for checkValidity() method and invalid event, from HTML5
67226        specs:
67227        http://www.whatwg.org/specs/web-apps/current-work/#dom-form-checkvalidity
67228
67229        Tests: fast/events/invalid-001.html
67230               fast/events/invalid-002.html
67231               fast/events/invalid-003.html
67232               fast/events/invalid-004.html
67233               fast/events/invalid-005.html
67234               fast/forms/checkValidity-001.html
67235               fast/forms/checkValidity-002.html
67236               fast/forms/checkValidity-003.html
67237               fast/forms/checkValidity-004.html
67238
67239        * dom/Document.idl: oninvalid event handler
67240        * dom/Element.idl: ditto
67241        * dom/EventNames.h: added invalid event
67242        * dom/Node.cpp:
67243        (WebCore::Node::oninvalid): ditto
67244        (WebCore::Node::setOninvalid): ditto
67245        * dom/Node.h: ditto
67246        * html/HTMLAttributeNames.in: oninvalid attribute
67247        * html/HTMLButtonElement.idl: added checkValidity() method
67248        * html/HTMLElement.cpp:
67249        (WebCore::HTMLElement::parseMappedAttribute): parses oninvalid
67250        * html/HTMLFieldSetElement.idl: added checkValidity() method
67251        * html/HTMLFormControlElement.cpp:
67252        (WebCore::HTMLFormControlElement::checkValidity): checkValidity()
67253        implementation
67254        * html/HTMLFormControlElement.h:
67255        * html/HTMLFormElement.cpp:
67256        (WebCore::HTMLFormElement::checkValidity): checkValidity() implementation
67257        for form elements
67258        * html/HTMLFormElement.h: checkValidity() definition
67259        * html/HTMLFormElement.idl: added checkValidity() method
67260        * html/HTMLInputElement.idl: added checkValidity() method
67261        * html/HTMLSelectElement.idl: added checkValidity() method
67262        * html/HTMLTextAreaElement.idl: added checkValidity() method
67263        * page/DOMWindow.cpp:
67264        (WebCore::DOMWindow::oninvalid): oninvalid event handler
67265        (WebCore::DOMWindow::setOninvalid): ditto
67266        * page/DOMWindow.h: ditto
67267        * page/DOMWindow.idl: ditto
67268
672692009-08-21  Beth Dakin  <bdakin@apple.com>
67270
67271        Reviewed by Dan Bernstein.
67272
67273        The CSS part of https://bugs.webkit.org/show_bug.cgi?id=27571 [CSS3 
67274        Backgrounds and Borders] Add support for the "round" value for 
67275        background-repeat
67276        -and-
67277        https://bugs.webkit.org/show_bug.cgi?id=27570 [CSS3 Backgrounds and 
67278        Borders] Add support for the "space" value for background-repeat
67279
67280        * css/CSSParser.cpp:
67281        (WebCore::CSSParser::parseFillProperty):
67282        * css/CSSPrimitiveValueMappings.h:
67283        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
67284        (WebCore::CSSPrimitiveValue::operator EFillRepeat):
67285        * css/CSSValueKeywords.in:
67286        * rendering/style/FillLayer.h:
67287        * rendering/style/RenderStyleConstants.h:
67288        (WebCore::):
67289
672902009-08-21  Chris Marrin  <cmarrin@apple.com>
67291
67292        Reviewed by Oliver Hunt.
67293
67294        New files for Canvas 3D feature
67295        https://bugs.webkit.org/show_bug.cgi?id=28018
67296
67297        This is all the new files for implementing Canvas 3D. None of them are hooked up and
67298        are not even included in the build yet. This incorporates the reviews from Simon
67299        and Ollie for these files.
67300
67301        * bindings/js/JSCanvasNumberArrayCustom.cpp: Added. Custom JS binding to do implicit conversion from JS Array
67302        * html/CanvasObject.cpp: Added. Base class for all GL object containers
67303        * html/CanvasObject.h: Added.
67304        * html/CanvasRenderingContext.cpp: Added. Base class for CanvasRenderingContext2D and CanvasRenderingContext3D
67305        * html/CanvasRenderingContext.h: Added.
67306        * html/CanvasRenderingContext.idl: Added.
67307        * html/CanvasRenderingContext3D.cpp: Added. 3D context returned from Canvas.getContext()
67308        * html/CanvasRenderingContext3D.h: Added.
67309        * html/CanvasRenderingContext3D.idl: Added.
67310        * platform/graphics/GraphicsContext3D.cpp: Added. Platform interface between CanvasRenderingContext3D and 3D graphics engine
67311        * platform/graphics/GraphicsContext3D.h: Added.
67312        * platform/graphics/mac/Canvas3DLayer.h: Added. CALayer subclass to composite 3D canvas
67313        * platform/graphics/mac/Canvas3DLayer.mm: Added.
67314        * platform/graphics/mac/GraphicsContext3DMac.cpp: Added. Mac specific interface (OpenGL based)
67315
673162009-08-21  Ryosuke Niwa  <rniwa@webkit.org>
67317
67318        No Review.
67319
67320        Another Windows build fix.
67321
67322        * editing/ApplyStyleCommand.cpp:
67323        (WebCore::diffTextDecorations):
67324
673252009-08-21  David Hyatt  <hyatt@apple.com>
67326
67327        Reviewed by Simon Fraser.
67328
67329        https://bugs.webkit.org/show_bug.cgi?id=28625, focus rings don't respect the non-strict mode
67330        line box shrinking quirk.  Make sure outlines don't extend outside the lineTop and lineBottom
67331        of the root line box.
67332
67333        Covered by existing tests.
67334
67335        * rendering/RenderBlock.cpp:
67336        (WebCore::RenderBlock::addFocusRingRects):
67337        * rendering/RenderInline.cpp:
67338        (WebCore::RenderInline::addFocusRingRects):
67339        (WebCore::RenderInline::paintOutline):
67340
673412009-08-21  Ryosuke Niwa  <rniwa@webkit.org>
67342
67343        No Review.
67344
67345        Windows build fix.
67346
67347        * editing/ApplyStyleCommand.cpp:
67348        (WebCore::setTextDecorationProperty): Made it static
67349        (WebCore::diffTextDecorations): Made it static
67350
673512009-08-21  Ryosuke Niwa  <rniwa@webkit.org>
67352
67353        Reviewed by Eric Seidel.
67354
67355        execCommand("Underline") uses CSS even when styleWithCSS has been turned off
67356        https://bugs.webkit.org/show_bug.cgi?id=23892
67357
67358        This patch adds support for u and s in StyleChange and addInlineStyleIfNeeded so that
67359        WebKit does not use CSS to decorate texts when styleWithCSS is set to false.
67360
67361        * css/CSSValueList.cpp:
67362        (WebCore::CSSValueList::copy): Added.
67363        * css/CSSValueList.h: Added copy.
67364        * editing/ApplyStyleCommand.cpp:
67365        (WebCore::StyleChange::applyUnderline):
67366        (WebCore::StyleChange::applyLineThrough):
67367        (WebCore::StyleChange::StyleChange): Added a boolean trimTextDecorations argument.
67368        (WebCore::StyleChange::init): Ditto.
67369        (WebCore::StyleChange::extractTextStyles): Handles text decorations.
67370        (WebCore::getPropertiesNotInComputedStyle): Handles text decorations properly.
67371        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Adds u and s if needed.
67372
673732009-08-21  Joseph Pecoraro  <joepeck@webkit.org>
67374
67375        Reviewed by Timothy Hatcher.
67376
67377        Inspector: Rename "Databases" Panel as "Storage"
67378        https://bugs.webkit.org/show_bug.cgi?id=28620
67379
67380          Updated enum from "DatabasesPanel" to "StoragePanel" and wherever it was used.
67381
67382        * inspector/InspectorController.cpp:
67383        (WebCore::InspectorController::specialPanelForJSName): string to display StoragePanel can be either "databases" or "storage"
67384        * inspector/InspectorController.h:
67385        (WebCore::InspectorController::):
67386        * inspector/InspectorFrontend.cpp:
67387        (WebCore::InspectorFrontend::showPanel):
67388
67389          Updated All Direct Access from WebInspector.panels.databases to WebInspector.panels.storage,
67390          any DatabasesPanel constructors and appropriate function names.
67391
67392        * inspector/front-end/DOMStorageDataGrid.js:
67393        (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode):
67394        (WebInspector.DOMStorageDataGrid.prototype._startEditing):
67395        (WebInspector.DOMStorageDataGrid.prototype._editingCommitted):
67396        (WebInspector.DOMStorageDataGrid.prototype._editingCancelled):
67397        (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow):
67398        * inspector/front-end/DOMStorageItemsView.js:
67399        (WebInspector.DOMStorageItemsView.prototype.update):
67400        * inspector/front-end/DatabaseQueryView.js:
67401        (WebInspector.DatabaseQueryView.prototype._queryFinished):
67402        * inspector/front-end/DatabaseTableView.js:
67403        (WebInspector.DatabaseTableView.prototype._queryFinished):
67404        * inspector/front-end/inspector.js:
67405        (WebInspector._createPanels): updated string that comes from hiddenPanels to be "databases" or "storage"
67406        (WebInspector.showStoragePanel):
67407        (WebInspector.selectDatabase):
67408        (WebInspector.selectDOMStorage):
67409        (WebInspector.addDatabase):
67410        (WebInspector.addDOMStorage):
67411
67412          Renamed some files and Updated Accordingly.
67413
67414        * inspector/front-end/StoragePanel.js: Renamed from WebCore/inspector/front-end/DatabasesPanel.js.
67415        * inspector/front-end/Images/storageIcon.png: Renamed from WebCore/inspector/front-end/Images/databasesIcon.png.
67416        * inspector/front-end/WebKit.qrc: use new file names
67417        * inspector/front-end/inspector.css: use new images name and class names
67418        * inspector/front-end/inspector.html: use new file name
67419        * WebCore.gypi: use new file names
67420
67421          Miscellaneous Updates.
67422
67423        * English.lproj/localizedStrings.js: Updated Tooltip from "Databases" to "Storage"
67424
674252009-08-21  Maxime Simon  <simon.maxime@gmail.com>
67426
67427        Reviewed by Oliver Hunt.
67428
67429        [Haiku] Adding three font-specific files to WebCore:
67430        FontCacheHaiku.cpp, FontHaiku.cpp, and SimpleFontDataHaiku.cpp
67431        https://bugs.webkit.org/show_bug.cgi?id=28131
67432
67433        * platform/graphics/haiku/FontCacheHaiku.cpp: Added.
67434        (WebCore::FontCache::platformInit):
67435        (WebCore::FontCache::getFontDataForCharacters):
67436        (WebCore::FontCache::getSimilarFontPlatformData):
67437        (WebCore::FontCache::getLastResortFallbackFont):
67438        (WebCore::FontCache::createFontPlatformData):
67439        (WebCore::FontCache::getTraitsInFamily):
67440        * platform/graphics/haiku/FontHaiku.cpp: Added.
67441        (charUnicodeToUTF8HACK):
67442        (WebCore::Font::canReturnFallbackFontsForComplexText):
67443        (WebCore::Font::drawGlyphs):
67444        (WebCore::Font::drawComplexText):
67445        (WebCore::Font::floatWidthForComplexText):
67446        (WebCore::Font::selectionRectForComplexText):
67447        (WebCore::Font::offsetForPositionForComplexText):
67448        * platform/graphics/haiku/SimpleFontDataHaiku.cpp: Added.
67449        (WebCore::SimpleFontData::platformInit):
67450        (WebCore::SimpleFontData::platformCharWidthInit):
67451        (WebCore::SimpleFontData::platformDestroy):
67452        (WebCore::SimpleFontData::smallCapsFontData):
67453        (WebCore::SimpleFontData::containsCharacters):
67454        (WebCore::SimpleFontData::determinePitch):
67455        (WebCore::SimpleFontData::platformWidthForGlyph):
67456
674572009-08-21  Philippe Beauchamp  <philippe.beauchamp@gmail.com>
67458
67459        Reviewed by Adam Roben.
67460
67461        Middle click panning icon is offset by 3 pixels
67462        https://bugs.webkit.org/show_bug.cgi?id=28611
67463
67464        * platform/ScrollView.cpp:
67465        panIconSizeLength initialized to 20 instead of 16 to match icon dimension (2 pixels offset)
67466        * platform/win/CursorWin.cpp:
67467        (WebCore::middlePanningCursor):
67468        Hotspot initialized to (8,8) instead of (7,7) (one pixel offset)
67469        
674702009-08-21  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
67471
67472        Reviewed by Eric Seidel.
67473
67474        [Qt] Remove inspector resources for Symbian
67475        https://bugs.webkit.org/show_bug.cgi?id=28610
67476
67477        Based on an idea from Simon Hausmann.
67478
67479        * WebCore.pro:
67480
674812009-08-21  Joseph Pecoraro  <joepeck@webkit.org>
67482
67483        Reviewed by Eric Seidel.
67484
67485        Inspector: Remove Unused Variable
67486        https://bugs.webkit.org/show_bug.cgi?id=28616
67487
67488        * inspector/front-end/Resource.js:
67489        (WebInspector.Resource.prototype._checkWarning):
67490
674912009-08-21  Joseph Pecoraro  <joepeck@webkit.org>
67492
67493        Reviewed by Timothy Hatcher.
67494
67495        Inspector: Console Array Formatter Shows Extra Properties
67496        https://bugs.webkit.org/show_bug.cgi?id=28615
67497
67498        * inspector/front-end/ConsoleView.js:
67499        (WebInspector.ConsoleView.prototype._formatarray): do not ignore hasOwnProperties
67500
675012009-08-21  Beth Dakin  <bdakin@apple.com>
67502
67503        Reviewed by Dan Bernstein.
67504
67505        The CSS part of https://bugs.webkit.org/show_bug.cgi?id=27574 [CSS3 
67506        Backgrounds and Borders] Add support for the "contain" value for 
67507        background-size
67508        -and-
67509        https://bugs.webkit.org/show_bug.cgi?id=27573 [CSS3 Backgrounds and 
67510        Borders] Add support for the "cover" value for background-size
67511
67512        Return contain or cover when appropriate, and otherwise do what we 
67513        used to do.
67514        * css/CSSComputedStyleDeclaration.cpp:
67515        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
67516
67517        Accept contain and cover as valid values for background-size.
67518        * css/CSSParser.cpp:
67519        (WebCore::CSSParser::parseFillProperty):
67520
67521        Handle setting the size and the sizeLength if appropriate.
67522        * css/CSSStyleSelector.cpp:
67523        (WebCore::CSSStyleSelector::mapFillSize):
67524
67525        Added new keywords contain and cover.
67526        * css/CSSValueKeywords.in:
67527
67528        Use just sizeLength instead of size to match old behavior.
67529        * page/animation/AnimationBase.cpp:
67530        (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
67531        * rendering/RenderBoxModelObject.cpp:
67532        (WebCore::RenderBoxModelObject::calculateBackgroundSize):
67533        * rendering/RenderObject.cpp:
67534        (WebCore::mustRepaintFillLayers):
67535
67536        The variable m_sizeType is an EBackgroundSize, and m_sizeLength is 
67537        a LengthSize (the equivalent of what m_size used to be). I got rid 
67538        of m_sizeSet and made isSizeSet() dynamic. I also defined a new 
67539        struct, FillSize that can be used to set or get m_size and 
67540        m_sizeLength both at once. 
67541        * rendering/style/FillLayer.cpp:
67542        (WebCore::FillLayer::FillLayer):
67543        (WebCore::FillLayer::operator=):
67544        (WebCore::FillLayer::operator==):
67545        (WebCore::FillLayer::fillUnsetProperties):
67546        * rendering/style/FillLayer.h:
67547        (WebCore::FillSize::FillSize):
67548        (WebCore::FillSize::operator==):
67549        (WebCore::FillSize::operator!=):
67550        (WebCore::FillLayer::sizeLength):
67551        (WebCore::FillLayer::size):
67552        (WebCore::FillLayer::isSizeSet):
67553        (WebCore::FillLayer::setSizeType):
67554        (WebCore::FillLayer::setSizeLength):
67555        (WebCore::FillLayer::setSize):
67556        (WebCore::FillLayer::clearSize):
67557        (WebCore::FillLayer::initialFillSizeType):
67558        (WebCore::FillLayer::initialFillSizeLength):
67559        (WebCore::FillLayer::initialFillSize):
67560
67561        This is all boiler-plate stuff to adjust to the new size() vs. 
67562        sizeType() vs. sizeLength() distinction.
67563        * rendering/style/RenderStyle.h:
67564        (WebCore::InheritedFlags::backgroundSizeType):
67565        (WebCore::InheritedFlags::backgroundSizeLength):
67566        (WebCore::InheritedFlags::maskSize):
67567        (WebCore::InheritedFlags::setBackgroundSize):
67568        (WebCore::InheritedFlags::setBackgroundSizeLength):
67569        (WebCore::InheritedFlags::setMaskSize):
67570
67571        Definition for EBackgroundSizeType.
67572        * rendering/style/RenderStyleConstants.h:
67573        (WebCore::):
67574
675752009-08-21  Ariya Hidayat  <ariya.hidayat@nokia.com>
67576
67577        Not reviewed, build fix after r47580.
67578
67579        [Qt] Adjust the files.
67580
67581        * inspector/front-end/WebKit.qrc:
67582
675832009-08-20  Chris Fleizach  <cfleizach@apple.com>
67584
67585        Reviewed by Darin Adler.
67586
67587        Enable various "grouping" ARIA roles
67588        https://bugs.webkit.org/show_bug.cgi?id=28486
67589
67590        Test: platform/mac/accessibility/aria-grouping-roles.html
67591
67592        * accessibility/AccessibilityObject.h:
67593        * accessibility/AccessibilityRenderObject.cpp:
67594        * accessibility/mac/AccessibilityObjectWrapper.mm:
67595        * page/mac/WebCoreViewFactory.h:
67596        * platform/LocalizedStrings.h:
67597        * platform/mac/LocalizedStringsMac.mm:
67598
675992009-08-20  David Levin  <levin@chromium.org>
67600
67601        Unreviewed trivial comment fix.
67602
67603        Update a bug link in a comment due to bugzilla amnesia.
67604
67605        * loader/CachedResource.cpp:
67606        (WebCore::CachedResource::setResourceToRevalidate):
67607
676082009-08-20  Albert J. Wong  <ajwong@chromium.org>
67609
67610        Reviewed by David Levin.
67611
67612        HTML5 media elements do not fire waiting events correctly
67613        https://bugs.webkit.org/show_bug.cgi?id=28335
67614
67615        Fire the waiting event before seeking, and fix a case where firing of
67616        the seeked event is missed when the ready state is changed during
67617        a seek.
67618
67619        Added video-waiting-seeking.html into manual tests because not
67620        all platforms allow seeking into non-buffered ranges.
67621
67622        * html/HTMLMediaElement.cpp:
67623        (WebCore::HTMLMediaElement::setReadyState): add support for
67624        waiting event when seeking.
67625        (WebCore::HTMLMediaElement::finishSeek): send seeked event
67626        whenever seeking finishes.
67627        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): dispatch to
67628        new function.
67629        * html/HTMLMediaElement.h:
67630        * manual-tests/video-waiting-seeking.html: Added.
67631
676322009-08-20  Dan Bernstein  <mitz@apple.com>
67633
67634        Reviewed by John Sullivan.
67635
67636        Fix more cases of
67637        <rdar://problem/7154521> Lots of "<Error>: doClip: empty path." spew in
67638        the console with certain content
67639
67640        If the border box is empty, simply avoid painting instead of trying to
67641        clip to the empty path.
67642
67643        * rendering/RenderBoxModelObject.cpp:
67644        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
67645        * rendering/RenderReplaced.cpp:
67646        (WebCore::RenderReplaced::paint):
67647        * rendering/RenderWidget.cpp:
67648        (WebCore::RenderWidget::paint):
67649
676502009-08-20  Jeremy Orlow  <jorlow@chromium.org>
67651
67652        Build fix.  Forgot a svn add for a patch I landed.  :-(
67653
67654        * storage/SQLTransactionClient.cpp: Added.
67655        (WebCore::SQLTransactionClient::didCommitTransaction):
67656        (WebCore::SQLTransactionClient::didExecuteStatement):
67657        (WebCore::SQLTransactionClient::didExceedQuota):
67658        * storage/SQLTransactionClient.h: Added.
67659
676602009-08-20  Dumitru Daniliuc  <dumi@chromium.org>
67661
67662        Reviewed by Dimitri Glazkov.
67663
67664        Added a client to SQLTransaction. In addition to being a place to
67665        get notifications about certain events in a transaction, it is
67666        also an abstraction layer that allows us to plug in different
67667        implementations for each port for how transactions interract with
67668        the main DB. For example, WebCore's default implementation will
67669        make direct calls to DatabaseTracker's methods. At the same time,
67670        Chromium's implementation will send IPCs to the browser process
67671        whenever a transaction needs something from the main DB.
67672
67673        All storage tests pass.
67674
67675        https://bugs.webkit.org/show_bug.cgi?id=27967
67676
67677        * GNUmakefile.am:
67678        * WebCore.gypi:
67679        * WebCore.pro:
67680        * WebCore.vcproj/WebCore.vcproj:
67681        * WebCore.xcodeproj/project.pbxproj:
67682        * WebCoreSources.bkl:
67683        * storage/Database.cpp:
67684        (WebCore::Database::transactionClient):
67685        * storage/Database.h:
67686        * storage/DatabaseThread.cpp:
67687        (WebCore::DatabaseThread::DatabaseThread):
67688        * storage/DatabaseThread.h:
67689        (WebCore::DatabaseThread::transactionClient):
67690        * storage/SQLTransaction.cpp:
67691        (WebCore::SQLTransaction::runCurrentStatement):
67692        (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
67693        (WebCore::SQLTransaction::postflightAndCommit):
67694        * storage/SQLTransactionClient.cpp: Added.
67695        * storage/SQLTransactionClient.h: Added.
67696
676972009-08-20  Brian Weinstein  <bweinstein@apple.com>
67698
67699        Reviewed by Steve Falkenburg.
67700
67701        Fix of <https://bugs.webkit.org/show_bug.cgi?id=24793>
67702        Auto scroll speed is faster than in IE, Firefox.
67703        
67704        Changed pan scrolling speed to match Firefox's algorithm.
67705
67706        * rendering/RenderLayer.cpp:
67707        (WebCore::adjustedScrollDelta):
67708        (WebCore::RenderLayer::panScrollFromPoint):
67709
677102009-08-20  Stephen White  <senorblanco@chromium.org>
67711
67712        Reviewed by Eric Seidel.
67713
67714        Fix for assert in Chromium page cycler:  drawRect() was re-using
67715        an SkPaint, but not resetting it before calling
67716        PlatformGraphicsSkia::setupPaintForFilling() a second time.  This
67717        CL fixes drawRect(), and re-enables the assert.
67718        http://bugs.webkit.org/show_bug.cgi?id=28172
67719        http://crbug.com/19797
67720
67721        Covered by Chromium page cycler tests.
67722
67723        * platform/graphics/skia/PlatformContextSkia.cpp:
67724        (PlatformContextSkia::drawRect):
67725        (PlatformContextSkia::setupPaintCommon):
67726
677272009-08-20  Anders Carlsson  <andersca@apple.com>
67728
67729        Reviewed by Dan Bernstein.
67730
67731        <rdar://problem/7159016> Popup menus don't disappear when you click outside the window.
67732        
67733        Revert r47535 which introduced this.
67734        
67735        * platform/win/PopupMenuWin.cpp:
67736        (WebCore::PopupMenu::show):
67737        (WebCore::PopupWndProc):
67738
677392009-08-20  David Levin  <levin@chromium.org>
67740
67741        Reviewed by Alexey Proskuryakov.
67742
67743        Crashes on sites with lots of images
67744        https://bugs.webkit.org/show_bug.cgi?id=28473
67745
67746        The problem is that m_resourceToRevalidate::m_isBeingRevalidated is false while
67747        CachedResource is still referring to it, so it may get deleted before
67748        Cache::revalidationSucceeded calls CachedResource::clearResourceToRevalidate.
67749
67750        * loader/Cache.cpp:
67751        (WebCore::Cache::revalidateResource): Added assert to verify the resource
67752        being revalidated is physically in the cache.
67753        (WebCore::Cache::revalidationSucceeded): Changed to do one call to switch from the revalidating
67754        resource to the revalidated resource.  This allows for proper lifetime management of the
67755        revalidated resource. Added assert to verify that the revalidatingResource is in the cache.
67756        (WebCore::Cache::pruneDeadResources): Don't remove items from the cache that are in the
67757        process of being validated (or else they can get added twice: Once through the normal mechanism
67758        and then again during revalidateResource).
67759
67760        * loader/CachedResource.cpp:
67761        (WebCore::CachedResource::CachedResource):
67762        (WebCore::CachedResource::isSafeToMakePurgeable):
67763        Changed m_isBeingRevalidated to m_proxyResource to allow finding out
67764        who the validating resource (or proxy) is.
67765
67766        (WebCore::CachedResource::~CachedResource): Removed code to handle m_resourceToRevalidate
67767        being non-zero because this shouldn't be possible due to checks in canDelete. Added asserts
67768        as well.
67769        (WebCore::CachedResource::setResourceToRevalidate): Adjusted for the change to m_proxyResource
67770        and added a comment about the assert.
67771        (WebCore::CachedResource::clearResourceToRevalidate):
67772        Only clean up the resourceToRevalidate if it hasn't gotten a new proxy resource.
67773        * loader/CachedResource.h:
67774        (WebCore::CachedResource::setInCache): Don't clear m_proxyResource because the resource
67775        is still being referred to by it and the code it robust to this being switched to a new proxy
67776        resource without it being cleared first.
67777        (WebCore::CachedResource::canDelete): Changed m_isBeingRevalidated to m_proxyResource.
67778
677792009-08-20  Xiaomei Ji  <xji@chromium.org>
67780
67781        Reviewed by Eric Seidel.
67782
67783        Fix "Chromium RTL autocomplete popup is not layout correctly".
67784        https://bugs.webkit.org/show_bug.cgi?id=27889
67785
67786        The complete fix of the issue consists 2 parts: the patch in webkit
67787        and the patch in Chromium's own code.
67788
67789        This webkit patch only affects Chromium autofill. It
67790        1. introduces a new flag in WebCore::PopupContainerSettings to
67791           distinguish whether the width of the drop-down should be restricted
67792           or not.
67793           For autofill, the width of the drop-down is restricted to
67794           be the same as that of the input field (the new flag is set in
67795           Chromium's own code). But width is not restricted for <select> (same as before).
67796        2. introduce a new flag in WebCore::PopContainerSettings to
67797           indicate what heuristics to use when displaying text in drop-down menu.
67798           For autofill, use drop-down item's directionality to display drop-down items.
67799           Previously, drop-down item is displayed in the its first strong
67800           directional character's directionality.
67801           (drop-down item's directionality is set in Chromium's own code.
67802           It is set the same as the directionality of the element. 
67803           For autofill, it is the same directionality as that of the input field.)
67804           For <select>, still use the text's first strong directional character's
67805           directionality to display the text.
67806
67807
67808        Since the patch only affects the chromium client, not webcore part or
67809        other clients. No automatic tests is possible.
67810
67811        * manual-tests/autofill-popup-width-and-item-direction.html: Added.
67812        * platform/chromium/PopupMenuChromium.cpp:
67813        (WebCore::):
67814        (WebCore::PopupListBox::paintRow): If list box width is restricted and 
67815        an item is longer to fit in a list box, truncate it and draw part of the text and append ellipses.
67816        (WebCore::PopupListBox::layout): Restrict width of list box if applicable.
67817        * platform/chromium/PopupMenuChromium.h: 
67818        (WebCore::PopupItem::PopupItem): style change.
67819        (WebCore::PopupContainerSettings::): Add 2 new flags in PopupContainerSetting to 
67820        distinguish whether to restrict width of list box and 
67821        in what directionality to display the text in drop-down.
67822
678232009-08-20  Brian Weinstein  <bweinstein@apple.com>
67824
67825        Reviewed by Adele Peterson.
67826
67827        Fix of <https://bugs.webkit.org/show_bug.cgi?id=28504>. 
67828        Pan Scrolling can scroll while showing the middlePanScroll icon.
67829        
67830        Fixed an off by one error between RenderLayer::panScrollFromPoint and EventHandler::updatePanScrollState. 
67831        In RenderLayer::panScrollFromPoint, we were setting the icon to be an arrow if the difference between the start
67832        of the pan scroll and the current mouseposition is > 15. However, in EventHandler::updatePanScrollState, we would
67833        set our amount to scroll to 0 only if the difference in mouse position is < 15. I made this check a <= 15, to fix
67834        the off by one error.
67835
67836        * rendering/RenderLayer.cpp:
67837        (WebCore::RenderLayer::panScrollFromPoint):
67838
678392009-08-20  David Hyatt  <hyatt@apple.com>
67840
67841        Reviewed by Dan Bernstein.
67842
67843        Pull the code in layoutBlockChildren for handling a normal flow block child into a helper method,
67844        layoutBlockChild.
67845
67846        * rendering/RenderBlock.cpp:
67847        (WebCore::RenderBlock::layoutBlockChildren):
67848        (WebCore::RenderBlock::layoutBlockChild):
67849        * rendering/RenderBlock.h:
67850
678512009-08-20  Brian Weinstein  <bweinstein@apple.com>
67852
67853        Reviewed by Adam Roben.
67854
67855        Made subframeForHitTargetNode a public static method, so WebView can call it
67856        during hit testing.
67857
67858        * page/EventHandler.cpp:
67859        (WebCore::subframeForHitTestResult):
67860        (WebCore::EventHandler::subframeForTargetNode):
67861        * page/EventHandler.h:
67862
678632009-08-20  Brent Fulgham  <bfulgham@webkit.org>
67864
67865        Rubberstamped by Kevin Ollivier.
67866
67867        Check for null bundle before attempting to use it.
67868
67869        * platform/network/curl/ResourceHandleManager.cpp:
67870        (WebCore::certificatePath): Add null check on return of
67871          CFBundleGetBundleWithIdentifier.
67872
678732009-08-20  David Hyatt  <hyatt@apple.com>
67874
67875        Reviewed by Dan Bernstein.
67876
67877        https://bugs.webkit.org/show_bug.cgi?id=28497, images and inline replaced elements don't propagate overflow properly on a line.
67878
67879        Added fast/repaint/inline-block-overflow.html and updated another test.
67880
67881        * rendering/InlineFlowBox.cpp:
67882        (WebCore::InlineFlowBox::placeBoxesHorizontally):
67883        (WebCore::InlineFlowBox::computeVerticalOverflow):
67884        Make sure to still propagate the border box of the replaced element as layout overflow when overflow clip is set on the
67885        replaced element.  Make sure to use the InlineBox x/y positions instead of the RenderBox x/y, since the position of the
67886        RenderBox has not been updated to the new values yet.
67887        
67888        * rendering/RenderLineBoxList.cpp:
67889        (WebCore::RenderLineBoxList::paint):
67890        Don't use the root line box's overflow.  Use the actual line box overflow values instead.  In the case of an inline
67891        with a layer, our overflow didn't propagate to the root line, so we always need to use our values.
67892
67893        * rendering/RenderPartObject.cpp:
67894        (WebCore::RenderPartObject::layout):
67895        * rendering/RenderReplaced.cpp:
67896        (WebCore::RenderReplaced::layout):
67897        Make sure to clear shadow overflow when doing layout of replaced elements, so that we don't leave a stale overflow
67898        value around if a box-shadow goes away.
67899
679002009-08-20  Dmitry Titov  <dimich@chromium.org>
67901
67902        Another attempt to fix Chromium build.
67903
67904        * WebCore.gypi: now use the correct name of the image file.
67905
679062009-08-20  Dan Bernstein  <mitz@apple.com>
67907
67908        Make the Windows build even fixeder
67909
67910        * platform/graphics/win/GraphicsContextCGWin.cpp:
67911        (WebCore::GraphicsContextPlatformPrivate::flush):
67912
679132009-08-20  Dmitry Titov  <dimich@chromium.org>
67914
67915        Not reviewed, Chromium build fix.
67916
67917        * WebCore.gypi: add new Webinspector image files (localStorage.png and sessionStorage.png)
67918
679192009-08-20  Dan Bernstein  <mitz@apple.com>
67920
67921        Windows build fix after the last change
67922
67923        * platform/graphics/win/GraphicsContextCGWin.cpp:
67924        (WebCore::GraphicsContext::GraphicsContext):
67925        (WebCore::GraphicsContext::releaseWindowsContext):
67926        (WebCore::GraphicsContext::drawWindowsBitmap):
67927
679282009-08-20  Dan Bernstein  <mitz@apple.com>
67929
67930        Reviewed by Geoffrey Garen.
67931
67932        Replace many manually-released CFTypeRefs with RetainPtrs
67933        https://bugs.webkit.org/show_bug.cgi?id=28498
67934
67935        * platform/graphics/cg/ColorCG.cpp:
67936        (WebCore::createCGColor):
67937        * platform/graphics/cg/GradientCG.cpp:
67938        (WebCore::Gradient::platformGradient):
67939        * platform/graphics/cg/GraphicsContextCG.cpp:
67940        (WebCore::GraphicsContext::platformContext):
67941        (WebCore::GraphicsContext::applyStrokePattern):
67942        (WebCore::GraphicsContext::applyFillPattern):
67943        (WebCore::GraphicsContext::setPlatformShadow):
67944        (WebCore::GraphicsContext::setURLForRect):
67945        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
67946        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
67947        (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
67948        * platform/graphics/cg/ImageBufferCG.cpp:
67949        (WebCore::ImageBuffer::ImageBuffer):
67950        * platform/graphics/cg/ImageCG.cpp:
67951        (WebCore::BitmapImage::checkForSolidColor):
67952        (WebCore::Image::drawPattern):
67953        * platform/graphics/cg/ImageSourceCG.cpp:
67954        (WebCore::ImageSource::setData):
67955        (WebCore::ImageSource::isSizeAvailable):
67956        (WebCore::ImageSource::frameSizeAtIndex):
67957        (WebCore::ImageSource::repetitionCount):
67958        (WebCore::ImageSource::createFrameAtIndex):
67959        (WebCore::ImageSource::frameDurationAtIndex):
67960        * platform/graphics/cg/PDFDocumentImage.cpp:
67961        (WebCore::PDFDocumentImage::dataChanged):
67962        * platform/graphics/cg/PathCG.cpp:
67963        (WebCore::createScratchContext):
67964        (WebCore::Path::contains):
67965        * platform/graphics/mac/FontCustomPlatformData.cpp:
67966        (WebCore::createFontCustomPlatformData):
67967        * platform/graphics/mac/GraphicsContextMac.mm:
67968        (WebCore::GraphicsContext::drawFocusRing):
67969        * platform/graphics/mac/ImageMac.mm:
67970        (WebCore::BitmapImage::getTIFFRepresentation):
67971        * platform/mac/ClipboardMac.mm:
67972        (WebCore::cocoaTypeFromMIMEType):
67973        (WebCore::MIMETypeFromCocoaType):
67974        * platform/mac/WebCoreNSStringExtras.mm:
67975        (stringEncodingForResource):
67976        * platform/network/mac/FormDataStreamMac.mm:
67977        (WebCore::advanceCurrentStream):
67978        (WebCore::setHTTPBody):
67979        * platform/text/mac/TextCodecMac.cpp:
67980        (WebCore::TextCodecMac::encode):
67981
679822009-08-20  Shinichiro Hamaji  <hamaji@chromium.org>
67983
67984        Reviewed by Eric Seidel.
67985
67986        Output actual values of counters in showTree
67987        https://bugs.webkit.org/show_bug.cgi?id=28481
67988
67989        No new tests because this patch just improves debugging outputs.
67990
67991        * rendering/CounterNode.cpp:
67992        (WebCore::showTreeAndMark):
67993
679942009-08-20  Eric Carlson  <eric.carlson@apple.com>
67995
67996        Reviewed by NOBODY (build fix).
67997
67998        Add file missed in last check-in.
67999
68000        * html/HTMLAttributeNames.in:
68001
680022009-08-19  Timothy Hatcher  <timothy@apple.com>
68003
68004        Adds new icons to the Web Inspector for Local Storage,
68005        Session Storage and Cookies.
68006
68007        https://bugs.webkit.org/show_bug.cgi?id=28470
68008
68009        Reviewed by Eric Seidel.
68010
68011        * inspector/front-end/DatabasesPanel.js:
68012        (WebInspector.DatabasesPanel.prototype.addDOMStorage):
68013        (WebInspector.DOMStorageSidebarTreeElement):
68014        * inspector/front-end/Images/cookie.png:
68015        * inspector/front-end/Images/domStorage.png: Removed.
68016        * inspector/front-end/Images/localStorage.png: Added.
68017        * inspector/front-end/Images/sessionStorage.png: Added.
68018        * inspector/front-end/inspector.css:
68019
680202009-08-20  Eric Carlson  <eric.carlson@apple.com>
68021
68022        Reviewed by Anders Carlsson.
68023
68024        HTML5 media elements must fire 'loadend' progress event
68025        https://bugs.webkit.org/show_bug.cgi?id=28419
68026
68027        * dom/EventNames.h:
68028            Define loadend.
68029
68030        * html/HTMLMediaElement.cpp:
68031        (WebCore::HTMLMediaElement::parseMappedAttribute):
68032            Deal with onloadend.
68033        (WebCore::HTMLMediaElement::loadInternal):
68034            Post 'loadend' immediately after 'abort'.
68035        (WebCore::HTMLMediaElement::noneSupported):
68036            Post 'loadend' immediately after 'error'.
68037        (WebCore::HTMLMediaElement::mediaEngineError):
68038            Ditto.
68039        (WebCore::HTMLMediaElement::setNetworkState):
68040            Post 'loadend' immediately after 'load'.
68041        (WebCore::HTMLMediaElement::userCancelledLoad):
68042            Post 'loadend' immediately after 'abort'.
68043
680442009-08-20  Ryosuke Niwa  <rniwa@webkit.org>
68045
68046        Reviewed by Darin Adler.
68047
68048        REGESSION(r45316), Crash: WebKit crashes in Google Sites when indenting a table
68049        https://bugs.webkit.org/show_bug.cgi?id=28474
68050
68051        This patch fixes a crash when indenting at right after a table.
68052        The bug was caused by Node* blockNode = enclosingBlock(endOfCurrentParagraph.deepEquivalent().node());
68053        where node() is equal to blockNode. Because blockNode is the enclosing block node, this patch changes it to
68054        enclosingBlock(endOfCurrentParagraph.deepEquivalent().node()->parentNode());
68055
68056        Test: editing/execCommand/indent-right-after-table.html
68057
68058        * editing/IndentOutdentCommand.cpp:
68059        (WebCore::IndentOutdentCommand::indentRegion): Fixed so that blockNode != endOfCurrentParagraph.deepEquivalent().node()
68060
680612009-08-20  Andrew Scherkus  <scherkus@chromium.org>
68062
68063        Reviewed by David Levin.
68064
68065        Render disabled mute button during an error or if no audio is present.
68066
68067        https://bugs.webkit.org/show_bug.cgi?id=28475
68068
68069        Covered by existing layout tests:
68070        media/video-controls-visible-audio-only.html
68071        media/video-no-audio.html
68072
68073        * rendering/RenderThemeChromiumSkia.cpp:
68074        (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
68075
680762009-08-20  Dan Bernstein  <mitz@apple.com>
68077
68078        Reviewed by Darin Adler.
68079
68080        <rdar://problem/7154605> Loading page with 1px wide <select> makes the
68081        toolbar go blank
68082        and
68083        <rdar://problem/7154521> Lots of "<Error>: doClip: empty path." spew in
68084        the console with certain content
68085
68086        * rendering/RenderThemeMac.mm:
68087        (WebCore::RenderThemeMac::paintMenuListButtonGradients): Return early
68088        if the rectangle is empty. Use RenderStyle::getBorderRadiiForRect() to
68089        adjust the radii in case the sides of the rectangle are smaller than sum
68090        of the radii, so that the gradient background matches the border (which
68091        already uses getBorderRadiiForRect()). Check if bottomGradient is empty
68092        to avoid clipping to an empty path.
68093        (WebCore::RenderThemeMac::paintMenuListButton): Moved a
68094        GraphicContext::save() down to avoid a save/restore imbalance in the
68095        early return case.
68096
68097        * rendering/RenderThemeSafari.cpp: Made the same changes.
68098        (WebCore::RenderThemeSafari::paintMenuListButtonGradients):
68099        (WebCore::RenderThemeSafari::paintMenuListButton):
68100
681012009-08-20  Jan Michael Alonzo  <jmalonzo@webkit.org>
68102
68103        Reviewed by Gustavo Noronha.
68104
68105        [Gtk][REGRESSION] XHR test failures after r45558
68106        https://bugs.webkit.org/show_bug.cgi?id=27143
68107
68108        Disable sniffing if it's explicitly requested. Updated patch
68109        originally by Gustavo Noronha.
68110
68111        * platform/network/soup/ResourceHandleSoup.cpp:
68112        (WebCore::statusWillBeHandledBySoup):
68113        (WebCore::gotHeadersCallback):
68114        (WebCore::contentSniffedCallback):
68115        (WebCore::gotChunkCallback):
68116        (WebCore::startHttp):
68117
681182009-08-20  Ariya Hidayat  <ariya.hidayat@nokia.com>
68119
68120        Reviewed by Simon Hausmann.
68121
68122        [Qt] Swap the pixels since QImage expect ARGB while ImageData
68123        stores them as RGBA.
68124
68125        This fixes the fast/canvas/canvas-copyPixels.html test.
68126
68127        * platform/graphics/qt/ImageBufferQt.cpp:
68128        (WebCore::putImageData):
68129
681302009-08-20  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
68131
68132        Reviewed by David Levin.
68133
68134        [v8] Use atomic string caching for createElement
68135        Extend atomic string caching to createElement.  Fix a bug in idl
68136        parser that caused incorrect parsing if a function argument
68137        attribute list contained a comma.
68138        https://bugs.webkit.org/show_bug.cgi?id=28449
68139
68140        * bindings/scripts/CodeGeneratorV8.pm:
68141        * bindings/scripts/IDLParser.pm:
68142        * bindings/v8/V8Binding.h:
68143        (WebCore::v8ValueToAtomicWebCoreStringWithNullCheck):
68144        * dom/Document.idl:
68145
681462009-08-20  Ariya Hidayat  <ariya.hidayat@nokia.com>
68147
68148        Not reviewed, build fix after r47515.
68149
68150        [Qt] There is no Phonon::MediaObject::hasAudio() function.
68151
68152        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
68153        (WebCore::MediaPlayerPrivate::hasAudio): Assume true.
68154
681552009-08-20  Darin Fisher  <darin@chromium.org>
68156
68157        Reviewed by Eric Seidel.
68158
68159        https://bugs.webkit.org/show_bug.cgi?id=28483
68160        The V8 ScriptController's cleanupScriptObjectsForPlugin should take a
68161        Widget* instead of void* to avoid the need for manual casting to Widget*
68162        at the callsite.
68163
68164        * bindings/v8/ScriptController.cpp:
68165        (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
68166        * bindings/v8/ScriptController.h:
68167
681682009-08-19  David Levin  <levin@chromium.org>
68169
68170        Unreviewed speculative build fix for qt.
68171
68172        * page/OriginAccessEntry.cpp:
68173
681742009-08-19  Aaron Boodman  <aa@chromium.org>
68175
68176        Reviewed by David Levin.
68177
68178        https://bugs.webkit.org/show_bug.cgi?id=24853: Provide a way for WebKit clients to
68179        specify a more granular policy for cross-origin XHR access.
68180
68181        Tests: http/tests/xmlhttprequest/origin-whitelisting-all.html
68182               http/tests/xmlhttprequest/origin-whitelisting-exact-match.html
68183               http/tests/xmlhttprequest/origin-whitelisting-https.html
68184               http/tests/xmlhttprequest/origin-whitelisting-ip-addresses-with-subdomains.html
68185               http/tests/xmlhttprequest/origin-whitelisting-ip-addresses.html
68186               http/tests/xmlhttprequest/origin-whitelisting-subdomains.html
68187
68188        * WebCore.base.exp: Export methods to manipulate origin access whitelists to enable
68189        testing via layout tests.
68190
68191        * WebCore.xcodeproj/project.pbxproj: Add OriginAccessEntry.*
68192        * GNUmakefile.am: Ditto.
68193        * WebCore.gypi: Ditto.
68194        * WebCore.pro: Ditto.
68195        * WebCore.vcproj/WebCore.vcproj: Ditto.
68196        * WebCoreSources.blk: Ditto.
68197
68198        * page/SecurityOrigin.h: Implement origin access whitelists.
68199        (WebCore::originAccessMap): Static getter for access whitelists.
68200        (WebCore::SecurityOrigin::canRequest): Modify request checking logic to check whitelists.
68201        (WebCore::SecurityOrigin::whiteListAccessFromOrigin): Add an entry to a whitelist.
68202        (WebCore::SecurityOrigin::resetOriginAccessWhiteLists): Clear all the whitelists.
68203
68204        * page/OriginAccessEntry.h: Added. An entry in an origin access whitelist.
68205        * page/OriginAccessEntry.cpp: Ditto.
68206
682072009-08-19  Kevin Ollivier  <kevino@theolliviers.com>
68208
68209        Non-precomp headers build fix.
68210
68211        * platform/image-decoders/ImageDecoder.cpp:
68212
682132009-08-19  Jeremy Orlow  <jorlow@chromium.org>
68214
68215        Reviewed by Darin Fisher.
68216
68217        Disable a bad SKIA assert
68218        https://bugs.webkit.org/show_bug.cgi?id=28482
68219
68220        In http://trac.webkit.org/changeset/47386/ an assert was "fixed" in SKIA code. 
68221        When this was pulled into Chromium, it started breaking the page cycler. 
68222        Disable it again until we can figure out what's going on.
68223
68224        * platform/graphics/skia/PlatformContextSkia.cpp:
68225        (PlatformContextSkia::setupPaintCommon):
68226
682272009-08-19  Ryosuke Niwa  <rniwa@webkit.org>
68228
68229        Reviewed by Darin Adler.
68230
68231        queryCommandState('underline') returns false if the selected text is also bold and italic
68232        https://bugs.webkit.org/show_bug.cgi?id=11022
68233
68234        This patch modifies stateStrikethrough and stateUnderline to use the value -webkit-text-decorations-in-effect
68235        instead of text-decoration.  Because text-decoration only retrieves explicit styling at the node on which
68236        the query was sent, we need to use -webkit-text-decorations-in-effect to include decorations added by ancestors
68237        and also u, s, and strike tags.
68238
68239        Test: editing/style/text-decoration-state.html
68240
68241        * editing/EditorCommand.cpp:
68242        (WebCore::stateStrikethrough): Use -webkit-test-decorations-in-effect instead of text-decoration.
68243        (WebCore::stateUnderline): Ditto.
68244
682452009-08-19  Anders Carlsson  <andersca@apple.com>
68246
68247        Reviewed by Darin Adler.
68248
68249        - Fix <rdar://problem/7155710>
68250        HTML selects on windows cause containing window to become inactive when opened.
68251
68252        * platform/win/PopupMenuWin.cpp:
68253        (WebCore::PopupMenu::show):
68254        Pass SWP_NOACTIVATE to SetWindowPos, remove AW_ACTIVATE from AnimateWindow and pass
68255        SW_SHOWNOACTIVATE to ShowWindow.
68256        
68257        (WebCore::PopupWndProc):
68258        Prevent mouse activation from activating the window.
68259
682602009-08-19  Simon Fraser  <simon.fraser@apple.com>
68261
68262        Reviewed by Darin Adler.
68263
68264        Images flash as you hover them on http://www.atebits.com/scribbles/
68265        <rdar://problem/7143958>
68266        
68267        Tag images with the device colorspace with the colorspace of the main display, rather than
68268        GenericRGB, so that composited images color-match those rendered via Core Graphics.
68269        
68270        Covered by LayoutTests/compositing/color-matching/image-color-matching.html
68271
68272        * platform/graphics/mac/GraphicsLayerCA.mm:
68273        (WebCore::GraphicsLayerCA::setContentsToImage):
68274
682752009-08-19  Anders Carlsson  <andersca@apple.com>
68276
68277        Reviewed by David Hyatt and Dan Bernstein.
68278
68279        - Fix <rdar://problem/7152589> Stylable scrollbar corners aren't working.
68280
68281        * page/FrameView.cpp:
68282        (WebCore::FrameView::FrameView):
68283        Initialize m_scrollCorner.
68284
68285        (WebCore::FrameView::~FrameView):
68286        Assert that m_scrollCorner is null.
68287
68288        (WebCore::FrameView::detachCustomScrollbars):
68289        Destroy m_scrollCorner.
68290
68291        (WebCore::FrameView::invalidateScrollCorner):
68292        Invalidate the scroll corner.
68293        
68294        (WebCore::FrameView::updateScrollCorner):
68295        Create/destroy the scroll corner.
68296        
68297        (WebCore::FrameView::paintScrollCorner):
68298        Paint the scroll corner.
68299        
68300        * page/FrameView.h:
68301        (WebCore::FrameView::isFrameViewScrollCorner):
68302        Return whether a RenderScrollbarPart is the frame view scroll corner.
68303        
68304        * platform/ScrollView.cpp:
68305        (WebCore::ScrollView::updateScrollbars):
68306        Go ahead and update the scroll corner.
68307        
68308        (WebCore::ScrollView::setScrollbarsSuppressed):
68309        Pass the scroll corner rect to invalidateRect.
68310        
68311        (WebCore::ScrollView::scrollCornerRect):
68312        Return the scroll corner rect.
68313        
68314        * platform/ScrollView.h:
68315        * rendering/RenderScrollbarPart.cpp:
68316        (WebCore::RenderScrollbarPart::imageChanged):
68317        If this scrollbar part is the frame view scroll corner, invalidate it.
68318
683192009-08-19  Dirk Schulze  <krit@webkit.org>
68320
68321        Reviewed by Oliver Hunt.
68322
68323        SVG feComponentTransfer needs to be implemented
68324        [https://bugs.webkit.org/show_bug.cgi?id=27768]
68325
68326        Implementation of SVG Filter feComponentTransfer.
68327
68328        There is already a test case
68329        Test: svg/W3C-SVG-1.1/filters-comptran-01-b.svg
68330
68331        * platform/graphics/filters/FEComponentTransfer.cpp:
68332        (WebCore::identity):
68333        (WebCore::table):
68334        (WebCore::discrete):
68335        (WebCore::linear):
68336        (WebCore::gamma):
68337        (WebCore::FEComponentTransfer::apply):
68338
683392009-08-19  Dan Bernstein  <mitz@apple.com>
68340
68341        Reviewed by Dave Hyatt.
68342
68343        <rdar://problem/7141522> Incorrect layout of product table at henry.com
68344
68345        Test: fast/block/basic/quirk-percent-height-table-cell.html
68346
68347        * rendering/RenderBox.cpp:
68348        (WebCore::RenderBox::calcPercentageHeight): Tweak the quirk that allows
68349        percentage-height children of auto-height blocks to look for an ancestor
68350        with non-auto height and compute their height based on it. The change is
68351        that if that ancestor is a table cell, it is ignored and the percent
68352        height computes to zero (just like in strict mode). This matches Firefox
68353        and IE.
68354
683552009-08-19  Jungshik Shin  <jshin@chromium.org>
68356
68357        Reviewed by Eric Seidel.
68358
68359        Add 'icu::' qualifier when refering to ICU C+names to the other
68360        file with this issue missed in the previous check-in.
68361
68362        https://bugs.webkit.org/show_bug.cgi?id=28410
68363
68364        No change in the test result.
68365
68366        * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
68367        (WebCore::):
68368
683692009-08-19  Peter Kasting  <pkasting@google.com>
68370
68371        Unreviewed (build fix for Skia).
68372
68373        https://bugs.webkit.org/show_bug.cgi?id=28268
68374
68375        * platform/graphics/skia/GraphicsContextSkia.cpp:
68376        (WebCore::GraphicsContext::drawLine):
68377
683782009-08-19  Jan Michael Alonzo  <jmalonzo@webkit.org>
68379
68380        Reviewed by Eric Seidel.
68381
68382        [CAIRO] Remove setFont indirection
68383        https://bugs.webkit.org/show_bug.cgi?id=28453
68384
68385        Remove the indirection and just set the font in Font::drawGlyphs.
68386
68387        * platform/graphics/SimpleFontData.h:
68388        * platform/graphics/cairo/FontCairo.cpp:
68389        (WebCore::Font::drawGlyphs):
68390        * platform/graphics/gtk/FontPlatformData.h:
68391        (WebCore::FontPlatformData::scaledFont):
68392        * platform/graphics/gtk/FontPlatformDataGtk.cpp:
68393        (WebCore::FontPlatformData::~FontPlatformData):
68394        * platform/graphics/gtk/FontPlatformDataPango.cpp:
68395        * platform/graphics/gtk/SimpleFontDataGtk.cpp:
68396        * platform/graphics/gtk/SimpleFontDataPango.cpp:
68397        * platform/graphics/win/FontPlatformData.h:
68398        * platform/graphics/win/FontPlatformDataCairoWin.cpp:
68399        * platform/graphics/win/SimpleFontDataCairoWin.cpp:
68400
684012009-08-19  Pavel Feldman  <pfeldman@chromium.org>
68402
68403        Reviewed by Timothy Hatcher.
68404
68405        WebInspector: When adding style selector, generate default name based
68406        on id / class / type.
68407
68408        https://bugs.webkit.org/show_bug.cgi?id=28468
68409
68410        * inspector/front-end/StylesSidebarPane.js:
68411        (WebInspector.StylesSidebarPane.prototype.appropriateSelectorForNode):
68412
684132009-08-19  David Hyatt  <hyatt@apple.com>
68414
68415        Reviewed by Dan Bernstein.
68416
68417        Rename combinedOverflow to visibleOverflow, since that's what it actually represents.
68418
68419        * rendering/InlineFlowBox.cpp:
68420        (WebCore::InlineFlowBox::nodeAtPoint):
68421        (WebCore::InlineFlowBox::paint):
68422        * rendering/InlineFlowBox.h:
68423        (WebCore::InlineFlowBox::topvisibleOverflow):
68424        (WebCore::InlineFlowBox::bottomvisibleOverflow):
68425        (WebCore::InlineFlowBox::leftvisibleOverflow):
68426        (WebCore::InlineFlowBox::rightvisibleOverflow):
68427        (WebCore::InlineFlowBox::visibleOverflowRect):
68428        * rendering/RenderBlock.cpp:
68429        (WebCore::RenderBlock::layoutBlock):
68430        (WebCore::RenderBlock::paint):
68431        (WebCore::RenderBlock::floatRect):
68432        (WebCore::RenderBlock::nodeAtPoint):
68433        * rendering/RenderBlock.h:
68434        * rendering/RenderBlockLineLayout.cpp:
68435        (WebCore::RenderBlock::layoutInlineChildren):
68436        (WebCore::RenderBlock::matchedEndLine):
68437        * rendering/RenderBox.cpp:
68438        (WebCore::RenderBox::clippedOverflowRectForRepaint):
68439        * rendering/RenderBox.h:
68440        (WebCore::RenderBox::visibleOverflowRect):
68441        (WebCore::RenderBox::topvisibleOverflow):
68442        (WebCore::RenderBox::bottomvisibleOverflow):
68443        (WebCore::RenderBox::leftvisibleOverflow):
68444        (WebCore::RenderBox::rightvisibleOverflow):
68445        * rendering/RenderLayer.cpp:
68446        (WebCore::RenderLayer::localBoundingBox):
68447        * rendering/RenderLineBoxList.cpp:
68448        (WebCore::RenderLineBoxList::paint):
68449        (WebCore::RenderLineBoxList::hitTest):
68450        * rendering/RenderOverflow.h:
68451        (WebCore::RenderOverflow::visibleOverflowRect):
68452        * rendering/RenderReplaced.cpp:
68453        (WebCore::RenderReplaced::shouldPaint):
68454        (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
68455        * rendering/RenderTable.cpp:
68456        (WebCore::RenderTable::layout):
68457        (WebCore::RenderTable::paint):
68458        * rendering/RenderTableCell.cpp:
68459        (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
68460
684612009-08-19  Eric Carlson  <eric.carlson@apple.com>
68462
68463        Reviewed by Eric Seidel.
68464
68465        Sound button appears in controller with movies that have no audio
68466        https://bugs.webkit.org/show_bug.cgi?id=28464
68467
68468        Test: media/video-no-audio.html
68469
68470        * html/HTMLMediaElement.cpp:
68471        * html/HTMLMediaElement.h:
68472        (WebCore::HTMLMediaElement::hasAudio):
68473            Added hasAudio.
68474
68475        * platform/graphics/MediaPlayer.h:
68476        * platform/graphics/MediaPlayer.cpp:
68477        (WebCore::NullMediaPlayerPrivate::hasAudio):
68478        (WebCore::MediaPlayer::hasVideo):
68479            Make const.
68480        (WebCore::MediaPlayer::hasAudio):
68481            Added hasAudio.
68482
68483        * platform/graphics/MediaPlayerPrivate.h:
68484            Add hasAudio.
68485
68486        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
68487        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
68488        (WebCore::MediaPlayerPrivate::hasAudio):
68489            Ditto.
68490
68491        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
68492        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
68493        (WebCore::MediaPlayerPrivate::hasAudio):
68494            Ditto.
68495
68496        * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
68497        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
68498        (WebCore::MediaPlayerPrivate::hasAudio):
68499            Ditto.
68500
68501        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
68502        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
68503        (WebCore::MediaPlayerPrivate::hasAudio):
68504            Ditto.
68505
68506        * platform/graphics/win/QTMovieWin.h:
68507        * platform/graphics/win/QTMovieWin.cpp:
68508        (QTMovieWin::hasAudio):
68509            Ditto.
68510
68511        * rendering/MediaControlElements.cpp:
68512        (WebCore::MediaControlMuteButtonElement::disabled):
68513            New, return true if media element doesn't have audio.
68514        (WebCore::MediaControlMuteButtonElement::rendererIsNeeded):
68515            Renderer is not needed if element has no audio.
68516        * rendering/MediaControlElements.h:
68517        (WebCore::MediaControlInputElement::disabled):
68518
68519        * rendering/RenderThemeMac.mm:
68520        (WebCore::getMediaUIPartStateFlags):
68521            Return MediaUIPartDisabledFlag if node is disabled.
68522            
68523
685242009-08-19  Michelangelo De Simone  <micdesim@gmail.com>
68525
68526        Reviewed by Darin Adler.
68527
68528        https://bugs.webkit.org/show_bug.cgi?id=27357
68529        Removed the two unnecessary overridden willValidate() methods introduced
68530        in r47444.
68531
68532        * html/HTMLKeygenElement.h:
68533        * html/HTMLObjectElement.h:
68534
685352009-08-19  Pavel Feldman  <pfeldman@chromium.org>
68536
68537        Reviewed by Timothy Hatcher.
68538
68539        WebInspector: Allow dumping dangling nodes to the console.
68540
68541        https://bugs.webkit.org/show_bug.cgi?id=28458
68542
68543        * bindings/js/JSInspectorBackendCustom.cpp:
68544        * bindings/v8/custom/V8CustomBinding.h:
68545        * bindings/v8/custom/V8InspectorBackendCustom.cpp:
68546        * inspector/InspectorBackend.cpp:
68547        * inspector/InspectorBackend.h:
68548        * inspector/InspectorBackend.idl:
68549        * inspector/InspectorController.cpp:
68550        (WebCore::InspectorController::clearConsoleMessages):
68551        * inspector/InspectorDOMAgent.cpp:
68552        (WebCore::InspectorDOMAgent::releaseDanglingNodes):
68553        (WebCore::InspectorDOMAgent::startListening):
68554        (WebCore::InspectorDOMAgent::stopListening):
68555        (WebCore::InspectorDOMAgent::handleEvent):
68556        (WebCore::InspectorDOMAgent::bind):
68557        (WebCore::InspectorDOMAgent::unbind):
68558        (WebCore::InspectorDOMAgent::pushDocumentToFrontend):
68559        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
68560        (WebCore::InspectorDOMAgent::discardBindings):
68561        (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
68562        (WebCore::InspectorDOMAgent::buildObjectForNode):
68563        (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
68564        * inspector/InspectorDOMAgent.h:
68565        * inspector/InspectorFrontend.cpp:
68566        (WebCore::InspectorFrontend::setDetachedRoot):
68567        (WebCore::InspectorFrontend::childNodeCountUpdated):
68568        * inspector/InspectorFrontend.h:
68569        * inspector/front-end/ConsoleView.js:
68570        (WebInspector.ConsoleView.prototype._formatnode):
68571        * inspector/front-end/DOMAgent.js:
68572        (WebInspector.DOMAgent.prototype._setDetachedRoot):
68573        (WebInspector.DOMAgent.prototype._childNodeCountUpdated):
68574        (WebInspector.setDetachedRoot):
68575        (WebInspector.childNodeCountUpdated):
68576        (InspectorController.pushNodeToFrontend):
68577        * inspector/front-end/InjectedScript.js:
68578        (InjectedScript.pushNodeToFrontend):
68579        (InjectedScript.createProxyObject):
68580
685812009-08-19  Alexey Proskuryakov  <ap@apple.com>
68582
68583        Reviewed by Anders Carlsson.
68584
68585        https://bugs.webkit.org/show_bug.cgi?id=27464
68586        Implement application cache online whitelist wildcard flag
68587
68588        Test: http/tests/appcache/whitelist-wildcard.html
68589
68590        A "*" in NETWORK section means that network loading needn't be blocked.
68591
68592        * loader/appcache/ApplicationCache.cpp:
68593        (WebCore::ApplicationCache::isURLInOnlineWhitelist):
68594        * loader/appcache/ApplicationCache.h:
68595        (WebCore::ApplicationCache::setAllowsAllNetworkRequests):
68596        (WebCore::ApplicationCache::allowsAllNetworkRequests):
68597        * loader/appcache/ApplicationCacheGroup.cpp:
68598        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
68599        * loader/appcache/ApplicationCacheStorage.cpp:
68600        (WebCore::ApplicationCacheStorage::openDatabase):
68601        (WebCore::ApplicationCacheStorage::store):
68602        (WebCore::ApplicationCacheStorage::loadCache):
68603        * loader/appcache/ManifestParser.cpp:
68604        (WebCore::parseManifest):
68605        * loader/appcache/ManifestParser.h:
68606
686072009-08-19  Brady Eidson <beidson@apple.com>
68608
68609        Reviewed by Kevin Decker.
68610
68611        <rdar://problem/7042555> Loading certain pages on Tiger will start a spurious download
68612        
68613        Get rid of method swizzling entirely. This created problems when lower level
68614        Foundation code would call into our own swizzled method.
68615        
68616        * platform/network/mac/ResourceHandleMac.mm: 
68617        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): 
68618        * platform/network/mac/WebCoreURLResponse.h:
68619        * platform/network/mac/WebCoreURLResponse.mm:
68620        (-[NSURLResponse adjustMIMETypeIfNecessary]):
68621
686222009-08-19  Adam Roben  <aroben@apple.com>
68623
68624        Fix linker warnings on Windows
68625
68626        Reviewed by Anders Carlsson.
68627
68628        Fixes <http://webkit.org/b/28462> WebCore causes linker warnings on
68629        Windows about multiply-defined JSHTMLDataListElement symbols
68630
68631        * WebCore.vcproj/WebCore.vcproj: Exclude JSHTMLDataListElement.cpp
68632        from the build (just like we do for the other generated bindings
68633        files) so that we don't get warnings about multiply-defined symbols in
68634        JSHTMLDataListElement.cpp and DerivedSources.cpp. Also removed
68635        duplicate versions of JSSVGElementWrapperFactory.cpp, and let VS
68636        reorder a few files.
68637
686382009-08-19  Jungshik Shin  <jshin@chromium.org>
68639
68640        Reviewed by Eric Seidel
68641
68642        Add 'icu::' qualifier when refering to ICU C+names.
68643
68644        https://bugs.webkit.org/show_bug.cgi?id=28410
68645
68646        No change in the test result.
68647
68648        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
68649        (WebCore::fontContainsCharacter):
68650
686512009-08-19  David Hyatt  <hyatt@apple.com>
68652
68653        Reviewed by Dan Bernstein.
68654
68655        Cleanup from my patch thet rewrote overflow.  Remove unused member variables from RenderTableSection and
68656        move the addition of overflow from children into a separate pass after the height of the section has been
68657        set.  This prevents the RenderOverflow struct from being aggressively allocated for all table sections.
68658        (Not a a correctness issue, just a memory issue.)
68659
68660        * rendering/RenderTableSection.cpp:
68661        (WebCore::RenderTableSection::RenderTableSection):
68662        (WebCore::RenderTableSection::layoutRows):
68663        * rendering/RenderTableSection.h:
68664
686652009-08-19  Jan Michael Alonzo  <jmalonzo@webkit.org>
68666
68667        Reviewed by Xan Lopez.
68668
68669        [Gtk] Remove bogus dependency rules for built sources that derive
68670        from HTMLTagNames.in, HTMLAttributeNames.in and xmlattrs.in. The
68671        header files should be generated regardless of whether the source
68672        file changed or not. We should only rely on the *.in files being
68673        changed.
68674
68675        * GNUmakefile.am:
68676
686772009-08-18  Maciej Stachowiak  <mjs@apple.com>
68678
68679        Reviewed by Oliver Hunt.
68680
68681        convert FormatBlock candidate tag list from if chain to hash lookup
68682        https://bugs.webkit.org/show_bug.cgi?id=28448
68683
68684        No behavior change, just cleanup.
68685
68686        * editing/htmlediting.cpp:
68687        (WebCore::validBlockTag):
68688        * editing/htmlediting.h:
68689
686902009-08-19  Mike Fenton  <mike.fenton@torchmobile.com>
68691
68692        Reviewed by Eric Seidel.
68693
68694        Update GraphicsContextSkia's version of drawLine to make use of the shared
68695        adjustLineToPixelBoundaries function and elimination overlapping code.
68696
68697        https://bugs.webkit.org/show_bug.cgi?id=28268
68698
68699        * platform/graphics/skia/GraphicsContextSkia.cpp:
68700        (WebCore::GraphicsContext::drawLine):
68701
687022009-08-18  Mike Fenton  <mike.fenton@torchmobile.com>
68703
68704        Reviewed by Eric Seidel.
68705
68706        Style fixes based on cpp_style.py and WebKit Style guide for
68707        GraphicsContextSkia.cpp
68708
68709        https://bugs.webkit.org/show_bug.cgi?id=28268
68710
68711        * platform/graphics/skia/GraphicsContextSkia.cpp:
68712        (WebCore::GraphicsContext::addInnerRoundedRectClip):
68713        (WebCore::GraphicsContext::drawFocusRing):
68714        (WebCore::GraphicsContext::roundToDevicePixels):
68715        (WebCore::GraphicsContext::setLineDash):
68716        (WebCore::GraphicsContext::setPlatformShadow):
68717
687182009-08-18  Alexey Proskuryakov  <ap@webkit.org>
68719
68720        Reviewed by Maciej Stachowiak.
68721
68722        https://bugs.webkit.org/show_bug.cgi?id=28446
68723        Custom request headers shouldn't be sent with cross-origin preflight request
68724
68725        Tests: http/tests/xmlhttprequest/access-control-preflight-headers-async.html
68726               http/tests/xmlhttprequest/access-control-preflight-headers-sync.html
68727
68728        * loader/DocumentThreadableLoader.cpp:
68729        (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
68730        Don't copy headers to OPTIONS request. The spec is vague about this, but the intention was
68731        that they shouldn't be sent, and Firefox doesn't send them.
68732
687332009-08-18  John Gregg  <johnnyg@google.com>
68734
68735        Reviewed by Dimitri Glazkov.
68736
68737        V8 Bindings for Desktop Notifications feature.
68738        https://bugs.webkit.org/show_bug.cgi?id=28271
68739
68740        * WebCore.gypi: 
68741        added notification files to build (all still behind a flag that's not on)
68742        * bindings/scripts/CodeGeneratorV8.pm:
68743        added special case in DOMWindow/AppCache style for named event handlers
68744        * bindings/v8/DOMObjectsInclude.h:
68745        * bindings/v8/DerivedSourcesAllInOne.cpp:
68746        * bindings/v8/V8DOMWrapper.cpp:
68747        (WebCore::V8DOMWrapper::getTemplate):
68748        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
68749        * bindings/v8/V8Index.cpp:
68750        * bindings/v8/V8Index.h:
68751        * bindings/v8/V8Proxy.h:
68752        * bindings/v8/WorkerContextExecutionProxy.cpp:
68753        (WebCore::WorkerContextExecutionProxy::convertToV8Object):
68754        * bindings/v8/custom/V8CustomBinding.h:
68755        * bindings/v8/custom/V8NotificationCenterCustom.cpp: Added.
68756        * notifications/Notification.h:
68757        made event handler routines public (as they are in DOMWindow, eg) for
68758        binding access.
68759        * notifications/NotificationCenter.idl:
68760        needed to make methods V8Custom to support different behaviors in 
68761        worker/page context in chromium. 
68762        * workers/WorkerThread.h:
68763        (WebCore::WorkerThread::getNotificationPresenter):
68764        (WebCore::WorkerThread::setNotificationPresenter):
68765        needed to make these methods public as well so chromium can inject
68766        the notification presenter into the worker thread.
68767
687682009-08-13  Maciej Stachowiak  <mjs@apple.com>
68769
68770        Reviewed by Sam Weinig.
68771
68772        - Implement HTML5 nav element
68773        https://bugs.webkit.org/show_bug.cgi?id=27937
68774
68775        <nav> should behave essentially the same as <div> for parsing
68776        etc. This is implemented by the changes below.
68777        
68778        Tests: fast/html/nav-element.html
68779
68780        * css/html.css:
68781        * editing/htmlediting.cpp:
68782        (WebCore::validBlockTag):
68783        * html/HTMLElement.cpp:
68784        (WebCore::HTMLElement::tagPriority):
68785        (WebCore::blockTagList):
68786        * html/HTMLParser.cpp:
68787        (WebCore::HTMLParser::getNode):
68788        * html/HTMLTagNames.in:
68789
687902009-08-18  Anders Carlsson  <andersca@apple.com>
68791
68792        Reviewed by Adele Peterson, David Hyatt and Dan Bernstein.
68793
68794        - Fix <rdar://problem/7152727>
68795
68796        If a page has custom scroll bars, they will not update correctly when the window is activated/deactivated.
68797        
68798        * page/FrameView.cpp:
68799        (WebCore::FrameView::hasCustomScrollbars):
68800        Check if the frame view or any of its subviews have custom scroll bars.
68801        
68802        (WebCore::FrameView::updateControlTints):
68803        Go ahead and update control tints if the frame view has custom scroll bars.
68804        
68805        * page/FrameView.h:
68806
688072009-08-18  Mark Rowe  <mrowe@apple.com>
68808
68809        Roll out r47477 as it introduced assertion failures and crashes on the build bots.
68810
68811        * GNUmakefile.am:
68812        * WebCore.gypi:
68813        * WebCore.pro:
68814        * WebCore.vcproj/WebCore.vcproj:
68815        * WebCore.xcodeproj/project.pbxproj:
68816        * WebCoreSources.bkl:
68817        * storage/Database.cpp:
68818        * storage/Database.h:
68819        * storage/DatabaseThread.cpp:
68820        (WebCore::DatabaseThread::DatabaseThread):
68821        * storage/DatabaseThread.h:
68822        * storage/SQLTransaction.cpp:
68823        (WebCore::SQLTransaction::runCurrentStatement):
68824        (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
68825        (WebCore::SQLTransaction::postflightAndCommit):
68826        * storage/SQLTransactionClient.cpp: Removed.
68827        * storage/SQLTransactionClient.h: Removed.
68828
688292009-08-18  Maxime Simon  <simon.maxime@gmail.com>
68830
68831        Reviewed by Eric Seidel.
68832
68833        [Haiku] Adding the SharedTimer file for WebCore.
68834        https://bugs.webkit.org/show_bug.cgi?id=28126
68835
68836        * platform/haiku/SharedTimerHaiku.cpp: Added.
68837        (WebCore::):
68838        (WebCore::SharedTimerHaiku::SharedTimerHaiku):
68839        (WebCore::SharedTimerHaiku::~SharedTimerHaiku):
68840        (WebCore::SharedTimerHaiku::instance):
68841        (WebCore::SharedTimerHaiku::start):
68842        (WebCore::SharedTimerHaiku::stop):
68843        (WebCore::SharedTimerHaiku::Filter):
68844        (WebCore::setSharedTimerFiredFunction):
68845        (WebCore::setSharedTimerFireTime):
68846        (WebCore::stopSharedTimer):
68847
688482009-08-18  Mark Rowe  <mrowe@apple.com>
68849
68850        Release build fix.
68851
68852        * xml/XMLHttpRequest.cpp: Sprinkle some #ifndef NDEBUG around.
68853        (WebCore::XMLHttpRequest::XMLHttpRequest):
68854        (WebCore::XMLHttpRequest::~XMLHttpRequest):
68855
688562009-08-18  Aaron Boodman  <aa@chromium.org>
68857
68858        Reviewed by Maciej Stachowiak.
68859
68860        https://bugs.webkit.org/show_bug.cgi?id=28412: Leak of WebCore::XMLHttpRequest object during layout tests.
68861
68862        No new tests: Already covered by existing tests.
68863
68864        * xml/XMLHttpRequest.cpp:
68865        (WebCore::XMLHttpRequest::XMLHttpRequest): Add instrumentation for this kind of leak.
68866        (WebCore::XMLHttpRequest::~XMLHttpRequest): Ditto.
68867        (WebCore::XMLHttpRequest::createRequest): Only setPendingActivity() if we actually started a request. Also,
68868        restore a call to nonCacheRequestInFlight() that got lost in a recent refactor.
68869
688702009-08-18  Dumitru Daniliuc  <dumi@chromium.org>
68871
68872        Reviewed by Dimitri Glazkov.
68873
68874        Added a client to SQLTransaction. In addition to being a place to
68875        get notifications about certain events in a transaction, it is
68876        also an abstraction layer that allows us to plug in different
68877        implementations for each port for how transactions interract with
68878        the main DB. For example, WebCore's default implementation will
68879        make direct calls to DatabaseTracker's methods. At the same time,
68880        Chromium's implementation will send IPCs to the browser process
68881        whenever a transaction needs something from the main DB.
68882
68883        All storage tests pass.
68884
68885        https://bugs.webkit.org/show_bug.cgi?id=27967
68886
68887        * GNUmakefile.am:
68888        * WebCore.gypi:
68889        * WebCore.pro:
68890        * WebCore.vcproj/WebCore.vcproj:
68891        * WebCore.xcodeproj/project.pbxproj:
68892        * WebCoreSources.bkl:
68893        * storage/Database.cpp:
68894        (WebCore::Database::transactionClient):
68895        * storage/Database.h:
68896        * storage/DatabaseThread.cpp:
68897        (WebCore::DatabaseThread::DatabaseThread):
68898        * storage/DatabaseThread.h:
68899        (WebCore::DatabaseThread::transactionClient):
68900        * storage/SQLTransaction.cpp:
68901        (WebCore::SQLTransaction::runCurrentStatement):
68902        (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
68903        (WebCore::SQLTransaction::postflightAndCommit):
68904        * storage/SQLTransactionClient.cpp: Added.
68905        * storage/SQLTransactionClient.h: Added.
68906
689072009-08-18  Julie Parent  <jparent@chromium.org>
68908
68909        Not reviewed, build fix for Chromium.
68910
68911        Final change for v8 corresponding to http://trac.webkit.org/changeset/47469.
68912
68913        * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: Added missing using statment
68914
689152009-08-18  Julie Parent  <jparent@chromium.org>
68916
68917        Not reviewed, build fix for Chromium.
68918
68919       More corresponding changes to V8 from http://trac.webkit.org/changeset/47469.
68920
68921        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
68922        (WebCore::ACCESSOR_SETTER): Use srcAttr instead of the src function.
68923
689242009-08-18  Julie Parent  <jparent@chromium.org>
68925
68926        Not reviewed, build fix for Chromium.
68927
68928        Make corresponding changes to V8 from http://trac.webkit.org/changeset/47469.
68929
68930        * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
68931        (WebCore::ACCESSOR_SETTER): Use srcAttr instead of the src function.
68932
689332009-08-18  Dan Bernstein  <mitz@apple.com>
68934
68935        Build fix.
68936
68937        * editing/ApplyStyleCommand.cpp:
68938        (WebCore::getIdentifierValue):
68939
689402009-08-18  Darin Adler  <darin@apple.com>
68941
68942        Reviewed by Sam Weinig.
68943
68944        More work on making DOM classes start with reference count of 1
68945        https://bugs.webkit.org/show_bug.cgi?id=28068
68946
68947        Some related clean-up and preparation steps so the subsequent
68948        patches will be as small as possible.
68949
68950        * WebCore.base.exp: Sorted this file.
68951
68952        * accessibility/AccessibilityRenderObject.cpp:
68953        (WebCore::AccessibilityRenderObject::accessibilityDescription):
68954        Use nameAttr instead of the name function.
68955
68956        * bindings/js/JSHTMLFrameElementCustom.cpp:
68957        (WebCore::JSHTMLFrameElement::setSrc):
68958        Use srcAttr instead of the src function.
68959
68960        * bindings/js/JSHTMLIFrameElementCustom.cpp:
68961        (WebCore::JSHTMLIFrameElement::setSrc):
68962        Use srcAttr instead of the src function.
68963
68964        * bindings/objc/DOM.mm: Sorted includes.
68965        * dom/Document.cpp: Ditto.
68966
68967        * dom/StyledElement.cpp: Made invalidateStyleAttribute inline.
68968        * dom/StyledElement.h: Ditto.
68969
68970        * dom/make_names.pl: Changed default of createWithNew to 0.
68971        Eventually all elements will be created with create instead of new.
68972
68973        * html/HTMLTagNames.in:
68974        * svg/svgtags.in:
68975        * wml/WMLTagNames.in:
68976        Added createWithNew for every tag. We'll remove it as we convert
68977        element classes to use create.
68978
68979        * html/HTMLAppletElement.h: Removed unneeded forward declarations.
68980        * html/HTMLFrameElement.h: Ditto.
68981
68982        * html/HTMLEmbedElement.cpp: Removed many attribute get and
68983        set functions.
68984        * html/HTMLEmbedElement.h: Ditto.
68985        * html/HTMLIFrameElement.cpp: Ditto.
68986        * html/HTMLIFrameElement.h: Ditto.
68987        * html/HTMLObjectElement.cpp: Ditto.
68988        * html/HTMLObjectElement.h: Ditto.
68989        * html/HTMLPlugInElement.cpp: Ditto.
68990        * html/HTMLPlugInElement.h: Ditto.
68991
68992        * html/HTMLFrameElementBase.cpp: Removed many attribute get and
68993        set functions.
68994        (WebCore::HTMLFrameElementBase::location): Changed to use
68995        srcAttr instead of src.
68996        * html/HTMLFrameElementBase.h: Removed many attribute get and set
68997        functions.
68998
68999        * loader/MediaDocument.cpp:
69000        (WebCore::MediaDocument::replaceMediaElementTimerFired):
69001        Use srcAttr and typeAttr instead of setSrc and setType.
69002        * loader/PluginDocument.cpp:
69003        (WebCore::PluginTokenizer::createDocumentStructure): Ditto.
69004
69005        * rendering/RenderPartObject.cpp:
69006        (WebCore::RenderPartObject::updateWidget): Use nameAttr instead
69007        of name -- this avoids an extra AtomicString round trip and a little
69008        ref count churn too.
69009
690102009-08-18  Drew Wilson  <atwilson@google.com>
69011
69012        Reviewed by David Levin.
69013
69014        SharedWorkers need to support loading.
69015        https://bugs.webkit.org/show_bug.cgi?id=28342
69016
69017        Added loader support to shared workers, and refactored worker tests to also test SharedWorkers
69018
69019        * workers/DefaultSharedWorkerRepository.cpp:
69020        (WebCore::SharedWorkerProxy::postTaskToLoader):
69021        Forwards load requests to an arbitrary document from the list of worker's documents.
69022        (WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext):
69023        Posts responses back to the shared worker thread.
69024
690252009-08-18  Ryosuke Niwa  <rniwa@webkit.org>
69026
69027        Reviewed by Darin Adler.
69028
69029        StyleChange::init needs clean up before fixing the bug 23892
69030        https://bugs.webkit.org/show_bug.cgi?id=27749
69031
69032        This patch simplifies StyleChange::init by removing the iteration on CSS properties,
69033        and adding functions reconcileTextDecorationProperties and extractTextStyle to handle the style.
69034
69035        Because there is a bug in how text decorations are processes in getPropertiesNotInComputedStyle,
69036        this patch simplifies the treatment in order to preserve the original behavior of WebKit.
69037        However, the current implementation is not best (adds redundant text-decorations) and we should fix it later.
69038
69039        No test is added since there is no change in behavior.
69040
69041        * editing/ApplyStyleCommand.cpp:
69042        (WebCore::StyleChange::init): Uses getPropertiesNotInComputedStyle instead of iterating through the properties
69043        (WebCore::StyleChange::reconcileTextDecorationProperties): Removes -webkit-text-decorations-in-effects and redundant "none"
69044        (WebCore::getIdentifierValue): Obtains the identifier of a CSSPrimitiveValue
69045        (WebCore::StyleChange::extractTextStyles): Converts properties in style to m_apply* and removes the property
69046        (WebCore::getPropertiesNotInComputedStyle): Fixed a bug with how text decorations are treated
69047
690482009-08-18  Dumitru Daniliuc  <dumi@chromium.org>
69049
69050        Reviewed by Dimitri Glazkov.
69051
69052        Fixing a DB file naming bug in Chromium. The origin should come
69053        before the DB name in the file name.
69054
69055        https://bugs.webkit.org/show_bug.cgi?id=28331
69056
69057        * storage/DatabaseTracker.cpp:
69058        (WebCore::DatabaseTracker::fullPathForDatabase):
69059
690602009-08-18  Maxime Simon  <simon.maxime@gmail.com>
69061
69062        Reviewed by Eric Seidel.
69063
69064        [Haiku] Adding four image-specific files to WebCore:
69065        IconHaiku.cpp, ImageBufferData.h, ImageBufferHaiku.cpp, ImageHaiku.cpp
69066        https://bugs.webkit.org/show_bug.cgi?id=28130
69067
69068        * platform/graphics/Icon.h:
69069        * platform/graphics/haiku/IconHaiku.cpp: Added.
69070        (WebCore::Icon::~Icon):
69071        (WebCore::Icon::createIconForFile):
69072        (WebCore::Icon::createIconForFiles):
69073        (WebCore::Icon::paint):
69074        * platform/graphics/haiku/ImageBufferData.h: Added.
69075        * platform/graphics/haiku/ImageBufferHaiku.cpp: Added.
69076        (WebCore::ImageBufferData::ImageBufferData):
69077        (WebCore::ImageBuffer::ImageBuffer):
69078        (WebCore::ImageBuffer::~ImageBuffer):
69079        (WebCore::ImageBuffer::context):
69080        (WebCore::ImageBuffer::getUnmultipliedImageData):
69081        (WebCore::ImageBuffer::getPremultipliedImageData):
69082        (WebCore::ImageBuffer::putUnmultipliedImageData):
69083        (WebCore::ImageBuffer::putPremultipliedImageData):
69084        (WebCore::ImageBuffer::toDataURL):
69085        (WebCore::ImageBuffer::image):
69086        (WebCore::ImageBuffer::platformTransformColorSpace):
69087        * platform/graphics/haiku/ImageHaiku.cpp: Added.
69088        (WebCore::FrameData::clear):
69089        (WebCore::Image::loadPlatformResource):
69090        (WebCore::BitmapImage::initPlatformData):
69091        (WebCore::BitmapImage::invalidatePlatformData):
69092        (WebCore::BitmapImage::draw):
69093        (WebCore::Image::drawPattern):
69094        (WebCore::BitmapImage::checkForSolidColor):
69095        (WebCore::BitmapImage::getBBitmap):
69096
690972009-08-18  Beth Dakin  <bdakin@apple.com>
69098
69099        Reviewed by Dan Bernstein.
69100
69101        Fix for https://bugs.webkit.org/show_bug.cgi?id=27575 [CSS3 
69102        Backgrounds and Borders] Drop the prefix from background-size
69103
69104        * css/CSSComputedStyleDeclaration.cpp:
69105        (WebCore::):
69106        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
69107        * css/CSSParser.cpp:
69108        (WebCore::CSSParser::parseValue):
69109        (WebCore::CSSParser::parseFillProperty):
69110        (WebCore::cssPropertyID):
69111        * css/CSSPropertyNames.in:
69112        * css/CSSStyleSelector.cpp:
69113        (WebCore::CSSStyleSelector::applyProperty):
69114        * page/animation/AnimationBase.cpp:
69115        (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
69116        (WebCore::ensurePropertyMap):
69117
691182009-08-18  Drew Wilson  <atwilson@google.com>
69119
69120        Reviewed by David Levin.
69121
69122        SharedWorkers need to forward exceptions to parent documents
69123        https://bugs.webkit.org/show_bug.cgi?id=28320
69124
69125        Changed SharedWorkerProxy to have individual mutexes (so workers can interact with their parent documents without contention).
69126
69127        Updated SharedWorkerProxy to forward exceptions/console messages to all parent documents.
69128
69129        * bindings/js/JSSharedWorkerConstructor.cpp:
69130        Cleaned up bitrot - added missing include.
69131        * workers/DefaultSharedWorkerRepository.cpp:
69132        (WebCore::postExceptionTask):
69133        Callback used to deliver exceptions to a document.
69134        (WebCore::SharedWorkerProxy::postExceptionToWorkerObject):
69135        Forwards exceptions to all parent documents for presentation to the user.
69136        (WebCore::postConsoleMessageTask):
69137        (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
69138        Forwards console messages to all parent documents for presentation to the user.
69139        (WebCore::SharedWorkerProxy::addToWorkerDocuments):
69140        Grabs the mutex before accessing workerDocuments.
69141        (WebCore::SharedWorkerProxy::documentDetached):
69142        Grabs the mutex before accessing workerDocuments.
69143
691442009-08-18  Anders Carlsson  <andersca@apple.com>
69145
69146        Reviewed by Adele Peterson.
69147
69148        <rdar://problem/7135588> HTMLMediaElement should ask WebPolicyLoadDelegate before loading resource
69149        
69150        * html/HTMLMediaElement.cpp:
69151        (WebCore::HTMLMediaElement::isSafeToLoadURL):
69152        Call FrameLoaderClient::shouldLoadMediaElementURL.
69153        
69154        * loader/FrameLoaderClient.h:
69155        (WebCore::FrameLoaderClient::shouldLoadMediaElementURL):
69156        Return true by default.
69157
691582009-08-18  Dumitru Daniliuc  <dumi@chromium.org>
69159
69160        Reviewed by Dimitri Glazkov.
69161
69162        openDatabase() should not execute any SQL statement on the
69163        database it's trying to open, unless there are no other open
69164        handles to the same database. Otherwise, we might run into a
69165        deadlock.
69166
69167        Test: storage/open-database-while-transaction-in-progress.html
69168
69169        https://bugs.webkit.org/show_bug.cgi?id=28207
69170
69171        * storage/Database.cpp:
69172        (WebCore::Database::performOpenAndVerify):
69173
691742009-08-18  Dirk Schulze  <krit@webkit.org>
69175
69176        Reviewed by Oliver Hunt.
69177
69178        SVG Filter feBlend implementation missing
69179        [https://bugs.webkit.org/show_bug.cgi?id=28133]
69180
69181        Implementation of SVG Filter feBlend.
69182
69183        FilterEffect.cp needed changes to optimize the rendering. With the old code
69184        we drew a subEffect on the current FilterEffect by drawImage, got the PixelArray,
69185        cleared the drawing area, drew the next FilterEffect with drawImage and picked this
69186        PixelArray again. This was unefficient and slow. Now we calculate the requested area
69187        of the subEffect and ask the FilterEffect's ImageBuffer for the PixelArray directly,
69188        without any drawing operations on GraphicsContext.
69189
69190        There is already a test case
69191        Test: svg/W3C-SVG-1.1/filters-blend-01-b.svg
69192
69193        * html/canvas/CanvasPixelArray.h:
69194        (WebCore::CanvasPixelArray::set):
69195        (WebCore::CanvasPixelArray::get):
69196        * platform/graphics/filters/FEBlend.cpp:
69197        (WebCore::unknown):
69198        (WebCore::normal):
69199        (WebCore::multiply):
69200        (WebCore::screen):
69201        (WebCore::darken):
69202        (WebCore::lighten):
69203        (WebCore::FEBlend::apply):
69204        * platform/graphics/filters/FEBlend.h:
69205        * platform/graphics/filters/FilterEffect.cpp:
69206        (WebCore::FilterEffect::calculateDrawingIntRect):
69207        * platform/graphics/filters/FilterEffect.h:
69208
692092009-08-18  Pavel Feldman  <pfeldman@chromium.org>
69210
69211        Reviewed by Timothy Hatcher.
69212
69213        WebInspector: Fix array formatter followup: node formatter.
69214
69215        https://bugs.webkit.org/show_bug.cgi?id=28427
69216
69217        * inspector/front-end/ConsoleView.js:
69218        (WebInspector.ConsoleView.prototype._format):
69219
692202009-08-18  Pavel Feldman  <pfeldman@chromium.org>
69221
69222        Reviewed by Timothy Hatcher.
69223
69224        WebInspector: Metrics sidebar broken
69225
69226        https://bugs.webkit.org/show_bug.cgi?id=28434
69227
69228        * inspector/front-end/MetricsSidebarPane.js:
69229
692302009-08-18  Alexey Proskuryakov  <ap@apple.com>
69231
69232        Reviewed by Darin Adler.
69233
69234        https://bugs.webkit.org/show_bug.cgi?id=28432
69235        String::createCFString() returns a non-retained empty string
69236
69237        No known change in functionality, so no test.
69238
69239        * platform/text/cf/StringCF.cpp: (WebCore::String::createCFString): Retain the CFSTR result.
69240    
692412009-08-18  Brian Weinstein  <bweinstein@apple.com>
69242
69243        Reviewed by Oliver Hunt.
69244
69245        Fix of <https://bugs.webkit.org/show_bug.cgi?id=28326> DRT on Windows doesn't support 
69246        LayoutTestController::setQuota or print a callback on UIDelegate::exceededDatabaseQuota.
69247        
69248        Removed an early return that can cause deleteOrigin or deleteAllDatabases to fail when
69249        it doesn't have to.
69250
69251        * storage/DatabaseTracker.cpp:
69252        (WebCore::DatabaseTracker::deleteOrigin):
69253
692542009-08-18  Michelangelo De Simone  <micdesim@gmail.com>
69255
69256        Reviewed by Adele Peterson.
69257
69258        https://bugs.webkit.org/show_bug.cgi?id=27357
69259        Support for :valid and :invalid CSS selectors, from HTML5 specs.
69260        http://www.whatwg.org/specs/web-apps/current-work/#selector-valid
69261
69262        Tests: fast/css/pseudo-invalid-001.html
69263               fast/css/pseudo-invalid-002.html
69264               fast/css/pseudo-valid-001.html
69265               fast/css/pseudo-valid-002.html
69266               fast/css/pseudo-valid-003.html
69267               fast/css/pseudo-valid-004.html
69268               fast/css/pseudo-valid-005.html
69269               fast/css/pseudo-valid-006.html
69270               fast/css/pseudo-valid-007.html
69271
69272        * css/CSSSelector.cpp:
69273        (WebCore::CSSSelector::extractPseudoType): extracts new pseudo-classes
69274        * css/CSSSelector.h:
69275        (WebCore::CSSSelector::):
69276        * css/CSSStyleSelector.cpp:
69277        (WebCore::CSSStyleSelector::canShareStyleWithElement): Make sure we don't share style between
69278form controls that have different validity states.
69279        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): applies
69280        style associated to new pseudo-classes
69281        * dom/Element.h:
69282        (WebCore::Element::willValidate): pushed up in hierarchy
69283        (WebCore::Element::isValidFormControlElement): checks for valid form
69284        control elements (wraps ValidityState::valid())
69285        * html/HTMLFormControlElement.cpp:
69286        (WebCore::HTMLFormControlElement::willValidate): minor clean up
69287        (WebCore::HTMLFormControlElement::isValidFormControlElement): ditto
69288        * html/HTMLFormControlElement.h:
69289        * html/HTMLKeygenElement.h:
69290        (WebCore::HTMLKeygenElement::willValidate): added
69291        * html/HTMLObjectElement.h:
69292        (WebCore::HTMLObjectElement::willValidate): added
69293        * html/HTMLObjectElement.idl:
69294
692952009-08-18  Pavel Feldman  <pfeldman@chromium.org>
69296
69297        Reviewed by Timothy Hatcher.
69298
69299        WebInspector: Fix array formatter.
69300
69301        https://bugs.webkit.org/show_bug.cgi?id=28427
69302
69303        * inspector/front-end/ConsoleView.js:
69304        (WebInspector.ConsoleView.prototype._formatarray):
69305
693062009-08-17  Joe Mason  <joe.mason@torchmobile.com>
69307
69308        Reviewed by George Staikos
69309
69310        Replace repeated string of PLATFORM(FOO) with a single define
69311        https://bugs.webkit.org/show_bug.cgi?id=27734
69312
69313        * loader/CachedFont.cpp:
69314        (WebCore::CachedFont::~CachedFont):
69315        (WebCore::CachedFont::ensureCustomFontData):
69316        (WebCore::CachedFont::platformDataFromCustomData):
69317        (WebCore::CachedFont::allClientsRemoved):
69318
693192009-08-16  David Hyatt  <hyatt@apple.com>
69320
69321        Reviewed by Dan Bernstein.
69322
69323        https://bugs.webkit.org/show_bug.cgi?id=20329, shadows and reflections incorrectly
69324        considered part of scrollable overflow.
69325
69326        This patch takes the engine's concept of overflow and splits it into two types:
69327        layout overflow and visual overflow.
69328        
69329        Layout overflow is about other boxes that spill out of an enclosing box,  For example,
69330        in the inline flow case a tall image could spill out of a line box. Examples of 
69331        visual overflow are shadows, text stroke (and eventually outline and
69332        border-image).
69333
69334        Three objects tracked overflow before this patch: RenderBlock had 
69335        m_overflowLeft/Top/Width/Height variables.  RootInlineBox had an Overflow*
69336        that also had four overflow values.  Finally RenderReplaced elements tracked shadow/reflection
69337        overflow using a map that cached four values.
69338        
69339        This patch takes all of these different overflow models and unifies them into a single
69340        new class called RenderOverflow.   This class is now a member variable in RenderBox and
69341        InlineFlowBoxes.  It is only allocated if overflow actually exists.  Instead of tracking
69342        four values, it tracks eight: left/top/right/bottom for layout overflow and 
69343        left/top/right/bottom for visual overflow.
69344        
69345        Overflow computation is now done after layout is finished rather than during layout
69346        (when child objects can be churning and moving around).  A number of layout tests progressed
69347        by deferring overflow computation to a separate pass.
69348        
69349        All inline flow boxes now track overflow (and not just the root line box).  This allows
69350        repainting of line boxes to actually be tight and bail early if the overflow rect of a box
69351        doesn't intersect.  The old code always visited all object on a line if the root line box
69352        intersected at all.
69353        
69354        Line box overflow no longer propagates across self-painting layers.  This fixes a number of
69355        issues with incorrect scrollbars appearing when relative positioned inlines were used in a page.
69356        
69357        Layer bounds have been modified to exclude visual overflow.  The width/height members only really
69358        have one reason for continued existence, and that is that they happen to be used in repaint()
69359        when an overflow clip object's height isn't accurate.  In this case, the bounds should exclude
69360        visual overflow anyway, so this change tightens that repaint up.
69361        
69362        Root lines have renamed m_selectionTop/Bottom to m_lineTop/Bottom and positionForPoint methods have
69363        been changed to use these instead of relying on overflow (which was totally wrong).
69364
69365        Significant changes have been made to the "almost strict mode" line box quirk where objects with no
69366        text children have no effect on the height of a line.  Instead of making the height() of the objects
69367        variable and dependent on overflow, the objects now have their full height and get placed on
69368        the baseline properly.  They simply don't contribute to overflow above lineTop/Bottom.
69369        
69370        Reflections are no longer considered overflow of any kind.  Because reflections have their own layers,
69371        it is not necessary to treat them as visual or layout overflow in the RenderObject tree.  The end result
69372        of not incorporating them into RenderOverflow is that they have no effect on scrolling.  transparencyClipBox
69373        has been extended to support fully reflecting the entire clip box when a reflection exists.  This fixes
69374        numerous repaint bugs in transparent objects with reflections when the transparent objects had self-painting
69375        sublayers.
69376
69377        * WebCore.xcodeproj/project.pbxproj:
69378        * dom/ContainerNode.cpp:
69379        (WebCore::ContainerNode::getUpperLeftCorner):
69380        * editing/visible_units.cpp:
69381        (WebCore::previousLinePosition):
69382        (WebCore::nextLinePosition):
69383        * page/FrameView.cpp:
69384        (WebCore::FrameView::adjustViewSize):
69385        (WebCore::FrameView::adjustPageHeight):
69386        * rendering/InlineBox.cpp:
69387        (WebCore::InlineBox::height):
69388        * rendering/InlineBox.h:
69389        * rendering/InlineFlowBox.cpp:
69390        (WebCore::InlineFlowBox::adjustPosition):
69391        (WebCore::InlineFlowBox::placeBoxesHorizontally):
69392        (WebCore::InlineFlowBox::placeBoxesVertically):
69393        (WebCore::InlineFlowBox::computeVerticalOverflow):
69394        (WebCore::InlineFlowBox::nodeAtPoint):
69395        (WebCore::InlineFlowBox::paint):
69396        * rendering/InlineFlowBox.h:
69397        (WebCore::InlineFlowBox::InlineFlowBox):
69398        (WebCore::InlineFlowBox::topCombinedOverflow):
69399        (WebCore::InlineFlowBox::bottomCombinedOverflow):
69400        (WebCore::InlineFlowBox::leftCombinedOverflow):
69401        (WebCore::InlineFlowBox::rightCombinedOverflow):
69402        (WebCore::InlineFlowBox::combinedOverflowRect):
69403        (WebCore::InlineFlowBox::topLayoutOverflow):
69404        (WebCore::InlineFlowBox::bottomLayoutOverflow):
69405        (WebCore::InlineFlowBox::leftLayoutOverflow):
69406        (WebCore::InlineFlowBox::rightLayoutOverflow):
69407        (WebCore::InlineFlowBox::layoutOverflowRect):
69408        (WebCore::InlineFlowBox::topVisualOverflow):
69409        (WebCore::InlineFlowBox::bottomVisualOverflow):
69410        (WebCore::InlineFlowBox::leftVisualOverflow):
69411        (WebCore::InlineFlowBox::rightVisualOverflow):
69412        (WebCore::InlineFlowBox::visualOverflowRect):
69413        (WebCore::InlineFlowBox::setHorizontalOverflowPositions):
69414        (WebCore::InlineFlowBox::setVerticalOverflowPositions):
69415        * rendering/InlineTextBox.cpp:
69416        (WebCore::InlineTextBox::paint):
69417        * rendering/RenderBlock.cpp:
69418        (WebCore::RenderBlock::RenderBlock):
69419        (WebCore::RenderBlock::layout):
69420        (WebCore::RenderBlock::layoutBlock):
69421        (WebCore::RenderBlock::addOverflowFromBlockChildren):
69422        (WebCore::RenderBlock::handleBottomOfBlock):
69423        (WebCore::RenderBlock::layoutBlockChildren):
69424        (WebCore::RenderBlock::paint):
69425        (WebCore::RenderBlock::fillInlineSelectionGaps):
69426        (WebCore::RenderBlock::floatRect):
69427        (WebCore::RenderBlock::lowestPosition):
69428        (WebCore::RenderBlock::rightmostPosition):
69429        (WebCore::RenderBlock::leftmostPosition):
69430        (WebCore::RenderBlock::addOverhangingFloats):
69431        (WebCore::RenderBlock::nodeAtPoint):
69432        (WebCore::RenderBlock::positionForPointWithInlineChildren):
69433        (WebCore::RenderBlock::layoutColumns):
69434        (WebCore::getHeightForLineCount):
69435        * rendering/RenderBlock.h:
69436        * rendering/RenderBlockLineLayout.cpp:
69437        (WebCore::RenderBlock::computeHorizontalPositionsForLine):
69438        (WebCore::RenderBlock::computeVerticalPositionsForLine):
69439        (WebCore::RenderBlock::layoutInlineChildren):
69440        (WebCore::RenderBlock::matchedEndLine):
69441        (WebCore::RenderBlock::addOverflowFromInlineChildren):
69442        * rendering/RenderBox.cpp:
69443        (WebCore::RenderBox::destroy):
69444        (WebCore::RenderBox::clippedOverflowRectForRepaint):
69445        (WebCore::RenderBox::localCaretRect):
69446        (WebCore::RenderBox::addShadowAndReflectionOverflow):
69447        (WebCore::RenderBox::addOverflowFromChild):
69448        (WebCore::RenderBox::addLayoutOverflow):
69449        (WebCore::RenderBox::addVisualOverflow):
69450        (WebCore::RenderBox::clearLayoutOverflow):
69451        * rendering/RenderBox.h:
69452        (WebCore::RenderBox::combinedOverflowRect):
69453        (WebCore::RenderBox::topCombinedOverflow):
69454        (WebCore::RenderBox::bottomCombinedOverflow):
69455        (WebCore::RenderBox::leftCombinedOverflow):
69456        (WebCore::RenderBox::rightCombinedOverflow):
69457        (WebCore::RenderBox::layoutOverflowRect):
69458        (WebCore::RenderBox::topLayoutOverflow):
69459        (WebCore::RenderBox::bottomLayoutOverflow):
69460        (WebCore::RenderBox::leftLayoutOverflow):
69461        (WebCore::RenderBox::rightLayoutOverflow):
69462        (WebCore::RenderBox::visualOverflowRect):
69463        (WebCore::RenderBox::topVisualOverflow):
69464        (WebCore::RenderBox::bottomVisualOverflow):
69465        (WebCore::RenderBox::leftVisualOverflow):
69466        (WebCore::RenderBox::rightVisualOverflow):
69467        * rendering/RenderFlexibleBox.cpp:
69468        (WebCore::RenderFlexibleBox::layoutBlock):
69469        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
69470        (WebCore::RenderFlexibleBox::layoutVerticalBox):
69471        * rendering/RenderLayer.cpp:
69472        (WebCore::RenderLayer::updateLayerPosition):
69473        (WebCore::RenderLayer::localBoundingBox):
69474        * rendering/RenderLayerCompositor.cpp:
69475        (WebCore::RenderLayerCompositor::updateRootLayerPosition):
69476        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
69477        * rendering/RenderLineBoxList.cpp:
69478        (WebCore::RenderLineBoxList::paint):
69479        (WebCore::RenderLineBoxList::hitTest):
69480        * rendering/RenderListItem.cpp:
69481        (WebCore::RenderListItem::positionListMarker):
69482        * rendering/RenderObject.cpp:
69483        (WebCore::RenderObject::RenderObject):
69484        * rendering/RenderObject.h:
69485        * rendering/RenderOverflow.h: Added.
69486        (WebCore::RenderOverflow::RenderOverflow):
69487        (WebCore::RenderOverflow::topLayoutOverflow):
69488        (WebCore::RenderOverflow::bottomLayoutOverflow):
69489        (WebCore::RenderOverflow::leftLayoutOverflow):
69490        (WebCore::RenderOverflow::rightLayoutOverflow):
69491        (WebCore::RenderOverflow::topVisualOverflow):
69492        (WebCore::RenderOverflow::bottomVisualOverflow):
69493        (WebCore::RenderOverflow::leftVisualOverflow):
69494        (WebCore::RenderOverflow::rightVisualOverflow):
69495        (WebCore::RenderOverflow::setTopLayoutOverflow):
69496        (WebCore::RenderOverflow::setBottomLayoutOverflow):
69497        (WebCore::RenderOverflow::setLeftLayoutOverflow):
69498        (WebCore::RenderOverflow::setRightLayoutOverflow):
69499        (WebCore::RenderOverflow::setTopVisualOverflow):
69500        (WebCore::RenderOverflow::setBottomVisualOverflow):
69501        (WebCore::RenderOverflow::setLeftVisualOverflow):
69502        (WebCore::RenderOverflow::setRightVisualOverflow):
69503        (WebCore::RenderOverflow::layoutOverflowRect):
69504        (WebCore::RenderOverflow::visualOverflowRect):
69505        (WebCore::RenderOverflow::combinedOverflowRect):
69506        (WebCore::RenderOverflow::move):
69507        (WebCore::RenderOverflow::addLayoutOverflow):
69508        (WebCore::RenderOverflow::addVisualOverflow):
69509        (WebCore::RenderOverflow::resetLayoutOverflow):
69510        * rendering/RenderPartObject.cpp:
69511        (WebCore::RenderPartObject::layout):
69512        * rendering/RenderReplaced.cpp:
69513        (WebCore::RenderReplaced::~RenderReplaced):
69514        (WebCore::RenderReplaced::layout):
69515        (WebCore::RenderReplaced::shouldPaint):
69516        (WebCore::RenderReplaced::positionForPoint):
69517        (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
69518        * rendering/RenderReplaced.h:
69519        * rendering/RenderScrollbarPart.cpp:
69520        (WebCore::RenderScrollbarPart::layout):
69521        (WebCore::RenderScrollbarPart::paintIntoRect):
69522        * rendering/RenderSlider.cpp:
69523        (WebCore::RenderSlider::layout):
69524        * rendering/RenderTable.cpp:
69525        (WebCore::RenderTable::layout):
69526        (WebCore::RenderTable::paint):
69527        * rendering/RenderTableCell.cpp:
69528        (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
69529        * rendering/RenderTableSection.cpp:
69530        (WebCore::RenderTableSection::layoutRows):
69531        * rendering/RenderTableSection.h:
69532        * rendering/RenderText.cpp:
69533        (WebCore::RenderText::positionForPoint):
69534        (WebCore::RenderText::localCaretRect):
69535        * rendering/RenderView.cpp:
69536        (WebCore::RenderView::layout):
69537        * rendering/RootInlineBox.cpp:
69538        (WebCore::RootInlineBox::addHighlightOverflow):
69539        (WebCore::RootInlineBox::adjustPosition):
69540        (WebCore::RootInlineBox::verticallyAlignBoxes):
69541        (WebCore::RootInlineBox::selectionTop):
69542        * rendering/RootInlineBox.h:
69543        (WebCore::RootInlineBox::RootInlineBox):
69544        (WebCore::RootInlineBox::nextRootBox):
69545        (WebCore::RootInlineBox::prevRootBox):
69546        (WebCore::RootInlineBox::lineTop):
69547        (WebCore::RootInlineBox::lineBottom):
69548        (WebCore::RootInlineBox::selectionBottom):
69549        (WebCore::RootInlineBox::selectionHeight):
69550        (WebCore::RootInlineBox::floats):
69551        (WebCore::RootInlineBox::floatsPtr):
69552        (WebCore::RootInlineBox::setLineTopBottomPositions):
69553        * rendering/SVGRootInlineBox.cpp:
69554        (WebCore::SVGRootInlineBox::layoutInlineBoxes):
69555
695562009-08-18  Alexey Proskuryakov  <ap@apple.com>
69557
69558        Reviewed by Darin Adler.
69559
69560        https://bugs.webkit.org/show_bug.cgi?id=28431
69561        <rdar://problem/7137610> Application Cache doesn't work with HTTP authentication
69562
69563        Test: http/tests/appcache/auth.html
69564
69565        * loader/appcache/ApplicationCacheGroup.h:
69566        (WebCore::ApplicationCacheGroup::shouldUseCredentialStorage): If appcache is enabled,
69567        always allow it to use stored credentials (we can't ask WebKit client, and maybe we
69568        shouldn't ask it, because it's not a document that's loading these resources).
69569
695702009-08-18  Anders Carlsson  <andersca@apple.com>
69571
69572        Reviewed by John Sullivan and David Hyatt.
69573
69574        Fix <rdar://problem/7147996>
69575
69576        * platform/ScrollView.cpp:
69577        (WebCore::ScrollView::setHasHorizontalScrollbar):
69578        (WebCore::ScrollView::setHasVerticalScrollbar):
69579        Update the style of the scroll bars.
69580        
69581        * rendering/RenderScrollbar.cpp:
69582        (WebCore::RenderScrollbar::RenderScrollbar):
69583        Calculate the size of the scrollbar and set it as the frame size.
69584
695852009-08-18  Eric Carlson  <eric.carlson@apple.com>
69586
69587        Reviewed by Simon Fraser.
69588
69589        HTMLMediaElement should fire 'progress' event before 'load'
69590        https://bugs.webkit.org/show_bug.cgi?id=28314
69591
69592        Test: media/progress-event-at-least-one.html
69593
69594        * html/HTMLMediaElement.cpp:
69595        (WebCore::HTMLMediaElement::setNetworkState):
69596            Schedule 'progress' event before 'load'.
69597
695982009-08-18  Peter Kasting  <pkasting@google.com>
69599
69600        Reviewed by Eric Seidel.
69601
69602        https://bugs.webkit.org/show_bug.cgi?id=28415
69603        Set svn:eol-style CRLF on all .sln and .vcproj files that don't already
69604        have it.
69605
69606        * WebCore.vcproj/QTMovieWin.vcproj:
69607        * WebCore.vcproj/WebCoreGenerated.vcproj:
69608
696092009-08-18  Drew Wilson  <atwilson@google.com>
69610
69611        Reviewed by Eric Seidel.
69612
69613        Need to extend DumpRenderTree to expose number of worker threads
69614        https://bugs.webkit.org/show_bug.cgi?id=28292
69615
69616        Expose WorkerThread::workerThreadCount() for DumpRenderTree so we can write worker lifecycle tests.
69617
69618        Tests: fast/workers/shared-worker-lifecycle.html-disabled
69619               fast/workers/worker-lifecycle.html
69620
69621        * WebCore.base.exp:
69622        Exported WorkerThread::workerThreadCount().
69623        * WebCore.xcodeproj/project.pbxproj:
69624        * workers/WorkerThread.cpp:
69625        Added tracking of the number of worker threads.
69626        (WebCore::threadCountMutex):
69627        (WebCore::WorkerThread::workerThreadCount):
69628        (WebCore::WorkerThread::WorkerThread):
69629        (WebCore::WorkerThread::~WorkerThread):
69630        * workers/WorkerThread.h:
69631
696322009-08-18  Ariya Hidayat  <ariya.hidayat@nokia.com>
69633
69634        Unreviewed, build fix.
69635
69636        [Qt] Add new files I forgot to add in r47424.
69637
696382009-08-18  Markus Goetz <Markus.Goetz@nokia.com>
69639
69640        Reviewed by Ariya Hidayat.
69641
69642        [Qt] Implement prefetchDNS() function.
69643
69644        * WebCore.pro:
69645        * platform/qt/TemporaryLinkStubs.cpp:
69646
696472009-08-18  Kent Tamura  <tkent@chromium.org>
69648
69649        Reviewed by Eric Seidel.
69650
69651        Support for parsing <datalist> element and generating HTMLDataListElement nodes.
69652        https://bugs.webkit.org/show_bug.cgi?id=26915
69653
69654        Tests: fast/forms/datalist-nonoption-child.html
69655               fast/forms/datalist.html
69656
69657        * WebCore.gypi:
69658        * WebCore.pro:
69659        * WebCore.vcproj/WebCore.vcproj:
69660        * WebCore.vcproj/WebCoreCommon.vsprops:
69661        * WebCore.vcproj/build-generated-files.sh:
69662        * WebCore.xcodeproj/project.pbxproj:
69663        * WebCoreSources.bkl:
69664        * css/html.css:
69665        * html/CollectionType.h:
69666        (WebCore::):
69667        * html/HTMLCollection.cpp:
69668        (WebCore::HTMLCollection::itemAfter):
69669        * html/HTMLDataListElement.cpp: Added.
69670        (WebCore::HTMLDataListElement::HTMLDataListElement):
69671        (WebCore::HTMLDataListElement::~HTMLDataListElement):
69672        (WebCore::HTMLDataListElement::checkDTD):
69673        (WebCore::HTMLDataListElement::options):
69674        * html/HTMLDataListElement.h: Added.
69675        * html/HTMLDataListElement.idl: Added.
69676        * html/HTMLElement.cpp:
69677        (WebCore::inlineTagList):
69678        * html/HTMLParser.cpp:
69679        (WebCore::HTMLParser::isAffectedByResidualStyle):
69680        * html/HTMLTagNames.in:
69681
696822009-08-17  Shinichiro Hamaji  <hamaji@chromium.org>
69683
69684        Reviewed by Eric Seidel.
69685
69686        -webkit-box-orient:horizontal doesn't work on <button> tag
69687        https://bugs.webkit.org/show_bug.cgi?id=34445
69688
69689        Make a flexible button's anonymous child flexible and pass the
69690        parent's box-orient to the anonymous child.
69691
69692        Also, added a renderName for anonymous flexible boxes.
69693
69694        Test: fast/flexbox/box-orient-button.html
69695
69696        * rendering/RenderBlock.cpp:
69697        (WebCore::RenderBlock::createAnonymousBlock):
69698        * rendering/RenderBlock.h:
69699        * rendering/RenderButton.cpp:
69700        (WebCore::RenderButton::addChild):
69701        (WebCore::RenderButton::setupInnerStyle):
69702        * rendering/RenderFlexibleBox.cpp:
69703        (WebCore::RenderFlexibleBox::renderName):
69704
697052009-08-17  Simon Fraser  <simon.fraser@apple.com>
69706
69707        Reviewed by Dave Hyatt.
69708        
69709        Render -webkit-mask via compositing layers when possible
69710        https://bugs.webkit.org/show_bug.cgi?id=28414
69711        
69712        Implement accelerated compositing of -webkit-mask, when combined
69713        with already-composited content.
69714        
69715        RenderLayerBacking now creates an additional GraphicsLayer for the mask contents,
69716        and sets this as the mask on another GraphicsLayer via the setMaskLayer() method.
69717        GraphicsLayerCA then applies the mask using -[CALayer setMask:].
69718        
69719        The enum values for GraphicsLayerPaintingPhase were renamed to avoid the
69720        confusion with "mask", and a new value, GraphicsLayerPaintMask, was added which
69721        indicates that just the mask is painting.
69722        
69723        When painting the composited mask, we need to paint with the normal compositing
69724        mode rather than CompositeDestinationIn, so InlineFlowBox and RenderBox now consult
69725        layer()->hasCompositedMask() to pick the mode. If the mask is composited, they no longer
69726        need to make transparency layers.
69727        
69728        We no longer have to throw video rendering into software because of masks.
69729        
69730        When a masked element has composited descendants, that element needs to
69731        become composited so that the mask can be applied via compositing.
69732
69733        Tests: compositing/masks/masked-ancestor.html
69734               compositing/masks/simple-composited-mask.html
69735
69736        * platform/graphics/GraphicsLayer.cpp:
69737        (WebCore::GraphicsLayer::GraphicsLayer):
69738        * platform/graphics/GraphicsLayer.h:
69739        (WebCore::GraphicsLayer::maskLayer):
69740        (WebCore::GraphicsLayer::setMaskLayer):
69741        (WebCore::GraphicsLayer::paintingPhase):
69742        (WebCore::GraphicsLayer::setPaintingPhase):
69743        * platform/graphics/GraphicsLayerClient.h:
69744        (WebCore::):
69745        * platform/graphics/mac/GraphicsLayerCA.h:
69746        (WebCore::GraphicsLayerCA::):
69747        * platform/graphics/mac/GraphicsLayerCA.mm:
69748        (WebCore::GraphicsLayerCA::setMaskLayer):
69749        (WebCore::GraphicsLayerCA::recursiveCommitChanges):
69750        (WebCore::GraphicsLayerCA::commitLayerChanges):
69751        (WebCore::GraphicsLayerCA::updateMaskLayer):
69752        * rendering/InlineFlowBox.cpp:
69753        (WebCore::InlineFlowBox::paintMask):
69754        * rendering/RenderBox.cpp:
69755        (WebCore::RenderBox::paintMaskImages):
69756        * rendering/RenderLayer.cpp:
69757        (WebCore::RenderLayer::hasCompositedMask):
69758        * rendering/RenderLayer.h:
69759        (WebCore::RenderLayer::hasCompositedMask):
69760        * rendering/RenderLayerBacking.cpp:
69761        (WebCore::RenderLayerBacking::~RenderLayerBacking):
69762        (WebCore::RenderLayerBacking::destroyGraphicsLayer):
69763        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
69764        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
69765        (WebCore::RenderLayerBacking::updateForegroundLayer):
69766        (WebCore::RenderLayerBacking::updateMaskLayer):
69767        (WebCore::RenderLayerBacking::paintingPhaseForPrimaryLayer):
69768        (WebCore::RenderLayerBacking::setContentsNeedDisplay):
69769        (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
69770        (WebCore::RenderLayerBacking::paintIntoLayer):
69771        (WebCore::RenderLayerBacking::paintContents):
69772        * rendering/RenderLayerBacking.h:
69773        (WebCore::RenderLayerBacking::hasMaskLayer):
69774        * rendering/RenderLayerCompositor.cpp:
69775        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
69776        (WebCore::RenderLayerCompositor::canAccelerateVideoRendering):
69777        (WebCore::RenderLayerCompositor::requiresCompositingWhenDescendantsAreCompositing):
69778        * rendering/RenderLayerCompositor.h:
69779
697802009-08-17  Simon Fraser  <simon.fraser@apple.com>
69781
69782        Reviewed by Dave Hyatt.
69783
69784        Layer content misplaced with compositing, z-index and overflow
69785        https://bugs.webkit.org/show_bug.cgi?id=28361
69786        
69787        The foreground GraphicsLayer (used to render element foreground when the element has 
69788        negative z-order children) was misplaced when there is a clipping layer (which clips
69789        children). The foreground layer is parented under the clipping layer so that the foreground
69790        depth-sorts with the layer's children, so its geometry needs to be computed relative to
69791        that clipping layer.
69792        
69793        Also clarified some FIXME comments, and corrected a debug-only layer name.
69794
69795        Test: compositing/geometry/clipping-foreground.html
69796
69797        * platform/graphics/mac/GraphicsLayerCA.mm:
69798        (WebCore::GraphicsLayerCA::updateSublayerList):
69799        * rendering/RenderLayerBacking.cpp:
69800        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
69801        (WebCore::RenderLayerBacking::updateForegroundLayer):
69802        * rendering/RenderLayerCompositor.cpp:
69803        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
69804
698052009-08-17  Mark Rowe  <mrowe@apple.com>
69806
69807        Reviewed by Sam Weinig.
69808
69809        Fix leaks of SVGElementInstance seen during regression tests.
69810
69811        r47313 made TreeShared types start with a ref-count of 1, but SVGElementInstance was mistakenly
69812        not updated to have a create method that adopted the initial reference.  This lead to the instances
69813        of SVGElementInstance allocated by SVGUseElement being leaked.
69814
69815        * svg/SVGElementInstance.h:
69816        (WebCore::SVGElementInstance::create):
69817        * svg/SVGUseElement.cpp:
69818        (WebCore::SVGUseElement::buildPendingResource):
69819        (WebCore::SVGUseElement::buildInstanceTree):
69820        (WebCore::SVGUseElement::handleDeepUseReferencing):
69821
698222009-08-17  Brady Eidson  <beidson@apple.com>
69823
69824        Reviewed by Sam Weinig.
69825
69826        Some cleanup towards https://bugs.webkit.org/show_bug.cgi?id=13631
69827        Page Cache should support pages with frames.
69828
69829        - Re-factor all remaining page cache code out of DocumentLoader, as CachedPage/CacheFrame loads
69830          are solely the responsibility of FrameLoader.
69831        - Enhance some page cache related Logging to help development.
69832
69833        * inspector/InspectorController.cpp:
69834        (WebCore::InspectorController::didCommitLoad):
69835        (WebCore::InspectorController::identifierForInitialRequest):
69836
69837        * loader/DocumentLoader.cpp:
69838        (WebCore::DocumentLoader::DocumentLoader):
69839        * loader/DocumentLoader.h:
69840
69841        * loader/FrameLoader.cpp:
69842        (WebCore::FrameLoader::FrameLoader):
69843        (WebCore::FrameLoader::commitProvisionalLoad):
69844        (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
69845        (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
69846        * loader/FrameLoader.h:
69847        (WebCore::FrameLoader::isLoadingFromCachedPage):
69848
698492009-08-17  Roland Steiner  <rolandsteiner@google.com>
69850
69851        Reviewed by Eric Seidel.
69852
69853        Moved implementation of isAfterContent to RenderObject
69854        (as inline method to avoid potential performance regressions).
69855
69856        BUG 28376 -  [Cleanup] isAfterContent() implemented twice, should be member of RenderObject
69857        (https://bugs.webkit.org/show_bug.cgi?id=28376)
69858
69859        * rendering/RenderBox.cpp:
69860        * rendering/RenderBox.h:
69861        * rendering/RenderInline.cpp:
69862        * rendering/RenderObject.h:
69863        (WebCore::RenderObject::isAfterContent):
69864
698652009-08-17  Shinichiro Hamaji  <hamaji@chromium.org>
69866
69867        Reviewed by Darin Adler.
69868
69869        Assertion failure in WebCore::RenderHTMLCanvas::layout
69870        https://bugs.webkit.org/show_bug.cgi?id=12052
69871
69872        Don't handle run-in if the element is not a block element.
69873
69874        Test: fast/runin/nonblock-runin.html
69875
69876        * rendering/RenderBlock.cpp:
69877        (WebCore::RenderBlock::handleRunInChild):
69878
698792009-08-17  Benjamin C Meyer  <benjamin.meyer@torchmobile.com>
69880
69881        Reviewed by Darin Adler.
69882
69883        Fix createImageData to raise the NOT_SUPPORTED_ERR exception when
69884        either of the arguments are not finite.
69885
69886        According to
69887        http://www.whatwg.org/specs/web-apps/current-work/#pixel-manipulation:
69888        "If any of the arguments to createImageData() or getImageData() are
69889        infinite or NaN, or if the createImageData()  method is invoked with
69890        only one argument but that argument is null, the method must instead
69891        raise a NOT_SUPPORTED_ERR  exception."
69892
69893        Test: http://philip.html5.org/tests/canvas/suite/tests/2d.imageData.create.nonfinite.html
69894
69895        * html/canvas/CanvasRenderingContext2D.cpp:
69896        (WebCore::CanvasRenderingContext2D::createImageData):
69897        * html/canvas/CanvasRenderingContext2D.h:
69898        * html/canvas/CanvasRenderingContext2D.idl:
69899
699002009-08-17  Jeremy Orlow  <jorlow@chromium.org>
69901
69902        Reviewed by Darin Fisher.
69903
69904        Add a way to release the storage lock
69905        https://bugs.webkit.org/show_bug.cgi?id=28411
69906
69907        Two scripts within the same origin that are accessing LocalStorage must not do
69908        it simultaneously, according to the spec.  There are some cases, however, where
69909        a script might want to override this behavior.  navigator.getStorageUpdates()
69910        was added for this reason:
69911        http://dev.w3.org/html5/spec/Overview.html#manually-releasing-the-storage-mutex
69912
69913        Add this function to navigator and hook it up to DOM Storage.
69914
69915        * page/Navigator.cpp:
69916        (WebCore::Navigator::getStorageUpdates):
69917        * page/Navigator.h:
69918        * page/Navigator.idl:
69919        * storage/StorageNamespace.h:
69920        * storage/StorageNamespaceImpl.cpp:
69921        (WebCore::StorageNamespaceImpl::unlock):
69922        * storage/StorageNamespaceImpl.h:
69923
699242009-08-17  Mark Rowe  <mrowe@apple.com>
69925
69926        Build fix.
69927
69928        CFNetwork isn't present in the framework search path on Mac OS X so we can't directly include its headers.
69929        We include CoreServices.h, the umbrella framework that contains CFNetwork, from the prefix header which
69930        results in the CFNetwork headers being included on Mac OS X.  CoreServices.h doesn't include CFNetwork.h on
69931        Windows though so we explicitly include this header from the prefix header when on Windows.
69932
69933        * WebCorePrefix.h:
69934        * platform/network/cf/DNSCFNet.cpp: Remove #include that is no longer needed.
69935
699362009-08-17  Alexey Proskuryakov  <ap@apple.com>
69937
69938        Trying a better build fix (the previous one broke Leopard bots, although it did build for me).
69939
69940        * platform/network/cf/DNSCFNet.cpp: Include CFNetwork/CFNetwork.h instead.
69941
699422009-08-17  Alexey Proskuryakov  <ap@apple.com>
69943
69944        Trying to fix Windows build.
69945
69946        * platform/network/cf/DNSCFNet.cpp: Include CFNetwork/CFHost.h.
69947
699482009-08-17  Peter Kasting  <pkasting@google.com>
69949
69950        Reviewed by Steve Falkenburg.
69951
69952        https://bugs.webkit.org/show_bug.cgi?id=27323
69953        Only add Cygwin to the path when it isn't already there.  This avoids
69954        causing problems for people who purposefully have non-Cygwin versions of
69955        executables like svn in front of the Cygwin ones in their paths.
69956
69957        * WebCore.vcproj/QTMovieWin.vcproj:
69958        * WebCore.vcproj/WebCoreCommon.vsprops:
69959        * WebCore.vcproj/WebCoreGenerated.vcproj:
69960
699612009-08-17  Alexey Proskuryakov  <ap@apple.com>
69962
69963        Reviewed by Geoff Garen.
69964
69965        https://bugs.webkit.org/show_bug.cgi?id=28401
69966        Add support for DNS prefetching with CFNetwork
69967
69968        This is just an optimization, no behavior change, so no tests.
69969
69970        * platform/network/cf/DNSCFNet.cpp:
69971        (WebCore::clientCallback):
69972        (WebCore::prefetchDNS):
69973        Use async CFHostStartInfoResolution() for implementation.
69974
699752009-08-17  Aaron Boodman  <aa@chromium.org>
69976
69977        Reviewed by Alexey Proskuryakov.
69978
69979        https://bugs.webkit.org/show_bug.cgi?id=28313: Combine ThreadableLoaderOptions::crossOriginRequestPolicy and
69980        ThreadableLoaderOptions::crossOriginRedirectPolicy since they are always set the same way.
69981
69982        Also, tightened up behavior of XMLHttpRequest with cross-origin redirects and access control. We have not implemented
69983        redirects access control, so we should never redirect across origins. But in two edge cases, we were:
69984
69985        * Asynchronous XHR: Script on origin A requests resource from origin B. Server redirects (without sending access control
69986          authorization headers) to a resource on origin A.
69987        * Synchronous XHR: Script on origin A requests resource from origin B. Server redirects (without sending access control
69988          authorization headers) to another resource on origin B (this time sending access control authorization headers).
69989
69990        Test: http/tests/xmlhttprequest/access-control-and-redirects.html
69991
69992        * loader/DocumentThreadableLoader.cpp:
69993        (WebCore::DocumentThreadableLoader::willSendRequest): Refactor redirect checking code into shared location.
69994        (WebCore::DocumentThreadableLoader::loadRequest): Ditto.
69995        (WebCore::DocumentThreadableLoader::isAllowedRedirect): Ditto.
69996        * loader/DocumentThreadableLoader.h:
69997        * loader/ThreadableLoader.h:
69998        (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions): Remove ThreadableLoaderOptions::crossOriginRedirectPolicy.
69999        * page/EventSource.cpp:
70000        (WebCore::EventSource::connect): Ditto.
70001        * workers/Worker.cpp: Ditto.
70002        (WebCore::Worker::Worker): Ditto.
70003        * workers/WorkerContext.cpp: Ditto.
70004        (WebCore::WorkerContext::importScripts): Ditto.
70005        * workers/WorkerScriptLoader.cpp:
70006        (WebCore::WorkerScriptLoader::loadSynchronously): Ditto.
70007        (WebCore::WorkerScriptLoader::loadAsynchronously): Ditto.
70008        * workers/WorkerScriptLoader.h: 
70009        * xml/XMLHttpRequest.cpp:
70010        (WebCore::XMLHttpRequest::createRequest): Ditto.
70011
700122009-08-17  Adam Langley  <agl@google.com>
70013
70014        Reviewed by Dan Bernstein (relanding of r47157).
70015
70016        Fix a typo in platform/graphics/skia/PlatformContextSkia.cpp
70017
70018        https://bugs.webkit.org/show_bug.cgi?id=28172
70019
70020        This was originally fixed in r47157, however it triggered a bug in
70021        Skia which caused Chromium Linux to fail layout tests in debug mode.
70022        It was reverted in r47189 while we sorted it out.
70023
70024        The Skia bug was fixed in Skia's r321 [1] and rolled into Chromium in
70025        Chromium's r23523. This is a reland of the original patch.
70026
70027        No new tests because it's a just typo fix.
70028
70029        [1] http://code.google.com/p/skia/source/detail?r=321
70030
70031        * platform/graphics/skia/PlatformContextSkia.cpp:
70032        (PlatformContextSkia::setupPaintCommon):
70033
700342009-08-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
70035
70036        Reviewed by Xan Lopez.
70037
70038        Protect ResourceHandle for g_file_query_info_async call, using the
70039        same technique we already use for HTTP requests that take the soup
70040        path.
70041
70042        * platform/network/soup/ResourceHandleSoup.cpp:
70043        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
70044        (WebCore::ResourceHandle::~ResourceHandle):
70045        (WebCore::finishedCallback):
70046        (WebCore::):
70047
700482009-08-17  Dan Bernstein  <mitz@apple.com>
70049
70050        Reviewed by Darin Adler.
70051
70052        REGRESSION (r47255): MediaWiki's (including Wikipedia) navigation pane
70053        appears below the main content
70054        https://bugs.webkit.org/show_bug.cgi?id=28350
70055
70056        A particular version of the MediaWiki software detects WebKit through
70057        user agent sniffing and imports a style sheet called KHTMLFixes.css,
70058        which contains a single rule that was meant to work around some KHTML
70059        bug, but currently has the sole effect of causing the float containing
70060        the main article content to extend all the way to the left and thus push
70061        down the left navigation pane.
70062
70063        * css/CSSImportRule.cpp:
70064        (WebCore::CSSImportRule::setCSSStyleSheet): If site specific hacks are
70065        enabled, check if the imported style sheet is the MediaWiki
70066        KHTMLFixes.css. If so, remove the offending rule.
70067
700682009-08-17  Brent Fulgham  <bfulgham@webkit.org>
70069
70070        Reviewed by Kevin Ollivier.
70071
70072        Correct crash when processing local cancelled requests.
70073
70074        No new tests. Existing fast/images/favicon-as-image.html
70075        displays the problem.
70076
70077        * platform/network/curl/ResourceHandleManager.cpp:
70078        (WebCore::writeCallback): Add check for m_cancelled after
70079          performing local-file processing.
70080        (WebCore::ResourceHandleManager::downloadTimerCallback): Add
70081          check for m_cancelled after performing local-file processing.
70082
700832009-08-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
70084
70085        Unreviewed. Reverts 47371, since it breaks GTK+.
70086
70087        * platform/graphics/ImageSource.cpp:
70088        (WebCore::ImageSource::setData):
70089        * platform/image-decoders/ImageDecoder.cpp: Removed.
70090        * platform/image-decoders/ImageDecoder.h:
70091        (WebCore::ImageDecoder::ImageDecoder):
70092        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
70093        (WebCore::convertCMYKToRGBA):
70094        (WebCore::convertRGBToRGBA):
70095        (WebCore::JPEGImageDecoder::outputScanlines):
70096        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
70097        * platform/image-decoders/png/PNGImageDecoder.cpp:
70098        (WebCore::PNGImageDecoder::headerAvailable):
70099        (WebCore::PNGImageDecoder::rowAvailable):
70100
701012009-08-17  Yong Li  <yong.li@torchmobile.com>
70102
70103        Reviewed by Adam Treat.
70104
70105        Allow image decoders to down-sample the image directly
70106        to scaled output buffer. This can be enabled/disabled by
70107        macro ENABLE(IMAGE_DECODER_DOWN_SAMPLING).
70108        Only JPEG and PNG decoders are modified to support it now.
70109        https://bugs.webkit.org/show_bug.cgi?id=28308
70110
70111        * platform/graphics/ImageSource.cpp:
70112        (WebCore::ImageSource::setData):
70113        * platform/image-decoders/ImageDecoder.cpp: Added.
70114        * platform/image-decoders/ImageDecoder.h:
70115        (WebCore::ImageDecoder::ImageDecoder):
70116        (WebCore::ImageDecoder::setMaxNumPixels):
70117        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
70118        (WebCore::convertCMYKToRGBA):
70119        (WebCore::convertRGBToRGBA):
70120        (WebCore::JPEGImageDecoder::outputScanlines):
70121        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
70122        (WebCore::JPEGImageDecoder::setSize):
70123        * platform/image-decoders/png/PNGImageDecoder.cpp:
70124        (WebCore::PNGImageDecoder::headerAvailable):
70125        (WebCore::PNGImageDecoder::rowAvailable):
70126
701272009-08-17  Simon Fraser  <simon.fraser@apple.com>
70128
70129        Build fix: fix float literals to avoid casting warnings.
70130
70131        * rendering/MediaControlElements.cpp:
70132
701332009-08-17  Simon Fraser  <simon.fraser@apple.com>
70134
70135        Reviewed by Eric Seidel.
70136
70137        Use OwnPtrs for GraphicsLayers
70138        https://bugs.webkit.org/show_bug.cgi?id=28399
70139
70140        Convert RenderLayerBacking and RenderLayerCompositor to use OwnPtrs
70141        for their references to GraphicsLayers.
70142
70143        * platform/graphics/GraphicsLayer.h:
70144        * platform/graphics/mac/GraphicsLayerCA.mm:
70145        (WebCore::GraphicsLayer::create):
70146        * rendering/RenderLayerBacking.cpp:
70147        (WebCore::RenderLayerBacking::RenderLayerBacking):
70148        (WebCore::RenderLayerBacking::createGraphicsLayer):
70149        (WebCore::RenderLayerBacking::destroyGraphicsLayer):
70150        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
70151        (WebCore::RenderLayerBacking::updateInternalHierarchy):
70152        (WebCore::RenderLayerBacking::updateClippingLayers):
70153        (WebCore::RenderLayerBacking::updateForegroundLayer):
70154        (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
70155        * rendering/RenderLayerBacking.h:
70156        (WebCore::RenderLayerBacking::graphicsLayer):
70157        (WebCore::RenderLayerBacking::clippingLayer):
70158        (WebCore::RenderLayerBacking::ancestorClippingLayer):
70159        (WebCore::RenderLayerBacking::foregroundLayer):
70160        (WebCore::RenderLayerBacking::parentForSublayers):
70161        (WebCore::RenderLayerBacking::childForSuperlayers):
70162        * rendering/RenderLayerCompositor.cpp:
70163        (WebCore::RenderLayerCompositor::~RenderLayerCompositor):
70164        (WebCore::RenderLayerCompositor::rootPlatformLayer):
70165        (WebCore::RenderLayerCompositor::didMoveOnscreen):
70166        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
70167        (WebCore::RenderLayerCompositor::destroyRootPlatformLayer):
70168        * rendering/RenderLayerCompositor.h:
70169
701702009-08-17  Pavel Feldman  <pfeldman@chromium.org>
70171
70172        Reviewed by Timothy Hatcher.
70173
70174        WebInspector: Reset InjectedScript styles cache on document change.
70175
70176        https://bugs.webkit.org/show_bug.cgi?id=28390
70177
70178        * inspector/InspectorController.cpp:
70179        (WebCore::InspectorController::close):
70180        (WebCore::InspectorController::populateScriptObjects):
70181        (WebCore::InspectorController::didCommitLoad):
70182        (WebCore::InspectorController::resetInjectedScript):
70183        * inspector/InspectorController.h:
70184        * inspector/InspectorDOMAgent.cpp:
70185        (WebCore::InspectorDOMAgent::setDocument):
70186        * inspector/InspectorDOMAgent.h:
70187        * inspector/front-end/InjectedScript.js:
70188        (InjectedScript._reset):
70189
701902009-08-17  Darin Adler  <darin@apple.com>
70191
70192        Reviewed by Sam Weinig.
70193
70194        * rendering/MediaControlElements.cpp: Removed unneeded include of CString.h,
70195        resorted includes, renamed "doc" to "document" and fixed formatting.
70196
701972009-08-17  Darin Adler  <darin@apple.com>
70198
70199        Reviewed by Sam Weinig.
70200
70201        Removed functions now unneeded due to use of Reflect to create
70202        language bindings.
70203
70204        * accessibility/AccessibilityRenderObject.cpp:
70205        (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
70206        Get at usemap attribute directly.
70207
70208        * editing/DeleteButtonController.cpp:
70209        (WebCore::DeleteButtonController::createDeletionUI):
70210        Get at id attribute directly.
70211        * editing/EditorCommand.cpp:
70212        (WebCore::executeInsertHorizontalRule): Ditto.
70213
70214        * html/HTMLDocument.cpp:
70215        (WebCore::HTMLDocument::dir): Get at dir attribute of body directly.
70216        (WebCore::HTMLDocument::setDir): Ditto.
70217
70218        * html/HTMLElement.cpp: Deleted unused functions.
70219        * html/HTMLElement.h: Ditto.
70220
70221        * html/HTMLImageElement.cpp: Deleted unused functions.
70222        (WebCore::HTMLImageElement::alt): Changed to return const AtomicString&.
70223        (WebCore::HTMLImageElement::addSubresourceAttributeURLs): Changed to
70224        get at usemap attribute directly, but added a FIXME because although
70225        it is what the old code did, it looks to not be entirely correct.
70226
70227        * html/HTMLImageElement.h: Deleted unused functions.
70228
70229        * rendering/HitTestResult.cpp:
70230        (WebCore::HitTestResult::altDisplayString): Get at alt attribute directly.
70231
70232        * rendering/RenderImage.cpp:
70233        (WebCore::RenderImage::imageMap): Get at usemap attribute directly.
70234
70235        * rendering/RenderLayerBacking.cpp:
70236        (WebCore::RenderLayerBacking::createGraphicsLayer): Get at id attribute
70237        directly.
70238        (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): Removed
70239        explicit HTMLNames namespace qualification.
70240
702412009-08-17  Darin Adler  <darin@apple.com>
70242
70243        Reviewed by Sam Weinig.
70244
70245        * dom/Document.cpp:
70246        (WebCore::Document::setFocusedNode): Removed unneeded calls
70247        to RefPtr::get.
70248
702492009-08-17  Pavel Feldman  <pfeldman@chromium.org>
70250
70251        Reviewed by Timothy Hatcher.
70252
70253        WebInspector: Discard DOM Node bindings on any document change.
70254
70255        https://bugs.webkit.org/show_bug.cgi?id=28389
70256
70257        * inspector/InspectorDOMAgent.cpp:
70258        (WebCore::InspectorDOMAgent::setDocument):
70259
702602009-08-13  Joseph Pecoraro  <joepeck02@gmail.com>
70261
70262        Reviewed by Timothy Hatcher.
70263
70264        Inspector: Improve Cookie DataGrid to Show Hidden Data
70265        https://bugs.webkit.org/show_bug.cgi?id=28269
70266
70267        * English.lproj/localizedStrings.js: DataGrid Headers "Name", "Value", "Size", ...
70268        * WebCore.gypi: added missing files
70269
70270          Implemented Bindings for InspectorController.deleteCookie(name)
70271
70272        * inspector/InspectorBackend.idl:
70273        * bindings/js/JSInspectorBackendCustom.cpp:
70274        (WebCore::JSInspectorBackend::cookies):
70275        (WebCore::JSInspectorBackend::deleteCookie):
70276
70277          v8 Bindings Stubs
70278
70279        * bindings/v8/custom/V8CustomBinding.h:
70280        * bindings/v8/custom/V8InspectorBackendCustom.cpp:
70281        (WebCore::CALLBACK_FUNC_DECL):
70282
70283          Removed WebInspector.Cookie
70284
70285        * inspector/front-end/Cookie.js: Removed.
70286        * inspector/front-end/inspector.html:
70287        * inspector/front-end/WebKit.qrc:
70288
70289          Improved DataGrid and Kept Fallback Behavior for Platforms that don't
70290          yet provide access to raw cookies.
70291
70292        * inspector/front-end/CookieItemsView.js:
70293        (WebInspector.CookieItemsView):
70294        (WebInspector.CookieItemsView.prototype.get statusBarItems):
70295        (WebInspector.CookieItemsView.prototype.update):
70296        (WebInspector.CookieItemsView.prototype.buildCookies):
70297        (WebInspector.CookieItemsView.prototype.dataGridForCookies):
70298        (WebInspector.CookieItemsView.prototype.fallbackUpdate.callback):
70299        (WebInspector.CookieItemsView.prototype.fallbackUpdate):
70300        (WebInspector.CookieItemsView.prototype.fallbackBuildCookiesFromString):
70301        (WebInspector.CookieItemsView.prototype.fallbackDataGridForCookies):
70302        (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
70303
70304          Interaction with the page through Injected Script (for fallback behavior)
70305
70306        * inspector/front-end/DOMAgent.js:
70307        (InspectorController.getCookies):
70308        * inspector/front-end/InjectedScript.js:
70309        (InjectedScript.setStyleProperty): style fix
70310        (InjectedScript.getCookies):
70311
70312          Allow alignment of text inside DataGrids.
70313
70314        * inspector/front-end/DataGrid.js:
70315        (WebInspector.DataGrid):
70316        (WebInspector.DataGridNode.prototype.createCell):
70317        * inspector/front-end/DatabasesPanel.js:
70318        (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
70319        * inspector/front-end/inspector.css:
70320
70321          Added deleteCookie(., ., String name)
70322          Modified getRawCookies to return a bool to know if its implemented
70323
70324        * platform/CookieJar.h:
70325
70326
70327          Implemented deleteCookie for Macs
70328
70329        * platform/mac/CookieJar.mm:
70330        (WebCore::getRawCookies):
70331        (WebCore::deleteCookie):
70332
70333          Stub Implementations for Other Platforms
70334
70335        * platform/haiku/CookieJarHaiku.cpp:
70336        (WebCore::getRawCookies):
70337        (WebCore::deleteCookie):
70338        * platform/network/chromium/CookieJarChromium.cpp:
70339        (WebCore::getRawCookies):
70340        (WebCore::deleteCookie):
70341        * platform/network/curl/CookieJarCurl.cpp:
70342        (WebCore::getRawCookies):
70343        (WebCore::deleteCookie):
70344        * platform/network/soup/CookieJarSoup.cpp:
70345        (WebCore::getRawCookies):
70346        (WebCore::deleteCookie):
70347        * platform/network/win/CookieJarCFNetWin.cpp:
70348        (WebCore::getRawCookies):
70349        (WebCore::deleteCookie):
70350        * platform/network/win/CookieJarWin.cpp:
70351        (WebCore::getRawCookies):
70352        (WebCore::deleteCookie):
70353        * platform/qt/CookieJarQt.cpp:
70354        (WebCore::getRawCookies):
70355        (WebCore::deleteCookie):
70356
703572009-08-17  Adam Treat  <adam.treat@torchmobile.com>
70358
70359        Blind build fix for Leopard.
70360
70361        * platform/graphics/GraphicsContext.cpp:
70362        (WebCore::GraphicsContext::adjustLineToPixelBoundaries):
70363
703642009-08-13  Mike Fenton  <mike.fenton@torchmobile.com>
70365
70366        Reviewed by Adam Treat.
70367
70368        Style fixes based on cpp_style.py and WebKit Style guide for
70369        GraphicsContextCG.cpp
70370
70371        https://bugs.webkit.org/show_bug.cgi?id=28268
70372
70373        * platform/graphics/cg/GraphicsContextCG.cpp:
70374        (WebCore::GraphicsContext::drawLine):
70375        (WebCore::GraphicsContext::drawEllipse):
70376        (WebCore::GraphicsContext::strokeArc):
70377        (WebCore::GraphicsContext::drawConvexPolygon):
70378        (WebCore::GraphicsContext::applyStrokePattern):
70379        (WebCore::GraphicsContext::drawPath):
70380        (WebCore::GraphicsContext::clipOut):
70381        (WebCore::GraphicsContext::clipOutEllipseInRect):
70382        (WebCore::GraphicsContext::addInnerRoundedRectClip):
70383        (WebCore::GraphicsContext::clipToImageBuffer):
70384        (WebCore::GraphicsContext::setPlatformShadow):
70385        (WebCore::GraphicsContext::setLineCap):
70386        (WebCore::GraphicsContext::setLineJoin):
70387        (WebCore::GraphicsContext::roundToDevicePixels):
70388        (WebCore::GraphicsContext::drawLineForText):
70389        (WebCore::GraphicsContext::setURLForRect):
70390        (WebCore::GraphicsContext::setImageInterpolationQuality):
70391        (WebCore::GraphicsContext::imageInterpolationQuality):
70392        (WebCore::GraphicsContext::setPlatformTextDrawingMode):
70393        (WebCore::GraphicsContext::setCompositeOperation):
70394
703952009-08-13  Mike Fenton  <mike.fenton@torchmobile.com>
70396
70397        Reviewed by Adam Treat.
70398
70399        Style fixes based on cpp_style.py and WebKit Style guide for
70400        GraphicsContext.cpp/h, GraphicsContextCairo.cpp and GraphicsContextQt.cpp.
70401
70402        https://bugs.webkit.org/show_bug.cgi?id=28268
70403
70404        * platform/graphics/GraphicsContext.cpp:
70405        (WebCore::GraphicsContext::save):
70406        (WebCore::GraphicsContext::restore):
70407        (GraphicsContext::drawText):
70408        (GraphicsContext::initFocusRing):
70409        (GraphicsContext::focusRingBoundingRect):
70410        (GraphicsContext::drawImage):
70411        * platform/graphics/GraphicsContext.h:
70412        * platform/graphics/cairo/GraphicsContextCairo.cpp:
70413        (WebCore::GraphicsContext::drawLine):
70414        (WebCore::GraphicsContext::strokeArc):
70415        (WebCore::GraphicsContext::setLineCap):
70416        (WebCore::GraphicsContext::setLineJoin):
70417        (WebCore::toCairoOperator):
70418        * platform/graphics/qt/GraphicsContextQt.cpp:
70419
704202009-08-17  Darin Adler  <darin@apple.com>
70421
70422        Reviewed by Dan Bernstein.
70423
70424        Change HTMLAreaElement to use OwnArrayPtr
70425        https://bugs.webkit.org/show_bug.cgi?id=28386
70426
70427        * html/HTMLAreaElement.cpp:
70428        (WebCore::HTMLAreaElement::HTMLAreaElement): Removed unneeded initializer.
70429        (WebCore::HTMLAreaElement::~HTMLAreaElement): Removed unneeded delete call.
70430        (WebCore::HTMLAreaElement::parseMappedAttribute): Use the set function
70431        instead of deletion followed by assignment.
70432        * html/HTMLAreaElement.h: Use OwnArrayPtr.
70433
704342009-08-17  Darin Adler  <darin@apple.com>
70435
70436        Fix Windows build.
70437
70438        * dom/make_names.pl: Add back cast to (void*) needed on Windows.
70439
704402009-08-17  Darin Adler  <darin@apple.com>
70441
70442        Reviewed by Dan Bernstein.
70443
70444        Move noResize from HTMLFrameElementBase to HTMLFrameElement
70445        https://bugs.webkit.org/show_bug.cgi?id=28384
70446
70447        * html/HTMLFrameElement.cpp:
70448        (WebCore::HTMLFrameElement::HTMLFrameElement): Initialize m_noResize.
70449        (WebCore::HTMLFrameElement::parseMappedAttribute): Set m_noResize to true
70450        here if noresizeAttr is changed. This code was moved here from
70451        HTMLFrameElementBase, but I added some FIXME comments.
70452        (WebCore::HTMLFrameElement::setNoResize): Set the attribute based on
70453        boolean argument. Moved here from HTMLFrameElementBase.
70454
70455        * html/HTMLFrameElement.h: Moved noResize, setNoResize, and m_noResize
70456        here from HTMLFrameElementBase.
70457
70458        * html/HTMLFrameElementBase.cpp:
70459        (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): Removed m_noResize.
70460        (WebCore::HTMLFrameElementBase::parseMappedAttribute): Removed code to parse
70461        noresizeAttr.
70462
70463        * html/HTMLFrameElementBase.h: Removed noResize, setNoResize, and m_noResize.
70464
704652009-08-17  Darin Adler  <darin@apple.com>
70466
70467        Reviewed by Dan Bernstein.
70468
70469        Tweak HTMLFrameElementBase so that m_URL can be private
70470        https://bugs.webkit.org/show_bug.cgi?id=28385
70471
70472        * html/HTMLFrameElement.cpp:
70473        (WebCore::HTMLFrameElement::rendererIsNeeded): Removed m_URL argument.
70474        * html/HTMLFrameElementBase.cpp:
70475        (WebCore::HTMLFrameElementBase::isURLAllowed): Use m_URL instead of
70476        taking an argument.
70477        (WebCore::HTMLFrameElementBase::openURL): Removed m_URL argument.
70478        * html/HTMLFrameElementBase.h: Removed argument from isURLAllowed function.
70479        * html/HTMLIFrameElement.cpp:
70480        (WebCore::HTMLIFrameElement::rendererIsNeeded): Removed m_URL argument.
70481
704822009-08-17  Darin Adler  <darin@apple.com>
70483
70484        Reviewed by Dan Bernstein.
70485
70486        HTMLViewSourceDocument should use smart pointers
70487        https://bugs.webkit.org/show_bug.cgi?id=28378
70488
70489        * html/HTMLViewSourceDocument.cpp:
70490        (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument): Don't initialize
70491        pointers any more since RefPtr starts 0 by default.
70492        (WebCore::HTMLViewSourceDocument::createContainingTable): Use more specific
70493        types for local variables.
70494        (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Return a PassRefPtr,
70495        and use a RefPtr of a more specific type for a local variable.
70496        (WebCore::HTMLViewSourceDocument::addLine): Use more specific types for local
70497        variables, and use RefPtr as well.
70498        (WebCore::HTMLViewSourceDocument::addLink): Return a PassRefPtr, and use a
70499        RefPtr of a more specific type for a local variable.
70500
70501        * html/HTMLViewSourceDocument.h: Change return types to PassRefPtr and
70502        data member types to RefPtr.
70503
705042009-08-17  Darin Adler  <darin@apple.com>
70505
70506        Reviewed by Sam Weinig.
70507
70508        DOM attribute getter/setter functions should use const AtomicString& type
70509        https://bugs.webkit.org/show_bug.cgi?id=25425
70510
70511        Convert 4 more classes. These are classes I am going to make other changes
70512        to soon, so it's good to have this use of Reflect in the IDL out of the way.
70513
70514        * html/HTMLEmbedElement.idl: Use Reflect for many attributes.
70515        * html/HTMLFrameElement.idl: Ditto.
70516        * html/HTMLIFrameElement.idl: Ditto.
70517        * html/HTMLObjectElement.idl: Ditto.
70518
705192009-08-17  Darin Adler  <darin@apple.com>
70520
70521        Reviewed by Sam Weinig.
70522
70523        Script to create element factory needs changes to accommodate calling create
70524        https://bugs.webkit.org/show_bug.cgi?id=28379
70525
70526        * dom/make_names.pl: Tweak formatting. Remove lots of unneeded quotes
70527        around names used inside {}. Added new createWithNew property for tags
70528        that makes the factory use a create function instead of calling new.
70529        Renamed functions with initialize in their name to have default in their
70530        name, since they return an array full of default values and don't themselves
70531        initialize anything.
70532
705332009-08-16  Darin Adler  <darin@apple.com>
70534
70535        Reviewed by Dan Bernstein.
70536
70537        StyledElement should use ASCIICType instead of having its own toHex function
70538        https://bugs.webkit.org/show_bug.cgi?id=28377
70539
70540        * dom/StyledElement.cpp:
70541        (WebCore::StyledElement::addCSSColor): Use isASCIIHexDigit and toASCIIHexValue.
70542
705432009-08-16  Darin Adler  <darin@apple.com>
70544
70545        Reviewed by Dan Bernstein.
70546
70547        execCommand("InsertHorizontalRule") inserts a broken <hr> element
70548        https://bugs.webkit.org/show_bug.cgi?id=28375
70549
70550        * editing/EditorCommand.cpp:
70551        (WebCore::executeInsertHorizontalRule): Create an HTMLHRElement
70552        instead of just an HTMLElement.
70553
705542009-08-16  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
70555
70556        Reviewed by George Staikos.
70557
70558        [WML] <option> element & 'onpick' events - history navigation is broken
70559        https://bugs.webkit.org/show_bug.cgi?id=28371
70560
70561        After selecting an option element with an 'onpick' event associated with a 'go' task,
70562        the navigation is executed. When going back in history, the same 'onpick' event is fired
70563        again. Fix that problem, add wml/option-element-onpick-recursion.html covering the bug.
70564
70565        Test: wml/option-element-onpick-recursion.html
70566
70567        * wml/WMLOptionElement.cpp:
70568        (WebCore::WMLOptionElement::handleIntrinsicEventIfNeeded):
70569        * wml/WMLSelectElement.cpp:
70570        (WebCore::WMLSelectElement::WMLSelectElement):
70571        (WebCore::WMLSelectElement::selectInitialOptions):
70572        * wml/WMLSelectElement.h:
70573        (WebCore::WMLSelectElement::initialized):
70574
705752009-08-16  Anthony Ricaud  <rik@webkit.org>
70576
70577        Reviewed by Timothy Hatcher.
70578
70579        Inspector Resource filtering: keyboard Navigation always uses ALL resources
70580        https://bugs.webkit.org/show_bug.cgi?id=28231
70581        
70582        Determine if a resource is selectable on user action.
70583        
70584        * inspector/front-end/ResourcesPanel.js:
70585        (WebInspector.ResourceSidebarTreeElement.prototype.get selectable):
70586
705872009-08-16  David Kilzer  <ddkilzer@apple.com>
70588
70589        <http://webkit.org/b/28355> Replace MAX()/MIN() macros with type-safe std::max()/min() templates
70590
70591        Reviewed by Dan Bernstein.
70592
70593        * accessibility/mac/AccessibilityObjectWrapper.mm:
70594        (AXAttributeStringSetSpelling): Changed MIN() to min().
70595        * platform/graphics/mac/FontMacATSUI.mm:
70596        (WebCore::Font::selectionRectForComplexText): Changed MAX() to
70597        max() and MIN() to min().
70598        (WebCore::Font::floatWidthForComplexText): Ditto.
70599        * platform/graphics/mac/SimpleFontDataMac.mm: Added using
70600        std::max statement.
70601        (WebCore::SimpleFontData::platformInit): Changed MAX() to max().
70602        * platform/text/mac/TextCodecMac.cpp:
70603        (WebCore::TextCodecMac::decode): Changed MIN() to min().
70604
706052009-08-16  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
70606
70607        Reviewed by George Staikos.
70608
70609        [WML] Cleanup WMLIntrinsicEventHandling code
70610        https://bugs.webkit.org/show_bug.cgi?id=28358
70611
70612        Remove superflous "Event* evt" parameter from executeTask() methods. It's a leftover from the initial WML merge.
70613
70614        * wml/WMLAnchorElement.cpp:
70615        (WebCore::WMLAnchorElement::defaultEventHandler):
70616        * wml/WMLDoElement.cpp:
70617        (WebCore::WMLDoElement::defaultEventHandler):
70618        * wml/WMLGoElement.cpp:
70619        (WebCore::WMLGoElement::executeTask):
70620        * wml/WMLGoElement.h:
70621        * wml/WMLIntrinsicEventHandler.cpp:
70622        (WebCore::WMLIntrinsicEventHandler::triggerIntrinsicEvent):
70623        * wml/WMLPrevElement.cpp:
70624        (WebCore::WMLPrevElement::executeTask):
70625        * wml/WMLPrevElement.h:
70626        * wml/WMLRefreshElement.cpp:
70627        (WebCore::WMLRefreshElement::executeTask):
70628        * wml/WMLRefreshElement.h:
70629        * wml/WMLTaskElement.h:
70630
706312009-08-16  Pavel Feldman  <pfeldman@chromium.org>
70632
70633        Reviewed by Timothy Hatcher.
70634
70635        WebInspector: A handful of DOMAgent-related fixes and cleanups.
70636
70637        - renamed elementId to nodeId in operations on nodes.
70638        - added load listeners to frame owners in InspectorDOMAgent.
70639        - removed InspectorController::inspectedWindowScriptObjectCleared event.
70640        - preserved isViaInspector flag for 'via inspector' marker to survive styles update.
70641        - removed contentDocument-related logic from ElementsPanel since it is handled in
70642            the InspectorDOMAgent.
70643        - removed DOM listeners unregistration and corresponding events from InspectorController.
70644        - made this.styles 'private' in ElementsPanel.
70645        - added TODO for the handleCopy processing.
70646
70647        https://bugs.webkit.org/show_bug.cgi?id=28356
70648
70649        * WebCore.order:
70650        * inspector/InspectorBackend.cpp:
70651        (WebCore::InspectorBackend::getChildNodes):
70652        (WebCore::InspectorBackend::setTextNodeValue):
70653        * inspector/InspectorBackend.h:
70654        * inspector/InspectorBackend.idl:
70655        * inspector/InspectorController.cpp:
70656        * inspector/InspectorController.h:
70657        * inspector/InspectorDOMAgent.cpp:
70658        (WebCore::InspectorDOMAgent::startListening):
70659        (WebCore::InspectorDOMAgent::stopListening):
70660        (WebCore::InspectorDOMAgent::handleEvent):
70661        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
70662        (WebCore::InspectorDOMAgent::getChildNodes):
70663        (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
70664        (WebCore::InspectorDOMAgent::setTextNodeValue):
70665        (WebCore::InspectorDOMAgent::buildObjectForNode):
70666        (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
70667        (WebCore::InspectorDOMAgent::innerParentNode):
70668        * inspector/InspectorDOMAgent.h:
70669        * inspector/InspectorFrontend.cpp:
70670        * inspector/InspectorFrontend.h:
70671        * inspector/front-end/DOMAgent.js:
70672        (WebInspector.DOMDocument.prototype.addEventListener):
70673        (WebInspector.DOMDocument.prototype.removeEventListener):
70674        (WebInspector.DOMDocument.prototype._fireDomEvent):
70675        (WebInspector.DOMAgent.prototype.getChildNodesAsync.mycallback):
70676        (WebInspector.DOMAgent.prototype.getChildNodesAsync):
70677        (WebInspector.DOMAgent.prototype._setChildNodes):
70678        (WebInspector.CSSStyleDeclaration.parseRule):
70679        (WebInspector.childNodeInserted):
70680        (WebInspector.childNodeRemoved):
70681        * inspector/front-end/ElementsPanel.js:
70682        (WebInspector.ElementsPanel):
70683        (WebInspector.ElementsPanel.prototype.reset):
70684        (WebInspector.ElementsPanel.prototype.addStyleChange):
70685        (WebInspector.ElementsPanel.prototype.removeStyleChange):
70686        (WebInspector.ElementsPanel.prototype._updateModifiedNodes):
70687        (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
70688        (WebInspector.ElementsPanel.prototype.handleCopyEvent):
70689        * inspector/front-end/ElementsTreeOutline.js:
70690        (WebInspector.ElementsTreeOutline.prototype.set rootDOMNode):
70691        (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
70692        (WebInspector.ElementsTreeElement):
70693        (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
70694        (WebInspector.ElementsTreeElement.prototype._updateChildren):
70695        (WebInspector.ElementsTreeElement.prototype.onexpand):
70696        * inspector/front-end/InjectedScript.js:
70697        (InjectedScript.addStyleSelector):
70698        (InjectedScript._serializeRule):
70699        * inspector/front-end/StylesSidebarPane.js:
70700        (WebInspector.StylePropertiesSection):
70701        * inspector/front-end/inspector.js:
70702        (WebInspector.set hoveredDOMNode):
70703        * inspector/front-end/treeoutline.js:
70704        (TreeOutline.prototype.findTreeElement):
70705        * inspector/front-end/utilities.js:
70706        (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray):
70707        (Node.prototype.enclosingNodeOrSelfWithClass):
70708        (isAncestorNode):
70709        (firstCommonNodeAncestor):
70710        (traverseNextNode):
70711        (traversePreviousNode):
70712        ():
70713        * loader/FrameLoader.cpp:
70714        (WebCore::FrameLoader::dispatchWindowObjectAvailable):
70715        * page/android/InspectorControllerAndroid.cpp:
70716
707172009-08-15  Simon Fraser  <simon.fraser@apple.com>
70718
70719        Reviewed by Dave Hyatt
70720
70721        Optimize updateFillImages() to not add/remove clients every time
70722        https://bugs.webkit.org/show_bug.cgi?id=28334
70723
70724        Optimize the case where old and new just have a single layer pointing to the same (or no)
70725        image.
70726
70727        * rendering/RenderObject.cpp:
70728        (WebCore::RenderObject::updateFillImages):
70729
707302009-08-15  Simon Fraser  <simon.fraser@apple.com>
70731
70732        Reviewed by Anders Carlsson.
70733
70734        Implement animations of multiple text-shadows and -webkit-box-shadows.
70735        https://bugs.webkit.org/show_bug.cgi?id=28266
70736        
70737        Test: transitions/multiple-shadow-transitions.html
70738
70739        * page/animation/AnimationBase.cpp:
70740        (WebCore::PropertyWrapperShadow::equals):
70741        (WebCore::PropertyWrapperShadow::blend):
70742
707432009-08-15  Simon Fraser  <simon.fraser@apple.com>
70744
70745        Reviewed by Anders Carlsson.
70746
70747        Make transitions work for position and size of multiple backgrounds and masks.
70748        https://bugs.webkit.org/show_bug.cgi?id=28266
70749        
70750        Make background-position, background-size, -webkit-mask-position and -webkit-mask-size
70751        properties animatable with multiple backgrounds, rather than just animating the first one.
70752
70753        Tests: transitions/multiple-background-size-transitions.html
70754               transitions/multiple-background-transitions.html
70755               transitions/multiple-mask-transitions.html
70756
70757        * page/animation/AnimationBase.cpp:
70758        (WebCore::FillLayerPropertyWrapperBase::FillLayerPropertyWrapperBase):
70759        (WebCore::FillLayerPropertyWrapperBase::~FillLayerPropertyWrapperBase):
70760        (WebCore::FillLayerPropertyWrapperGetter::FillLayerPropertyWrapperGetter):
70761        (WebCore::FillLayerPropertyWrapperGetter::equals):
70762        (WebCore::FillLayerPropertyWrapper::FillLayerPropertyWrapper):
70763        (WebCore::FillLayerPropertyWrapper::blend):
70764        (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
70765        (WebCore::FillLayersPropertyWrapper::equals):
70766        (WebCore::FillLayersPropertyWrapper::blend):
70767        (WebCore::ensurePropertyMap):
70768        * rendering/style/FillLayer.h:
70769        (WebCore::FillLayer::setXPosition):
70770        (WebCore::FillLayer::setYPosition):
70771        (WebCore::FillLayer::setSize):
70772
707732009-08-15  George Staikos  <george.staikos@torchmobile.com>
70774
70775        Reviewed by Jan Alonzo.
70776
70777        Don't crash in fieldset code when WML is enabled.
70778        https://bugs.webkit.org/show_bug.cgi?id=28012
70779
70780        Test: fast/wml/html-fieldset-crash.html
70781
70782        * rendering/RenderFieldset.cpp:
70783        (WebCore::RenderFieldset::findLegend): ++brackets
70784
707852009-08-15  Sam Weinig  <sam@webkit.org>
70786
70787        Try and enable EventSource on Windows.
70788
70789        * WebCore.vcproj/WebCoreCommon.vsprops:
70790        * WebCore.vcproj/build-generated-files.sh:
70791
707922009-08-15  Sam Weinig  <sam@webkit.org>
70793
70794        Reviewed by Dan Bernstein.
70795
70796        Setting attribute event listeners to the body does not set them on the window
70797        https://bugs.webkit.org/show_bug.cgi?id=28343
70798
70799        Tests: fast/dom/Window/HTMLBodyElement-window-eventListener-attributes.html
70800               fast/dom/Window/HTMLFrameSetElement-window-eventListener-attributes.html
70801
70802        * html/HTMLBodyElement.cpp:
70803        (WebCore::HTMLBodyElement::setOnblur): Use setWindowAttributeEventListener instead of setAttributeEventListener.
70804        (WebCore::HTMLBodyElement::setOnerror): Ditto.
70805        (WebCore::HTMLBodyElement::setOnfocus): Ditto.
70806        (WebCore::HTMLBodyElement::setOnload): Ditto.
70807        (WebCore::HTMLBodyElement::setOnbeforeunload): Ditto.
70808        (WebCore::HTMLBodyElement::setOnmessage): Ditto.
70809        (WebCore::HTMLBodyElement::setOnoffline): Ditto.
70810        (WebCore::HTMLBodyElement::setOnonline): Ditto.
70811        (WebCore::HTMLBodyElement::setOnresize): Ditto.
70812        (WebCore::HTMLBodyElement::setOnstorage): Ditto.
70813        (WebCore::HTMLBodyElement::setOnunload): Ditto.
70814        * html/HTMLFrameSetElement.cpp:
70815        (WebCore::HTMLFrameSetElement::setOnblur): Ditto.
70816        (WebCore::HTMLFrameSetElement::setOnerror): Ditto.
70817        (WebCore::HTMLFrameSetElement::setOnfocus): Ditto.
70818        (WebCore::HTMLFrameSetElement::setOnload): Ditto.
70819        (WebCore::HTMLFrameSetElement::setOnbeforeunload): Ditto.
70820        (WebCore::HTMLFrameSetElement::setOnmessage): Ditto.
70821        (WebCore::HTMLFrameSetElement::setOnoffline): Ditto.
70822        (WebCore::HTMLFrameSetElement::setOnonline): Ditto.
70823        (WebCore::HTMLFrameSetElement::setOnresize): Ditto.
70824        (WebCore::HTMLFrameSetElement::setOnstorage): Ditto.
70825        (WebCore::HTMLFrameSetElement::setOnunload): Ditto.
70826
708272009-08-15  Sam Weinig  <sam@webkit.org>
70828
70829        Reviewed by Dan Bernstein.
70830
70831        Fix up some IDL comments.
70832
70833        * html/HTMLBodyElement.idl:
70834        * html/HTMLFrameSetElement.idl:
70835
708362009-08-15  Adam Bergkvist  <adam.bergkvist@ericsson.com>
70837
70838        Reviewed by Sam Weinig.
70839
70840        Added implementation of the EventSource object that enables
70841        server-sent events from HTML5.
70842        http://dev.w3.org/html5/eventsource/
70843        https://bugs.webkit.org/show_bug.cgi?id=14997
70844
70845        Tests: fast/eventsource/eventsource-attribute-listeners.html
70846               fast/eventsource/eventsource-constructor.html
70847               http/tests/eventsource/eventsource-bad-mime-type.html
70848               http/tests/eventsource/eventsource-parse-event-stream.html
70849               http/tests/eventsource/eventsource-reconnect.html
70850               http/tests/eventsource/eventsource-status-code-states.html
70851               http/tests/eventsource/workers/eventsource-simple.html
70852
70853        * Configurations/FeatureDefines.xcconfig:
70854        * DerivedSources.cpp:
70855        * DerivedSources.make:
70856        * GNUmakefile.am:
70857        * WebCore.pro:
70858        * WebCore.vcproj/WebCore.vcproj:
70859        * WebCore.xcodeproj/project.pbxproj:
70860        * bindings/js/JSDOMWindowCustom.cpp:
70861        (WebCore::JSDOMWindow::eventSource):
70862        * bindings/js/JSEventSourceConstructor.cpp: Added.
70863        (WebCore::):
70864        (WebCore::JSEventSourceConstructor::JSEventSourceConstructor):
70865        (WebCore::constructEventSource):
70866        (WebCore::JSEventSourceConstructor::getConstructData):
70867        * bindings/js/JSEventSourceConstructor.h: Added.
70868        (WebCore::JSEventSourceConstructor::classInfo):
70869        * bindings/js/JSEventSourceCustom.cpp: Added.
70870        (WebCore::JSEventSource::markChildren):
70871        (WebCore::JSEventSource::addEventListener):
70872        (WebCore::JSEventSource::removeEventListener):
70873        * bindings/js/JSEventTarget.cpp:
70874        (WebCore::toJS):
70875        (WebCore::toEventTarget):
70876        * bindings/js/JSWorkerContextCustom.cpp:
70877        (WebCore::JSWorkerContext::eventSource):
70878        * dom/EventNames.h:
70879        * dom/EventTarget.cpp:
70880        (WebCore::EventTarget::toEventSource):
70881        * dom/EventTarget.h:
70882        * page/DOMWindow.idl:
70883        * page/EventSource.cpp: Added.
70884        (WebCore::EventSource::EventSource):
70885        (WebCore::EventSource::~EventSource):
70886        (WebCore::EventSource::connect):
70887        (WebCore::EventSource::endRequest):
70888        (WebCore::EventSource::scheduleReconnect):
70889        (WebCore::EventSource::reconnectTimerFired):
70890        (WebCore::EventSource::url):
70891        (WebCore::EventSource::readyState):
70892        (WebCore::EventSource::close):
70893        (WebCore::EventSource::scriptExecutionContext):
70894        (WebCore::EventSource::addEventListener):
70895        (WebCore::EventSource::removeEventListener):
70896        (WebCore::EventSource::dispatchEvent):
70897        (WebCore::EventSource::didReceiveResponse):
70898        (WebCore::EventSource::didReceiveData):
70899        (WebCore::EventSource::didFinishLoading):
70900        (WebCore::EventSource::didFail):
70901        (WebCore::EventSource::didFailRedirectCheck):
70902        (WebCore::EventSource::parseEventStream):
70903        (WebCore::EventSource::parseEventStreamLine):
70904        (WebCore::EventSource::dispatchGenericEvent):
70905        (WebCore::EventSource::dispatchMessageEvent):
70906        (WebCore::EventSource::stop):
70907        * page/EventSource.h: Added.
70908        (WebCore::EventSource::create):
70909        (WebCore::EventSource::):
70910        (WebCore::EventSource::setOnopen):
70911        (WebCore::EventSource::onopen):
70912        (WebCore::EventSource::setOnmessage):
70913        (WebCore::EventSource::onmessage):
70914        (WebCore::EventSource::setOnerror):
70915        (WebCore::EventSource::onerror):
70916        (WebCore::EventSource::toEventSource):
70917        (WebCore::EventSource::eventListeners):
70918        (WebCore::EventSource::refEventTarget):
70919        (WebCore::EventSource::derefEventTarget):
70920        * page/EventSource.idl: Added.
70921        * workers/WorkerContext.idl:
70922
709232009-08-15  Pavel Feldman  <pfeldman@chromium.org>
70924
70925        Reviewed by Timothy Hatcher.
70926
70927        WebInspector: Minor DOMAgent bugfixes.
70928
70929        https://bugs.webkit.org/show_bug.cgi?id=28177
70930
70931        * inspector/InspectorDOMAgent.cpp:
70932        (WebCore::InspectorDOMAgent::nodeForId):
70933        * inspector/front-end/DOMAgent.js:
70934        (WebInspector.DOMAgent):
70935        * inspector/front-end/ElementsPanel.js:
70936        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
70937
709382009-08-15  Pavel Feldman  <pfeldman@chromium.org>
70939
70940        Reviewed by Timothy Hatcher.
70941
70942        WebInspector: Evaluating objects while on a breakpoint dumps string
70943        representation instead of live object. 
70944
70945        https://bugs.webkit.org/show_bug.cgi?id=28280
70946
70947        * inspector/front-end/ConsoleView.js:
70948        (WebInspector.ConsoleView.prototype.completions.this._evalInInspectedWindow):
70949        (WebInspector.ConsoleView.prototype.completions):
70950        (WebInspector.ConsoleView.prototype._reportCompletions):
70951        * inspector/front-end/ScriptsPanel.js:
70952        (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame.delayedEvaluation):
70953        (WebInspector.ScriptsPanel.prototype.doEvalInCallFrame):
70954        (WebInspector.ScriptsPanel.prototype.variablesInSelectedCallFrame):
70955
709562009-08-15  Maxime Simon  <simon.maxime@gmail.com>
70957
70958        Reviewed by Eric Seidel.
70959
70960        [Haiku] Adding two new files to WebCore/platform/haiku:
70961        LocalizedStringsHaiku.cpp and LoggingHaiku.cpp
70962        https://bugs.webkit.org/show_bug.cgi?id=28129
70963
70964        * platform/haiku/LocalizedStringsHaiku.cpp: Added.
70965        (WebCore::submitButtonDefaultLabel):
70966        (WebCore::inputElementAltText):
70967        (WebCore::resetButtonDefaultLabel):
70968        (WebCore::defaultLanguage):
70969        (WebCore::searchableIndexIntroduction):
70970        (WebCore::fileButtonChooseFileLabel):
70971        (WebCore::fileButtonNoFileSelectedLabel):
70972        (WebCore::contextMenuItemTagOpenLinkInNewWindow):
70973        (WebCore::contextMenuItemTagDownloadLinkToDisk):
70974        (WebCore::contextMenuItemTagCopyLinkToClipboard):
70975        (WebCore::contextMenuItemTagOpenImageInNewWindow):
70976        (WebCore::contextMenuItemTagDownloadImageToDisk):
70977        (WebCore::contextMenuItemTagCopyImageToClipboard):
70978        (WebCore::contextMenuItemTagOpenFrameInNewWindow):
70979        (WebCore::contextMenuItemTagCopy):
70980        (WebCore::contextMenuItemTagGoBack):
70981        (WebCore::contextMenuItemTagGoForward):
70982        (WebCore::contextMenuItemTagStop):
70983        (WebCore::contextMenuItemTagReload):
70984        (WebCore::contextMenuItemTagCut):
70985        (WebCore::contextMenuItemTagPaste):
70986        (WebCore::contextMenuItemTagNoGuessesFound):
70987        (WebCore::contextMenuItemTagIgnoreSpelling):
70988        (WebCore::contextMenuItemTagLearnSpelling):
70989        (WebCore::contextMenuItemTagSearchWeb):
70990        (WebCore::contextMenuItemTagLookUpInDictionary):
70991        (WebCore::contextMenuItemTagOpenLink):
70992        (WebCore::contextMenuItemTagIgnoreGrammar):
70993        (WebCore::contextMenuItemTagSpellingMenu):
70994        (WebCore::contextMenuItemTagShowSpellingPanel):
70995        (WebCore::contextMenuItemTagCheckSpelling):
70996        (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
70997        (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
70998        (WebCore::contextMenuItemTagFontMenu):
70999        (WebCore::contextMenuItemTagBold):
71000        (WebCore::contextMenuItemTagItalic):
71001        (WebCore::contextMenuItemTagUnderline):
71002        (WebCore::contextMenuItemTagOutline):
71003        (WebCore::contextMenuItemTagWritingDirectionMenu):
71004        (WebCore::contextMenuItemTagDefaultDirection):
71005        (WebCore::contextMenuItemTagLeftToRight):
71006        (WebCore::contextMenuItemTagRightToLeft):
71007        (WebCore::contextMenuItemTagInspectElement):
71008        (WebCore::searchMenuNoRecentSearchesText):
71009        (WebCore::searchMenuRecentSearchesText):
71010        (WebCore::searchMenuClearRecentSearchesText):
71011        (WebCore::unknownFileSizeText):
71012        (WebCore::AXWebAreaText):
71013        (WebCore::AXLinkText):
71014        (WebCore::AXListMarkerText):
71015        (WebCore::AXImageMapText):
71016        (WebCore::AXHeadingText):
71017        (WebCore::imageTitle):
71018        (WebCore::contextMenuItemTagTextDirectionMenu):
71019        (WebCore::AXButtonActionVerb):
71020        (WebCore::AXTextFieldActionVerb):
71021        (WebCore::AXRadioButtonActionVerb):
71022        (WebCore::AXCheckedCheckBoxActionVerb):
71023        (WebCore::AXUncheckedCheckBoxActionVerb):
71024        (WebCore::AXLinkActionVerb):
71025        (WebCore::AXDefinitionListTermText):
71026        (WebCore::AXDefinitionListDefinitionText):
71027        * platform/haiku/LoggingHaiku.cpp: Added.
71028        (WebCore::InitializeLoggingChannelsIfNecessary):
71029
710302009-08-15  Darin Adler  <darin@apple.com>
71031
71032        Fix GTK build.
71033
71034        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
71035        (fallbackObject): Pass 0 for document. Should be OK at least for now.
71036
710372009-08-15  Darin Adler  <darin@apple.com>
71038
71039        Fix Qt build.
71040
71041        * dom/XMLTokenizerQt.cpp: Use create functions instead of calling new
71042        directly to make CDATASection and Comment nodes.
71043
710442009-08-14  Darin Adler  <darin@apple.com>
71045
71046        Reviewed by Sam Weinig.
71047
71048        Make DOM classes start with a reference count of 1, like all other RefCounted
71049        https://bugs.webkit.org/show_bug.cgi?id=28068
71050
71051        First half, everything except for element classes.
71052
71053        * GNUmakefile.am: Removed DocPtr.h.
71054        * WebCore.gypi: Ditto.
71055        * WebCore.vcproj/WebCore.vcproj: Ditto.
71056        * WebCore.xcodeproj/project.pbxproj: Ditto.
71057
71058        * dom/Attr.cpp:
71059        (WebCore::Attr::Attr): Added a call to createTextChild here so callers don't
71060        have to call it explicitly.
71061        (WebCore::Attr::create): Added.
71062        (WebCore::Attr::setValue): Changed to take AtomicString.
71063        (WebCore::Attr::cloneNode): Use create.
71064
71065        * dom/Attr.h: Added a create function. Made the constructor private,
71066        and a lot of other functions private as well.
71067
71068        * dom/Attribute.cpp:
71069        (WebCore::Attribute::createAttrIfNeeded): Use Attr::create.
71070
71071        * dom/CDATASection.cpp:
71072        (WebCore::CDATASection::create): Added.
71073        (WebCore::CDATASection::cloneNode): Use create.
71074        (WebCore::CDATASection::virtualCreate): Ditto.
71075
71076        * dom/CDATASection.h: Added a create function. Made everything private.
71077        Removed unneeded destructor declaration.
71078
71079        * dom/CharacterData.cpp:
71080        (WebCore::CharacterData::CharacterData): Replaced the multiple constructors
71081        with a single one that takes ConstructionType.
71082
71083        * dom/CharacterData.h: Made more functions be protected and private.
71084        Made m_data be private.
71085
71086        * dom/Comment.cpp:
71087        (WebCore::Comment::Comment): Got rid of an extra constructor.
71088        (WebCore::Comment::create): Added.
71089        (WebCore::Comment::cloneNode): Call create.
71090
71091        * dom/Comment.h: Added a create function. Made everything private.
71092
71093        * dom/ContainerNode.cpp:
71094        (WebCore::dispatchChildInsertionEvents): Use RefPtr instead of DocPtr.
71095        (WebCore::dispatchChildRemovalEvents): Ditto.
71096
71097        * dom/ContainerNode.h: Made the constructor protected and passed
71098        ConstructionType instead of an isElement boolean.
71099
71100        * dom/DocPtr.h: Removed.
71101
71102        * dom/Document.cpp:
71103        (WebCore::Document::Document): Simplified the code that sets m_document
71104        since it's no longer a smart pointer.
71105        (WebCore::Document::removedLastRef): Use explicit calls to selfOnlyRef
71106        and selfOnlyDeref instead of a DocPtr in here.
71107        (WebCore::Document::~Document): Simplified the code that sets m_document
71108        since it's no longer a smart pointer.
71109        (WebCore::Document::createDocumentFragment): Call create.
71110        (WebCore::Document::createTextNode): Ditto.
71111        (WebCore::Document::createComment): Ditto.
71112        (WebCore::Document::createCDATASection): Ditto.
71113        (WebCore::Document::createProcessingInstruction): Ditto.
71114        (WebCore::Document::createEntityReference): Ditto.
71115        (WebCore::Document::createEditingTextNode): Ditto.
71116        (WebCore::Document::importNode): Call Attr::create.
71117        (WebCore::Document::createAttributeNS): Ditto.
71118
71119        * dom/Document.h: Call adoptRef. Made a lot of functions private and
71120        protected and sorted them so public functions come first.
71121
71122        * dom/DocumentFragment.cpp:
71123        (WebCore::DocumentFragment::create): Added.
71124        (WebCore::DocumentFragment::cloneNode): Call create.
71125        * dom/DocumentFragment.h: Added create.
71126
71127        * dom/DocumentType.cpp:
71128        (WebCore::DocumentType::DocumentType): Pass type to Node constructor.
71129        (WebCore::DocumentType::cloneNode): Use create.
71130        * dom/DocumentType.h:
71131        (WebCore::DocumentType::create): Call adoptRef.
71132
71133        * dom/EditingText.cpp:
71134        (WebCore::EditingText::create): Added.
71135        * dom/EditingText.h: Added a create function. Made everything private.
71136
71137        * dom/Element.cpp:
71138        (WebCore::Element::Element): Pass CreateElementZeroRefCount to preserve
71139        the zero reference count behavior for classes derived from Element.
71140
71141        * dom/EntityReference.cpp:
71142        (WebCore::EntityReference::create): Added.
71143        (WebCore::EntityReference::cloneNode): Call create.
71144        * dom/EntityReference.h: Added create. Made everything private.
71145
71146        * dom/Node.cpp:
71147        (WebCore::Node::initialRefCount): Added. Inline helper function for
71148        the constructor.
71149        (WebCore::Node::isContainer): Ditto.
71150        (WebCore::Node::isElement): Ditto.
71151        (WebCore::Node::isText): Ditto.
71152        (WebCore::Node::Node): Changed to take a construction type argument.
71153        Since m_document is now a normal pointer, added a call to selfOnlyRef.
71154        (WebCore::Node::~Node): Ditto, but selfOnlyDeref.
71155        (WebCore::Node::setDocument): Added selfOnlyRef/Deref calls.
71156        (WebCore::Node::appendTextContent): Use the data function instead of
71157        calling nodeValue functions, which do the same thing in a roundabout way.
71158
71159        * dom/Node.h: Made the constructor protected and replaced the multiple
71160        arguments iwth a single ConstructionType argument. Sorted the public
71161        things first.
71162
71163        * dom/Notation.h: Made most things private.
71164        * dom/Notation.cpp: Removed extra constructor.
71165
71166        * dom/ProcessingInstruction.cpp:
71167        (WebCore::ProcessingInstruction::create): Added.
71168        (WebCore::ProcessingInstruction::cloneNode): Call create.
71169        * dom/ProcessingInstruction.h: Added create function. Made many other
71170        members private.
71171
71172        * dom/Range.cpp:
71173        (WebCore::Range::processContents): Use DocumentFragment::create.
71174
71175        * dom/Text.cpp:
71176        (WebCore::Text::Text): Updated for base class change.
71177        (WebCore::Text::create): Added.
71178        (WebCore::Text::splitText): Changed to not require access to m_data.
71179        (WebCore::Text::cloneNode): Call create.
71180        (WebCore::Text::createRenderer): Call dataImpl.
71181        (WebCore::Text::attach): Call data.
71182        (WebCore::Text::recalcStyle): Call dataImpl.
71183        (WebCore::Text::virtualCreate): Call create.
71184        (WebCore::Text::createWithLengthLimit): Call create.
71185        (WebCore::Text::formatForDebugger): Call data.
71186
71187        * dom/Text.h: Added a create function. Made many other members private.
71188        Renamed createNew to virtualCreate.
71189
71190        * dom/XMLTokenizer.cpp:
71191        (WebCore::XMLTokenizer::enterText): Call Text::create.
71192
71193        * dom/XMLTokenizerLibxml2.cpp:
71194        (WebCore::XMLTokenizer::cdataBlock): Call CDATASection::create.
71195        (WebCore::XMLTokenizer::comment): Call Comment::create.
71196
71197        * editing/CompositeEditCommand.cpp:
71198        (WebCore::CompositeEditCommand::deleteInsignificantText):
71199        Call data instead of string.
71200
71201        * editing/CreateLinkCommand.cpp:
71202        (WebCore::CreateLinkCommand::doApply): Call Text::create.
71203
71204        * editing/EditorCommand.cpp:
71205        (WebCore::executeInsertNode): Call DocumentFragment::create.
71206
71207        * editing/SplitTextNodeCommand.cpp:
71208        (WebCore::SplitTextNodeCommand::doApply): Call Text::create.
71209
71210        * editing/markup.cpp:
71211        (WebCore::appendStartMarkup): Call data instead of nodeValue.
71212
71213        * html/HTMLDocument.h:
71214        (WebCore::HTMLDocument::create): Call adoptRef.
71215
71216        * html/HTMLElement.cpp:
71217        (WebCore::HTMLElement::createContextualFragment): Call DocumentFragment::create.
71218        (WebCore::replaceChildrenWithFragment): Call data instead of string.
71219        (WebCore::replaceChildrenWithText): Call Text::create.
71220        (WebCore::HTMLElement::setInnerText): Call DocumentFragment::create and
71221        Text::create.
71222        (WebCore::HTMLElement::setOuterText): Call Text::create.
71223
71224        * html/HTMLKeygenElement.cpp:
71225        (WebCore::HTMLKeygenElement::HTMLKeygenElement): Call Text::create.
71226
71227        * html/HTMLOptionElement.cpp:
71228        (WebCore::HTMLOptionElement::setText): Call Text::create.
71229
71230        * html/HTMLParser.cpp:
71231        (WebCore::HTMLParser::textCreateErrorCheck): Call Text::create.
71232        (WebCore::HTMLParser::commentCreateErrorCheck): Call Comment::create.
71233        (WebCore::HTMLParser::handleIsindex): Call Text::create.
71234
71235        * html/HTMLViewSourceDocument.cpp:
71236        (WebCore::HTMLViewSourceDocument::addText): Call Text::create.
71237
71238        * html/HTMLViewSourceDocument.h:
71239        (WebCore::HTMLViewSourceDocument::create): Call adoptRef.
71240
71241        * loader/FTPDirectoryDocument.cpp:
71242        (WebCore::FTPDirectoryTokenizer::appendEntry): Call Text::create.
71243        (WebCore::FTPDirectoryTokenizer::createTDForFilename): Call Text::create.
71244
71245        * loader/FTPDirectoryDocument.h:
71246        (WebCore::FTPDirectoryDocument::create): Call adoptRef.
71247        * loader/ImageDocument.h:
71248        (WebCore::ImageDocument::create): Ditto.
71249        * loader/MediaDocument.h:
71250        (WebCore::MediaDocument::create): Ditto.
71251        * loader/PlaceholderDocument.h:
71252        (WebCore::PlaceholderDocument::create): Ditto.
71253        * loader/PluginDocument.h:
71254        (WebCore::PluginDocument::create): Ditto.
71255        * loader/TextDocument.h:
71256        (WebCore::TextDocument::create): Ditto.
71257
71258        * loader/loader.cpp:
71259        (WebCore::Loader::Host::didFinishLoading): Use RefPtr instead of DocPtr.
71260        (WebCore::Loader::Host::didFail): Ditto.
71261
71262        * platform/TreeShared.h:
71263        (WebCore::TreeShared::TreeShared): Added an initialRefCount argument,
71264        defaulting to 1. Node still sometimes initializes it to 0 instead for now.
71265
71266        * rendering/RenderText.cpp:
71267        (WebCore::RenderText::originalText): Use dataImpl instead of string.
71268
71269        * rendering/RenderTextFragment.cpp:
71270        (WebCore::RenderTextFragment::originalText): Use dataImpl instead of string.
71271        (WebCore::RenderTextFragment::previousCharacter): Ditto.
71272
71273        * svg/SVGDocument.h:
71274        (WebCore::SVGDocument::create): Use adoptRef.
71275
71276        * svg/SVGElementInstance.cpp:
71277        (WebCore::SVGElementInstance::SVGElementInstance): Updated to take a
71278        PassRefPtr.
71279
71280        * svg/SVGElementInstance.h: Made everything private.
71281
71282        * wml/WMLDocument.h:
71283        (WebCore::WMLDocument::create): Called adoptRef.
71284
71285        * xml/XPathNamespace.cpp:
71286        (WebCore::XPathNamespace::XPathNamespace): Take AtomicString arguments.
71287        * xml/XPathNamespace.h: Made everything private.
71288
71289        * xml/XSLTProcessor.cpp:
71290        (WebCore::createFragmentFromSource): Use DocumentFragment::create and
71291        Text::create.
71292
712932009-08-13  Jon Honeycutt  <jhoneycutt@apple.com>
71294
71295        Part of <rdar://problem/6218721> No MSAA focus events fired for Webkit
71296        nightly (20866)
71297
71298        https://bugs.webkit.org/show_bug.cgi?id=20866
71299
71300        Reviewed by Oliver Hunt.
71301
71302        * accessibility/AXObjectCache.cpp:
71303        (WebCore::AXObjectCache::AXObjectCache):
71304        Changed to take a pointer to its owner document. This is used by
71305        AXObjectCache::handleFocusedUIElementChanged().
71306        (WebCore::AXObjectCache::focusedUIElementForPage):
71307        Code moved from AccessibilityRenderObject::focusedUIElement(). Modified
71308        to be a static function and to take a pointer to a Page.
71309        (WebCore::AXObjectCache::platformGenerateAXID):
71310        Moved the code to generate the next AXID from getAXID() to here. Added
71311        a #if to make this non-WIN only, because Windows has its own
71312        implementation.
71313        (WebCore::AXObjectCache::getAXID):
71314        Ensure that we generate a positive AXID, ranging from 1 to LONG_MAX.
71315
71316        * accessibility/AXObjectCache.h:
71317        Add a declaration for Document and Page. Removed the declaration of
71318        AccessibilityObject, because we include the header. Reordered the
71319        declaration of Node alphabetically. Moved the typedef for AXID to
71320        AccessibilityObject. Removed some trailing whitespace. Added a member
71321        variable to hold a pointer to the owner Document.
71322        (WebCore::AXObjectCache::AXObjectCache):
71323        Changed to take a pointer to its owner Document.
71324        (WebCore::AXObjectCache::focusedUIElementForPage):
71325        Added; code moved from AccessiblityRenderObject::focusedUIElement().
71326        Returns the focused element with respect to accessibility.
71327        (WebCore::AXObjectCache::platformGenerateAXID):
71328        Declare a function to generate an AXID.
71329        (WebCore::AXObjectCache::objectFromAXID):
71330        Return the AccessibilityObject with the given AXID.
71331
71332        * accessibility/AccessibilityObject.h:
71333        Moved the typedef for AXID from AXObjectCache to here. Made the m_id
71334        member use the typedef.
71335        (WebCore::AccessibilityObject::axObjectID):
71336        Changed the return type to use the typedef.
71337        (WebCore::AccessibilityObject::setAXObjectID):
71338        Changed the argument type to use the typedef.
71339
71340        * accessibility/AccessibilityRenderObject.cpp:
71341        Removed some unneeded #includes.
71342        (WebCore::AccessibilityRenderObject::focusedUIElement):
71343        Moved the code to AXObjectCache::focusedUIElementForPage(), which we now
71344        call.
71345
71346        * accessibility/win/AXObjectCacheWin.cpp:
71347        (WebCore::AXObjectCache::platformGenerateAXID):
71348        Ensure that we generate an AXID that is in the range 1 to LONG_MAX.
71349        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
71350        If the Document has no Page, return. If the Page has not focused
71351        element (respecting accessibility), return. Assert that the
71352        accessibility of the focused element is not ignored, and that the
71353        object's AXID will be negative and fit into a LONG when negated.
71354        Broadcast a focus event for the object.
71355
71356        * dom/Document.cpp:
71357        (WebCore::Document::axObjectCache):
71358        Pass this when creating the AXObjectCache.
71359        (WebCore::Document::setFocusedNode):
71360        Call AXObjectCache::handleFocusedUIElementChanged() on Windows.
71361
713622009-08-14  Jiahua Huang  <jhuangjiahua@gmail.com>
71363
71364        Reviewed by Jan Alonzo.
71365
71366        [gtk] Pasteboard/GtkClipboard can't handle the "text/html" target.
71367        https://bugs.webkit.org/show_bug.cgi?id=27028
71368
71369        Remove the improper set of enum WebKitWebViewTargetInfo
71370        by grabbing the target infos via m_helper.
71371
71372        * manual-tests/gtk/copy-htmltext.html: Added.
71373        * platform/Pasteboard.h:
71374        * platform/gtk/PasteboardGtk.cpp:
71375        (WebCore::clipboard_get_contents_cb):
71376        * platform/gtk/PasteboardHelper.h:
71377
713782009-08-14  Simon Fraser  <simon.fraser@apple.com>
71379
71380        Reviewed by Dave Hyatt.
71381
71382        Fix an assertion when bringing up the Inspector.
71383        https://bugs.webkit.org/show_bug.cgi?id=28318
71384        
71385        The fix for bug 28295 assumed that image clients count the number of times
71386        addClient/removeClient is called. That was true for CachedResource clients,
71387        but not StyleGeneratedImage clients, which pass the call onto CSSImageGeneratorValue.
71388        
71389        Fix by making CSSImageGeneratorValue count the number of times a client is
71390        added/removed.
71391
71392        * css/CSSCanvasValue.cpp:
71393        (WebCore::CSSCanvasValue::canvasChanged):
71394        (WebCore::CSSCanvasValue::canvasResized):
71395        * css/CSSImageGeneratorValue.cpp:
71396        (WebCore::CSSImageGeneratorValue::addClient):
71397        (WebCore::CSSImageGeneratorValue::removeClient):
71398        (WebCore::CSSImageGeneratorValue::getImage):
71399        * css/CSSImageGeneratorValue.h:
71400
714012009-08-14  Brent Fulgham  <bfulgham@webkit.org>
71402
71403        Reviewed by Kevin Ollivier.
71404
71405        Correct libcurl crash when downloading local files.
71406        https://bugs.webkit.org/show_bug.cgi?id=28312
71407
71408        No new tests. Test is covered by fast/encoding/char-encoding-mac.html.
71409
71410        * platform/network/curl/ResourceHandleManager.cpp:
71411        (WebCore::handleLocalReceiveResponse): New static function that
71412          performs the local setting of valid URL and firing didReceiveResponse.
71413          This code was moved from writeCallback.
71414        (WebCore::writeCallback): Move local file handling to static function
71415          (above) and use the function instead.
71416        (WebCore::readCallback): Add check
71417          for responseFired, and handle as a local file if it was not.
71418
714192009-08-14  Maxime Simon  <simon.maxime@gmail.com>
71420
71421        Reviewed by Oliver Hunt.
71422
71423        [Haiku] Fix RenderThemeHaiku build.
71424        https://bugs.webkit.org/show_bug.cgi?id=28307
71425
71426        * platform/haiku/RenderThemeHaiku.cpp: Included RenderThemeHaiku.h
71427        instead of RenderTheme.h.
71428        (WebCore::RenderThemeHaiku::paintCheckbox): Removed the wrong 'virtual'
71429        before the function.
71430        (WebCore::RenderThemeHaiku::paintRadio): Removed the wrong 'virtual'
71431        before the function.
71432        * platform/haiku/RenderThemeHaiku.h: Corrected wrong function definitions.
71433
714342009-08-14  Maxime Simon  <simon.maxime@gmail.com>
71435
71436        Reviewed by Oliver Hunt.
71437
71438        [Haiku] Adding SharedBufferHaiku to WebCore.
71439        https://bugs.webkit.org/show_bug.cgi?id=28309
71440
71441        * platform/haiku/SharedBufferHaiku.cpp: Added.
71442        (WebCore::SharedBuffer::createWithContentsOfFile):
71443        * platform/haiku/TemporaryLinkStubs.cpp: Removed unnecessary headers
71444        and functions.
71445        (WebCore::signedPublicKeyAndChallengeString):
71446        (WebCore::getSupportedKeySizes):
71447
714482009-08-14  Nate Chapin  <japhet@chromium.org>
71449
71450        Reviewed by Dimitri Glazkov.
71451
71452        Ensure we're getting the right v8 context in the V8 DOMWindowEvent custom getter.
71453
71454        https://bugs.webkit.org/show_bug.cgi?id=28311
71455
71456        This should fix Chromium failing LayoutTests/fast/events/set-event-in-another-frame.html.
71457
71458        * bindings/v8/custom/V8DOMWindowCustom.cpp:
71459        (WebCore::ACCESSOR_GETTER):
71460
714612009-08-14  Aaron Boodman  <aa@chromium.org>
71462
71463        Reviewed by Alexey Proskuryakov.
71464
71465        BUG 28134: Move the remaining parts of Access Control from XMLHttpRequest to ThreadableDocumentLoader.
71466        https://bugs.webkit.org/show_bug.cgi?id=28134
71467
71468        No new tests added since Access Control was already well tested and this is a pure refactor.
71469
71470        * loader/DocumentThreadableLoader.cpp: Move a lot of the access control code from XHR in, preserving its
71471        basic strategy. Also, modify the synchronous path to not be a special case, but reuse more of the async
71472        path.
71473
71474        (WebCore::DocumentThreadableLoader::loadResourceSynchronously): Go through the async path and pass additional flags.
71475        (WebCore::DocumentThreadableLoader::create): Group enum params into an options struct.
71476        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Ditto.
71477        (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest): Brought mostly from XHR.
71478        (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight): Ditto.
71479        (WebCore::DocumentThreadableLoader::willSendRequest): Handle preflight case.
71480        (WebCore::DocumentThreadableLoader::didReceiveResponse): Ditto.
71481        (WebCore::DocumentThreadableLoader::didFinishLoading): Ditto.
71482        (WebCore::DocumentThreadableLoader::getShouldUseCredentialStorage): Ditto.
71483        (WebCore::DocumentThreadableLoader::preflightSuccess): Preflight handling.
71484        (WebCore::DocumentThreadableLoader::preflightFailure): Ditto.
71485        (WebCore::DocumentThreadableLoader::loadRequest): Common request function that handles async/sync.
71486        * loader/DocumentThreadableLoader.h: Group enum params into an options struct.
71487        * loader/ThreadableLoader.cpp: Ditto.
71488        (WebCore::ThreadableLoader::create): Ditto.
71489        (WebCore::ThreadableLoader::loadResourceSynchronously): Ditto.
71490        * loader/ThreadableLoader.h: Ditto.
71491        (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions): Ditto.
71492        * loader/WorkerThreadableLoader.cpp: Ditto.
71493        (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):Ditto.
71494        (WebCore::WorkerThreadableLoader::loadResourceSynchronously): Ditto.
71495        (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): Ditto.
71496        (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): Ditto.
71497        * loader/WorkerThreadableLoader.h: Ditto.
71498        (WebCore::WorkerThreadableLoader::create): Ditto.
71499        * platform/CrossThreadCopier.h: Allow ThreadableLoaderOptions to be copied across threads.
71500        (WebCore::):
71501        * workers/WorkerScriptLoader.cpp: More enum->struct grouping.
71502        (WebCore::WorkerScriptLoader::loadSynchronously): More enum->struct grouping.
71503        (WebCore::WorkerScriptLoader::loadAsynchronously): More enum->struct grouping.
71504        * xml/XMLHttpRequest.cpp: Remove all the access control code and some supporting state.
71505        (WebCore::XMLHttpRequest::XMLHttpRequest): Ditto.
71506        (WebCore::XMLHttpRequest::createRequest): Ditto.
71507        (WebCore::XMLHttpRequest::didFinishLoading): Ditto.
71508        (WebCore::XMLHttpRequest::didReceiveResponse): Ditto.
71509        (WebCore::XMLHttpRequest::didReceiveData): Ditto.
71510        * xml/XMLHttpRequest.h: Ditto.
71511
715122009-08-14  Darin Adler  <darin@apple.com>
71513
71514        Reviewed by Sam Weinig.
71515
71516        Rename the confusing isObject(<class>) to inherits(<class>).
71517        It still works on non-objects, returning false.
71518
71519        * bindings/js/JSEventTarget.cpp:
71520        (WebCore::toEventTarget):
71521        * bindings/js/JSGeolocationCustom.cpp:
71522        (WebCore::createPositionCallback):
71523        (WebCore::createPositionErrorCallback):
71524        * bindings/js/JSNodeFilterCustom.cpp:
71525        (WebCore::toNodeFilter):
71526        * bindings/js/JSXMLHttpRequestCustom.cpp:
71527        (WebCore::JSXMLHttpRequest::send):
71528        * bindings/js/JSXSLTProcessorCustom.cpp:
71529        (WebCore::JSXSLTProcessor::importStylesheet):
71530        (WebCore::JSXSLTProcessor::transformToFragment):
71531        (WebCore::JSXSLTProcessor::transformToDocument):
71532        * bindings/scripts/CodeGeneratorJS.pm:
71533        * bridge/objc/objc_runtime.mm:
71534        (JSC::Bindings::callObjCFallbackObject):
71535        * bridge/runtime_method.cpp:
71536        (JSC::callRuntimeMethod):
71537        Updated to new name, inherits, from old name, isObject.
71538
715392009-08-14  Yael Aharon  <yael.aharon@nokia.com>
71540
71541        Reviewed by Simon Hausmann.
71542
71543        Allow Qt API to list and to remove URL schemes that were registered as
71544        local URL schemes.
71545        [Qt] Allow applications to register their own local URL scheme.
71546        https://bugs.webkit.org/show_bug.cgi?id=28240
71547
71548        * page/SecurityOrigin.cpp:
71549        (WebCore::SecurityOrigin::removeURLSchemeRegisteredAsLocal):
71550        (WebCore::SecurityOrigin::localURLSchemes):
71551        * page/SecurityOrigin.h:
71552
715532009-08-14  Pavel Feldman  <pfeldman@chromium.org>
71554
71555        Reviewed by Timothy Hatcher.
71556
71557        WebInspector: Wrap console objects late (in the frontend) so that injected
71558        script was already in place.
71559
71560        https://bugs.webkit.org/show_bug.cgi?id=28297
71561
71562        * inspector/ConsoleMessage.cpp:
71563        (WebCore::ConsoleMessage::ConsoleMessage):
71564        * inspector/ConsoleMessage.h:
71565        * inspector/InspectorController.cpp:
71566        (WebCore::InspectorController::addMessageToConsole):
71567        (WebCore::InspectorController::startGroup):
71568        (WebCore::InspectorController::setFrontendProxyObject):
71569        * inspector/InspectorController.h:
71570        * inspector/InspectorFrontend.cpp:
71571        (WebCore::InspectorFrontend::InspectorFrontend):
71572        (WebCore::InspectorFrontend::addMessageToConsole):
71573        * inspector/InspectorFrontend.h:
71574
715752009-08-13  Simon Fraser  <simon.fraser@apple.com>
71576
71577        Reviewed by Dan Bernstein.
71578
71579        Fix logic in RenderObject::updateFillImages() that led to incorrect client
71580        counts if an image was used twice in the background-image property.
71581        https://bugs.webkit.org/show_bug.cgi?id=28295
71582
71583        Test: fast/backgrounds/multiple-backgrounds-assert.html
71584
71585        * rendering/RenderObject.cpp:
71586        (WebCore::RenderObject::updateFillImages):
71587        Simplify the logic to call addClient()/removeClient() for every background
71588        image, but go through the new layers first to avoid removing all the
71589        clients of an image.
71590
715912009-08-13  Oliver Hunt  <oliver@apple.com>
71592
71593        Reviewed by Maciej Stachowiak.
71594
71595        Devirtualise marking
71596        https://bugs.webkit.org/show_bug.cgi?id=28294
71597
71598        Make sure we override the JSObject createStructure method on those
71599        objects that have custom marking routines.
71600
71601        * bindings/scripts/CodeGeneratorJS.pm:
71602
716032009-08-13  Darin Adler  <darin@apple.com>
71604
71605        Reviewed by Mark Rowe.
71606
71607        Follow-up to earlier work to remove dependencies on JavaScriptCore.
71608
71609        * ForwardingHeaders/parser/Parser.h: Removed.
71610        * inspector/JavaScriptDebugServer.cpp: Removed now-unneeded includes
71611        of Parser.h.
71612
716132009-08-13  Dan Bernstein  <mitz@apple.com>
71614
71615        Reviewed by Eric Seidel.
71616
71617        'box-orient: block-axis' behaves like 'box-orient: horizontal', causes
71618        an assertion failure in debug builds
71619        https://bugs.webkit.org/show_bug.cgi?id=28279
71620
71621        Test: fast/flexbox/block-axis.html
71622
71623        * css/CSSPrimitiveValueMappings.h:
71624        (WebCore::CSSPrimitiveValue::operator EBoxOrient): Map block-axis to
71625        vertical.
71626
716272009-08-13  Simon Fraser  <simon.fraser@apple.com>
71628
71629        Reviewed by Dan Bernstein.
71630
71631        Fix crash when removing reflection on an absolutely-positioned image.
71632        https://bugs.webkit.org/show_bug.cgi?id=28289
71633        
71634        Make sure we clean up the reflection layer when removing the reflection,
71635        so that the RenderLayer tree does not contain pointers to deleted layers.
71636
71637        Test: fast/reflections/reflected-img-crash.html
71638
71639        * rendering/RenderLayer.cpp:
71640        (WebCore::RenderLayer::~RenderLayer):
71641        (WebCore::RenderLayer::styleChanged):
71642        (WebCore::RenderLayer::removeReflection):
71643        * rendering/RenderLayer.h:
71644
716452009-08-13  Dan Bernstein  <mitz@apple.com>
71646
71647        Reviewed by Simon Fraser.
71648
71649        misalignment because of float:left of <div> tag
71650        https://bugs.webkit.org/show_bug.cgi?id=15869
71651
71652        One section of http://edgar.sec.gov site draws to the right of the rest
71653        of the content
71654        <rdar://problem/7135951>
71655
71656        Tests: fast/block/float/avoidance-percent-width-compat.html
71657               fast/block/float/avoidance-percent-width-strict.html
71658
71659        * rendering/RenderBlock.cpp:
71660        (WebCore::RenderBlock::getClearDelta): Changed to apply the same float
71661            avoidance logic in strict mode and in compatibility mode, which
71662            matches Firefox and IE. Changed to compute and use the computed
71663            width of the child, instead of ignoring non-fixed widths.
71664
716652009-08-13  Steve Block  <steveblock@google.com>
71666
71667        Reviewed by Darin Adler.
71668
71669        Geolocation PositionOptions does not use correct default values.
71670        https://bugs.webkit.org/show_bug.cgi?id=27254
71671
71672        Sets the correct default values for the properties of the PositionOptions object
71673        passed to Geolocation methods. See http://www.w3.org/TR/geolocation-API/.
71674
71675        Also adds checking to throw an exception if arguments of the incorrect type are
71676        passed to Geolocation methods. Adds a layout test to test this. This test should
71677        pass on all platforms where Geolocation is implemented.
71678
71679        Test: fast/dom/Geolocation/argument-types.html
71680
71681        * bindings/js/JSGeolocationCustom.cpp:
71682        (WebCore::createPositionCallback): Added. Creates the callback.
71683        (WebCore::createPositionErrorCallback): Added. Creates the calback.
71684        (WebCore::createPositionOptions): Added. Creates the PositionOptions object, setting defaults where required.
71685        (WebCore::JSGeolocation::getCurrentPosition): Modified. Now uses above helper functions.
71686        (WebCore::JSGeolocation::watchPosition): Modified. Now uses above helper functions.
71687        * page/Geolocation.cpp:
71688        (WebCore::Geolocation::GeoNotifier::GeoNotifier): Modified. Asserts that PositionOptions object is present.
71689        (WebCore::Geolocation::GeoNotifier::startTimer): Modified. Only starts timer if timeout has been set.
71690        * page/PositionOptions.h:
71691        (WebCore::PositionOptions::create): Modified. Creates object with default values.
71692        (WebCore::PositionOptions::timeout): Modified. Uses correct type.
71693        (WebCore::PositionOptions::hasTimeout): Added. Determines whether a timeout has been set.
71694        (WebCore::PositionOptions::setTimeout): Modified. Uses correct type.
71695        (WebCore::PositionOptions::maximumAge): Modified. Uses correct type.
71696        (WebCore::PositionOptions::setMaximumAge): Modified. Uses correct type.
71697        (WebCore::PositionOptions::PositionOptions): Modified. Creates object with default values.
71698
716992009-08-13  David Levin  <levin@chromium.org>
71700
71701        Unreviewed chromium build fix.
71702
71703        [Chromium] Let CodeGeneratorV8.pm know that RGBColor is ref-counted.
71704
71705        * bindings/scripts/CodeGeneratorV8.pm:
71706
717072009-08-13  Drew Wilson  <atwilson@google.com>
71708
71709        Reviewed by David Levin.
71710
71711        Merge error in SharedWorker code
71712        https://bugs.webkit.org/show_bug.cgi?id=28277
71713
71714        Fixed merge error that prevents WebKit from compiling with SHARED_WORKERS enabled.
71715        No new tests needed.
71716
71717        * workers/DefaultSharedWorkerRepository.cpp:
71718        Removed duplicated functions.
71719
717202009-08-13  Kyle Prete  <kylep@chromium.org>
71721
71722        Reviewed by Dave Levin.
71723
71724        Chromium: Show a "Playback Disabled" button on media error.
71725        https://bugs.webkit.org/show_bug.cgi?id=28196
71726        Use a disabled play button when the media file cannot be played.
71727
71728        No new tests needed. Covered by LayoutTests/media/video-empty-source.html
71729
71730        * rendering/RenderThemeChromiumSkia.cpp:
71731        (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
71732
717332009-08-13  Mark Rowe  <mrowe@apple.com>
71734
71735        Try and fix the Qt build.
71736
71737        * bridge/qt/qt_runtime.cpp:
71738
717392009-08-13  Zan Dobersek  <zandobersek@gmail.com>
71740
71741        Reviewed by Gustavo Noronha.
71742
71743        [GTK] Drag and drop support
71744        https://bugs.webkit.org/show_bug.cgi?id=23642
71745
71746        Utilizes functions that are being called upon drag and drop actions.
71747        Uses different GTK clipboards that hold different types
71748        of drag data - images, HTML markup, text, URL, URL label.
71749        Also clears each clipboard before setting new data to it.
71750
71751        No new tests - despite some implementations, no new functionality
71752        is added until implementations of the GTK drag and drop protocol
71753        in WebKit part.
71754
71755        * platform/gtk/ClipboardGtk.cpp:
71756        (WebCore::ClipboardGtk::ClipboardGtk):
71757        (WebCore::ClipboardGtk::~ClipboardGtk):
71758        (WebCore::getCachedImage):
71759        (WebCore::ClipboardGtk::declareAndWriteDragImage):
71760        (WebCore::ClipboardGtk::writeURL):
71761        (WebCore::ClipboardGtk::writeRange):
71762        * platform/gtk/ClipboardGtk.h: ClipboardGdk -> ClipboardGtk
71763
717642009-08-13  Darin Adler  <darin@apple.com>
71765
71766        Reviewed by David Levin.
71767
71768        JavaScriptCore tweaks to get ready for the parser arena
71769        https://bugs.webkit.org/show_bug.cgi?id=28243
71770
71771        * ForwardingHeaders/runtime/CollectorHeapIterator.h: Removed.
71772
71773        * WebCore.xcodeproj/project.pbxproj: Exposed a couple header
71774        files as Private that are now needed to compile Mac WebKit.
71775
71776        * bindings/js/JSAudioConstructor.cpp:
71777        * bindings/js/JSDOMBinding.cpp:
71778        * bindings/js/JSDOMBinding.h:
71779        * bindings/js/JSDOMWindowCustom.cpp:
71780        * bindings/js/JSHTMLInputElementCustom.cpp:
71781        * bindings/js/JSHistoryCustom.cpp:
71782        * bindings/js/JSImageConstructor.cpp:
71783        * bindings/js/JSLazyEventListener.cpp:
71784        * bindings/js/JSLocationCustom.cpp:
71785        * bindings/js/JSMessageChannelConstructor.cpp:
71786        * bindings/js/JSOptionConstructor.cpp:
71787        * bindings/js/JSWebSocketConstructor.cpp:
71788        * bindings/js/JSWebSocketCustom.cpp:
71789        * bindings/js/JSWorkerConstructor.cpp:
71790        * bindings/js/JSXMLHttpRequestConstructor.cpp:
71791        * bridge/jni/jni_jsobject.mm:
71792        Updated includes.
71793
71794        * inspector/JavaScriptDebugServer.cpp:
71795        (WebCore::JavaScriptDebugServer::sourceParsed):
71796        Change to not assert if this is called with no listeners.
71797        I don't think this was guaranteed before, and we now use
71798        this code path when recompiling. Slightly less efficient,
71799        but this is a one-time cost when turning on the debugger.
71800        (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
71801        Change to call Debugger::recompileAllJSFunctions.
71802
718032009-08-13  Brady Eidson  <beidson@apple.com>
71804
71805        Reviewed by Eric Seidel.
71806
71807        <rdar://problem/7138591> and https://bugs.webkit.org/show_bug.cgi?id=28260
71808        onhashchange property cannot be set from javascript.
71809
71810        Test: fast/loader/onhashchange-attribute-listeners.html
71811
71812        * html/HTMLBodyElement.cpp:
71813        (WebCore::HTMLBodyElement::onhashchange):
71814        (WebCore::HTMLBodyElement::setOnhashchange):
71815        * html/HTMLBodyElement.h:
71816        * html/HTMLBodyElement.idl:
71817
71818        * html/HTMLFrameSetElement.cpp:
71819        (WebCore::HTMLFrameSetElement::onhashchange):
71820        (WebCore::HTMLFrameSetElement::setOnhashchange):
71821        * html/HTMLFrameSetElement.h:
71822        * html/HTMLFrameSetElement.idl:
71823
71824        * page/DOMWindow.cpp:
71825        (WebCore::DOMWindow::onhashchange):
71826        (WebCore::DOMWindow::setOnhashchange):
71827        * page/DOMWindow.h:
71828        * page/DOMWindow.idl:
71829
718302009-08-13  Mark Rowe  <mrowe@apple.com>
71831
71832        Reviewed by Geoff Garen.
71833
71834        Fix leaks of RGBColor instances from below SVGColor::rgbColor.
71835
71836        * svg/SVGColor.cpp:
71837        (WebCore::SVGColor::rgbColor): Return a PassRefPtr to ensure that the newly-allocated
71838        RGBColor is cleaned up by the caller.
71839        * svg/SVGColor.h:
71840
718412009-08-13  Pavel Feldman  <pfeldman@chromium.org>
71842
71843        Reviewed by Timothy Hatcher.
71844
71845        WebInspector: Migrate to DOMAgent (serialized access to DOM).
71846
71847        https://bugs.webkit.org/show_bug.cgi?id=28177
71848
71849        * bindings/js/JSInspectorBackendCustom.cpp:
71850        (WebCore::JSInspectorBackend::highlightDOMNode):
71851        (WebCore::JSInspectorBackend::nodeForId):
71852        (WebCore::JSInspectorBackend::idForNode):
71853        (WebCore::JSInspectorBackend::wrapObject):
71854        (WebCore::JSInspectorBackend::unwrapObject):
71855        (WebCore::JSInspectorBackend::pushNodePathToFrontend):
71856        (WebCore::JSInspectorBackend::selectDatabase):
71857        (WebCore::JSInspectorBackend::selectDOMStorage):
71858        * bindings/js/ScriptObjectQuarantine.cpp:
71859        (WebCore::getQuarantinedScriptObject):
71860        * bindings/js/ScriptObjectQuarantine.h:
71861        * bindings/js/ScriptValue.cpp:
71862        (WebCore::ScriptValue::isObject):
71863        * bindings/js/ScriptValue.h:
71864        * bindings/v8/ScriptObjectQuarantine.cpp:
71865        (WebCore::getQuarantinedScriptObject):
71866        * bindings/v8/ScriptObjectQuarantine.h:
71867        * bindings/v8/ScriptValue.h:
71868        (WebCore::ScriptValue::isObject):
71869        * bindings/v8/custom/V8CustomBinding.h:
71870        * bindings/v8/custom/V8InspectorBackendCustom.cpp:
71871        (WebCore::CALLBACK_FUNC_DECL):
71872        * inspector/ConsoleMessage.cpp:
71873        (WebCore::ConsoleMessage::ConsoleMessage):
71874        * inspector/ConsoleMessage.h:
71875        * inspector/InspectorBackend.cpp:
71876        (WebCore::InspectorBackend::clearMessages):
71877        (WebCore::InspectorBackend::loaded):
71878        (WebCore::InspectorBackend::highlight):
71879        (WebCore::InspectorBackend::nodeForId):
71880        (WebCore::InspectorBackend::idForNode):
71881        (WebCore::InspectorBackend::wrapObject):
71882        (WebCore::InspectorBackend::unwrapObject):
71883        (WebCore::InspectorBackend::pushNodePathToFrontend):
71884        (WebCore::InspectorBackend::addNodesToSearchResult):
71885        (WebCore::InspectorBackend::selectDatabase):
71886        (WebCore::InspectorBackend::selectDOMStorage):
71887        * inspector/InspectorBackend.h:
71888        * inspector/InspectorBackend.idl:
71889        * inspector/InspectorController.cpp:
71890        (WebCore::InspectorController::InspectorController):
71891        (WebCore::InspectorController::focusNode):
71892        (WebCore::InspectorController::addMessageToConsole):
71893        (WebCore::InspectorController::clearConsoleMessages):
71894        (WebCore::InspectorController::startGroup):
71895        (WebCore::InspectorController::scriptObjectReady):
71896        (WebCore::InspectorController::setFrontendProxyObject):
71897        (WebCore::InspectorController::close):
71898        (WebCore::InspectorController::didCommitLoad):
71899        (WebCore::InspectorController::wrapObject):
71900        (WebCore::InspectorController::unwrapObject):
71901        * inspector/InspectorController.h:
71902        * inspector/InspectorDOMAgent.cpp:
71903        (WebCore::InspectorDOMAgent::setDocument):
71904        (WebCore::InspectorDOMAgent::handleEvent):
71905        (WebCore::InspectorDOMAgent::pushDocumentToFrontend):
71906        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
71907        (WebCore::InspectorDOMAgent::nodeForId):
71908        (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
71909        (WebCore::InspectorDOMAgent::buildObjectForNode):
71910        (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
71911        (WebCore::InspectorDOMAgent::innerParentElement):
71912        * inspector/InspectorDOMAgent.h:
71913        * inspector/InspectorDOMStorageResource.cpp:
71914        (WebCore::InspectorDOMStorageResource::bind):
71915        * inspector/InspectorFrontend.cpp:
71916        (WebCore::InspectorFrontend::clearConsoleMessages):
71917        (WebCore::InspectorFrontend::updateFocusedNode):
71918        (WebCore::InspectorFrontend::setDocument):
71919        (WebCore::InspectorFrontend::selectDatabase):
71920        (WebCore::InspectorFrontend::selectDOMStorage):
71921        (WebCore::InspectorFrontend::addNodesToSearchResult):
71922        * inspector/InspectorFrontend.h:
71923        * inspector/front-end/ConsoleView.js:
71924        (WebInspector.ConsoleView.prototype.clearMessages):
71925        (WebInspector.ConsoleView.prototype.completions):
71926        (WebInspector.ConsoleView.prototype._reportCompletions):
71927        (WebInspector.ConsoleView.prototype._messagesClicked):
71928        (WebInspector.ConsoleView.prototype.doEvalInWindow.evalCallback):
71929        (WebInspector.ConsoleView.prototype.doEvalInWindow):
71930        (WebInspector.ConsoleView.prototype._format):
71931        (WebInspector.ConsoleView.prototype._formatfunction):
71932        (WebInspector.ConsoleView.prototype._formatdate):
71933        (WebInspector.ConsoleView.prototype._formatregexp):
71934        (WebInspector.ConsoleView.prototype._formatnode):
71935        (WebInspector.ConsoleView.prototype._formatobject):
71936        * inspector/front-end/DOMAgent.js:
71937        (WebInspector.DOMNode):
71938        (WebInspector.DOMNode.prototype._renumber):
71939        (WebInspector.DOMDocument):
71940        (WebInspector.DOMAgent):
71941        (WebInspector.DOMAgent.prototype.getChildNodesAsync):
71942        (WebInspector.DOMAgent.prototype.setAttributeAsync):
71943        (WebInspector.DOMAgent.prototype.removeAttributeAsync):
71944        (WebInspector.DOMAgent.prototype.setTextNodeValueAsync):
71945        (WebInspector.DOMAgent.prototype.nodeForId):
71946        (WebInspector.DOMAgent.prototype._setDocument):
71947        (WebInspector.DOMAgent.prototype._setChildNodes):
71948        (WebInspector.DOMAgent.prototype._bindNodes):
71949        (WebInspector.DOMAgent.prototype._childNodeInserted):
71950        (WebInspector.CSSStyleDeclaration):
71951        (WebInspector.CSSStyleDeclaration.parseRule):
71952        (WebInspector.setDocument):
71953        (InspectorController.getStyles):
71954        (InspectorController.getComputedStyle):
71955        (InspectorController.getInlineStyle):
71956        (InspectorController.applyStyleText):
71957        (InspectorController.setStyleText):
71958        (InspectorController.toggleStyleEnabled):
71959        (InspectorController.applyStyleRuleText):
71960        (InspectorController.addStyleSelector):
71961        (InspectorController.setStyleProperty):
71962        (InspectorController.getPrototypes):
71963        (InspectorController.getProperties):
71964        (InspectorController.setPropertyValue):
71965        (InspectorController.evaluate):
71966        (InspectorController.addInspectedNode):
71967        (InspectorController.performSearch):
71968        (InspectorController.searchCanceled):
71969        * inspector/front-end/ElementsPanel.js:
71970        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
71971        (WebInspector.ElementsPanel.prototype.searchCanceled):
71972        (WebInspector.ElementsPanel.prototype.performSearch):
71973        (WebInspector.ElementsPanel.prototype._updateMatchesCount):
71974        (WebInspector.ElementsPanel.prototype._updateMatchesCountSoon):
71975        (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
71976        * inspector/front-end/ElementsTreeOutline.js:
71977        (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode.restoreHighlightToHoveredNode):
71978        (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode):
71979        (WebInspector.ElementsTreeElement.prototype.updateChildren):
71980        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
71981        * inspector/front-end/InjectedScript.js:
71982        (InjectedScript.applyStyleRuleText):
71983        (InjectedScript.addStyleSelector):
71984        (InjectedScript._doesSelectorAffectNode):
71985        (InjectedScript._serializeRule):
71986        (InjectedScript._serializeStyle):
71987        (InjectedScript.getProperties):
71988        (InjectedScript.evaluate):
71989        (InjectedScript.addInspectedNode):
71990        (InjectedScript.performSearch.addNodesToResults):
71991        (InjectedScript.performSearch.matchExactItems):
71992        (InjectedScript.performSearch.matchExactId.addNodesToResults.call):
71993        (InjectedScript.performSearch.matchExactId):
71994        (InjectedScript.performSearch):
71995        (InjectedScript.performSearch.matchExactTagNames):
71996        (InjectedScript.performSearch.matchExactAttributeNames):
71997        (InjectedScript.performSearch.matchPartialTagNames):
71998        (InjectedScript.performSearch.matchStartOfTagNames):
71999        (InjectedScript.performSearch.matchPartialTagNamesAndAttributeValues):
72000        (InjectedScript.performSearch.matchPartialAttributeValues):
72001        (InjectedScript.performSearch.matchStyleSelector):
72002        (InjectedScript.performSearch.matchPlainText):
72003        (InjectedScript.performSearch.matchXPathQuery):
72004        (InjectedScript.performSearch.finishedSearching):
72005        (InjectedScript.performSearch.processChunk):
72006        (InjectedScript.searchCanceled):
72007        (InjectedScript._ensureCommandLineAPIInstalled.inspectObject):
72008        (InjectedScript._ensureCommandLineAPIInstalled):
72009        (InjectedScript._resolveObject):
72010        (InjectedScript._nodeForId):
72011        (InjectedScript._objectForId):
72012        (InjectedScript._createProxyObject):
72013        * inspector/front-end/ObjectPropertiesSection.js:
72014        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
72015        (WebInspector.ObjectPropertyTreeElement.prototype.update):
72016        * inspector/front-end/ObjectProxy.js:
72017        (WebInspector.ObjectProxy):
72018        (WebInspector.ObjectPropertyProxy):
72019        * inspector/front-end/PropertiesSidebarPane.js:
72020        (WebInspector.PropertiesSidebarPane.prototype.update.callback):
72021        (WebInspector.PropertiesSidebarPane.prototype.update):
72022        * inspector/front-end/StylesSidebarPane.js:
72023        (WebInspector.StylesSidebarPane.prototype.update.callback):
72024        (WebInspector.StylesSidebarPane.prototype.update):
72025        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
72026        (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled):
72027        (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted.callback):
72028        (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted):
72029        (WebInspector.StylePropertyTreeElement.prototype):
72030        * inspector/front-end/inspector.js:
72031        (WebInspector._updateHoverHighlight):
72032        (WebInspector.loaded):
72033        (WebInspector.clearConsoleMessages):
72034        (WebInspector.selectDatabase):
72035        (WebInspector.selectDOMStorage):
72036        (WebInspector.updateFocusedNode):
72037        (WebInspector.addNodesToSearchResult):
72038        * inspector/front-end/utilities.js:
72039        (Object.proxyType):
72040        * storage/Storage.h:
72041        (WebCore::Storage::frame):
72042
720432009-08-13  Mark Rowe  <mrowe@apple.com>
72044
72045        Reviewed by Geoff Garen.
72046
72047        Fix leaks of RGBColor instances from below CSSPrimitiveValue::getRGBColorValue.
72048
72049        * css/CSSPrimitiveValue.cpp:
72050        (WebCore::CSSPrimitiveValue::getRGBColorValue): Return a PassRefPtr to ensure that the
72051        newly-allocated RGBColor is cleaned up by the caller.
72052        * css/CSSPrimitiveValue.h:
72053
720542009-08-13  Eric Seidel  <eric@webkit.org>
72055
72056        Reviewed by David Hyatt.
72057
72058        wrong font size when css font-family includes monospace
72059        https://bugs.webkit.org/show_bug.cgi?id=19161
72060
72061        Firefox only uses fixed-width default size for exactly "font-family: monospace;".
72062        WebKit has historically used fixed-width default size any time a
72063        font-family includes monospace in the fallback list.
72064
72065        This patch corrects WebKit's behavior to match Firefox.
72066        I also had to fix a bug in WebKit's font-family fallback behavior where
72067        child elements would inherit parts of their parents fallback lists.
72068
72069        This patch is mostly just replacing all cases where we used to check for:
72070        fontDescription.genericFontFamily() == MonospaceFamily
72071        with:
72072        fontDescription.useFixedDefaultSize()
72073
72074        Tests: fast/css/getComputedStyle/computed-style-font-family-monospace.html
72075               fast/css/getComputedStyle/font-family-fallback-reset.html
72076
72077        * css/CSSStyleSelector.cpp:
72078        (WebCore::CSSStyleSelector::applyProperty):
72079           Deploy useFixedDefaultSize().  Also fix the bug where child
72080           FontDescriptions would carry part of the parent font-family fallback list.
72081        (WebCore::CSSStyleSelector::checkForGenericFamilyChange):
72082           It's no longer alright to just check genericFontFamily(),
72083           we have to check to make sure the changed style has a matching useFixedDefaultSize().
72084        * platform/graphics/FontDescription.h:
72085        (WebCore::FontDescription::useFixedDefaultSize):
72086           Only use the fixed default size if we have one font family and it is "monospace".
72087           "-webkit-monospace" is the internal representation of the CSS identifier "monospace".
72088
720892009-08-13  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
72090
72091        Reviewed by Dimitri Glazkov.
72092
72093        [v8] Fix atomic string externalization crash.
72094        Atomic string externalization assumes that all non-empty strings
72095        can be externalized which is untrue on 64-bit.  This change fixed
72096        that.
72097
72098        https://bugs.webkit.org/show_bug.cgi?id=28215
72099
72100        This bug causes loads of test crashes, no need to add new tests
72101        specifically for this.
72102
72103        * bindings/v8/V8Binding.cpp:
72104        (WebCore::v8StringToAtomicWebCoreString):
72105
721062009-08-13  George Staikos  <george.staikos@torchmobile.com>
72107
72108        Rubberstamped by Darin Adler.
72109
72110        Use ASSERT_UNUSED instead of UNUSED_PARAM
72111
72112        * wml/WMLAnchorElement.cpp:
72113        (WebCore::WMLAnchorElement::deregisterTask):
72114        * wml/WMLDoElement.cpp:
72115        (WebCore::WMLDoElement::deregisterTask):
72116
721172009-08-13  Steve Block  <steveblock@google.com>
72118
72119        Reviewed by Darin Adler.
72120
72121        Fixes a couple of bugs in SecurityOrigin::createFromDatabaseIdentifier.
72122        https://bugs.webkit.org/show_bug.cgi?id=28262
72123
72124        No new tests possible.
72125
72126        * page/SecurityOrigin.cpp:
72127        (WebCore::SecurityOrigin::createFromDatabaseIdentifier):
72128
721292009-08-13  Dirk Schulze  <krit@webkit.org>
72130
72131        Reviewed by Eric Seidel.
72132
72133        [CAIRO] getImageData fails on a given rect bigger than the image rect
72134
72135        The destination image and the source image was mixed up on creating the
72136        imageData.
72137
72138        This is just a clean up and doesn't affect the current behavior. It's not
72139        possible to test this failure in a LayoutTest. Only canvas uses getImageData
72140        at the moment and returns before calling getImageData, if the image rect does
72141        not contain the requested rect.
72142
72143        * platform/graphics/cairo/ImageBufferCairo.cpp:
72144        (WebCore::getImageData):
72145
721462009-08-13  Maxime Simon  <simon.maxime@gmail.com>
72147
72148        Reviewed by Eric Seidel.
72149
72150        [Haiku] Adding RenderTheme to WebCore.
72151        https://bugs.webkit.org/show_bug.cgi?id=28258
72152
72153        * platform/haiku/RenderThemeHaiku.cpp: Added.
72154        (WebCore::RenderThemeHaiku::create):
72155        (WebCore::RenderTheme::themeForPage):
72156        (WebCore::RenderThemeHaiku::RenderThemeHaiku):
72157        (WebCore::RenderThemeHaiku::~RenderThemeHaiku):
72158        (WebCore::supportsFocus):
72159        (WebCore::RenderThemeHaiku::supportsFocusRing):
72160        (WebCore::RenderThemeHaiku::platformActiveSelectionBackgroundColor):
72161        (WebCore::RenderThemeHaiku::platformInactiveSelectionBackgroundColor):
72162        (WebCore::RenderThemeHaiku::platformActiveSelectionForegroundColor):
72163        (WebCore::RenderThemeHaiku::platformInactiveSelectionForegroundColor):
72164        (WebCore::RenderThemeHaiku::platformTextSearchHighlightColor):
72165        (WebCore::RenderThemeHaiku::systemFont):
72166        (WebCore::RenderThemeHaiku::paintCheckbox):
72167        (WebCore::RenderThemeHaiku::setCheckboxSize):
72168        (WebCore::RenderThemeHaiku::paintRadio):
72169        (WebCore::RenderThemeHaiku::setRadioSize):
72170        (WebCore::RenderThemeHaiku::adjustMenuListStyle):
72171        (WebCore::RenderThemeHaiku::paintMenuList):
72172        * platform/haiku/RenderThemeHaiku.h: Added.
72173        (WebCore::RenderThemeHaiku::supportsHover):
72174
721752009-08-13  Maxime Simon  <simon.maxime@gmail.com>
72176
72177        Reviewed by Eric Seidel.
72178
72179        [Haiku] Remove the "m_point" code from ContextMenuHaiku.cpp
72180        https://bugs.webkit.org/show_bug.cgi?id=28256
72181
72182        * platform/haiku/ContextMenuHaiku.cpp:
72183        (WebCore::ContextMenuReceiver::ContextMenuReceiver):
72184        (WebCore::ContextMenu::ContextMenu):
72185        (WebCore::ContextMenu::appendItem):
72186        (WebCore::ContextMenu::insertItem):
72187
721882009-08-13  Joseph Pecoraro  <joepeck02@gmail.com>
72189
72190        Reviewed by Darin Adler.
72191
72192        Inspector: Show Hidden Cookie Data
72193        https://bugs.webkit.org/show_bug.cgi?id=28185
72194
72195          Added new file Cookie.h to the WebCore XCode
72196
72197        * WebCore.xcodeproj/project.pbxproj:
72198
72199          InspectorController.cookies() binding
72200
72201        * bindings/js/JSInspectorBackendCustom.cpp:
72202        (WebCore::JSInspectorBackend::cookies):
72203        * inspector/InspectorBackend.idl:
72204
72205          Struct for static Cookie information
72206          (name, value, path, domain, expires, httpOnly, secure, session)
72207
72208        * platform/Cookie.h: Added.
72209        (WebCore::Cookie::Cookie):
72210        
72211          Getter for the a list of raw Cookies
72212          getRawCookies(., ., out Vector<Cookie>)
72213        
72214        * platform/CookieJar.h:
72215
72216          Implementation of getRawCookies for the mac platform.
72217
72218        * platform/mac/CookieJar.mm:
72219        (WebCore::getRawCookies):
72220
72221          Stub other CookieJar implementations to satisfy the interface.
72222
72223        * platform/haiku/CookieJarHaiku.cpp:
72224        (WebCore::getRawCookies):
72225        * platform/network/chromium/CookieJarChromium.cpp:
72226        (WebCore::getRawCookies):
72227        * platform/network/curl/CookieJarCurl.cpp:
72228        (WebCore::getRawCookies):
72229        * platform/network/soup/CookieJarSoup.cpp:
72230        (WebCore::getRawCookies):
72231        * platform/network/win/CookieJarCFNetWin.cpp:
72232        (WebCore::getRawCookies):
72233        * platform/network/win/CookieJarWin.cpp:
72234        (WebCore::getRawCookies):
72235        * platform/qt/CookieJarQt.cpp:
72236        (WebCore::getRawCookies):
72237
722382009-08-13  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
72239
72240        Reviewed by Timothy Hatcher.
72241
72242        Add a new gesture in Web Inspector to remove breakpoints
72243        https://bugs.webkit.org/show_bug.cgi?id=19131
72244        
72245        * inspector/front-end/SourceFrame.js:
72246        (WebInspector.SourceFrame.prototype._documentMouseDown):
72247
722482009-08-13  Norbert Leser  <norbert.leser@nokia.com>
72249
72250        Reviewed by Simon Hausmann.
72251
72252        Symbian target components (library and executable files)
72253        require Unique Identifiers (i.e., UID3).
72254        These identifiers are defined in the respective project
72255        file, conditionally for "symbian" platform.
72256
72257        * WebCore.pro:
72258
722592009-08-13  Shinichiro Hamaji  <hamaji@chromium.org>
72260
72261        Reviewed by Eric Seidel.
72262
72263        wrong calculation of overflow size for flexbox and table
72264        https://bugs.webkit.org/show_bug.cgi?id=28064
72265
72266        RenderFlexibleBox and RenderTable were using the width of overflow
72267        to update height of overflow, so height became wrong value and
72268        width was not updated. As the corresponding code of RenderBlock
72269        was sane, I factored it out and used from RenderFlexibleBox and
72270        RenderTable.
72271
72272        * rendering/RenderBlock.cpp:
72273        (WebCore::RenderBlock::updateOverflowWithShadowAndReflection): created from code of layoutBlock
72274        (WebCore::RenderBlock::layoutBlock):
72275        * rendering/RenderBlock.h:
72276        * rendering/RenderFlexibleBox.cpp: use updateOverflowWithShadowAndReflection
72277        (WebCore::RenderFlexibleBox::layoutBlock):
72278        * rendering/RenderTable.cpp:
72279        (WebCore::RenderTable::layout): use updateOverflowWithShadowAndReflection
72280
722812009-08-13  Mark Rowe  <mrowe@apple.com>
72282
72283        Revert r47185, the fix for <https://bugs.webkit.org/show_bug.cgi?id=28185>, as it broke the
72284        Windows build in a non-obvious manner.
72285
72286        * WebCore.xcodeproj/project.pbxproj:
72287        * bindings/js/JSInspectorBackendCustom.cpp:
72288        * inspector/InspectorBackend.idl:
72289        * platform/Cookie.h: Removed.
72290        * platform/CookieJar.h:
72291        * platform/haiku/CookieJarHaiku.cpp:
72292        (WebCore::setCookies):
72293        (WebCore::cookies):
72294        * platform/mac/CookieJar.mm:
72295        * platform/network/chromium/CookieJarChromium.cpp:
72296        * platform/network/curl/CookieJarCurl.cpp:
72297        * platform/network/soup/CookieJarSoup.cpp:
72298        * platform/network/win/CookieJarCFNetWin.cpp:
72299        * platform/network/win/CookieJarWin.cpp:
72300        * platform/qt/CookieJarQt.cpp:
72301
723022009-08-13  Ariya Hidayat  <ariya.hidayat@nokia.com>
72303
72304        Not reviewed: build fix (for r47192), adding new file from
72305        https://bugs.webkit.org/show_bug.cgi?id=28174
72306
72307        * inspector/front-end/StatusBarButton.js: Added.
72308
723092009-08-13  Mikhail Naganov  <mnaganov@chromium.org>
72310
72311        Reviewed by Timothy Hatcher.
72312
72313        Introduced StatusBarButton class that encapsulates glyphs support.
72314        Views updated accordingly.
72315
72316        https://bugs.webkit.org/show_bug.cgi?id=28174
72317
72318        * WebCore.gypi:
72319        * WebCore.vcproj/WebCore.vcproj:
72320        * inspector/front-end/CookieItemsView.js:
72321        (WebInspector.CookieItemsView):
72322        (WebInspector.CookieItemsView.prototype.get statusBarItems): Updated to retrieve DOM element from StatusBarButton instance (here and in similar getters below.)
72323        (WebInspector.CookieItemsView.prototype.hide):
72324        (WebInspector.CookieItemsView.prototype.update):
72325        * inspector/front-end/DOMStorageItemsView.js:
72326        (WebInspector.DOMStorageItemsView):
72327        (WebInspector.DOMStorageItemsView.prototype.get statusBarItems):
72328        (WebInspector.DOMStorageItemsView.prototype.hide):
72329        (WebInspector.DOMStorageItemsView.prototype.update):
72330        * inspector/front-end/ElementsPanel.js:
72331        (WebInspector.ElementsPanel):
72332        (WebInspector.ElementsPanel.prototype.get statusBarItems):
72333        (WebInspector.ElementsPanel.prototype.hide):
72334        (WebInspector.ElementsPanel.prototype._nodeSearchButtonClicked):
72335        * inspector/front-end/Panel.js:
72336        * inspector/front-end/ProfileView.js:
72337        (WebInspector.ProfileView):
72338        (WebInspector.ProfileView.prototype.get statusBarItems):
72339        (WebInspector.ProfileView.prototype._updatePercentButton):
72340        (WebInspector.ProfileView.prototype._focusClicked):
72341        (WebInspector.ProfileView.prototype._excludeClicked):
72342        (WebInspector.ProfileView.prototype._resetClicked):
72343        * inspector/front-end/ProfilesPanel.js:
72344        (WebInspector.ProfilesPanel):
72345        (WebInspector.ProfilesPanel.prototype.get statusBarItems):
72346        (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
72347        (WebInspector.ProfilesPanel.prototype._updateInterface):
72348        * inspector/front-end/ResourcesPanel.js:
72349        (WebInspector.ResourcesPanel.prototype.get statusBarItems):
72350        (WebInspector.ResourcesPanel.prototype.reset):
72351        (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
72352        * inspector/front-end/ScriptsPanel.js:
72353        (WebInspector.ScriptsPanel):
72354        (WebInspector.ScriptsPanel.prototype.get statusBarItems):
72355        (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton):
72356        (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
72357        * inspector/front-end/StatusBarButton.js: Added.
72358        (WebInspector.StatusBarButton):
72359        (WebInspector.StatusBarButton.prototype._clicked):
72360        (WebInspector.StatusBarButton.prototype.get disabled):
72361        (WebInspector.StatusBarButton.prototype.set disabled):
72362        (WebInspector.StatusBarButton.prototype.get title):
72363        (WebInspector.StatusBarButton.prototype.set title):
72364        (WebInspector.StatusBarButton.prototype.get toggled):
72365        (WebInspector.StatusBarButton.prototype.set toggled):
72366        (WebInspector.StatusBarButton.prototype.get visible):
72367        (WebInspector.StatusBarButton.prototype.set visible):
72368        * inspector/front-end/WebKit.qrc:
72369        * inspector/front-end/inspector.css: For uniformity, class names are always used to identify status bar buttons. Also, fixed "Reload" button style to use glyphs.
72370        * inspector/front-end/inspector.html:
72371
723722009-08-12  Ariya Hidayat  <ariya.hidayat@nokia.com>
72373
72374        Reviewed by Simon Hausmann.
72375
72376        [Qt] Add shadow support in GraphicsContext::fillRect().
72377
72378        * platform/graphics/qt/GraphicsContextQt.cpp:
72379        (WebCore::GraphicsContext::fillRect): Paint shadow if necessary.
72380        (WebCore::GraphicsContext::setPlatformShadow): Inverse y offset.
72381
723822009-08-13  David Levin  <levin@chromium.org>
72383
72384        Unreviewed build fix for Chromium Linux.
72385
72386        Rollback r47157 as this broke debug tests of Chromium Linux.
72387
72388        * platform/graphics/skia/PlatformContextSkia.cpp:
72389        (PlatformContextSkia::setupPaintCommon):
72390
723912009-08-13  David Levin  <levin@chromium.org>
72392
72393        Unreviewed build fix for chromium.
72394
72395        The chromium build broke due to r47185 which added
72396        a cookies array to inspector/InspectorBackend.idl.
72397
72398        * bindings/v8/custom/V8CustomBinding.h: Added the declaration for the cookies callback.
72399        * bindings/v8/custom/V8InspectorBackendCustom.cpp:
72400        (WebCore::CALLBACK_FUNC_DECL(InspectorBackendCookies)): Stubbed out an implementation
72401         for the cookies callback.
72402
724032009-08-12  Joseph Pecoraro  <joepeck02@gmail.com>
72404
72405        Reviewed by Timothy Hatcher.
72406
72407        Inspector: Show Hidden Cookie Data
72408        https://bugs.webkit.org/show_bug.cgi?id=28185
72409
72410          Added new file Cookie.h to the WebCore XCode
72411
72412        * WebCore.xcodeproj/project.pbxproj:
72413
72414          InspectorController.cookies() binding
72415
72416        * bindings/js/JSInspectorBackendCustom.cpp:
72417        (WebCore::JSInspectorBackend::cookies):
72418        * inspector/InspectorBackend.idl:
72419
72420          Struct for static Cookie information
72421          (name, value, path, domain, expires, httpOnly, secure, session)
72422
72423        * platform/Cookie.h: Added.
72424        (WebCore::Cookie::Cookie):
72425        
72426          Getter for the a list of raw Cookies
72427          getRawCookies(., ., out Vector<Cookie>)
72428        
72429        * platform/CookieJar.h:
72430
72431          Implementation of getRawCookies for the mac platform.
72432
72433        * platform/mac/CookieJar.mm:
72434        (WebCore::getRawCookies):
72435
72436          Stub other CookieJar implementations to satisfy the interface.
72437
72438        * platform/haiku/CookieJarHaiku.cpp:
72439        (WebCore::getRawCookies):
72440        * platform/network/chromium/CookieJarChromium.cpp:
72441        (WebCore::getRawCookies):
72442        * platform/network/curl/CookieJarCurl.cpp:
72443        (WebCore::getRawCookies):
72444        * platform/network/soup/CookieJarSoup.cpp:
72445        (WebCore::getRawCookies):
72446        * platform/network/win/CookieJarCFNetWin.cpp:
72447        (WebCore::getRawCookies):
72448        * platform/network/win/CookieJarWin.cpp:
72449        (WebCore::getRawCookies):
72450        * platform/qt/CookieJarQt.cpp:
72451        (WebCore::getRawCookies):
72452
724532009-08-08  Joseph Pecoraro  <joepeck02@gmail.com>
72454
72455        Reviewed by Timothy Hatcher.
72456
72457        Inspector: Cookies in Storage Panel
72458        https://bugs.webkit.org/show_bug.cgi?id=27202
72459
72460          Data Structure for a Cookie. Just Key/Value for Now:
72461
72462        * inspector/front-end/Cookie.js: Added.
72463        (WebInspector.Cookie):
72464        (WebInspector.Cookie.prototype.get key):
72465        (WebInspector.Cookie.prototype.set key):
72466        (WebInspector.Cookie.prototype.get value):
72467        (WebInspector.Cookie.prototype.set value):
72468
72469          A Storage View for Cookies.  Allows for Refresh/Delete:
72470
72471        * inspector/front-end/CookieItemsView.js: Added.
72472        (WebInspector.CookieItemsView):
72473        (WebInspector.CookieItemsView.prototype.get statusBarItems): refresh and delete buttons
72474        (WebInspector.CookieItemsView.prototype.show):
72475        (WebInspector.CookieItemsView.prototype.hide):
72476        (WebInspector.CookieItemsView.prototype.update):
72477        (WebInspector.CookieItemsView.prototype.buildCookies): parses the inspected window's document.cookie string
72478        (WebInspector.CookieItemsView.prototype.dataGridForCookies): creates a datagrid for cookies
72479        (WebInspector.CookieItemsView.prototype._deleteButtonClicked): attempt at deleting the cookie (not flawless)
72480        (WebInspector.CookieItemsView.prototype._refreshButtonClicked): rebuild the datagrid
72481
72482          Include a SidebarSection Section in the Databases Panel:
72483
72484        * inspector/front-end/DatabasesPanel.js:
72485        (WebInspector.DatabasesPanel):
72486        (WebInspector.DatabasesPanel.prototype.show): calls populateInterface
72487        (WebInspector.DatabasesPanel.prototype.populateInterface): adds cookies if they don't exist
72488        (WebInspector.DatabasesPanel.prototype.reset): remove cookie specific parts
72489        (WebInspector.DatabasesPanel.prototype.addCookies): add cookies sidebar tree element
72490        (WebInspector.DatabasesPanel.prototype.showCookies): sets the visible view to a CookiesItemView
72491        (WebInspector.CookieSidebarTreeElement):
72492        (WebInspector.CookieSidebarTreeElement.prototype.onselect):
72493        (WebInspector.CookieSidebarTreeElement.prototype.get mainTitle): just "Cookies" at the moment
72494        (WebInspector.CookieSidebarTreeElement.prototype.set mainTitle):
72495        (WebInspector.CookieSidebarTreeElement.prototype.get subtitle): no subtitle yet
72496        (WebInspector.CookieSidebarTreeElement.prototype.set subtitle):
72497
72498          New "Cookies" Image for the Sidebar:
72499
72500        * inspector/front-end/Images/cookie.png: Added.
72501        * inspector/front-end/inspector.css:
72502
72503          Include the Added Files where appropriate:
72504
72505        * inspector/front-end/WebKit.qrc:
72506        * inspector/front-end/inspector.html:
72507
725082009-08-12  George Wright  <george.wright@torchmobile.com>
72509
72510        Reviewed by George Staikos.
72511
72512        Add SQLTransactionCoordinator.[h,cpp] to WebCore.pro.
72513
72514        https://bugs.webkit.org/show_bug.cgi?id=28246
72515
72516        * WebCore.pro:
72517
725182009-08-12  George Staikos  <george.staikos@torchmobile.com>
72519
72520        Reviewed by Adam Treat.
72521
72522        Mark unused variables to avoid compile failures in -Werror.
72523
72524        * wml/WMLAnchorElement.cpp:
72525        (WebCore::WMLAnchorElement::deregisterTask):
72526        * wml/WMLDoElement.cpp:
72527        (WebCore::WMLDoElement::deregisterTask):
72528
725292009-08-12  Charles Wei  <charles.wei@torchmobile.com.cn>
72530
72531        Reviewed by Niko Zimmermann.
72532
72533        This is to add WCSS marquee support , which is defined by OMA and is an extension for CSS2, 
72534        It extends CSS display with "display:-wap-marquee;-wap-marquee-dir:xxx;-wap-marquee-speed:xxx;-wap-marquee-style:xxx"
72535        Minor fixes by Eric Seidel and George Staikos.
72536        https://bugs.webkit.org/show_bug.cgi?id=23727
72537
72538        No new tests, the tests have already been landed at LayoutTests/fast/wcss/
72539
72540        * WebCore.pro:
72541        * css/CSSParser.cpp:
72542        (WebCore::CSSParser::parseValue):
72543        * css/CSSPrimitiveValueMappings.h:
72544        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
72545        * css/CSSStyleSelector.cpp:
72546        (WebCore::CSSStyleSelector::applyProperty):
72547        * css/CSSValueKeywords.in:
72548        * css/WCSSPropertyNames.in: Added.
72549        * css/WCSSValueKeywords.in: Added.
72550        * rendering/RenderMarquee.cpp:
72551        (WebCore::RenderMarquee::start):
72552        * rendering/RenderObject.cpp:
72553        (WebCore::RenderObject::createObject):
72554        * rendering/style/RenderStyleConstants.h:
72555        (WebCore::):
72556
725572009-08-12  George Wright  <george.wright@torchmobile.com>
72558
72559        Reviewed by David Hyatt.
72560
72561        Update the canvas renderer's intrinsic size with the zoomed
72562        lengths and ensure the intrinsic size is correct when setting
72563        an initial style.
72564
72565        https://bugs.webkit.org/show_bug.cgi?id=26908
72566
72567        Test: fast/canvas/canvas-zoom.html
72568
72569        * rendering/RenderHTMLCanvas.cpp:
72570        (WebCore::RenderHTMLCanvas::canvasSizeChanged):
72571        * rendering/RenderReplaced.cpp:
72572        (WebCore::RenderReplaced::styleDidChange):
72573
725742009-08-12  Alpha Lam  <hclam@chromium.org>
72575
72576        Reviewed by Simon Fraser.
72577
72578        Fix regression for dragging the media controller thumb.
72579        https://bugs.webkit.org/show_bug.cgi?id=28211
72580
72581        Modified the conditions for rejecting events on the media controller
72582        to only rejecting mouse events not from the left button.
72583
72584        Test: media/controls-drag-timebar.html
72585
72586        * rendering/MediaControlElements.cpp:
72587        (WebCore::MediaControlTimelineElement::defaultEventHandler):
72588
725892009-08-12  Dumitru Daniliuc  <dumi@chromium.org>
72590
72591        Reviewed by Eric Seidel.
72592
72593        Fixing a deadlock caused by two transactions that run on two
72594        different database handles for the same DB. Adding a per-DB thread
72595        transaction coordinator that allows the DB thread to run only one
72596        transaction per DB file at any given time.
72597
72598        Adding a regression test for this bug.
72599
72600        Test: storage/multiple-transactions-on-different-handles.html
72601
72602        https://bugs.webkit.org/show_bug.cgi?id=27966
72603
72604        * GNUmakefile.am:
72605        * WebCore.gypi:
72606        * WebCore.vcproj/WebCore.vcproj:
72607        * WebCore.xcodeproj/project.pbxproj:
72608        * storage/Database.cpp:
72609        (WebCore::Database::transactionCoordinator):
72610        * storage/Database.h:
72611        * storage/DatabaseThread.cpp:
72612        (WebCore::DatabaseThread::DatabaseThread):
72613        * storage/DatabaseThread.h:
72614        (WebCore::DatabaseThread::transactionCoordinator):
72615        * storage/SQLTransaction.cpp:
72616        (WebCore::SQLTransaction::SQLTransaction):
72617        (WebCore::SQLTransaction::debugStepName):
72618        (WebCore::SQLTransaction::performNextStep):
72619        (WebCore::SQLTransaction::aquireLock):
72620        (WebCore::SQLTransaction::lockAquired):
72621        (WebCore::SQLTransaction::cleanupAfterSuccessCallback):
72622        (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
72623        * storage/SQLTransaction.h:
72624        * storage/SQLTransactionCoordinator.cpp: Added.
72625        * storage/SQLTransactionCoordinator.h: Added.
72626
726272009-08-12  Darin Adler  <darin@apple.com>
72628
72629        Reviewed by Geoff Garen.
72630
72631        Custom properties on DOM objects are lost after GC (as demonstrated by the gc-9.html test)
72632        https://bugs.webkit.org/show_bug.cgi?id=28194
72633
72634        * GNUmakefile.am: Added the two new source files.
72635        * WebCore.gypi: Ditto.
72636        * WebCore.pro: Ditto.
72637        * WebCore.vcproj/WebCore.vcproj: Ditto.
72638        * WebCore.xcodeproj/project.pbxproj: Ditto.
72639        * WebCoreSources.bkl: Ditto.
72640
72641        * bindings/js/JSCSSRuleListCustom.cpp: Added.
72642        (WebCore::JSCSSRuleList::markChildren): Call markDOMObjectWrapper
72643        on rules in the list.
72644
72645        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
72646        (WebCore::JSCSSStyleDeclaration::markChildren): Added. Call
72647        markDOMObjectWrapper on the CSSValue objects that are owned by the
72648        declaration as values of the properties.
72649
72650        * bindings/js/JSDOMBinding.cpp:
72651        (WebCore::isObservableThroughDOM): Added code to handle some
72652        cases where nodes are observable because they own objects that
72653        in turn have custom properties.
72654
72655        * bindings/js/JSDOMBinding.h: Fix a typo in the header.
72656
72657        * bindings/js/JSDocumentCustom.cpp:
72658        (WebCore::JSDocument::markChildren): Added call to markDOMObjectWrapper
72659        for implementation and styleSheets.
72660
72661        * bindings/js/JSElementCustom.cpp:
72662        (WebCore::JSElement::markChildren): Added. Calls markDOMObjectWrapper
72663        for attributes and style.
72664
72665        * bindings/js/JSHTMLCanvasElementCustom.cpp: Added.
72666        (WebCore::JSHTMLCanvasElement::markChildren): Call markDOMObjectWrapper
72667        on the rendering context.
72668
72669        * bindings/js/JSStyleSheetCustom.cpp:
72670        (WebCore::JSStyleSheet::markChildren): Call markDOMObjectWrapper on
72671        items in the stylesheet.
72672
72673        * bindings/js/JSStyleSheetListCustom.cpp:
72674        (WebCore::JSStyleSheetList::markChildren): Added. Calls
72675        markDOMObjectWrapper on stylesheets in the list.
72676
72677        * css/CSSRuleList.idl: Added CustomMarkFunction.
72678        * css/CSSStyleDeclaration.idl: Ditto.
72679        * css/StyleSheetList.idl: Ditto.
72680        * dom/Element.idl: Ditto.
72681        * html/HTMLCanvasElement.idl: Ditto.
72682
72683        * dom/Element.h: Made everything private that could be.
72684        Added access to the attributeMap that does returns
72685        the existing map without doing any of the lazy-updating work. This
72686        is needed to get at the existing attributes during garbage collection
72687        without having side effects.
72688
72689        * html/HTMLCanvasElement.h: Cleaned up the header a bit, making
72690        members private. Added renderingContext2D function for use in
72691        JSHTMLCanvasElement::markChildren.
72692
726932009-08-12  Brian Weinstein  <bweinstein@apple.com>
72694
72695        Reviewed by Eric Seidel.
72696
72697        Fixes two bugs about Pan Scrolling - Scrolling with middle mouse button doesn't 
72698        work in Expanded view on reader.google.com, and Can enter auto scroll from a non-scrollable area.
72699        https://bugs.webkit.org/show_bug.cgi?id=28023
72700        https://bugs.webkit.org/show_bug.cgi?id=24794
72701        
72702        Added a new method to RenderBox seeing if the Box can be scrolled and actually has something to
72703        scroll, and use that for pan scrolling.
72704
72705        Test: platform/win/fast/events/panScroll-nested-divs.html
72706
72707        * page/EventHandler.cpp:
72708        (WebCore::EventHandler::handleMouseDraggedEvent):
72709        (WebCore::EventHandler::updateAutoscrollRenderer):
72710        (WebCore::EventHandler::handleMousePressEvent):
72711        * rendering/RenderBox.cpp:
72712        (WebCore::RenderBox::canBeScrolledAndHasScrollableArea):
72713        * rendering/RenderBox.h:
72714        * rendering/RenderLayer.cpp:
72715        (WebCore::RenderLayer::scrollByRecursively):
72716
727172009-08-12  Brian Weinstein  <bweinstein@apple.com>
72718
72719        Reviewed by Adam Roben.
72720
72721        Fix of <rdar://6728361> Mouse wheel scrolling on a page with expanded drop down 
72722        list detaches drop down.
72723
72724        Added a function for Windows PopupMenu's to return their class name.
72725
72726         * platform/PopupMenu.h:
72727         * platform/win/PopupMenuWin.cpp:
72728         (WebCore::PopupMenu::popupClassName):
72729
727302009-08-12  Shinichiro Hamaji  <hamaji@chromium.org>
72731
72732        Reviewed by Dan Bernstein.
72733
72734        WINCE PORT: Color and Gradient
72735        https://bugs.webkit.org/show_bug.cgi?id=27511
72736
72737        * platform/graphics/wince/ColorWince.cpp: Added.
72738        * platform/graphics/wince/GradientWince.cpp: Added.
72739
727402009-08-12  Yong Li  <yong.li@torchmobile.com>
72741
72742        Reviewed by Eric Seidel.
72743
72744        fix a typo in platform/graphics/skia/PlatformContextSkia.cpp
72745        https://bugs.webkit.org/show_bug.cgi?id=28172
72746
72747        No new tests because it's a just typo fix.
72748
72749        * platform/graphics/skia/PlatformContextSkia.cpp:
72750        (PlatformContextSkia::setupPaintCommon):
72751
727522009-08-12  Michelangelo De Simone  <micdesim@gmail.com>
72753
72754        Reviewed by Darin Adler.
72755
72756        https://bugs.webkit.org/show_bug.cgi?id=27458
72757        Support for the :default CSS pseudoclass, as per HTML5 spec.
72758        http://www.whatwg.org/specs/web-apps/current-work/multipage/interactive-elements.html#selector-default
72759
72760        Tests: fast/css/pseudo-default-001.html
72761               fast/css/pseudo-default-002.html
72762               fast/css/pseudo-default-003.html
72763               fast/css/pseudo-default-004.html
72764
72765        * css/CSSSelector.cpp:
72766        (WebCore::CSSSelector::extractPseudoType): pseudoDefault
72767        * css/CSSSelector.h:
72768        (WebCore::CSSSelector::):
72769        * css/CSSStyleSelector.cpp:
72770        (WebCore::CSSStyleSelector::canShareStyleWithElement): sharing stuff is
72771        aware that only one default button can be present in a form
72772        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): applies
72773        the :default CSS pseudoclass
72774        * dom/Element.h:
72775        (WebCore::Element::isDefaultButtonForForm): new method to determine
72776        whether a FormControl is a default button for a given form
72777        * html/HTMLFormControlElement.cpp:
72778        (WebCore::HTMLFormControlElement::isDefaultButtonForForm): ditto
72779        * html/HTMLFormControlElement.h:
72780        * html/HTMLFormElement.cpp:
72781        (WebCore::HTMLFormElement::defaultButton): extracts the default button
72782        from the form
72783        * html/HTMLFormElement.h:
72784
727852009-08-12  David Levin  <levin@chromium.org>
72786
72787        No review, rolling out r47106.
72788        https://bugs.webkit.org/show_bug.cgi?id=28215
72789
72790        This patch relied on a new version of v8 which is not available
72791        in chromium yet.
72792
72793        * bindings/v8/V8Binding.cpp:
72794        (WebCore::v8StringToAtomicWebCoreString):
72795
727962009-08-12  Steve Block  <steveblock@google.com>
72797
72798        Reviewed by Eric Seidel.
72799
72800        Bug 26993 : Geolocation::requestPermission()
72801        https://bugs.webkit.org/show_bug.cgi?id=26993
72802
72803        Second patch to allow the Geolocation permission request to chrome to be asynchronous
72804        or synchronous. Fixes a bug where callbacks were called twice when permissions
72805        are granted synchronously.
72806
72807        No new tests required.
72808
72809        * page/Geolocation.cpp:
72810        (WebCore::Geolocation::setIsAllowed): Modified. Calls makeSuccessCallbacks() rather than geolocationServicePositionChanged().
72811        (WebCore::Geolocation::geolocationServicePositionChanged): Modified. Updated logic to avoid repeated callbacks when permissions are granted synchronously.
72812        (WebCore::Geolocation::makeSuccessCallbacks): Added. Calls success callbacks.
72813        * page/Geolocation.h: Modified. Adds makeSuccessCallbacks().
72814
728152009-08-12  Anders Carlsson  <andersca@apple.com>
72816
72817        Reviewed by Sam Weinig.
72818
72819        <rdar://problem/6952336>
72820        CrashTracer: [USER] 3 crashes in Safari at com.apple.WebCore • WebCore::SecurityOrigin::canAccess const 27
72821
72822        Make sure to set the security origin before calling dispatchWindowObjectAvailable.
72823        
72824        * loader/FrameLoader.cpp:
72825        (WebCore::FrameLoader::begin):
72826
728272009-08-12  Xiaomei Ji  <xji@chromium.org>
72828
72829        Reviewed by Eric Seidel.
72830
72831        Fix [Chromium] drop down menu letter selection, skip selections
72832        https://bugs.webkit.org/show_bug.cgi?id=28205
72833
72834        Not auto-testable since it is chromim platform specific code, and it involves sending a keyboard 
72835        event to the popup, which is not possible (eventSender sends the key
72836        events through webview, we want to go through the webwidget).
72837
72838        * manual-tests/keyboard_select_elements_with_same_beginning.html: Added.
72839        * platform/chromium/PopupMenuChromium.cpp:
72840        (WebCore::isCharacterTypeEvent): style change.
72841        (WebCore::PopupListBox::handleKeyEvent): typeAheadFind should be called only when the event is
72842        a character type event to avoid calling twice for English.
72843        (WebCore::PopupListBox::typeAheadFind): remove unnecessary checking of isCharacterTypeEvent() since the whole function is only called under that condition.
72844
728452009-08-12  Maxime Simon  <simon.maxime@gmail.com>
72846
72847        Reviewed by Eric Seidel.
72848
72849        [Haiku] Adding GraphicsContext to WebCore/platform/graphics/haiku.
72850        https://bugs.webkit.org/show_bug.cgi?id=28130
72851
72852        * platform/graphics/haiku/GraphicsContextHaiku.cpp: Added.
72853        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
72854        (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
72855        (WebCore::GraphicsContext::GraphicsContext):
72856        (WebCore::GraphicsContext::~GraphicsContext):
72857        (WebCore::GraphicsContext::platformContext):
72858        (WebCore::GraphicsContext::savePlatformState):
72859        (WebCore::GraphicsContext::restorePlatformState):
72860        (WebCore::GraphicsContext::drawRect):
72861        (WebCore::GraphicsContext::drawLine):
72862        (WebCore::GraphicsContext::drawEllipse):
72863        (WebCore::GraphicsContext::strokeArc):
72864        (WebCore::GraphicsContext::strokePath):
72865        (WebCore::GraphicsContext::drawConvexPolygon):
72866        (WebCore::GraphicsContext::fillRect):
72867        (WebCore::GraphicsContext::fillRoundedRect):
72868        (WebCore::GraphicsContext::fillPath):
72869        (WebCore::GraphicsContext::beginPath):
72870        (WebCore::GraphicsContext::addPath):
72871        (WebCore::GraphicsContext::clip):
72872        (WebCore::GraphicsContext::drawFocusRing):
72873        (WebCore::GraphicsContext::drawLineForText):
72874        (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
72875        (WebCore::GraphicsContext::roundToDevicePixels):
72876        (WebCore::GraphicsContext::beginTransparencyLayer):
72877        (WebCore::GraphicsContext::endTransparencyLayer):
72878        (WebCore::GraphicsContext::clearRect):
72879        (WebCore::GraphicsContext::strokeRect):
72880        (WebCore::GraphicsContext::setLineCap):
72881        (WebCore::GraphicsContext::setLineJoin):
72882        (WebCore::GraphicsContext::setMiterLimit):
72883        (WebCore::GraphicsContext::setAlpha):
72884        (WebCore::GraphicsContext::setCompositeOperation):
72885        (WebCore::GraphicsContext::clipOut):
72886        (WebCore::GraphicsContext::clipToImageBuffer):
72887        (WebCore::GraphicsContext::getCTM):
72888        (WebCore::GraphicsContext::translate):
72889        (WebCore::GraphicsContext::origin):
72890        (WebCore::GraphicsContext::rotate):
72891        (WebCore::GraphicsContext::scale):
72892        (WebCore::GraphicsContext::clipOutEllipseInRect):
72893        (WebCore::GraphicsContext::addInnerRoundedRectClip):
72894        (WebCore::GraphicsContext::concatCTM):
72895        (WebCore::GraphicsContext::setPlatformShouldAntialias):
72896        (WebCore::GraphicsContext::setImageInterpolationQuality):
72897        (WebCore::GraphicsContext::setURLForRect):
72898        (WebCore::GraphicsContext::setPlatformFont):
72899        (WebCore::GraphicsContext::setPlatformStrokeColor):
72900        (WebCore::GraphicsContext::getHaikuStrokeStyle):
72901        (WebCore::GraphicsContext::setPlatformStrokeStyle):
72902        (WebCore::GraphicsContext::setPlatformStrokeThickness):
72903        (WebCore::GraphicsContext::setPlatformFillColor):
72904        (WebCore::GraphicsContext::clearPlatformShadow):
72905        (WebCore::GraphicsContext::setPlatformShadow):
72906
729072009-08-12  Maxime Simon  <simon.maxime@gmail.com>
72908
72909        Reviewed by Eric Seidel.
72910
72911        [Haiku] Modifying WebCore/platform/graphics files to allow Haiku port.
72912        https://bugs.webkit.org/show_bug.cgi?id=28128
72913
72914        * platform/graphics/BitmapImage.h: Adding getBBitmap() function.
72915        * platform/graphics/Color.h: rgb_color is the Color struct in Haiku.
72916        * platform/graphics/FloatPoint.h: BPoint is the Point class in Haiku.
72917        * platform/graphics/FloatRect.h: BRect is the Rect class in Haiku.
72918        * platform/graphics/GraphicsContext.cpp: 
72919        * platform/graphics/GraphicsContext.h: BView is the PlatformGraphicsContext
72920        class for Haiku. Adding getHaikuStrokeStyle() function.
72921        * platform/graphics/Icon.h: Adding an empty Icon() constructor because
72922        this class isn't implemented for the moment.
72923        * platform/graphics/ImageSource.h: BBitmap is the native bitmap class 
72924        for Haiku.
72925        * platform/graphics/IntPoint.h: BPoint is the Point class in Haiku.
72926        * platform/graphics/IntRect.h: BRect is the Rect class in Haiku.
72927        * platform/graphics/IntSize.h: BSize is the Size class in Haiku.
72928        * platform/graphics/Path.h: BRegion is the Path class in Haiku.
72929        * platform/graphics/Pattern.h: Adding the GraphicsDef.h header and the 
72930        native pattern type.
72931        * platform/graphics/SimpleFontData.h: Adding Haiku's Font.h header.
72932
729332009-08-12  Maxime Simon  <simon.maxime@gmail.com>
72934
72935        Reviewed by Eric Seidel.
72936
72937        [Haiku] Adding modification to the WebCore/platform/ files to allow
72938        the Haiku port.
72939        https://bugs.webkit.org/show_bug.cgi?id=28128
72940
72941        * platform/ContextMenuItem.h: BMenu is the PlatformMenuItemDescription
72942        class of Haiku.
72943        * platform/Cursor.h: BCursor is the Cursor class of Haiku.
72944        * platform/DragData.h: Use a BMessage as DragDataRef.
72945        * platform/DragImage.h: Use a BBitmap as DragImageRef.
72946        * platform/PlatformKeyboardEvent.h: Use BMessage as event vehicle.
72947        * platform/PlatformMenuDescription.h: BMenu is the 
72948        PlatformMenuDescription class of Haiku.
72949        * platform/PlatformMouseEvent.h: Use BMessage as event vehicle.
72950        * platform/PlatformWheelEvent.h: Use BMessage as event vehicle.
72951        * platform/PopupMenu.h: Adding a m_menu attribute for Haiku.
72952        * platform/Widget.h: BView is the PlatformWidget class of Haiku.
72953
729542009-08-12  Maxime Simon  <simon.maxime@gmail.com>
72955
72956        Reviewed by Eric Seidel.
72957
72958        [Haiku] Tiny modifications on WebCore files to allow Haiku port.
72959        https://bugs.webkit.org/show_bug.cgi?id=28128
72960
72961        * bindings/js/ScriptControllerHaiku.cpp: Style cleanup.
72962        * loader/CachedFont.cpp: Haiku behaves like Qt, Gtk, or Chromium,
72963        so many PLATFORM(HAIKU) were added to these functions.
72964        (WebCore::CachedFont::~CachedFont):
72965        (WebCore::CachedFont::ensureCustomFontData):
72966        (WebCore::CachedFont::platformDataFromCustomData):
72967        (WebCore::CachedFont::allClientsRemoved):
72968        * page/EventHandler.cpp: Like the mac and Qt port, Haiku doesn't need the
72969        invertSenseOfTabsToLinks() function.
72970        * page/haiku/DragControllerHaiku.cpp: Style cleanup.
72971        * platform/image-decoders/ImageDecoder.h: For image decoding Haiku
72972        behaves like Cairo or Wx, (not like Skia).
72973        (WebCore::RGBA32Buffer::getAddr):
72974        * platform/text/PlatformString.h: Adding the String(BString&) and BString()
72975        methods specific to Haiku.
72976        * platform/text/UnicodeRange.h: Haiku needs to include stdint.h.
72977        * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp:
72978        (WebCore::currentSearchLocaleID): Missing function.
72979
729802009-08-12  Maxime Simon  <simon.maxime@gmail.com>
72981
72982        Reviewed by Eric Seidel.
72983
72984        [Haiku] Adding the ScrollbarTheme files.
72985        https://bugs.webkit.org/show_bug.cgi?id=28125
72986
72987        * platform/haiku/ScrollbarThemeHaiku.cpp: Added.
72988        (buttonWidth):
72989        (WebCore::ScrollbarTheme::nativeTheme):
72990        (WebCore::ScrollbarThemeHaiku::ScrollbarThemeHaiku):
72991        (WebCore::ScrollbarThemeHaiku::~ScrollbarThemeHaiku):
72992        (WebCore::ScrollbarThemeHaiku::scrollbarThickness):
72993        (WebCore::ScrollbarThemeHaiku::hasButtons):
72994        (WebCore::ScrollbarThemeHaiku::hasThumb):
72995        (WebCore::ScrollbarThemeHaiku::backButtonRect):
72996        (WebCore::ScrollbarThemeHaiku::forwardButtonRect):
72997        (WebCore::ScrollbarThemeHaiku::trackRect):
72998        (WebCore::ScrollbarThemeHaiku::paintScrollbarBackground):
72999        (WebCore::ScrollbarThemeHaiku::paintButton):
73000        (WebCore::ScrollbarThemeHaiku::paintThumb):
73001        * platform/haiku/ScrollbarThemeHaiku.h: Added.
73002
730032009-08-12  Maxime Simon  <simon.maxime@gmail.com>
73004
73005        Reviewed by Eric Seidel.
73006
73007        [Haiku] Adding eight simple files to WebCore/platform/graphics/haiku.
73008        https://bugs.webkit.org/show_bug.cgi?id=28122
73009
73010        * platform/graphics/haiku/ColorHaiku.cpp: Added.
73011        (WebCore::Color::Color):
73012        (WebCore::Color::operator rgb_color):
73013        (WebCore::focusRingColor):
73014        * platform/graphics/haiku/FloatPointHaiku.cpp: Added.
73015        (WebCore::FloatPoint::FloatPoint):
73016        (WebCore::FloatPoint::operator BPoint):
73017        * platform/graphics/haiku/FloatRectHaiku.cpp: Added.
73018        (WebCore::FloatRect::FloatRect):
73019        (WebCore::FloatRect::operator BRect):
73020        * platform/graphics/haiku/GradientHaiku.cpp: Added.
73021        (WebCore::Gradient::platformDestroy):
73022        (WebCore::Gradient::platformGradient):
73023        (WebCore::Gradient::fill):
73024        * platform/graphics/haiku/IntPointHaiku.cpp: Added.
73025        (WebCore::IntPoint::IntPoint):
73026        (WebCore::IntPoint::operator BPoint):
73027        * platform/graphics/haiku/IntRectHaiku.cpp: Added.
73028        (WebCore::IntRect::IntRect):
73029        (WebCore::IntRect::operator BRect):
73030        * platform/graphics/haiku/IntSizeHaiku.cpp: Added.
73031        (WebCore::IntSize::IntSize):
73032        (WebCore::IntSize::operator BSize):
73033        * platform/graphics/haiku/PathHaiku.cpp: Added.
73034        (WebCore::Path::Path):
73035        (WebCore::Path::~Path):
73036        (WebCore::Path::operator=):
73037        (WebCore::Path::hasCurrentPoint):
73038        (WebCore::Path::contains):
73039        (WebCore::Path::translate):
73040        (WebCore::Path::boundingRect):
73041        (WebCore::Path::moveTo):
73042        (WebCore::Path::addLineTo):
73043        (WebCore::Path::addQuadCurveTo):
73044        (WebCore::Path::addBezierCurveTo):
73045        (WebCore::Path::addArcTo):
73046        (WebCore::Path::closeSubpath):
73047        (WebCore::Path::addArc):
73048        (WebCore::Path::addRect):
73049        (WebCore::Path::addEllipse):
73050        (WebCore::Path::clear):
73051        (WebCore::Path::isEmpty):
73052        (WebCore::Path::debugString):
73053        (WebCore::Path::apply):
73054        (WebCore::Path::transform):
73055        (WebCore::Path::strokeBoundingRect):
73056
730572009-08-12  Lyon Chen  <lyon.chen@torchmobile.com>
73058
73059        Reviewed by George Staikos.
73060
73061        WINCE PORT: Implement Keygen for WINCE
73062        https://bugs.webkit.org/show_bug.cgi?id=27543
73063
73064        * platform/wince/KeygenWince.cpp: Added.
73065
730662009-08-12  Brent Fulgham  <bfulgham@webkit.org>
73067
73068        Rubber-stamped by Kevin Ollivier.
73069
73070        Handle crash in wx due to null value passed to strlen in
73071        the CString constructor.
73072
73073        * platform/network/curl/ResourceHandleManager.cpp:
73074        (WebCore::certificatePath):  Check for null return from getenv
73075        and use default CString constructor instead.
73076
730772009-08-12  Yong Li  <yong.li@torchmobile.com>
73078
73079        Reviewed by Eric Seidel.
73080
73081        WINCE PORT: simple stubs to make it build for WINCE
73082        https://bugs.webkit.org/show_bug.cgi?id=27543
73083
73084        * platform/wince/DragDataWince.cpp: Added.
73085        * platform/wince/DragImageWince.cpp: Added.
73086        * platform/wince/EditorWince.cpp: Added.
73087        * platform/wince/KURLWince.cpp: Added.
73088
730892009-08-12  Yong Li  <yong.li@torchmobile.com>
73090
73091        Reviewed by George Staikos.
73092
73093        WINCEPORT: FileSystem and FileChooser
73094        https://bugs.webkit.org/show_bug.cgi?id=27543
73095
73096        * platform/wince/FileChooserWince.cpp: Added.
73097        * platform/wince/FileSystemWince.cpp: Added.
73098
730992009-08-12  Yong Li  <yong.li@torchmobile.com>
73100
73101        Reviewed by Eric Seidel.
73102
73103        WINCE PORT: implement Cursor for WINCE. There's no real cursor on most
73104        WinMob devices. We pass the cursor info to application, which so that 
73105        can determine what to do.
73106        https://bugs.webkit.org/show_bug.cgi?id=27543
73107
73108        * platform/wince/CursorWince.cpp: Added.
73109
731102009-08-12  Yong Li  <yong.li@torchmobile.com>
73111
73112        Reviewed by George Staikos.
73113
73114        WINCE PORT: MIMETypeRegistry
73115        https://bugs.webkit.org/show_bug.cgi?id=27543
73116
73117        * platform/wince/MIMETypeRegistryWince.cpp: Added.
73118
731192009-08-12  Joe Mason  <joe.mason@torchmobile.com>
73120
73121        Reviewed by George Staikos.
73122
73123        WINCE PORT: Pasteboard and SearchPopupMenu
73124        https://bugs.webkit.org/show_bug.cgi?id=27543
73125
73126        * platform/wince/PasteboardWince.cpp: Added.
73127        * platform/wince/SearchPopupMenuWince.cpp: Added.
73128
731292009-08-12  Yong Li  <yong.li@torchmobile.com>
73130
73131        Reviewed by George Staikos.
73132
73133        WINCE PORT: Add SharedTimerWince.cpp and SystemTimeWince.cpp
73134        https://bugs.webkit.org/show_bug.cgi?id=27543
73135
73136        * platform/wince/SharedTimerWince.cpp: Added.
73137        * platform/wince/SystemTimeWince.cpp: Added.
73138
731392009-08-12  Mark Mentovai  <mark@chromium.org>
73140
73141        Reviewed by Darin Adler.
73142
73143        https://bugs.webkit.org/show_bug.cgi?id=28204
73144        Allow C+exceptions to be disabled in WebCore's V8 Mac build.
73145
73146        * WebCorePrefix.h:
73147        Only undefine |try| and |catch| when building Objective-C[++],
73148        leaving the C+library definitions intact for C++.
73149
731502009-08-12  Nate Chapin  <japhet@chromium.org>
73151
73152        Reviewed by Adam Barth.
73153
73154        Add a Custom Setter for DOMWindowEvent in the V8 bindings.
73155        https://bugs.webkit.org/show_bug.cgi?id=27719
73156
73157        Tests: fast/events/set-event-in-another-frame.html
73158               fast/events/set-event-to-null.html
73159
73160        * bindings/scripts/CodeGeneratorV8.pm: Clean up custom getter/setter code, 
73161            as it currently doesn't support a custom getter 
73162            and a v8-specific custom setter simultaneously.
73163        * bindings/v8/custom/V8CustomBinding.h:
73164        * bindings/v8/custom/V8DOMWindowCustom.cpp:
73165        (WebCore::ACCESSOR_SETTER):
73166        * page/DOMWindow.idl:
73167
731682009-08-12  Peter Kasting  <pkasting@google.com>
73169
73170        Reviewed by Adam Treat.
73171
73172        https://bugs.webkit.org/show_bug.cgi?id=27965
73173        Merge wx/ImageSourceWx.cpp into ImageSource.cpp.  No changes to
73174        ImageSource.cpp were needed, so this just deletes ImageSourceWx.cpp.
73175
73176        * WebCore.gypi:
73177        * WebCoreSources.bkl:
73178        * platform/graphics/wx/ImageSourceWx.cpp: Removed.
73179        * webcore-wx.bkl:
73180
731812009-08-12  Peter Kasting  <pkasting@google.com>
73182
73183        Reviewed by Dave Levin.
73184
73185        https://bugs.webkit.org/show_bug.cgi?id=27933
73186        Build fix after r47099.
73187
73188        * platform/graphics/skia/ImageBufferSkia.cpp:
73189        (WebCore::getImageData):
73190        (WebCore::putImageData):
73191
731922009-08-08  Yong Li  <yong.li@torchmobile.com>
73193
73194        Reviewed by Adam Treat.
73195
73196        WINCE PORT: Implement Path for WINCE. Most code can be
73197        reused for other ports that don't have native path support
73198        https://bugs.webkit.org/show_bug.cgi?id=28188
73199
73200        Written also by George Staikos (including quadCurve() and bezier())
73201
73202        * platform/graphics/wince/PathWince.cpp: Added.
73203        * platform/graphics/wince/PlatformPathWince.cpp: Added.
73204        * platform/graphics/wince/PlatformPathWince.h: Added.
73205        * platform/graphics/wince/WinceGraphicsExtras.h: Added.
73206
732072009-08-12  Joseph Pecoraro  <joepeck02@gmail.com>
73208
73209        "Double-click to add" new style button does not always show up [quick fix]
73210        https://bugs.webkit.org/show_bug.cgi?id=28187
73211
73212        * inspector/front-end/StylesSidebarPane.js:
73213        (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
73214
732152009-08-12  Crystal Zhang <crystal.zhang@torchmobile.com>
73216
73217        Reviewed by George Staikos.
73218
73219        WINCE PORT: MediaPlayerProxy and MediaPlayerPrivate
73220        https://bugs.webkit.org/show_bug.cgi?id=28178
73221
73222        * platform/graphics/wince/MediaPlayerPrivateWince.h: Added.
73223        * platform/graphics/wince/MediaPlayerProxy.cpp: Added.
73224        * platform/graphics/wince/MediaPlayerProxy.h: Added.
73225
732262009-08-12  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
73227
73228        Reviewed by Eric Seidel.
73229
73230        HTML 5 database and LocalStorage is not persistent on the Symbian port of QtWebKit
73231        https://bugs.webkit.org/show_bug.cgi?id=28175
73232
73233        Call QDir::toNativeSeparators() before the path is passed to the OS.
73234
73235        Based on work by David Leong.
73236        
73237        * platform/qt/FileSystemQt.cpp:
73238        (WebCore::pathByAppendingComponent):
73239
732402009-08-12  Dirk Schulze  <krit@webkit.org>
73241
73242        Reviewed by Ariya Hidayat.
73243
73244        Minor build-fix for SVG Filter. Use getUnmultipliedImageData instead
73245        of getImageData. This changed since r47099.
73246
73247        * platform/graphics/filters/FEColorMatrix.cpp:
73248        (WebCore::FEColorMatrix::apply):
73249
732502009-08-12  Viet-Trung Luu  <viettrungluu@gmail.com>
73251
73252        Reviewed by Dimitri Glazkov.
73253
73254        Explicitly set control tints for Chromium/Mac, since the controls'
73255        NSCell(s) lack an NSView and hence their tint isn't updated
73256        automatically when the application is activated/deactivated.
73257        https://bugs.webkit.org/show_bug.cgi?id=28108
73258        http://crbug.com/18199
73259
73260        * rendering/RenderThemeChromiumMac.mm:
73261        (WebCore::updateNSCellControlTint):
73262        (WebCore::RenderThemeChromiumMac::paintCheckbox):
73263        (WebCore::RenderThemeChromiumMac::paintRadio):
73264        (WebCore::RenderThemeChromiumMac::paintButton):
73265        (WebCore::RenderThemeChromiumMac::paintMenuList):
73266        (WebCore::RenderThemeChromiumMac::paintSliderThumb):
73267        (WebCore::RenderThemeChromiumMac::paintSearchField):
73268        (WebCore::RenderThemeChromiumMac::paintSearchFieldCancelButton):
73269        (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsDecoration):
73270        (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsButton):
73271
732722009-08-12  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
73273
73274        Reviewed by Dimitri Glazkov.
73275
73276        [V8] Fix atomic string externalization crash.
73277        Atomic string externalization assumes that all non-empty strings
73278        can be externalized which is untrue on 64-bit.  This change fixed
73279        that.
73280
73281        https://bugs.webkit.org/show_bug.cgi?id=28215
73282
73283        This bug causes loads of test crashes, no need to add new tests
73284        specifically for this.
73285
73286        * bindings/v8/V8Binding.cpp:
73287        (WebCore::v8StringToAtomicWebCoreString):
73288
732892009-08-12  Ariya Hidayat  <ariya.hidayat@nokia.com>
73290
73291        Reviewed by Holger Freyther.
73292
73293        [Qt] Fix box-shadow painting in r47103. The edge should not be blurry.
73294        Also optimize by not having to save and restore painter state.
73295
73296        * platform/graphics/qt/GraphicsContextQt.cpp:
73297        (WebCore::GraphicsContext::drawRect):
73298        (WebCore::GraphicsContext::fillRect):
73299
733002009-08-12  Ariya Hidayat  <ariya.hidayat@nokia.com>
73301
73302        Reviewed by Adam Treat.
73303
73304        [Qt] Fix coding style in GraphicsContextQt.cpp
73305
73306        * platform/graphics/qt/GraphicsContextQt.cpp:
73307        (WebCore::toQtCompositionMode):
73308        (WebCore::toQtLineCap):
73309        (WebCore::toQtLineJoin):
73310        (WebCore::GraphicsContextPlatformPrivate::p):
73311        (WebCore::GraphicsContext::drawLine):
73312        (WebCore::GraphicsContext::strokeArc):
73313        (WebCore::GraphicsContext::drawConvexPolygon):
73314        (WebCore::GraphicsContext::pen):
73315        (WebCore::GraphicsContext::fillPath):
73316        (WebCore::GraphicsContext::strokePath):
73317        (WebCore::GraphicsContext::fillRect):
73318        (WebCore::GraphicsContext::clipPath):
73319        (WebCore::GraphicsContext::drawFocusRing):
73320        (WebCore::GraphicsContext::beginTransparencyLayer):
73321        (WebCore::GraphicsContext::endTransparencyLayer):
73322        (WebCore::GraphicsContext::clearRect):
73323        (WebCore::GraphicsContext::setLineCap):
73324        (WebCore::GraphicsContext::setLineJoin):
73325        (WebCore::GraphicsContext::setMiterLimit):
73326        (WebCore::GraphicsContext::setAlpha):
73327        (WebCore::GraphicsContext::clipOut):
73328        (WebCore::GraphicsContext::clipOutEllipseInRect):
73329        (WebCore::GraphicsContext::addInnerRoundedRectClip):
73330        (WebCore::GraphicsContext::setPlatformStrokeColor):
73331        (WebCore::GraphicsContext::setPlatformStrokeStyle):
73332        (WebCore::GraphicsContext::setPlatformStrokeThickness):
73333
733342009-08-12  Szabo Carol  <carol.szabo@nokia.com>
73335
73336        Reviewed by Simon Hausmann and Ariya Hidayat.
73337
73338        https://bugs.webkit.org/show_bug.cgi?id=23291
73339
73340        [Qt] Partial support for -webkit-box-shadow. Blur is not support and
73341        the shadow still does not go well with border radius.
73342
73343        * platform/graphics/qt/GraphicsContextQt.cpp:
73344        (WebCore::GraphicsContext::drawRect):
73345        (WebCore::GraphicsContext::fillRect):
73346
733472009-08-12  Xan Lopez  <xlopez@igalia.com>
73348
73349        Reviewed by Jan Alonzo.
73350
73351        Use AM_V_GEN in a few more places, for less noisy builds.
73352
73353        * GNUmakefile.am:
73354
733552009-08-12  Dirk Schulze  <krit@webkit.org>
73356
73357        Reviewed by Oliver Hunt.
73358
73359        SVG Filter premultiplied color support for getImageDate/putImageData
73360        [https://bugs.webkit.org/show_bug.cgi?id=27933]
73361
73362        Some SVG Filters need premultiplied ImageData for the calculation. Therefore getImageData
73363        and putImageData of ImageBuffer need support for premultiplied colors.
73364
73365        * html/CanvasRenderingContext2D.cpp:
73366        (WebCore::CanvasRenderingContext2D::getImageData):
73367        (WebCore::CanvasRenderingContext2D::putImageData):
73368        * platform/graphics/ImageBuffer.h:
73369        (WebCore::):
73370        * platform/graphics/cairo/ImageBufferCairo.cpp:
73371        (WebCore::getImageData):
73372        (WebCore::ImageBuffer::getUnmultipliedImageData):
73373        (WebCore::ImageBuffer::getPremultipliedImageData):
73374        (WebCore::putImageData):
73375        (WebCore::ImageBuffer::putUnmultipliedImageData):
73376        (WebCore::ImageBuffer::putPremultipliedImageData):
73377        * platform/graphics/cg/ImageBufferCG.cpp:
73378        (WebCore::getImageData):
73379        (WebCore::ImageBuffer::getUnmultipliedImageData):
73380        (WebCore::ImageBuffer::getPremultipliedImageData):
73381        (WebCore::putImageData):
73382        (WebCore::ImageBuffer::putUnmultipliedImageData):
73383        (WebCore::ImageBuffer::putPremultipliedImageData):
73384        * platform/graphics/qt/ImageBufferQt.cpp:
73385        (WebCore::getImageData):
73386        (WebCore::ImageBuffer::getUnmultipliedImageData):
73387        (WebCore::ImageBuffer::getPremultipliedImageData):
73388        (WebCore::putImageData):
73389        (WebCore::ImageBuffer::putUnmultipliedImageData):
73390        (WebCore::ImageBuffer::putPremultipliedImageData):
73391        * platform/graphics/skia/ImageBufferSkia.cpp:
73392        (WebCore::getImageData):
73393        (WebCore::ImageBuffer::getUnmultipliedImageData):
73394        (WebCore::ImageBuffer::getPremultipliedImageData):
73395        (WebCore::putImageData):
73396        (WebCore::ImageBuffer::putUnmultipliedImageData):
73397        (WebCore::ImageBuffer::putPremultipliedImageData):
73398        * platform/graphics/wx/ImageBufferWx.cpp:
73399        (WebCore::ImageBuffer::getUnmultipliedImageData):
73400        (WebCore::ImageBuffer::getPremultipliedImageData):
73401        (WebCore::ImageBuffer::putUnmultipliedImageData):
73402        (WebCore::ImageBuffer::putPremultipliedImageData):
73403        * svg/graphics/SVGResourceMasker.cpp:
73404        (WebCore::SVGResourceMasker::applyMask):
73405
734062009-08-12  Mikhail Naganov  <mnaganov@chromium.org>
73407
73408        Reviewed by Timothy Hatcher.
73409
73410        Changed Number.bytesToString to support low-resolution output.
73411
73412        https://bugs.webkit.org/show_bug.cgi?id=28146
73413
73414        * inspector/front-end/utilities.js:
73415        (Number.bytesToString):
73416
734172009-08-12  Prasanth Ullattil  <prasanth.ullattil@nokia.com>
73418
73419        Reviewed by Simon Hausmann.
73420
73421        Add support for hooking BeginPaint/EndPaint on 64Bit Windows
73422
73423        Webkit uses the runtime patching trick explained by "Feng Yuan" for
73424        hooking these paint functions. It currently supports only 32bit assembly
73425        code. This patch adds support for 64Bit version. Since inline-assemblies
73426        are not supported for 64Bit, we have use a seperate .asm file.
73427
73428        * WebCore.pro:
73429        * plugins/win/PaintHooks.asm: Added.
73430        * plugins/win/PluginViewWin.cpp:
73431        (WebCore::PluginView::hookedBeginPaint):
73432        (WebCore::PluginView::hookedEndPaint):
73433        (WebCore::hook):
73434
734352009-08-11  Oliver Hunt  <oliver@apple.com>
73436
73437        Reviewed by Gavin Barraclough.
73438
73439        Make it harder to misuse try* allocation routines
73440        https://bugs.webkit.org/show_bug.cgi?id=27469
73441
73442        Add forwarding header for PossiblyNull type, and add missing null check
73443        to ImageBuffer creation.
73444
73445        * ForwardingHeaders/wtf/PossiblyNull.h: Added.
73446        * platform/graphics/cg/ImageBufferCG.cpp:
73447        (WebCore::ImageBuffer::ImageBuffer):
73448
734492009-08-11  Gavin Barraclough  <barraclough@apple.com>
73450
73451        Reviewed by Oliver Hunt.
73452
73453        Restrict use of FuncDeclNode & FuncExprNode to the parser.
73454        https://bugs.webkit.org/show_bug.cgi?id=28209
73455
73456        * inspector/JavaScriptDebugServer.cpp:
73457        (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
73458            Function signature change.
73459
734602009-08-11  Peter Kasting  <pkasting@google.com>
73461
73462        Reviewed by Adam Treat.
73463
73464        https://bugs.webkit.org/show_bug.cgi?id=27965
73465        Merge skia/ImageSourceSkia.cpp into ImageSource.cpp.
73466
73467        * WebCore.gypi: Remove deleted file, plus a file that was deleted a while back.
73468        * platform/graphics/ImageSource.cpp:
73469        (WebCore::ImageSource::setData): Use slightly shorter syntax.
73470        (WebCore::ImageSource::filenameExtension): Use shorter syntax.
73471        (WebCore::ImageSource::createFrameAtIndex): Remove redundant call, clarify comments, reject all empty images.
73472        (WebCore::ImageSource::frameHasAlphaAtIndex): Clarify comments, use shorter syntax.
73473        * platform/graphics/skia/ImageSourceSkia.cpp: Removed.
73474
734752009-08-11  Drew Wilson  <atwilson@google.com>
73476
73477        Reviewed by David Levin.
73478
73479        SharedWorkers do not exit when the last parent document exits
73480        https://bugs.webkit.org/show_bug.cgi?id=28170
73481
73482        Prevents Documents from being suspended/placed in the page cache if they are associated with shared workers.
73483
73484        Added vector cache instead of nested hash tables for SharedWorker repository.
73485
73486        Added SharedWorkerRepository::documentDetached API.
73487
73488        * dom/Document.cpp:
73489        (WebCore::Document::detach):
73490        Notifies SharedWorkerRepository when the document is closing.
73491        * loader/FrameLoader.cpp:
73492        Updated FrameLoader to not cache the Document if it is associated with a SharedWorker (since we can't suspend workers yet, we need to shut them down).
73493        (WebCore::FrameLoader::canCachePageContainingThisFrame):
73494        (WebCore::FrameLoader::logCanCacheFrameDecision):
73495        * workers/DefaultSharedWorkerRepository.cpp:
73496        (WebCore::SharedWorkerProxy::create):
73497        (WebCore::SharedWorkerProxy::isClosing):
73498        Renamed from closing().
73499        (WebCore::SharedWorkerProxy::matches):
73500        Added manual equality function to replace old hash lookup.
73501        (WebCore::SharedWorkerProxy::isDocumentInWorkerDocuments):
73502        Checks to see if a document is in the worker's list of documents. Used to determine if page is suspendable.
73503        (WebCore::SharedWorkerProxy::SharedWorkerProxy):
73504        (WebCore::SharedWorkerProxy::addToWorkerDocuments):
73505        Added tracking of the worker's list of documents for lifecycle purposes.
73506        (WebCore::SharedWorkerProxy::documentDetached):
73507        Shuts down the proxy when the last associated document is detached.
73508        (WebCore::SharedWorkerProxy::close):
73509        Marks the proxy as closed so it is no longer shared with new instances.
73510        (WebCore::SharedWorkerProxy::workerContextDestroyed):
73511        Removes the proxy from the repository/frees the proxy when the associated SharedWorkerContext is destroyed.
73512        (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
73513        closing()->isClosing()
73514        (WebCore::SharedWorkerRepository::documentDetached):
73515        (WebCore::SharedWorkerRepository::hasSharedWorkers):
73516        Used by FrameLoader to determine if a page has shared workers and so cannot be suspended/cached.
73517        (WebCore::DefaultSharedWorkerRepository::hasSharedWorkers):
73518        (WebCore::DefaultSharedWorkerRepository::removeProxy):
73519        Invoked by workerContextDestroyed() to remove a SharedWorkerProxy from the repository.
73520        (WebCore::DefaultSharedWorkerRepository::documentDetached):
73521        (WebCore::DefaultSharedWorkerRepository::connectToWorker):
73522        (WebCore::DefaultSharedWorkerRepository::getProxy):
73523        * workers/DefaultSharedWorkerRepository.h:
73524        * workers/SharedWorkerRepository.h:
73525
735262009-08-11  Chris Fleizach  <cfleizach@apple.com>
73527
73528        Reviewed by Darin Adler.
73529
73530        Bug 28200 - ListMarker should be included as part of the text value to parse
73531        https://bugs.webkit.org/show_bug.cgi?id=28200
73532
73533        When returning text through the marker range attributes, the list marker text should
73534        also be included. It isn't included by default because a TextIterator is used which
73535        only looks at Nodes for text. A list marker does not have a corresponding node,
73536        so its text is not returned through accessibility. That is, until now.
73537
73538        Test: platform/mac/accessibility/string-range-contains-listmarker.html
73539
73540        * accessibility/AccessibilityObject.cpp:
73541        (WebCore::AccessibilityObject::listMarkerTextForRange):
73542        (WebCore::AccessibilityObject::stringForVisiblePositionRange):
73543        * accessibility/AccessibilityObject.h:
73544        * accessibility/mac/AccessibilityObjectWrapper.mm:
73545        (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]):
73546        (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
73547        (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
73548        * rendering/RenderListItem.h:
73549
73550        Make markerText() public so that accessibility code can access it.
73551
735522009-08-11  Peter Kasting  <pkasting@google.com>
73553
73554        Reviewed by Adam Treat.
73555
73556        https://bugs.webkit.org/show_bug.cgi?id=27965
73557        Move cairo/ImageSourceCairo.cpp to ImageSource.cpp in preparation for
73558        merging most of the other ImageSource*.cpp files with it.
73559
73560        * GNUmakefile.am:
73561        * WebCore.gypi:
73562        * WebCore.vcproj/WebCore.vcproj:
73563        * platform/graphics/ImageSource.cpp: Copied from WebCore/platform/graphics/cairo/ImageSourceCairo.cpp.
73564        * platform/graphics/cairo/ImageSourceCairo.cpp: Removed.
73565
735662009-08-10  Brent Fulgham  <bfulgham@webkit.org>
73567
73568        Reviewed by Adam Roben.
73569
73570        Cairo-based Windows port does not handle the https protocol.
73571        https://bugs.webkit.org/show_bug.cgi?id=28171.
73572
73573        No new tests needed.  Existing https tests show this failure
73574        for WinCairo builds.
73575
73576        * WebCore.vcproj/WebCoreCURL.vsprops: Add a few preprocessor
73577          definitions for SSL support in cURL.
73578        * platform/network/curl/ResourceHandleManager.h: Add new
73579          certificate path member variable.
73580        * platform/network/curl/ResourceHandleManager.cpp:
73581        (WebCore::certificateBundlePath): New method to retrieve the
73582          proper certificate resource bundle path.
73583        (WebCore::ResourceHandleManager::initializeHandle): Check for
73584          the resource bundle and use if available to activate SSL
73585          support.
73586
735872009-08-11  Maxime Simon  <simon.maxime@gmail.com>
73588
73589        Reviewed by Eric Seidel.
73590
73591        [Haiku] Use Clipboard::create() instead of the constructor of Clipboard.
73592        https://bugs.webkit.org/show_bug.cgi?id=28127
73593
73594        * editing/haiku/EditorHaiku.cpp:
73595        (WebCore::Editor::newGeneralClipboard):
73596        * page/haiku/EventHandlerHaiku.cpp:
73597        (WebCore::EventHandler::passWheelEventToWidget):
73598        (WebCore::EventHandler::createDraggingClipboard):
73599        * platform/haiku/ClipboardHaiku.cpp: Style cleanup. There were many whitespace end of lines.
73600        (WebCore::ClipboardHaiku::ClipboardHaiku):
73601        (WebCore::ClipboardHaiku::clearAllData):
73602        (WebCore::ClipboardHaiku::getData):
73603        (WebCore::ClipboardHaiku::setData):
73604        (WebCore::ClipboardHaiku::types):
73605        (WebCore::ClipboardHaiku::dragLocation):
73606        (WebCore::ClipboardHaiku::dragImage):
73607        (WebCore::ClipboardHaiku::setDragImage):
73608        (WebCore::ClipboardHaiku::dragImageElement):
73609        (WebCore::ClipboardHaiku::createDragImage):
73610        (WebCore::ClipboardHaiku::declareAndWriteDragImage):
73611        (WebCore::ClipboardHaiku::writeURL):
73612        (WebCore::ClipboardHaiku::writeRange):
73613        (WebCore::ClipboardHaiku::hasData):
73614        * platform/haiku/DragDataHaiku.cpp:
73615        (WebCore::DragData::createClipboard):
73616
736172009-08-11  Drew Wilson  <atwilson@google.com>
73618
73619        Reviewed by NOBODY (build break).
73620
73621        Speculative GTK build fix
73622
73623        * GNUmakefile.am:
73624        Added missing .idl file, and added notifications directory to IDL_PATH.
73625
736262009-08-11  Drew Wilson  <atwilson@google.com>
73627
73628        Reviewed by NOBODY (build break).
73629
73630        Speculative Windows build fix
73631
73632        * WebCore.vcproj/WebCore.vcproj:
73633        Added missing build steps for non-debug targets.
73634
736352009-08-11  Drew Wilson <atwilson@google.com>
73636
73637        Reviewed by NOBODY (build break)
73638
73639        Speculative build fix for Qt build.
73640
73641        * WebCore.pro: Added /notifications to include path
73642
736432009-08-11  John Gregg  <johnnyg@google.com>
73644
73645        Reviewed by Maciej Stachowiak.
73646
73647        Desktop Notifications API
73648        https://bugs.webkit.org/show_bug.cgi?id=25463
73649
73650        Adds an implementation of desktop notifications, behind the compile-time
73651        flag ENABLE(NOTIFICATIONS).  This code simply relays calls on the JavaScript
73652        API through a NotificationProvider interface, which must provide the services
73653        to actually notify the user and manage the desktop.  This provider is injected
73654        into WebKit through the ChromeClient for normal page contexts and through the
73655        WorkerThread for worker contexts.
73656
73657        A permissions API is defined on a per-origin basis, which allows a web page
73658        to check if its origin is allowed to show desktop notifications, and to request
73659        permission for its origin.
73660
73661        * Configurations/FeatureDefines.xcconfig:
73662        * DerivedSources.cpp:
73663        * DerivedSources.make:
73664        * GNUmakefile.am:
73665        * WebCore.vcproj/WebCore.vcproj:
73666        * WebCore.vcproj/WebCoreCommon.vsprops:
73667        * WebCore.xcodeproj/project.pbxproj:
73668        * bindings/js/JSDOMWindowCustom.cpp:
73669        * bindings/js/JSDesktopNotificationsCustom.cpp: Added.
73670        (WebCore::JSNotificationCenter::requestPermission):
73671        (WebCore::JSNotification::addEventListener):
73672        (WebCore::JSNotification::removeEventListener):
73673        * bindings/js/JSEventTarget.cpp:
73674        (WebCore::toJS):
73675        (WebCore::toEventTarget):
73676        * dom/EventTarget.cpp:
73677        (WebCore::EventTarget::toNotification):
73678        * dom/EventTarget.h:
73679        * loader/EmptyClients.h:
73680        (WebCore::EmptyChromeClient::notificationPresenter):
73681        * notifications: Added.
73682        * notifications/Notification.cpp: Added.
73683        (WebCore::Notification::Notification):
73684        (WebCore::Notification::~Notification):
73685        (WebCore::Notification::show):
73686        (WebCore::Notification::cancel):
73687        (WebCore::Notification::ondisplay):
73688        (WebCore::Notification::setOndisplay):
73689        (WebCore::Notification::onerror):
73690        (WebCore::Notification::setOnerror):
73691        (WebCore::Notification::onclose):
73692        (WebCore::Notification::setOnclose):
73693        (WebCore::Notification::getAttributeEventListener):
73694        (WebCore::Notification::setAttributeEventListener):
73695        (WebCore::Notification::clearAttributeEventListener):
73696        (WebCore::Notification::dispatchDisplayEvent):
73697        (WebCore::Notification::dispatchErrorEvent):
73698        (WebCore::Notification::dispatchCloseEvent):
73699        (WebCore::Notification::addEventListener):
73700        (WebCore::Notification::removeEventListener):
73701        (WebCore::Notification::handleEvent):
73702        (WebCore::Notification::dispatchEvent):
73703        * notifications/Notification.h: Added.
73704        (WebCore::Notification::create):
73705        (WebCore::Notification::isHTML):
73706        (WebCore::Notification::url):
73707        (WebCore::Notification::contents):
73708        (WebCore::Notification::scriptExecutionContext):
73709        (WebCore::Notification::toNotification):
73710        (WebCore::Notification::refEventTarget):
73711        (WebCore::Notification::derefEventTarget):
73712        * notifications/Notification.idl: Added.
73713        * notifications/NotificationCenter.cpp: Added.
73714        (WebCore::NotificationCenter::NotificationCenter):
73715        (WebCore::NotificationCenter::checkPermission):
73716        (WebCore::NotificationCenter::requestPermission):
73717        * notifications/NotificationCenter.h: Added.
73718        (WebCore::NotificationCenter::create):
73719        (WebCore::NotificationCenter::createHTMLNotification):
73720        (WebCore::NotificationCenter::createNotification):
73721        (WebCore::NotificationCenter::context):
73722        (WebCore::NotificationCenter::presenter):
73723        * notifications/NotificationCenter.idl: Added.
73724        * notifications/NotificationContents.h: Added.
73725        (WebCore::NotificationContents::NotificationContents):
73726        (WebCore::NotificationContents::icon):
73727        (WebCore::NotificationContents::title):
73728        (WebCore::NotificationContents::body):
73729        * notifications/NotificationPresenter.h: Added.
73730        (WebCore::NotificationPresenter::):
73731        (WebCore::NotificationPresenter::~NotificationPresenter):
73732        * page/Chrome.cpp:
73733        (WebCore::Chrome::notificationPresenter):
73734        * page/Chrome.h:
73735        * page/ChromeClient.h:
73736        * page/DOMWindow.cpp:
73737        (WebCore::DOMWindow::clear):
73738        (WebCore::DOMWindow::webkitNotifications):
73739        * page/DOMWindow.h:
73740        * page/DOMWindow.idl:
73741        * page/Page.h:
73742        * workers/WorkerContext.cpp:
73743        (WebCore::WorkerContext::~WorkerContext):
73744        (WebCore::WorkerContext::webkitNotifications):
73745        * workers/WorkerContext.h:
73746        * workers/WorkerContext.idl:
73747        * workers/WorkerThread.h:
73748        (WebCore::WorkerThread::getNotificationPresenter):
73749        (WebCore::WorkerThread::setNotificationPresenter):
73750
737512009-08-11  Joseph Pecoraro  <joepeck02@gmail.com>
73752
73753        Reviewed by Timothy Hatcher.
73754
73755        Inspector: Console Drawer is Toggling instead of Staying Open
73756        https://bugs.webkit.org/show_bug.cgi?id=28115
73757
73758        * inspector/front-end/Drawer.js:
73759        (WebInspector.Drawer.prototype.showView): ensures the drawer will be open and showing the provided view
73760        * inspector/front-end/inspector.js:
73761        (WebInspector.showConsole): usees the new showView to guarantee the Drawer will be open
73762        (WebInspector.showChanges): uses the new showView guarantee the Drawer will be open
73763
737642009-08-11  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
73765
73766        Reviewed by George Staikos.
73767
73768        [WML] WMLPageState is not allowed to store the active card, it needs to be done per document
73769        https://bugs.webkit.org/show_bug.cgi?id=28180
73770
73771        Don't store the active WMLCardElement in WMLPageState, but in WMLDocument.
73772        Otherwhise this may lead to crashes related to intrinsic event exeuction.
73773
73774        Unfortunately select elements aren't testable by the layout tests, so adding
73775        a new manual test reproducing the crash.
73776
73777        * manual-tests/wml/select-onpick-event-crash.wml: Added.
73778        * wml/WMLCardElement.cpp:
73779        (WebCore::WMLCardElement::determineActiveCard):
73780        * wml/WMLDoElement.cpp:
73781        (WebCore::WMLDoElement::defaultEventHandler):
73782        * wml/WMLDocument.cpp:
73783        (WebCore::WMLDocument::finishedParsing):
73784        * wml/WMLDocument.h:
73785        (WebCore::WMLDocument::activeCard):
73786        * wml/WMLGoElement.cpp:
73787        (WebCore::WMLGoElement::executeTask):
73788        * wml/WMLPageState.cpp:
73789        (WebCore::WMLPageState::WMLPageState):
73790        * wml/WMLPageState.h:
73791        * wml/WMLPrevElement.cpp:
73792        (WebCore::WMLPrevElement::executeTask):
73793        * wml/WMLRefreshElement.cpp:
73794        (WebCore::WMLRefreshElement::executeTask):
73795
737962009-08-07  Peter Kasting  <pkasting@google.com>
73797
73798        Reviewed by Eric Seidel.
73799
73800        https://bugs.webkit.org/show_bug.cgi?id=28073
73801        Treat icons with no bit count and no color count as 256-color for
73802        purposes of quality ranking.  Also fix a couple cases of a style
73803        violation.
73804
73805        Test: fast/images/icon-0colors.html
73806
73807        * platform/image-decoders/ico/ICOImageDecoder.cpp:
73808        (WebCore::ICOImageDecoder::processDirectory):
73809        (WebCore::ICOImageDecoder::readDirectoryEntry):
73810
738112009-08-11  Drew Wilson  <atwilson@google.com>
73812
73813        Reviewed by David Levin.
73814
73815        Need to refactor WorkerObjectProxy.
73816        https://bugs.webkit.org/show_bug.cgi?id=28136
73817
73818        Added WorkerReportingProxy for reporting worker state (exceptions, console messages, thread exited) to the parent.
73819
73820        Existing tests are sufficient, as this is only a refactoring.
73821
73822        * GNUmakefile.am:
73823        Added WorkerReportingProxy.h to build.
73824        * WebCore.gypi:
73825        Added WorkerReportingProxy.h to build.
73826        * WebCore.vcproj/WebCore.vcproj:
73827        Added WorkerReportingProxy.h to build.
73828        * WebCore.xcodeproj/project.pbxproj:
73829        Added WorkerReportingProxy.h to build.
73830        * workers/DedicatedWorkerContext.cpp:
73831        * workers/DedicatedWorkerContext.h:
73832        Removed addMessage/forwardException() APIs - now handled by WorkerReportingProxy.
73833        * workers/DedicatedWorkerThread.cpp:
73834        (WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
73835        Changed constructor to pass WorkerReportingProxy to base class.
73836        * workers/DefaultSharedWorkerRepository.cpp:
73837        Updated SharedWorkerProxy to implement WorkerReportingProxy interface.
73838        (WebCore::SharedWorkerProxy::postExceptionToWorkerObject):
73839        (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
73840        (WebCore::SharedWorkerProxy::workerContextClosed):
73841        (WebCore::SharedWorkerProxy::workerContextDestroyed):
73842        (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
73843        Now passes in WorkerReportingProxy when creating SharedWorkerThread.
73844        * workers/SharedWorkerContext.cpp:
73845        * workers/SharedWorkerContext.h:
73846        Removed addMessage/forwardException() APIs - now handled by WorkerReportingProxy.
73847        * workers/SharedWorkerThread.cpp:
73848        (WebCore::SharedWorkerThread::create):
73849        (WebCore::SharedWorkerThread::SharedWorkerThread):
73850        Passes WorkerReportingProxy to base class constructor.
73851        * workers/SharedWorkerThread.h:
73852        Constructor now takes a WorkerReportingProxy.
73853        * workers/WorkerContext.cpp:
73854        (WebCore::WorkerContext::~WorkerContext):
73855        Moved code that calls workerContextDestroyed() into base class so shared workers share this functionality.
73856        (WebCore::WorkerContext::close):
73857        Now notifies WorkerReportingProxy when the thread is closing.
73858        (WebCore::WorkerContext::reportException):
73859        Reports exceptions via WorkerReportingProxy.
73860        (WebCore::WorkerContext::addMessage):
73861        Reports console messages via WorkerReportingProxy.
73862        * workers/WorkerContext.h:
73863        * workers/WorkerObjectProxy.h:
73864        (WebCore::WorkerObjectProxy::workerContextClosed):
73865        Default empty implementation for dedicated workers.
73866        * workers/WorkerReportingProxy.h: Added.
73867        Base interface that contains APIs moved from WorkerObjectProxy.
73868        (WebCore::WorkerReportingProxy::~WorkerReportingProxy):
73869        * workers/WorkerThread.cpp:
73870        (WebCore::WorkerThread::WorkerThread):
73871        Updated constructor to accept a WorkerReportingProxy.
73872        * workers/WorkerThread.h:
73873        (WebCore::WorkerThread::workerReportingProxy):
73874
738752009-08-11  Simon Hausmann  <simon.hausmann@nokia.com>
73876
73877        Reviewed by NOBODY (build fix).
73878
73879        Fix the Qt build after r47022.
73880
73881        Use the new markChildren() pattern for marking aggregate/child objects.
73882
73883        * bridge/qt/qt_instance.cpp:
73884        (JSC::Bindings::QtRuntimeObjectImp::markChildren):
73885        (JSC::Bindings::QtInstance::markAggregate):
73886        * bridge/qt/qt_instance.h:
73887        * bridge/qt/qt_runtime.cpp:
73888        (JSC::Bindings::QtRuntimeMetaMethod::markChildren):
73889        * bridge/qt/qt_runtime.h:
73890
738912009-08-11  Simon Hausmann  <simon.hausmann@nokia.com>
73892
73893        Reviewed by Holger Freyther.
73894
73895        Fix the build on the Qt build bot by making the generated JS bindings
73896        files depend on the code generator itself.
73897
73898        * WebCore.pro:
73899
739002009-08-07  Oliver Hunt  <oliver@apple.com>
73901
73902        Reviewed by Sam Weinig
73903
73904        Stack overflow crash in JavaScript garbage collector mark pass
73905        https://bugs.webkit.org/show_bug.cgi?id=12216
73906
73907        Make WebCore use the new iterative marking logic.
73908
73909        Tests: fast/js/nested-object-gc.html
73910
73911        * bindings/js/JSAbstractWorkerCustom.cpp:
73912        (WebCore::JSAbstractWorker::markChildren):
73913        * bindings/js/JSDOMApplicationCacheCustom.cpp:
73914        (WebCore::JSDOMApplicationCache::markChildren):
73915        * bindings/js/JSDOMBinding.cpp:
73916        (WebCore::markDOMNodesForDocument):
73917        (WebCore::markActiveObjectsForContext):
73918        (WebCore::markDOMObjectWrapper):
73919        * bindings/js/JSDOMBinding.h:
73920        (WebCore::DOMObjectWithGlobalPointer::markChildren):
73921        * bindings/js/JSDOMGlobalObject.cpp:
73922        (WebCore::JSDOMGlobalObject::markChildren):
73923        * bindings/js/JSDOMGlobalObject.h:
73924        * bindings/js/JSDOMWindowCustom.cpp:
73925        (WebCore::JSDOMWindow::markChildren):
73926        * bindings/js/JSDOMWindowShell.cpp:
73927        (WebCore::JSDOMWindowShell::markChildren):
73928        * bindings/js/JSDOMWindowShell.h:
73929        * bindings/js/JSDedicatedWorkerContextCustom.cpp:
73930        (WebCore::JSDedicatedWorkerContext::markChildren):
73931        * bindings/js/JSDocumentCustom.cpp:
73932        (WebCore::JSDocument::markChildren):
73933        * bindings/js/JSEventListener.cpp:
73934        (WebCore::JSEventListener::markJSFunction):
73935        * bindings/js/JSEventListener.h:
73936        * bindings/js/JSMessageChannelCustom.cpp:
73937        (WebCore::JSMessageChannel::markChildren):
73938        * bindings/js/JSMessagePortCustom.cpp:
73939        (WebCore::JSMessagePort::markChildren):
73940        * bindings/js/JSNavigatorCustom.cpp:
73941        (WebCore::JSNavigator::markChildren):
73942        * bindings/js/JSNodeCustom.cpp:
73943        (WebCore::JSNode::markChildren):
73944        * bindings/js/JSNodeFilterCondition.cpp:
73945        (WebCore::JSNodeFilterCondition::markAggregate):
73946        * bindings/js/JSNodeFilterCondition.h:
73947        * bindings/js/JSNodeFilterCustom.cpp:
73948        (WebCore::JSNodeFilter::markChildren):
73949        * bindings/js/JSNodeIteratorCustom.cpp:
73950        (WebCore::JSNodeIterator::markChildren):
73951        * bindings/js/JSQuarantinedObjectWrapper.cpp:
73952        (WebCore::JSQuarantinedObjectWrapper::markChildren):
73953        * bindings/js/JSQuarantinedObjectWrapper.h:
73954        * bindings/js/JSSVGElementInstanceCustom.cpp:
73955        (WebCore::JSSVGElementInstance::markChildren):
73956        * bindings/js/JSSharedWorkerCustom.cpp:
73957        (WebCore::JSSharedWorker::markChildren):
73958        * bindings/js/JSStyleSheetCustom.cpp:
73959        (WebCore::JSStyleSheet::markChildren):
73960        * bindings/js/JSTreeWalkerCustom.cpp:
73961        (WebCore::JSTreeWalker::markChildren):
73962        * bindings/js/JSWebSocketCustom.cpp:
73963        (WebCore::JSWebSocket::markChildren):
73964        * bindings/js/JSWorkerContextCustom.cpp:
73965        (WebCore::JSWorkerContext::markChildren):
73966        * bindings/js/JSWorkerCustom.cpp:
73967        (WebCore::JSWorker::markChildren):
73968        * bindings/js/JSXMLHttpRequestCustom.cpp:
73969        (WebCore::JSXMLHttpRequest::markChildren):
73970        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
73971        (WebCore::JSXMLHttpRequestUpload::markChildren):
73972        * bindings/scripts/CodeGeneratorJS.pm:
73973        * dom/EventListener.h:
73974        (WebCore::EventListener::markJSFunction):
73975        (WebCore::markIfNotNull):
73976        * dom/NodeFilter.h:
73977        (WebCore::NodeFilter::markAggregate):
73978        * dom/NodeFilterCondition.h:
73979        (WebCore::NodeFilterCondition::markAggregate):
73980        * dom/RegisteredEventListener.h:
73981        (WebCore::markEventListeners):
73982        * page/DOMWindow.h:
73983        * workers/WorkerContext.h:
73984
739852009-08-10  Jeremy Orlow  <jorlow@chromium.org>
73986
73987        Reviewed by Eric Seidel.
73988
73989        Renamed all V8 NPN_ functions to _NPN_ to match JSC and make them "private".
73990        https://bugs.webkit.org/show_bug.cgi?id=28089
73991
73992        Rename all the NPN_foo functions to _NPN_foo so that they can't directly be
73993        called by mistake.  This roughly matches the way JSC does it, which is an
73994        additional advantage.
73995
73996        * bindings/v8/NPV8Object.cpp:
73997        (npCreateV8ScriptObject):
73998        (_NPN_Invoke):
73999        (_NPN_InvokeDefault):
74000        (_NPN_Evaluate):
74001        (_NPN_EvaluateHelper):
74002        (_NPN_GetProperty):
74003        (_NPN_SetProperty):
74004        (_NPN_RemoveProperty):
74005        (_NPN_HasProperty):
74006        (_NPN_HasMethod):
74007        (_NPN_SetException):
74008        (_NPN_Enumerate):
74009        (_NPN_Construct):
74010        * bindings/v8/ScriptController.cpp:
74011        (WebCore::ScriptController::clearScriptObjects):
74012        (WebCore::ScriptController::createScriptInstanceForWidget):
74013        (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
74014        * bindings/v8/V8NPObject.cpp:
74015        (npObjectInvokeImpl):
74016        (npObjectGetProperty):
74017        (npObjectIndexedPropertyGetter):
74018        (npObjectGetIndexedProperty):
74019        (npObjectSetProperty):
74020        (npObjectIndexedPropertySetter):
74021        (npObjectSetIndexedProperty):
74022        (weakNPObjectCallback):
74023        (createV8ObjectForNPObject):
74024        (forgetV8ObjectForNPObject):
74025        * bindings/v8/V8NPUtils.cpp:
74026        (getStringIdentifier):
74027        * bindings/v8/npruntime.cpp:
74028        * bindings/v8/npruntime_impl.h:
74029
740302009-08-10  Jeremy Orlow  <jorlow@chromium.org>
74031
74032        Reviewed by Brady Eidson.
74033
74034        Change ___Storage.key() to match current spec behavior.
74035        https://bugs.webkit.org/show_bug.cgi?id=28112
74036
74037        The current WebStorage spec says that ___Storage.key() should return null when
74038        the index is out of bounds, rather than an exception.  A bunch of logic can be
74039        simplified after this change.
74040
74041        * bindings/js/JSStorageCustom.cpp:
74042        (WebCore::JSStorage::getPropertyNames):
74043        * bindings/v8/custom/V8StorageCustom.cpp:
74044        (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
74045        * storage/Storage.cpp:
74046        (WebCore::Storage::key):
74047        * storage/Storage.h:
74048        * storage/Storage.idl:
74049        * storage/StorageArea.h:
74050        * storage/StorageAreaImpl.cpp:
74051        (WebCore::StorageAreaImpl::key):
74052        * storage/StorageAreaImpl.h:
74053        * storage/StorageMap.cpp:
74054        (WebCore::StorageMap::key):
74055        * storage/StorageMap.h:
74056
740572009-08-07  Michael Nordman  <michaeln@google.com>
74058
74059        Reviewed by Darin Fisher.
74060
74061        https://bugs.webkit.org/show_bug.cgi?id=28087
74062
74063        Mods for a chrome specific impl of ApplicationCacheHost.
74064
74065        * The public section of the interface is the same, but we use
74066        PLATFORM(CHROMIUM) to identify which parts of the private
74067        section are shared. The chrome specific internals are encapsulated
74068        in a seperate ApplicationCacheHostInternal class. WebCore common
74069        code only contains a forward reference to this class.
74070
74071        * Cleanup a couple of stale comments.
74072
74073        * Have window.applicationCache return null to script when the
74074        feature is disabled in the preferences.
74075        
74076        No new tests.
74077
74078        * loader/appcache/ApplicationCacheHost.cpp:
74079        * loader/appcache/ApplicationCacheHost.h:
74080        (WebCore::ApplicationCacheHost::documentLoader):
74081        * page/DOMWindow.cpp:
74082        (WebCore::DOMWindow::applicationCache):
74083
740842009-08-10  Crystal Zhang  <crystal.zhang@torchmobile.com>
74085
74086        Reviewed by George Staikos.
74087
74088        Implement GraphicsContext::fillRoundRect() for WINCE port
74089        https://bugs.webkit.org/show_bug.cgi?id=27842
74090
74091        * platform/graphics/GraphicsContext.h:
74092        * platform/graphics/wince/GraphicsContextWince.cpp:
74093        (WebCore::rectCenterPoint):
74094        (WebCore::GraphicsContext::fillRoundedRect):
74095        (WebCore::GraphicsContext::drawRoundCorner):
74096
740972009-08-10  Anthony Ricaud  <rik@webkit.org>
74098
74099        Reviewed by Timothy Hatcher.
74100
74101        Inspector Resources / Graphs should support filtering
74102        https://bugs.webkit.org/show_bug.cgi?id=20629
74103
74104        Introduces a filter bar for resources.
74105
74106        Thanks to Matt Lilek for the CSS scope bar.
74107
74108        * English.lproj/localizedStrings.js:
74109        * inspector/front-end/ResourcesPanel.js:
74110        (WebInspector.ResourcesPanel.createFilterElement):
74111        (WebInspector.ResourcesPanel):
74112        (WebInspector.ResourcesPanel.prototype.toolbarItemClass.categoryOrder.filter):
74113        (WebInspector.ResourcesPanel.prototype._updateFilter):
74114        (WebInspector.ResourcesPanel.prototype._updateSummaryGraph):
74115        * inspector/front-end/inspector.css:
74116        * inspector/front-end/inspector.js:
74117        (WebInspector.loaded):
74118
741192009-08-10  Brent Fulgham  <bfulgham@webkit.org>
74120
74121        Unreviewed build correction after http://trac.webkit.org/changeset/46978
74122
74123        * platform/network/curl/ResourceHandleManager.cpp:
74124        (WebCore::ResourceHandleManager::initializeHandle):  Correct
74125         deprecated removeRef to new removeFragmentIdentifier.
74126
741272009-08-07  Ryosuke Niwa  <rniwa@webkit.org>
74128
74129        Reviewed by Justin Garcia.
74130
74131        Background color formatting lost on enter
74132        https://bugs.webkit.org/show_bug.cgi?id=20348
74133
74134        This patch makes background color be preserved during editing.
74135        In particular, editingStyleAtPosition would include the background color when obtaining styles.
74136
74137        * editing/ApplyStyleCommand.cpp:
74138        (WebCore::): Added CSSPropertyBackgroundColor to editingStyleProperties
74139
741402009-08-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
74141
74142        Reviewed by Simon Hausmann.
74143
74144        Stop sending QEvent::CursorChange to Qt for mouse move.
74145
74146        Verify if the cursor didn't change in WidgetQt::setCursor,
74147        just like the mac port does.
74148
74149        Thanks to Adriano Rezendo for spotting and debugging the
74150        issue.
74151
74152        * platform/qt/WidgetQt.cpp:
74153        (WebCore::Widget::setCursor):
74154
741552009-08-10  Alexey Proskuryakov  <ap@apple.com>
74156
74157        Reviewed by Brady Eidson.
74158
74159        https://bugs.webkit.org/show_bug.cgi?id=28165
74160        Application cache maximum size cannot be set before the database is opened
74161
74162        * loader/appcache/ApplicationCacheStorage.cpp:
74163        (WebCore::ApplicationCacheStorage::vacuumDatabaseFile): Open appcache database if it isn't
74164        open yet.
74165
741662009-08-10  Vitaly Repeshko  <vitalyr@quad.spb.corp.google.com>
74167
74168        Reviewed by Dimitri Glazkov.
74169
74170        [V8] Fix memory leak in node event listeners. See http://crbug.com/17400.
74171        https://bugs.webkit.org/show_bug.cgi?id=28156
74172
74173        * bindings/scripts/CodeGeneratorV8.pm: Custom event handler accessors now apply to all Node descendants.
74174        * bindings/v8/V8AbstractEventListener.h:
74175        (WebCore::V8AbstractEventListener::isObjectListener): Added virtual method to detect listeners that have weak references to JS objects.
74176        * bindings/v8/V8DOMWrapper.cpp:
74177        (WebCore::V8DOMWrapper::getTemplate):
74178        * bindings/v8/V8ObjectEventListener.cpp:
74179        * bindings/v8/V8ObjectEventListener.h:
74180        (WebCore::V8ObjectEventListener::isObjectListener):
74181        * bindings/v8/V8Utilities.cpp:
74182        (WebCore::removeHiddenDependency):
74183        * bindings/v8/custom/V8CustomBinding.h:
74184        * bindings/v8/custom/V8ElementCustom.cpp:
74185        * bindings/v8/custom/V8NodeCustom.cpp: Moved custom accessors from V8ElementCustom.cpp.
74186        (WebCore::toEventType):
74187        (WebCore::getEventListener):
74188        (WebCore::ACCESSOR_SETTER):
74189        (WebCore::ACCESSOR_GETTER):
74190        (WebCore::CALLBACK_FUNC_DECL):
74191        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
74192        (WebCore::getEventListener): Made static.
74193
741942009-08-10  Jeremy Orlow  <jorlow@chromium.org>
74195
74196        Reviewed by Darin Fisher.
74197
74198        Cleanup DOM Storage namespace shutdown code usage of security origin.
74199        https://bugs.webkit.org/show_bug.cgi?id=28094
74200
74201        If a storage namespace is not explicitly closed, be sure to do so on
74202        destruction of the object.  In addition, the close call should wait
74203        on the background thread finishing its syncing.  (Not doing so is actually
74204        a regression from the original LocalStorage code.)
74205
74206        There's no point to passing in the SecurityOrigin when copying a storage
74207        area since what was passed in is exactly what is stored within each
74208        storage area.  In addition, the non-copy constructor should take in a
74209        PassRefPtr rather than a pointer since that pointer was only passed into
74210        the constuctor for RefPtr's anyway.
74211
74212        * storage/StorageAreaImpl.cpp:
74213        (WebCore::StorageAreaImpl::StorageAreaImpl):
74214        (WebCore::StorageAreaImpl::copy):
74215        * storage/StorageAreaImpl.h:
74216        * storage/StorageNamespaceImpl.cpp:
74217        (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
74218        (WebCore::StorageNamespaceImpl::~StorageNamespaceImpl):
74219        (WebCore::StorageNamespaceImpl::copy):
74220        (WebCore::StorageNamespaceImpl::close):
74221        * storage/StorageNamespaceImpl.h:
74222
742232009-08-10  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
74224
74225        Not reviewed, build fix.
74226
74227        Rename ref() to fragmentIdentifier() in the wml/ subdirectory.
74228
74229        * wml/WMLCardElement.cpp:
74230        (WebCore::WMLCardElement::determineActiveCard):
74231        * wml/WMLGoElement.cpp:
74232        (WebCore::WMLGoElement::executeTask):
74233        * wml/WMLPageState.cpp:
74234        (WebCore::WMLPageState::canAccessDeck):
74235
742362009-08-10  Steve Falkenburg  <sfalken@apple.com>
74237
74238        Windows build fix.
74239
74240        Exclude JSMedia.cpp from build since it is included in DerivedSources.cpp.
74241        Fixes linker warnings.        
74242        
74243        Corrected spelling of JSInspectorBackend.cpp.
74244        
74245        Other changes related to actually using a Visual Studio to open/save the vcproj file.
74246
74247        * WebCore.vcproj/WebCore.vcproj:
74248
742492009-08-10  Sam Weinig  <sam@webkit.org>
74250
74251        Reviewed by Anders Carlsson.
74252
74253        Remove a dead #define.
74254
74255        * bindings/js/JSDOMBinding.cpp:
74256
742572009-08-10  Dimitri Glazkov  <dglazkov@chromium.org>
74258
74259        Unreviewed, build fix.
74260
74261        [Chromium] Update KURLGoogle for ref* method renames in
74262        http://trac.webkit.org/changeset/46978.
74263        https://bugs.webkit.org/show_bug.cgi?id=28084
74264
74265        * bindings/v8/custom/V8LocationCustom.cpp:
74266        (WebCore::ACCESSOR_SETTER): Renamed ref and setRef to fragmentIdentifier and
74267            setFragmentIdentifier, respectively.
74268        * platform/KURLGoogle.cpp: Ditto, plus all other ref* method names.
74269
742702009-08-10  Jan Michael Alonzo  <jmalonzo@webkit.org>
74271
74272        [Gtk] Unreviewed. Fix the nit as suggested by Darin in bug #28144
74273        for r46989.
74274
74275        * platform/network/soup/ResourceHandleSoup.cpp:
74276        (WebCore::finishedCallback):
74277
742782009-08-10  John Kjellberg  <john.kjellberg@power.alstom.com>
74279
74280        Reviewed by Darin Adler.
74281
74282        Memory leak in error handling code for SOUP interface
74283        https://bugs.webkit.org/show_bug.cgi?id=28144
74284
74285        Freed memory leaked in error handling code for soup requests.
74286
74287        * platform/network/soup/ResourceHandleSoup.cpp:
74288        (WebCore::finishedCallback):
74289        (WebCore::):
74290
742912009-08-10  Dimitri Glazkov  <dglazkov@chromium.org>
74292
74293        Reviewed by Darin Adler.
74294
74295        Provide graceful handling of the situation when an embedder invokes
74296        visited link update methods before a Page constructor has been called.
74297        https://bugs.webkit.org/show_bug.cgi?id=28149
74298
74299        * page/Page.cpp:
74300        (WebCore::Page::allVisitedStateChanged): Added a null-check for allPages.
74301        (WebCore::Page::visitedStateChanged): Ditto.
74302
743032009-08-10  Xan Lopez  <xlopez@igalia.com>
74304
74305        Fix GTKbuild.
74306
74307        * platform/network/soup/ResourceHandleSoup.cpp:
74308        (WebCore::):
74309
743102009-08-10  Dan Bernstein  <mitz@apple.com>
74311
74312        Reviewed by Anders Carlsson.
74313
74314        Remove the redundant, Windows CE-only GlyphBuffer::advnaceData()
74315
74316        * platform/graphics/GlyphBuffer.h: Removed advanceData().
74317        * platform/graphics/wince/GraphicsContextWince.cpp:
74318        (WebCore::GraphicsContext::drawText): Changed to use advances(from)
74319            instead of advanceData() from.
74320
743212009-08-10  Xan Lopez  <xlopez@igalia.com>
74322
74323        Reviewed by Gustavo Noronha.
74324
74325        Remove workaround for older libsoup versions.
74326
74327        * platform/network/soup/ResourceHandleSoup.cpp:
74328        (WebCore::fillResponseFromMessage):
74329
743302009-08-10  Xan Lopez  <xlopez@igalia.com>
74331
74332        Reviewed by Gustavo Noronha.
74333
74334        Let startHttp validate the URI instead of doing it, with potential
74335        crashes, in ::start.
74336
74337        * platform/network/soup/ResourceHandleSoup.cpp:
74338        (WebCore::startHttp):
74339
743402009-08-10  Darin Adler  <darin@apple.com>
74341
74342        Reviewed by Dan Bernstein.
74343
74344        When empty <input> is focused, getSelection() exposes shadow tree nodes
74345        https://bugs.webkit.org/show_bug.cgi?id=15903
74346
74347        Test: fast/forms/shadow-tree-exposure.html
74348
74349        * page/DOMSelection.cpp:
74350        (WebCore::selectionShadowAncestor): Added.
74351        (WebCore::DOMSelection::anchorNode): Return the parent of the shadow
74352        ancestor if the selection is in a shadow tree. Matches Firefox.
74353        (WebCore::DOMSelection::anchorOffset): Return the index of the shadow
74354        ancestor if the selection is in a shadow tree. Matches Firefox.
74355        (WebCore::DOMSelection::focusNode): Ditto.
74356        (WebCore::DOMSelection::focusOffset): Ditto.
74357        (WebCore::DOMSelection::baseNode): More of the same, but since this
74358        is a WebKit-invented property, it does not match Firefox.
74359        (WebCore::DOMSelection::baseOffset): Ditto.
74360        (WebCore::DOMSelection::extentNode): Ditto.
74361        (WebCore::DOMSelection::extentOffset): Ditto.
74362        (WebCore::DOMSelection::isCollapsed): Return true even when the
74363        selection is a range, if the selection is in the shadow tree.
74364        Matches Firefox. Also changed behavior when called and the frame
74365        is gone to return true instead of false which makes more sense.
74366        (WebCore::DOMSelection::empty): Use clear() just like the other
74367        selection-clearing function in this file does.
74368        (WebCore::DOMSelection::getRangeAt): Return a range that starts
74369        and ends before the shadow ancestor. Matches Firefox.
74370
743712009-08-10  Pavel Feldman  <pfeldman@chromium.org>
74372
74373        Reviewed by Timothy Hatcher.
74374
74375        Web Inspector: Make all status bar button images glyph-based.
74376
74377        https://bugs.webkit.org/show_bug.cgi?id=28124
74378
74379        * inspector/front-end/ElementsPanel.js:
74380        (WebInspector.ElementsPanel):
74381        * inspector/front-end/Images/clearConsoleButtonGlyph.png: Added.
74382        * inspector/front-end/Images/clearConsoleButtons.png: Removed.
74383        * inspector/front-end/Images/consoleButtonGlyph.png: Added.
74384        * inspector/front-end/Images/consoleButtons.png: Removed.
74385        * inspector/front-end/Images/dockButtonGlyph.png: Added.
74386        * inspector/front-end/Images/dockButtons.png: Removed.
74387        * inspector/front-end/Images/enableButtons.png: Removed.
74388        * inspector/front-end/Images/enableOutlineButtonGlyph.png: Added.
74389        * inspector/front-end/Images/enableSolidButtonGlyph.png: Added.
74390        * inspector/front-end/Images/excludeButtonGlyph.png: Added.
74391        * inspector/front-end/Images/excludeButtons.png: Removed.
74392        * inspector/front-end/Images/focusButtonGlyph.png: Added.
74393        * inspector/front-end/Images/focusButtons.png: Removed.
74394        * inspector/front-end/Images/largerResourcesButtonGlyph.png: Added.
74395        * inspector/front-end/Images/largerResourcesButtons.png: Removed.
74396        * inspector/front-end/Images/nodeSearchButtonGlyph.png: Added.
74397        * inspector/front-end/Images/nodeSearchButtons.png: Removed.
74398        * inspector/front-end/Images/pauseOnExceptionButtonGlyph.png: Added.
74399        * inspector/front-end/Images/pauseOnExceptionButtons.png: Removed.
74400        * inspector/front-end/Images/percentButtonGlyph.png: Added.
74401        * inspector/front-end/Images/percentButtons.png: Removed.
74402        * inspector/front-end/Images/recordButtonGlyph.png: Added.
74403        * inspector/front-end/Images/recordButtons.png: Removed.
74404        * inspector/front-end/Images/recordToggledButtonGlyph.png: Added.
74405        * inspector/front-end/Images/reloadButtonGlyph.png: Added.
74406        * inspector/front-end/Images/reloadButtons.png: Removed.
74407        * inspector/front-end/Images/undockButtonGlyph.png: Added.
74408        * inspector/front-end/Panel.js:
74409        (WebInspector.Panel.prototype.createStatusBarButton):
74410        * inspector/front-end/ProfilesPanel.js:
74411        (WebInspector.ProfilesPanel):
74412        * inspector/front-end/ResourcesPanel.js:
74413        (WebInspector.ResourcesPanel):
74414        * inspector/front-end/ScriptsPanel.js:
74415        (WebInspector.ScriptsPanel):
74416        * inspector/front-end/WebKit.qrc:
74417        * inspector/front-end/inspector.css:
74418        * inspector/front-end/inspector.html:
74419
744202009-08-07  Brady Eidson  <beidson@apple.com>
74421
74422        Reviewed by Darin Adler.
74423
74424        KURL ref() methods should be fragmentIdentifier() methods 
74425        https://bugs.webkit.org/show_bug.cgi?id=28084
74426
74427        In addition to the renames, also took the chance to replace all use of:
74428        setRef(String());
74429        with:
74430        removeFragmentIdentifier();
74431
74432        * platform/KURL.cpp:
74433        (WebCore::KURL::fragmentIdentifier):
74434        (WebCore::KURL::hasFragmentIdentifier):
74435        (WebCore::KURL::setFragmentIdentifier):
74436        (WebCore::KURL::removeFragmentIdentifier):
74437        (WebCore::KURL::prettyURL):
74438        (WebCore::equalIgnoringFragmentIdentifier):
74439        * platform/KURL.h:
74440
74441        * bindings/js/JSLocationCustom.cpp:
74442        (WebCore::JSLocation::setHash): Rework with new names, and to use the new equalIgnoringNullity() method.
74443
74444        * accessibility/AccessibilityRenderObject.cpp:
74445        (WebCore::AccessibilityRenderObject::internalLinkElement):
74446        * css/CSSCursorImageValue.cpp:
74447        (WebCore::isSVGCursorIdentifier):
74448        * history/HistoryItem.cpp:
74449        (WebCore::HistoryItem::isCurrentDocument):
74450        * html/HTMLAnchorElement.cpp:
74451        (WebCore::HTMLAnchorElement::hash):
74452        * html/HTMLFrameElementBase.cpp:
74453        (WebCore::HTMLFrameElementBase::isURLAllowed):
74454        * loader/FrameLoader.cpp:
74455        (WebCore::FrameLoader::begin):
74456        (WebCore::FrameLoader::gotoAnchor):
74457        (WebCore::FrameLoader::scheduleLocationChange):
74458        (WebCore::FrameLoader::scrollToAnchor):
74459        (WebCore::FrameLoader::shouldReload):
74460        (WebCore::FrameLoader::urlsMatchItem):
74461        * loader/appcache/ApplicationCache.cpp:
74462        (WebCore::ApplicationCache::resourceForURL):
74463        (WebCore::ApplicationCache::resourceForRequest):
74464        * loader/appcache/ApplicationCacheGroup.cpp:
74465        (WebCore::ApplicationCacheGroup::cacheForMainRequest):
74466        (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest):
74467        (WebCore::ApplicationCacheGroup::selectCache):
74468        (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
74469        (WebCore::ApplicationCacheGroup::didReceiveResponse):
74470        (WebCore::ApplicationCacheGroup::didFail):
74471        (WebCore::ApplicationCacheGroup::addEntry):
74472        * loader/appcache/ApplicationCacheResource.h:
74473        (WebCore::ApplicationCacheResource::create):
74474        * loader/appcache/ApplicationCacheStorage.cpp:
74475        (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
74476        (WebCore::ApplicationCacheStorage::cacheGroupForURL):
74477        (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
74478        * loader/appcache/ManifestParser.cpp:
74479        (WebCore::parseManifest):
74480        * page/Location.cpp:
74481        (WebCore::Location::hash):
74482        * page/Page.cpp:
74483        (WebCore::Page::goToItem):
74484        * rendering/RenderPartObject.cpp:
74485        (WebCore::isURLAllowed):
74486        * workers/WorkerLocation.cpp:
74487        (WebCore::WorkerLocation::hash):
74488
744892009-08-10  Andy Shaw <andy.shaw@nokia.com>
74490
74491        Reviewed by Simon Hausmann.
74492
74493        Fix endless loop when the application is quit by a secondary thread during a sync xml http request.
74494
74495        Replace the m_finished state variable and the call to QCoreApplication::processEvents() with
74496        a dedicated QEventLoop, that can be terminated from within WebCoreSynchronousLoader as well
74497        as from Qt through its knowledge of globally registered eventloops.
74498
74499        There is no unit test for this bug as it would require exporting additional symbols and
74500        introduce the synchronous loader as global variable just for the test.
74501
74502        * platform/network/qt/ResourceHandleQt.cpp:
74503        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
74504        (WebCore::WebCoreSynchronousLoader::didFail):
74505        (WebCore::WebCoreSynchronousLoader::waitForCompletion):
74506
745072009-08-10  Pavel Feldman  <pfeldman@chromium.org>
74508
74509        Reviewed by Timothy Hatcher.
74510
74511        WebInspector: Make properties inspection serialized.
74512
74513        https://bugs.webkit.org/show_bug.cgi?id=28078
74514
74515        * inspector/front-end/DOMAgent.js:
74516        (InspectorController.getPrototypes):
74517        (InspectorController.getProperties):
74518        * inspector/front-end/InjectedScript.js:
74519        (InjectedScript.getPrototypes):
74520        (InjectedScript.getProperties):
74521        (InjectedScript.setPropertyValue):
74522        * inspector/front-end/ObjectPropertiesSection.js:
74523        (WebInspector.ObjectRef):
74524        (WebInspector.ObjectPropertyRef):
74525        (WebInspector.ObjectPropertiesSection.prototype.onpopulate):
74526        (WebInspector.ObjectPropertiesSection.prototype.update.callback):
74527        (WebInspector.ObjectPropertiesSection.prototype.update):
74528        (WebInspector.ObjectPropertiesSection.prototype._update):
74529        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
74530        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
74531        (WebInspector.ObjectPropertyTreeElement.prototype.onattach):
74532        (WebInspector.ObjectPropertyTreeElement.prototype.update):
74533        * inspector/front-end/PropertiesSidebarPane.js:
74534        (WebInspector.PropertiesSidebarPane.prototype.update.callback):
74535        (WebInspector.PropertiesSidebarPane.prototype.update):
74536
745372009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
74538
74539        Reviewed by George Staikos.
74540
74541        [WML] wml.css lacks <pre> support
74542        https://bugs.webkit.org/show_bug.cgi?id=28135
74543
74544        Add <pre> support for WML.
74545        Extended fast/wml/text-emphasis.wml to cover <pre> support.
74546
74547        * css/wml.css: <pre> section copied from html.css
74548
745492009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
74550
74551        Reviewed by Oliver Hunt.
74552
74553        Fix non-WML enabled builds. Remove ENABLE(WML) guards around the switch cases 'FrameLoadTypeBackWMLDeckNotAccessible'.
74554
74555        * loader/FrameLoader.cpp:
74556        (WebCore::isBackForwardLoadType):
74557        (WebCore::FrameLoader::restoreDocumentState):
74558        (WebCore::FrameLoader::transitionToCommitted):
74559        (WebCore::FrameLoader::loadItem):
74560
745612009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
74562
74563        Reviewed by George Staikos.
74564
74565        [WML] Deck access control is completly broken
74566        https://bugs.webkit.org/show_bug.cgi?id=27721
74567
74568        Rewrite WML deck access control, actually works now standalone and within LayoutTests.
74569        Added several new layout tests covering local & remote access support.
74570
74571        In order to detect WML task execution failures from within the WML layout tests a new
74572        method Console::lastWMLErrorMessage() has been added, returning the last recorded WML
74573        error message. Change WML log messages to dump to InspectorClient, just like it's done
74574        for HTML - we used to behave like JSMessageSource, which is wrong.
74575
74576        Tests: http/tests/wml/access-target-domain-deny.html
74577               http/tests/wml/access-target-path-deny.html
74578               http/tests/wml/access-target.html
74579               wml/access-target-deny.html
74580               wml/access-target.html
74581
74582        * inspector/ConsoleMessage.h:
74583        (WebCore::ConsoleMessage::source): Added public method to fetch the message source type.
74584        (WebCore::ConsoleMessage::message): Added public method to access the error message.
74585        * inspector/InspectorController.h:
74586        (WebCore::InspectorController::consoleMessages): Added for Console::lastWMLErrorMessage(), to be able to crawl through the list of dumped messages.
74587        * loader/FrameLoader.cpp: Recognize 'FrameLoadTypeBackWMLDeckNotAccessible', all guarded by ENABLE(WML).
74588        (WebCore::isBackForwardLoadType):
74589        (WebCore::FrameLoader::restoreDocumentState):
74590        (WebCore::FrameLoader::transitionToCommitted):
74591        (WebCore::FrameLoader::loadItem):
74592        * loader/FrameLoaderTypes.h:
74593        (WebCore::): Add new load type 'FrameLoadTypeBackWMLDeckNotAccessible', behaving like FrameLoadTypeBack plus WML specific information.
74594        * page/Console.cpp:
74595        (WebCore::Console::addMessage): Don't dump WML messages using ChromeClient (as it's done for JSMessageSource), but go through InspectorController.
74596        (WebCore::Console::lastWMLErrorMessage): Crawl InspectorController::consoleMssages() to look up the last WML error message, if present.
74597        * page/Console.h:
74598        * page/Console.idl: Add "[DontEnum] DOMString lastWMLErrorMessage()".
74599        * wml/WMLAccessElement.cpp: Store path/domain as member variables and pass them to WMLPageState once in insertedIntoDocument().
74600        (WebCore::WMLAccessElement::parseMappedAttribute):
74601        (WebCore::WMLAccessElement::insertedIntoDocument):
74602        * wml/WMLAccessElement.h:
74603        * wml/WMLCardElement.cpp: Handle 'FrameLoadTypeBackWMLDeckNotAccessible' as deck-entry method. Report WML error in current deck.
74604        (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
74605        * wml/WMLDocument.cpp: Enable deck-access control in finishedParsing. Take care of method name changes in WMLPageState.
74606        (WebCore::WMLDocument::finishedParsing):
74607        (WebCore::WMLDocument::initialize):
74608        * wml/WMLErrorHandling.cpp: Never report 'WMLErrorDeckNotAccessible' messages through the tokenizer, that would alter the page into error state.
74609        (WebCore::reportWMLError):
74610        * wml/WMLPageState.cpp: Completly rewrote access path/domain parsing & deck-access control, strictly following the WML spec. All covered by tests.
74611        (WebCore::WMLPageState::WMLPageState):
74612        (WebCore::normalizedHostName):
74613        (WebCore::hostFromURL):
74614        (WebCore::urlForHistoryItem):
74615        (WebCore::tryAccessHistoryURLs):
74616        (WebCore::WMLPageState::processAccessControlData):
74617        (WebCore::WMLPageState::resetAccessControlData):
74618        (WebCore::WMLPageState::canAccessDeck):
74619        (WebCore::WMLPageState::hostIsAllowedToAccess):
74620        (WebCore::WMLPageState::pathIsAllowedToAccess):
74621        * wml/WMLPageState.h:
74622
746232009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
74624
74625        Reviewed by Maciej Stachowiak.
74626
74627        FrameLoadType / WebFrameLoadType enums are out of sync
74628        https://bugs.webkit.org/show_bug.cgi?id=28132
74629
74630        Modify FrameLoadType enum to match the order of WebFrameLoadType in WebFramePrivate.h / IWebFramePrivate.idl.
74631        The mac/win public API exposes the old 'FrameLoadTypeReloadAllowingStaleData' value, which resides between
74632        'FrameLoadTypeReload' and 'FrameLoadTypeSame'. Work around this problem, by assigning 'FrameLoadTypeSame = FrameLoadTypeReload 2'.
74633
74634        Add a note to the FrameLoadType enum to keep it in sync with WebFramePrivate.h & IWebFramePrivate.idl.
74635
74636        * loader/FrameLoaderTypes.h:
74637        (WebCore::):
74638
746392009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
74640
74641        Reviewed by George Staikos.
74642
74643        [WML] manual-tests/wml/onevent-prev.wml crashes
74644        https://bugs.webkit.org/show_bug.cgi?id=27722
74645
74646        Fix intrinsic event execution, leading to crashes.
74647        First finish parsing the document, then execute the events. Not the other way round.
74648        -> exposes bugs all over the WML layout tests, which relied on that quirk.
74649
74650        Fixes manual-tests/wml/onevent-prev.wml.
74651
74652        * wml/WMLDocument.cpp:
74653        (WebCore::WMLDocument::WMLDocument):
74654        (WebCore::WMLDocument::finishedParsing):
74655        (WebCore::WMLDocument::initialize):
74656        * wml/WMLDocument.h:
74657
746582009-08-08  Dimitri Glazkov  <dglazkov@chromium.org>
74659
74660        Unreviewed, build fix.
74661
74662        [Chromium] Update WebCore.gyp to add ImageBuffer.cpp,
74663        introduced by http://trac.webkit.org/changeset/46956.
74664        https://bugs.webkit.org/show_bug.cgi?id=27844
74665
74666        * WebCore.gypi: Added ImageBuffer.cpp.
74667
746682009-08-08  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
74669
74670        Rubber-stamped by Jan Michael Alonzo.
74671
74672        Add [DontEnum] to WML specific initializeWMLPageState/resetWMLPageState methods, to assure
74673        fast/dom/Window/window-properties.html doesn't show any differences when WML is enabled.
74674
74675        * dom/Document.idl:
74676
746772009-08-08  Dirk Schulze  <krit@webkit.org>
74678
74679        Reviewed by Eric Seidel.
74680
74681        SVG Filter need feColorMatrix implementation
74682        [https://bugs.webkit.org/show_bug.cgi?id=27711]
74683
74684        Adds the filter effect feColorMatrix to SVG filters. 
74685
74686        There is already a test in the w3c directory.
74687        Test: svg/W3C-SVG-1.1/filters-color-01-b.svg
74688
74689        * platform/graphics/filters/FEColorMatrix.cpp:
74690        (WebCore::matrix):
74691        (WebCore::saturate):
74692        (WebCore::huerotate):
74693        (WebCore::luminance):
74694        (WebCore::FEColorMatrix::apply):
74695
746962009-08-08  Dirk Schulze  <krit@webkit.org>
74697
74698        Reviewed by Oliver Hunt.
74699
74700        Build fix for Tiger.
74701        https://bugs.webkit.org/show_bug.cgi?id=27844
74702
74703        * platform/graphics/cg/ImageBufferCG.cpp:
74704        (WebCore::ImageBuffer::ImageBuffer):
74705
747062009-08-08  Dirk Schulze  <krit@webkit.org>
74707
74708        Reviewed by Oliver Hunt.
74709
74710        This is an initial implementation for linearRGB and sRGB support for all
74711        platforms. Some platforms like Cg support different color spaces
74712        natively, others like Qt, Cairo and Skia do not. This patch uses the
74713        native implementation of platforms if possible and offers a common version
74714        if not.
74715
74716        Different color spaces are used in SVG Filters. Nearly every Filter test 
74717        case is a test for this patch and will be enabled, once Filters are enabled.
74718        https://bugs.webkit.org/show_bug.cgi?id=27844
74719
74720        * GNUmakefile.am:
74721        * WebCore.pro:
74722        * html/canvas/CanvasRenderingContext2D.cpp:
74723        (WebCore::CanvasRenderingContext2D::drawTextInternal):
74724        * html/HTMLCanvasElement.cpp:
74725        (WebCore::HTMLCanvasElement::createImageBuffer):
74726        * platform/graphics/GeneratedImage.cpp:
74727        (WebCore::GeneratedImage::drawPattern):
74728        * platform/graphics/ImageBuffer.cpp: Added.
74729        (WebCore::ImageBuffer::transformColorSpace):
74730        * platform/graphics/ImageBuffer.h:
74731        (WebCore::):
74732        (WebCore::ImageBuffer::create):
74733        * platform/graphics/cairo/ImageBufferCairo.cpp:
74734        (WebCore::ImageBuffer::ImageBuffer):
74735        (WebCore::ImageBuffer::platformTransformColorSpace):
74736        * platform/graphics/cairo/ImageCairo.cpp:
74737        (WebCore::Image::drawPattern):
74738        * platform/graphics/cg/ImageBufferCG.cpp:
74739        (WebCore::ImageBuffer::ImageBuffer):
74740        * platform/graphics/chromium/TransparencyWin.cpp:
74741        (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers):
74742        * platform/graphics/filters/FilterEffect.cpp:
74743        (WebCore::FilterEffect::getEffectContext):
74744        * platform/graphics/qt/ImageBufferQt.cpp:
74745        (WebCore::ImageBuffer::ImageBuffer):
74746        (WebCore::ImageBuffer::platformTransformColorSpace):
74747        * platform/graphics/qt/PathQt.cpp:
74748        (WebCore::Path::strokeContains):
74749        (WebCore::Path::strokeBoundingRect):
74750        * platform/graphics/skia/ImageBufferSkia.cpp:
74751        (WebCore::ImageBuffer::ImageBuffer):
74752        (WebCore::ImageBuffer::platformTransformColorSpace):
74753        * platform/graphics/skia/SkiaUtils.cpp:
74754        (WebCore::scratchContext):
74755        * platform/graphics/wx/ImageBufferWx.cpp:
74756        (WebCore::ImageBuffer::ImageBuffer):
74757        * platform/mac/ScrollbarThemeMac.mm:
74758        (WebCore::ScrollbarThemeMac::paint):
74759        * rendering/RenderBoxModelObject.cpp:
74760        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
74761        * svg/SVGMaskElement.cpp:
74762        (WebCore::SVGMaskElement::drawMaskerContent):
74763        * svg/SVGPatternElement.cpp:
74764        (WebCore::SVGPatternElement::buildPattern):
74765        * svg/graphics/SVGImage.cpp:
74766        (WebCore::SVGImage::nativeImageForCurrentFrame):
74767        * svg/graphics/SVGPaintServerGradient.cpp:
74768        (WebCore::createMaskAndSwapContextForTextGradient):
74769        * svg/graphics/SVGPaintServerPattern.cpp:
74770        (WebCore::SVGPaintServerPattern::setup):
74771        * svg/graphics/SVGResourceFilter.cpp:
74772        (WebCore::SVGResourceFilter::prepareFilter):
74773        (WebCore::SVGResourceFilter::applyFilter):
74774        * svg/graphics/SVGResourceMasker.cpp:
74775        (WebCore::SVGResourceMasker::applyMask):
74776        * svg/graphics/filters/SVGFETile.cpp:
74777        (WebCore::FETile::apply):
74778
747792009-08-08  Xan Lopez  <xlopez@igalia.com>
74780
74781        Roll out r46928, since it wasn't done in accordance with the
74782        agreed naming.
74783
74784        * bindings/gdom/GdomDOMObject.cpp: Removed.
74785
747862009-08-08  Jan Michael Alonzo  <jmalonzo@webkit.org>
74787
74788        Reviewed by Xan Lopez.
74789
74790        [Gtk] Enable accessibility in Gtk DRT
74791        https://bugs.webkit.org/show_bug.cgi?id=25989
74792
74793        Add SPI to get the focused accessible element to be used by DRT.
74794
74795        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
74796        (webkit_accessible_get_focused_element):
74797        * accessibility/gtk/AccessibilityObjectWrapperAtk.h:
74798
747992009-08-07  Jan Michael Alonzo  <jmalonzo@webkit.org>
74800
74801        Gtk build fix - add html/canvas to the binding generator's include path
74802
74803        * GNUmakefile.am:
74804
748052009-08-07  Oliver Hunt  <oliver@apple.com>
74806
74807        Another attempt to fix windows.
74808
74809        * WebCore.vcproj/WebCore.vcproj:
74810        * WebCore.vcproj/WebCoreCommon.vsprops:
74811
748122009-08-07  Oliver Hunt  <oliver@apple.com>
74813
74814        Windows build fix
74815
74816        * WebCore.vcproj/WebCore.vcproj:
74817
748182009-08-07  Jan Michael Alonzo  <jmalonzo@webkit.org>
74819
74820        Gtk build fix - add html/canvas to the include path.
74821
74822        * GNUmakefile.am:
74823
748242009-08-07  Adam Treat  <adam.treat@torchmobile.com>
74825
74826        Prospective build fix for Qt following r46937.
74827
74828        * WebCore.pro:
74829
748302009-08-07  Yong Li  <yong.li@torchmobile.com>
74831
74832        WINCE PORT: store only width for GlyphBufferAdvance, to save space on low-memory devices
74833        https://bugs.webkit.org/show_bug.cgi?id=27734
74834
74835        * platform/graphics/GlyphBuffer.h:
74836        (WebCore::GlyphBuffer::advanceAt):
74837        (WebCore::GlyphBuffer::advanceData):
74838        (WebCore::GlyphBuffer::add):
74839
748402009-08-07  Yong Li  <yong.li@torchmobile.com>
74841
74842        Reviewed by Eric Seidel.
74843
74844        WINCE PORT: pass unrecognized glyphs to GDI to handle
74845        https://bugs.webkit.org/show_bug.cgi?id=27734
74846
74847        * platform/graphics/FontFastPath.cpp:
74848        (WebCore::Font::glyphDataForCharacter):
74849
748502009-08-07  Chris Marrin  <cmarrin@apple.com>
74851
74852        Reviewed by Oliver Hunt.
74853
74854        Move Canvas related file to a subdirectories
74855        https://bugs.webkit.org/show_bug.cgi?id=28026
74856
74857        * DerivedSources.make:
74858        * GNUmakefile.am:
74859        * WebCore.gypi:
74860        * WebCore.pro:
74861        * WebCore.vcproj/WebCore.vcproj:
74862        * WebCore.xcodeproj/project.pbxproj:
74863        * WebCoreSources.bkl:
74864        * html/CanvasGradient.cpp: Removed.
74865        * html/CanvasGradient.h: Removed.
74866        * html/CanvasGradient.idl: Removed.
74867        * html/CanvasPattern.cpp: Removed.
74868        * html/CanvasPattern.h: Removed.
74869        * html/CanvasPattern.idl: Removed.
74870        * html/CanvasPixelArray.cpp: Removed.
74871        * html/CanvasPixelArray.h: Removed.
74872        * html/CanvasPixelArray.idl: Removed.
74873        * html/CanvasRenderingContext2D.cpp: Removed.
74874        * html/CanvasRenderingContext2D.h: Removed.
74875        * html/CanvasRenderingContext2D.idl: Removed.
74876        * html/CanvasStyle.cpp: Removed.
74877        * html/CanvasStyle.h: Removed.
74878        * html/canvas: Added.
74879        * html/canvas/CanvasGradient.cpp: Copied from WebCore/html/CanvasGradient.cpp.
74880        * html/canvas/CanvasGradient.h: Copied from WebCore/html/CanvasGradient.h.
74881        * html/canvas/CanvasGradient.idl: Copied from WebCore/html/CanvasGradient.idl.
74882        * html/canvas/CanvasPattern.cpp: Copied from WebCore/html/CanvasPattern.cpp.
74883        * html/canvas/CanvasPattern.h: Copied from WebCore/html/CanvasPattern.h.
74884        * html/canvas/CanvasPattern.idl: Copied from WebCore/html/CanvasPattern.idl.
74885        * html/canvas/CanvasPixelArray.cpp: Copied from WebCore/html/CanvasPixelArray.cpp.
74886        * html/canvas/CanvasPixelArray.h: Copied from WebCore/html/CanvasPixelArray.h.
74887        * html/canvas/CanvasPixelArray.idl: Copied from WebCore/html/CanvasPixelArray.idl.
74888        * html/canvas/CanvasRenderingContext2D.cpp: Copied from WebCore/html/CanvasRenderingContext2D.cpp.
74889        * html/canvas/CanvasRenderingContext2D.h: Copied from WebCore/html/CanvasRenderingContext2D.h.
74890        * html/canvas/CanvasRenderingContext2D.idl: Copied from WebCore/html/CanvasRenderingContext2D.idl.
74891        * html/canvas/CanvasStyle.cpp: Copied from WebCore/html/CanvasStyle.cpp.
74892        * html/canvas/CanvasStyle.h: Copied from WebCore/html/CanvasStyle.h.
74893
748942009-08-07  Szabo Carol  <carol.szabo@nokia.com>
74895
74896        Reviewed by David Hyatt.
74897
74898        QtWebkit ignores letter-spacing and word-spacing styles.
74899        QtWebkit handles custom letter-spacing and word-spacing in the native QFont
74900        class, but the values for these options are not not passed on from
74901        the platform independent part of the Font class.
74902        Fixed QtWebkit behavior by applying the options to QFont when it is
74903        returned via Font::font()
74904
74905        http://bugs.webkit.org/show_bug.cgi?id=27988
74906
74907        LayoutTests:
74908        fast/css/word-space-extra.html
74909        css2.1/t1604-c542-letter-sp-00-b-a.html
74910        css2.1/t1604-c541-word-sp-01-b-a.html
74911        css1/text_properties/word_spacing.html
74912        
74913        * platform/graphics/qt/FontQt.cpp:
74914        (WebCore::Font::font):
74915
749162009-08-07  Nicolas Weber  <thakis@chromium.org>
74917
74918        Reviewed by Darin Adler.
74919
74920        Use correct highlight color for listboxes and completion popups.
74921
74922        https://bugs.webkit.org/show_bug.cgi?id=28090
74923
74924        * rendering/RenderThemeChromiumMac.h:
74925        * rendering/RenderThemeChromiumMac.mm:
74926        Rename activeListBoxSelectionBackgroundColor to
74927        platformActiveListBoxSelectionBackgroundColor, so that it actually
74928        overrides a virtual method.
74929
749302009-08-07  Maxime Simon  <simon.maxime@gmail.com>
74931
74932        Reviewed by Eric Seidel.
74933
74934        Added a fourth bunch of Haiku-specific files for WebCore.
74935        https://bugs.webkit.org/show_bug.cgi?id=26988
74936
74937        * platform/haiku/PasteboardHaiku.cpp: Added.
74938        (WebCore::Pasteboard::Pasteboard):
74939        (WebCore::Pasteboard::generalPasteboard):
74940        (WebCore::Pasteboard::writeSelection):
74941        (WebCore::Pasteboard::canSmartReplace):
74942        (WebCore::Pasteboard::plainText):
74943        (WebCore::Pasteboard::documentFragment):
74944        (WebCore::Pasteboard::writeURL):
74945        (WebCore::Pasteboard::writeImage):
74946        (WebCore::Pasteboard::clear):
74947        * platform/haiku/PlatformKeyboardEventHaiku.cpp: Added.
74948        (WebCore::keyIdentifierForHaikuKeyCode):
74949        (WebCore::windowsKeyCodeForKeyEvent):
74950        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
74951        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
74952        (WebCore::PlatformKeyboardEvent::currentCapsLockState):
74953        * platform/haiku/PlatformMouseEventHaiku.cpp: Added.
74954        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
74955        * platform/haiku/PlatformWheelEventHaiku.cpp: Added.
74956        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
74957
749582009-08-07  Nicolas Weber  <thakis@chromium.org>
74959
74960        Teach WebKit how to decode jpegs in cmyk and ycck color spaces.
74961        Heavily inspired by Firefox's take on this issue.
74962
74963        https://bugs.webkit.org/show_bug.cgi?id=27909
74964
74965        Reviewed by Eric Seidel.
74966
74967        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
74968        (WebCore::JPEGImageReader::decode):
74969        Tell jpeglib to convert ycck to cmyk and keep cmyk.
74970        (WebCore::convertCMYKToRGBA):
74971        Added function to convert cmyk to rgb.
74972        (WebCore::convertRGBToRGBA):
74973        Extracted existing conversion logic into its own function.
74974        (WebCore::JPEGImageDecoder::outputScanlines):
74975        Call convertCMYKToRGBA for cmyk images, convertRGBToRGBA for rgb
74976        images.
74977
749782009-08-07  Drew Wilson  <atwilson@google.com>
74979
74980        Reviewed by David Levin.
74981
74982        SharedWorkers should be shared
74983        https://bugs.webkit.org/show_bug.cgi?id=28058
74984
74985        Added tracking of shared workers to the SharedWorkerRepository.
74986
74987        * workers/DefaultSharedWorkerRepository.cpp:
74988        (WebCore::SharedWorkerProxy::create):
74989        Changed SharedWorkerProxy to derive from ThreadSafeShared, as it needs to outlive the repository (if closed while some documents are still loading).
74990        (WebCore::SharedWorkerProxy::thread):
74991        (WebCore::SharedWorkerProxy::closing):
74992        Added flag used to determine whether the worker has closed itself while loading.
74993        (WebCore::SharedWorkerProxy::url):
74994        (WebCore::SharedWorkerProxy::name):
74995        Proxy now tracks worker URL and name to allow validity checks per section 4.8.3 of the WebWorkers spec.
74996        (WebCore::SharedWorkerProxy::SharedWorkerProxy):
74997        (WebCore::SharedWorkerProxy::addToDocumentSet):
74998        Added API to track the document set for a worker to allow worker shutdown. Currently does nothing.
74999        (WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader):
75000        Renamed SharedWorkerLoader to be SharedWorkerScriptLoader for clarity.
75001        (WebCore::SharedWorkerScriptLoader::load):
75002        (WebCore::SharedWorkerScriptLoader::notifyFinished):
75003        (WebCore::DefaultSharedWorkerRepository::instance):
75004        (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
75005        Now handles "worker already loaded" case.
75006        (WebCore::SharedWorkerRepository::connect):
75007        Delegates to DefaultSharedWorkerRepository::connectToWorker
75008        (WebCore::DefaultSharedWorkerRepository::connectToWorker):
75009        Added code to track the SharedWorkerProxy in a map, and to handle the "worker already loaded" case.
75010        (WebCore::DefaultSharedWorkerRepository::getProxy):
75011        Atomic get-or-create operation on the internal tracking HashMap.
75012        * workers/DefaultSharedWorkerRepository.h:
75013        * workers/SharedWorker.cpp:
75014        (WebCore::SharedWorker::SharedWorker):
75015        * workers/SharedWorkerRepository.h:
75016        Removed instance() API and made constructor private to prevent instantiation.
75017        (WebCore::SharedWorkerRepository::SharedWorkerRepository):
75018
750192009-08-07  Maxime Simon  <simon.maxime@gmail.com>
75020
75021        Reviewed by Eric Seidel.
75022
75023        Added four Haiku-specific files for WebCore:
75024        PopupMenuHaiku.cpp, ScreenHaiku.cpp,
75025        SearchPopupMenuHaiku.cpp and SoundHaiku.cpp
75026        https://bugs.webkit.org/show_bug.cgi?id=28080
75027
75028        * platform/haiku/PopupMenuHaiku.cpp: Added.
75029        (WebCore::PopupMenu::PopupMenu):
75030        (WebCore::PopupMenu::~PopupMenu):
75031        (WebCore::PopupMenu::show):
75032        (WebCore::PopupMenu::hide):
75033        (WebCore::PopupMenu::updateFromElement):
75034        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
75035        * platform/haiku/ScreenHaiku.cpp: Added.
75036        (WebCore::screenRect):
75037        (WebCore::screenAvailableRect):
75038        (WebCore::screenDepth):
75039        (WebCore::screenDepthPerComponent):
75040        (WebCore::screenIsMonochrome):
75041        * platform/haiku/SearchPopupMenuHaiku.cpp: Added.
75042        (WebCore::SearchPopupMenu::SearchPopupMenu):
75043        (WebCore::SearchPopupMenu::saveRecentSearches):
75044        (WebCore::SearchPopupMenu::loadRecentSearches):
75045        (WebCore::SearchPopupMenu::enabled):
75046        * platform/haiku/SoundHaiku.cpp: Added.
75047        (WebCore::systemBeep):
75048
750492009-08-07  Maxime Simon  <simon.maxime@gmail.com>
75050
75051        Reviewed by Eric Seidel.
75052
75053        Added two Haiku-specific files to WebCore:
75054        TemporaryLinkStubs.cpp and WidgetHaiku.cpp
75055        https://bugs.webkit.org/show_bug.cgi?id=28080
75056
75057        * platform/haiku/TemporaryLinkStubs.cpp: Added.
75058        (loadResourceIntoArray):
75059        (WebCore::historyContains):
75060        (WebCore::supportedKeySizes):
75061        (WebCore::signedPublicKeyAndChallengeString):
75062        (WebCore::userIdleTime):
75063        (WebCore::callOnMainThread):
75064        (WebCore::SharedBuffer::createWithContentsOfFile):
75065        (WebCore::KURL::fileSystemPath):
75066        (WebCore::getSupportedKeySizes):
75067        * platform/haiku/WidgetHaiku.cpp: Added.
75068        (WebCore::Widget::Widget):
75069        (WebCore::Widget::~Widget):
75070        (WebCore::Widget::frameRect):
75071        (WebCore::Widget::setFrameRect):
75072        (WebCore::Widget::setFocus):
75073        (WebCore::Widget::setCursor):
75074        (WebCore::Widget::show):
75075        (WebCore::Widget::hide):
75076        (WebCore::Widget::paint):
75077        (WebCore::Widget::setIsSelected):
75078
750792009-08-07  Jian Li  <jianli@chromium.org>
75080
75081        Reviewed by Dimitri Glazkov.
75082
75083        [V8] Fix the problem that isAttribute is set to false for onerror and
75084        onmessage in worker custom code.
75085        https://bugs.webkit.org/show_bug.cgi?id=28083
75086
75087        * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
75088        (WebCore::getEventListener):
75089        (WebCore::ACCESSOR_SETTER):
75090        (WebCore::CALLBACK_FUNC_DECL):
75091        * bindings/v8/custom/V8WorkerContextCustom.cpp:
75092        (WebCore::ACCESSOR_SETTER):
75093        * bindings/v8/custom/V8WorkerCustom.cpp:
75094        (WebCore::getEventListener):
75095        (WebCore::ACCESSOR_SETTER):
75096
750972009-08-07  Vitaly Repeshko  <vitalyr@quad.spb.corp.google.com>
75098
75099        Reviewed by Dimitri Glazkov.
75100
75101        V8 bindings: speed up lookupDOMWrapper by using new V8 API function.
75102
75103        https://bugs.webkit.org/show_bug.cgi?id=28071
75104
75105        * bindings/v8/V8DOMWrapper.cpp:
75106        * bindings/v8/V8DOMWrapper.h:
75107        (WebCore::V8DOMWrapper::lookupDOMWrapper):
75108
751092009-08-07  Ryosuke Niwa  <rniwa@webkit.org>
75110
75111        Reviewed by Justin Garcia.
75112
75113        selectionHasStyle doesn't handle text-specific properties properly
75114        https://bugs.webkit.org/show_bug.cgi?id=27858
75115
75116        This patch modifies selectionHasStyle so that it returns TrueTriState when text styles
75117        (text-decoration, font-style, font-weight, & color) are present in all text nodes,
75118        regardless of whether the style is also present in their ancestor nodes or not.
75119        e.g. New behavior concludes that <b><i>hello</i><i>world</i></b> has italic style.
75120
75121        WebKit now applies the text styles (bold, italic, etc) if the specified style was not present on
75122        at least one text node, rather than at the beginning of selection except on Mac.
75123        On Mac, WebKit applies the text style if the style was not present at the beginning of style.
75124
75125        Test: editing/execCommand/toggle-compound-styles.html
75126
75127        * editing/ApplyStyleCommand.cpp:
75128        (WebCore::getPropertiesNotInComputedStyle): bug fix, must use copy instead of makeMutable for a mutable style.
75129        * editing/Editor.cpp:
75130        (WebCore::):
75131        (WebCore::triStateOfStyleInComputedStyle): Added a boolean type to ignore text-specific styles
75132        (WebCore::Editor::selectionHasStyle): Ignores text-specific styles for all but text nodes
75133        * editing/EditorCommand.cpp:
75134        (WebCore::executeToggleStyle): Uses selectionHasStyle instead of selectionStartHasStyle
75135
751362009-08-07  Jian Li  <jianli@chromium.org>
75137
75138        Reviewed by Dimitri Glazkov.
75139
75140        [V8] Do not register V8 error message listener in WorkerContextExecutionProxy.
75141        https://bugs.webkit.org/show_bug.cgi?id=28082
75142
75143        * bindings/v8/WorkerContextExecutionProxy.cpp:
75144        (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):
75145
751462009-08-07  Kwang Yul Seo  <skyul@company100.net>
75147
75148        Reviewed by Eric Seidel.
75149
75150        Cairo-based Windows port does not handle cookies properly
75151        https://bugs.webkit.org/show_bug.cgi?id=27414
75152
75153        curl handles cookies by itself, so using WinINet functions
75154        to get and set cookies is wrong.
75155
75156        Replace CookieJarWin.cpp with CookieJarCurl.cpp so that
75157        cookies can be implemented later once curl provides an API to
75158        get and set cookies.
75159
75160        * WebCore.vcproj/WebCore.vcproj:
75161
751622009-08-07  Michael Nordman  <michaeln@google.com>
75163
75164        Reviewed by Dimitri Glazkov.
75165
75166        https://bugs.webkit.org/show_bug.cgi?id=28074
75167
75168        V8 bindings for the window.applicationCache attribute.
75169
75170        * WebCore.gypi:
75171        * bindings/scripts/CodeGeneratorV8.pm:
75172        * bindings/v8/DOMObjectsInclude.h:
75173        * bindings/v8/DerivedSourcesAllInOne.cpp:
75174        * bindings/v8/V8DOMWrapper.cpp:
75175        (WebCore::V8DOMWrapper::getTemplate):
75176        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
75177        * bindings/v8/V8Index.cpp:
75178        * bindings/v8/V8Index.h:
75179        * bindings/v8/custom/V8CustomBinding.h:
75180        * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: Added.
75181
751822009-08-07  Alpha Lam  <hclam@chromium.org>
75183
75184        Reviewed by Eric Seidel.
75185
75186        Right click on timeline of media controls panel cause seek
75187        https://bugs.webkit.org/show_bug.cgi?id=27920
75188
75189        Add a test simulate the behavior of seeking by right clicking
75190        on the time bar of media controls while playing.
75191
75192        * media/controls-right-click-on-timebar-expected.txt: Added.
75193        * media/controls-right-click-on-timebar.html: Added.
75194
751952009-08-07  Ryosuke Niwa  <rniwa@webkit.org>
75196
75197        Reviewed by Justin Garcia.
75198
75199        deprecatedCopyInheritableProperties must be replaced by two different functions
75200        https://bugs.webkit.org/show_bug.cgi?id=28057
75201
75202        This patch deletes deprecatedInheritableProperties and modifies call callees to call either editingStyleAtPosition
75203        or prepareEditingStyleToApplyAt. The concept of editing style is introduced in this patch,
75204        which consists of all CSS properties need to be preserved under editing operations.
75205
75206        No test is added since this patch does not change any behavior.
75207
75208        * css/CSSComputedStyleDeclaration.cpp: Removed deprecatedCopyInheritableProperties
75209        * css/CSSComputedStyleDeclaration.h: Removed deprecatedCopyInheritableProperties
75210        * editing/ApplyStyleCommand.cpp:
75211        (WebCore::):
75212        (WebCore::editingStyleAtPosition): Obtains the editing-specific computed style at the position
75213        (WebCore::prepareEditingStyleToApplyAt): Removes redundant editing styles at the specified position
75214        (WebCore::removeStylesAddedByNode): Removes the style derived from the specified node
75215        * editing/ApplyStyleCommand.h:
75216        (WebCore::):
75217        * editing/CompositeEditCommand.cpp:
75218        (WebCore::CompositeEditCommand::moveParagraphs): Uses editingStyleAtPosition
75219        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Uses editingStyleAtPosition
75220        * editing/DeleteSelectionCommand.cpp:
75221        (WebCore::removeEnclosingAnchorStyle): Uses removeStyleOfNode
75222        (WebCore::DeleteSelectionCommand::saveTypingStyleState): Uses editingStyleAtPosition
75223        (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Uses prepareEditingStyleToApplyAt
75224        * editing/EditCommand.cpp:
75225        * editing/EditCommand.h:
75226        * editing/InsertParagraphSeparatorCommand.cpp:
75227        (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Uses editingStyleAtPosition
75228        (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Uses prepareEditingStyleToApplyAt
75229        * editing/RemoveFormatCommand.cpp:
75230        (WebCore::RemoveFormatCommand::doApply): Uses editingStyleAtPosition
75231        * editing/ReplaceSelectionCommand.cpp:
75232        (WebCore::handleStyleSpansBeforeInsertion): Uses editingStyleAtPosition
75233        (WebCore::ReplaceSelectionCommand::handleStyleSpans): Uses editingStyleAtPosition and prepareEditingStyleToApplyAt
75234        (WebCore::ReplaceSelectionCommand::doApply): Uses prepareEditingStyleToApplyAt
75235        * editing/markup.cpp:
75236        (WebCore::removeEnclosingMailBlockquoteStyle): Uses removeStyleOfNode
75237        (WebCore::removeDefaultStyles): Uses prepareEditingStyleToApplyAt
75238        (WebCore::createMarkup): Uses editingStyleAtPosition
75239
752402009-08-07  Steve Block  <steveblock@google.com>
75241
75242        Reviewed by Darin Adler.
75243
75244        Bug 27250: Geolocation callback function IDL files are superfluous
75245        https://bugs.webkit.org/show_bug.cgi?id=27250
75246
75247        The objects for the Geolocation success and error callbacks are created 'manually' in
75248        WebCore/bindings/js/JSGeolocationCustom.cpp. Furthermore, the callback interfaces are 
75249        marked 'NoInterfaceObject' in the W3C spec, so the prototype should not
75250        appear on the window object. Hence IDL files for these callbacks are not required.
75251
75252        See http://www.w3.org/TR/geolocation-API/#geolocation_interface and
75253        http://www.w3.org/TR/WebIDL/#NoInterfaceObject.
75254
75255        No new tests required.
75256
75257        * DerivedSources.make: Modified. Removed reference to IDL files.
75258        * WebCore.gypi: Modified. Removed reference to IDL files.
75259        * WebCore.xcodeproj/project.pbxproj: Modified. Removed reference to IDL files.
75260        * page/PositionCallback.idl: Removed.
75261        * page/PositionErrorCallback.idl: Removed.
75262
752632009-08-07  Adam Treat  <adam.treat@torchmobile.com>
75264
75265        Reviewed by David Levin.
75266
75267        Build fix for Qt when ENABLE_VIDEO = 0.  This was necessitated by r46890 which
75268        put the idl files back into play regardless of compile time defines.
75269
75270        * html/TimeRanges.idl:
75271
752722009-08-07  Mike Fenton  <mike.fenton@torchmobile.com>
75273
75274        Reviewed by George Staikos.
75275
75276        Coding style patches for RenderThemeQt.cpp based on results from cpp_style.py.
75277
75278        https://bugs.webkit.org/show_bug.cgi?id=28050
75279
75280        * platform/qt/RenderThemeQt.cpp:
75281        (WebCore::RenderThemeQt::baselinePosition):
75282        (WebCore::inflateButtonRect):
75283        (WebCore::RenderThemeQt::supportsFocus):
75284        (WebCore::RenderThemeQt::applyTheme):
75285
752862009-08-07  Mike Fenton  <mike.fenton@torchmobile.com>
75287
75288        Reviewed by Eric Seidel.
75289
75290        Prevent RenderThemeQt AdjustStyle based calls for TextField, MenuList and MenuListButton
75291        from discarding style colour.
75292
75293        Add tests and remove tests from platform/qt/Skipped that now pass.
75294
75295        https://bugs.webkit.org/show_bug.cgi?id=28050
75296
75297        Tests: fast/forms/menulist-style-color.html
75298               fast/forms/text-style-color.html
75299
75300        * platform/qt/RenderThemeQt.cpp:
75301        (WebCore::RenderThemeQt::adjustTextFieldStyle):
75302        (WebCore::RenderThemeQt::adjustMenuListStyle):
75303        (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
75304
753052009-08-07  Dimitri Glazkov  <dglazkov@chromium.org>
75306
75307        Unreviewed, build fix.
75308
75309        https://bugs.webkit.org/show_bug.cgi?id=22495
75310        [V8] Re-land http://trac.webkit.org/changeset/46821, now that
75311        http://trac.webkit.org/changeset/46874 re-landed
75312
75313        * bindings/v8/DOMObjectsInclude.h:
75314        * bindings/v8/DerivedSourcesAllInOne.cpp:
75315        * bindings/v8/V8Index.cpp:
75316        * bindings/v8/V8Index.h:
75317
753182009-08-07  Adam Treat  <adam.treat@torchmobile.com>
75319
75320        Reviewed by Darin Adler and George Staikos.
75321
75322        Add rectToRect convenience function which returns the TransformationMatrix
75323        which maps the 'from' rectangle to the 'to' rectangle.
75324
75325        https://bugs.webkit.org/show_bug.cgi?id=28067
75326
75327        No tests as this would require binding the method to js and since it is static
75328        that doesn't seem possible.  Please check the math.
75329
75330        * platform/graphics/transforms/TransformationMatrix.cpp:
75331        (WebCore::TransformationMatrix::rectToRect):
75332        * platform/graphics/transforms/TransformationMatrix.h:
75333
753342009-08-07  Brady Eidson  <beidson@apple.com>
75335
75336        Reviewed by Darin Adler.
75337
75338        Implement the HTML5 hashchange event.
75339        https://bugs.webkit.org/show_bug.cgi?id=21605
75340
75341        Test: fast/loader/hashchange-event.html
75342
75343        * dom/EventNames.h: Add "hashchange"
75344        * html/HTMLAttributeNames.in: Add "onhashchange"
75345
75346        * loader/FrameLoader.cpp:
75347        (WebCore::HashChangeEventTask::create):
75348        (WebCore::HashChangeEventTask::performTask):
75349        (WebCore::HashChangeEventTask::HashChangeEventTask):
75350        (WebCore::FrameLoader::scrollToAnchor): When an anchor navigation is completed and the
75351          new fragment identifier is different from the old one, queue a hash change event
75352          on the Document.
75353
75354        Add a window event listener for the hashchange event if onhashchange is encountered:
75355        * html/HTMLBodyElement.cpp:
75356        (WebCore::HTMLBodyElement::parseMappedAttribute): 
75357        * html/HTMLFrameSetElement.cpp:
75358        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
75359
75360        Add a new string utility method that gives "null and empty are equivalent" behavior:
75361        * platform/text/PlatformString.h:
75362        (WebCore::equalIgnoringNullity):
75363        * platform/text/StringImpl.cpp:
75364        (WebCore::equalIgnoringNullity):
75365        * platform/text/StringImpl.h:
75366
753672009-08-07  Jessie Berlin  <jberlin@apple.com>
75368
75369        Reviewed by Timothy Hatcher.
75370
75371        Add the initial implementation of the ability to resize the columns in
75372        a DataGrid in the Web Inspector. Enables that functionality in both the
75373        Profile View and in the Local Storage View.
75374        
75375        https://bugs.webkit.org/show_bug.cgi?id=26182
75376        
75377        In this version, resizing a column can change the width of at most two
75378        columns (the columns to the left and right of the resizer being dragged).
75379        
75380        Possible changes in future patches:
75381        
75382        1) Be able to specify the minimum size of a column and the maximum size
75383           of a column. If the minimum size is equal to the maximum size, the
75384           column can't be resized.
75385        2) Make the behavior more in line with the following description:
75386        
75387        Everything before the column that is resized stays fixed size. The
75388        resized column changes sizes. The other columns except the last stay
75389        the same size. And the last column adjusts to fit with a minimum size.
75390        If the last column is already the minimum, the next to last column
75391        shrinks, etc.
75392        
75393        3) Make it possible to scale the column sizes appropriately when the
75394           Web Inspector window gets resized.
75395        
75396        * inspector/front-end/DOMStorageItemsView.js:
75397        (WebInspector.DOMStorageItemsView.prototype.update):
75398        Once the DataGrid is added to the DOM, update the widths of the
75399        DataGrid in order to put the resizers in place.
75400        (WebInspector.DOMStorageItemsView.prototype.resize):
75401        Update the widths of the DataGrid in order to correctly adjust the
75402        positions of the resizers.
75403        
75404        * inspector/front-end/DataGrid.js:
75405        (WebInspector.DataGrid):
75406        Store column groups whose widths can later be changed when the columns
75407        are resized by the user.
75408        Also, keep track of whether the widths of the columns have been
75409        initialized.
75410        (WebInspector.DataGrid.prototype.updateWidths):
75411        Create the resizers for the columns.
75412        (WebInspector.DataGrid.prototype._clickInDataTable):
75413        Didn't actually change anything in this method, just added a comma to
75414        the end of the function.
75415        (WebInspector.DataGrid.prototype._startResizerDragging):
75416        Store the resizer that is currently dragging.
75417        (WebInspector.DataGrid.prototype._resizerDragging):
75418        Constrain the area that the resizer can be dragged to the column to
75419        it's left and right, with some padding added to make sure that the
75420        neighboring columns don't disappear.
75421        (WebInspector.DataGrid.prototype._endResizerDragging):
75422        
75423        * inspector/front-end/DatabasesPanel.js:
75424        (WebInspector.DatabasesPanel.prototype.resize):
75425        Resize the view.
75426        (WebInspector.DatabasesPanel.prototype._updateSidebarWidth):
75427        ditto.
75428        
75429        * inspector/front-end/ProfileView.js:
75430        (WebInspector.ProfileView.prototype.show):
75431        Now that the DataGrid is actually attached to the DOM, update the
75432        widths of the DataGrid in order to put the resizers in place.
75433        (WebInspector.ProfileView.prototype.resize):
75434        Update the widths of the DataGrid in order to correctly adjust the
75435        positions of the resizers.
75436        
75437        * inspector/front-end/ProfilesPanel.js:
75438        (WebInspector.ProfilesPanel.prototype.resize):
75439        Resize the view.
75440        (WebInspector.ProfilesPanel.prototype._updateSidebarWidth):
75441        ditto.
75442        
75443        * inspector/front-end/inspector.css:
75444        Add in a style rule for a resizer in the Data Grid.
75445
754462009-08-07  Simon Hausmann  <simon.hausmann@nokia.com>
75447
75448        Reviewed by Tor Arne Vestbø.
75449
75450        Back out r46847 and fix the Qt build system to always generate
75451        all the JS binding files from IDL files. The generated files
75452        have #if feature guards, so the #ifs are not needed in the
75453        files using them.
75454
75455        * WebCore.pro:
75456        * bindings/js/JSEventTarget.cpp:
75457        * bindings/js/JSWorkerContextBase.cpp:
75458        * bindings/js/WorkerScriptController.cpp:
75459
754602009-08-07  Shinichiro Hamaji  <hamaji@chromium.org>
75461
75462        Reviewed by Adele Peterson.
75463
75464        Cannot scroll for box-reflect:right
75465        https://bugs.webkit.org/show_bug.cgi?id=27979
75466
75467        Update m_overflowLeft an m_overflowWidth for reflection just like
75468        m_overflowTop and m_overflowHeight.
75469
75470        Test: fast/reflections/reflection-overflow-scroll.html
75471
75472        * rendering/RenderBlock.cpp:
75473        (WebCore::RenderBlock::layoutBlock):
75474
754752009-08-06  Shinichiro Hamaji  <hamaji@chromium.org>
75476
75477        Reviewed by Adam Barth.
75478
75479        box-shadow's spread is ignored with <table>
75480        https://bugs.webkit.org/show_bug.cgi?id=28017
75481
75482        Use RenderStyle::getBoxShadowExtent just like RenderBlock.
75483
75484        Test: fast/box-shadow/box-shadow-overflow-scroll.html
75485
75486        * rendering/RenderTable.cpp:
75487        (WebCore::RenderTable::layout):
75488
754892009-08-06  Joseph Pecoraro  <joepeck02@gmail.com>
75490
75491        Reviewed by Timothy Hatcher.
75492
75493        Inspector: NodeLists Don't Display Well in the Console
75494        https://bugs.webkit.org/show_bug.cgi?id=28061
75495
75496        * inspector/front-end/ConsoleView.js:
75497        (WebInspector.ConsoleView.prototype._format): Specific check if the object is a NodeList, display as an "array"
75498
754992009-08-06  Yusuke Sato  <yusukes@chromium.org>
75500
75501        Reviewed by David Levin.
75502
75503        Chromium Linux: add support for @font-face
75504        https://bugs.webkit.org/show_bug.cgi?id=28015
75505        
75506        * loader/CachedFont.cpp:
75507        (WebCore::CachedFont::~CachedFont):
75508        (WebCore::CachedFont::ensureCustomFontData):
75509        (WebCore::CachedFont::platformDataFromCustomData):
75510        (WebCore::CachedFont::allClientsRemoved):
75511
75512        Modified #ifdefs so that chromium linux can load remote fonts.
75513        
75514        * platform/graphics/chromium/FontCustomPlatformData.cpp:
75515        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
75516        (WebCore::FontCustomPlatformData::fontPlatformData):
75517        (WebCore::createFontCustomPlatformData):
75518
75519        Create SkTypeface for a web font by calling SkTypeface::CreateFromStream function.
75520        
75521        (WebCore::RemoteFontStream::RemoteFontStream):
75522        (WebCore::RemoteFontStream::~RemoteFontStream):
75523        (WebCore::RemoteFontStream::rewind):
75524        (WebCore::RemoteFontStream::read):
75525
75526        New class that implements SkStream interface and wraps wtf's SharedBuffer.
75527        
75528        * platform/graphics/chromium/FontCustomPlatformData.h:
75529        (WebCore::FontCustomPlatformData::FontCustomPlatformData):
75530
75531        Added member variables for Linux.
75532        
755332009-08-06  Yong Li  <yong.li@torchmobile.com>
75534
75535        Reviewed by Eric Seidel.
75536
75537        Fix JPEGImageDecoder.cpp compile error on WinCE
75538        https://bugs.webkit.org/show_bug.cgi?id=28051
75539
75540        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
75541
755422009-08-06  Kevin Ollivier  <kevino@theolliviers.com>
75543
75544        Reviewed by Eric Seidel.
75545
75546        Adding WebCore support for the waf build system for wx.
75547        
75548        https://bugs.webkit.org/show_bug.cgi?id=27619
75549
75550        * wscript: Added.
75551
755522009-08-06  Adam Barth  <abarth@webkit.org>
75553
75554        Unreviewed revert.
75555
75556        http://bugs.webkit.org/show_bug.cgi?id=27879
75557
75558        Revert 46877 because it broke GTK.
75559
75560        * platform/graphics/wince/GraphicsContextWince.cpp:
75561
755622009-08-06  Chris Fleizach  <cfleizach@apple.com>
75563
75564        Reviewed by Eric Seidel.
75565
75566        Bug 27956 - AX: roleValue should be cached for performance
75567        https://bugs.webkit.org/show_bug.cgi?id=27956
75568
75569        Caches the role value of an accessibility object instead of calculating it everytime.
75570        The changes gained a 5% speedup using VoiceOver to navigate a webpage.
75571
75572        * accessibility/AXObjectCache.cpp:
75573        (WebCore::AXObjectCache::handleAriaRoleChanged):
75574
75575        Use generic role setter instead of specific ARIA role setter.
75576
75577        * accessibility/AccessibilityObject.cpp:
75578        (WebCore::AccessibilityObject::AccessibilityObject):
75579        * accessibility/AccessibilityObject.h:
75580        (WebCore::AccessibilityObject::headingLevel):
75581
75582        Make headingLevel into instance method so that it can *safely* be called in the constructor.
75583
75584        (WebCore::AccessibilityObject::setRoleValue):
75585        (WebCore::AccessibilityObject::roleValue):
75586        * accessibility/AccessibilityRenderObject.cpp:
75587        (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
75588        (WebCore::AccessibilityRenderObject::headingLevel):
75589        (WebCore::AccessibilityRenderObject::intValue):
75590        (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
75591        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
75592        * accessibility/AccessibilityRenderObject.h:
75593        * accessibility/mac/AccessibilityObjectWrapper.mm:
75594        (AXAttributeStringSetHeadingLevel):
75595
755962009-08-06  Zoltan Horvath  <hzoltan@inf.u-szeged.hu>
75597
75598        Reviewed by Adam Barth.
75599
75600        Change Noncopyable inheriting to public
75601        http://bugs.webkit.org/show_bug.cgi?id=27879
75602
75603        Since Noncopyable is inherited from FastAllocBase, Noncopyable's
75604        inheriting has been changed to public.
75605
75606        * platform/graphics/wince/GraphicsContextWince.cpp:
75607
756082009-08-06  Mark Rowe  <mrowe@apple.com>
75609
75610        Rubber-stamped by Sam Weinig.
75611
75612        Add explicit dependencies for our build verification scripts to ensure that they always run after linking has completed.
75613
75614        * WebCore.xcodeproj/project.pbxproj:
75615
756162009-08-05  Simon Fraser  <simon.fraser@apple.com>
75617
75618        Reviewed by Darin Adler.
75619
75620        Implement the matchMedium method on the Media interface described in the CSSOM View Module.
75621        https://bugs.webkit.org/show_bug.cgi?id=22495
75622        
75623        Add a new Media interface, obtainable via the AbstractView, that can
75624        evaluate queries via its matchesMedium() method.
75625
75626        Test: fast/media/matchmedium-query-api.html
75627
75628        * DerivedSources.cpp:
75629        * DerivedSources.make:
75630        * GNUmakefile.am:
75631        * WebCore.gypi:
75632        * WebCore.pro:
75633        * WebCore.vcproj/WebCore.vcproj:
75634        * WebCore.xcodeproj/project.pbxproj:
75635        * WebCoreSources.bkl:
75636        Add Media.* files to the build.
75637
75638        * css/Media.cpp: Added.
75639        (WebCore::Media::Media):
75640        (WebCore::Media::type):
75641        (WebCore::Media::matchMedium):
75642        * css/Media.h: Added.
75643        (WebCore::Media::create):
75644        (WebCore::Media::document):
75645        * css/Media.idl: Added.
75646        Media::matchMedium() uses a MediaQueryEvaluator() to test the query.
75647
75648        * page/AbstractView.idl:
75649        * page/DOMWindow.cpp:
75650        (WebCore::DOMWindow::media):
75651        * page/DOMWindow.h:
75652        * page/DOMWindow.idl:
75653        Add a readonly attribute for Media.
75654
756552009-08-06  Michelangelo De Simone  <micdesim@gmail.com>
75656
75657        Reviewed by Darin Adler.
75658
75659        https://bugs.webkit.org/show_bug.cgi?id=27455
75660        Support for a custom validation message in ValidityState and related
75661        form controls.
75662        http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#dom-cva-setcustomvalidity
75663
75664        Tests: fast/forms/ValidityState-customError-001.html
75665               fast/forms/ValidityState-customError-002.html
75666               fast/forms/ValidityState-customError-003.html
75667               fast/forms/ValidityState-customError-004.html
75668
75669        * html/HTMLButtonElement.idl: setCustomValidity DOM method
75670        * html/HTMLFieldSetElement.idl: ditto
75671        * html/HTMLFormControlElement.cpp:
75672        (WebCore::HTMLFormControlElement::setCustomValidity): ditto
75673        * html/HTMLFormControlElement.h:
75674        (WebCore::HTMLFormControlElement::valueMissing): moved down
75675        * html/HTMLInputElement.idl: ditto
75676        * html/HTMLSelectElement.idl: ditto
75677        * html/HTMLTextAreaElement.idl:
75678        * html/ValidityState.h:
75679        (WebCore::ValidityState::setCustomErrorMessage): method to set custom
75680        validation message
75681        (WebCore::ValidityState::customError): validation flag
75682
756832009-08-06  Mark Rowe  <mrowe@apple.com>
75684
75685        Bring a little order to our otherwise out of control lives.
75686
75687        * WebCore.xcodeproj/project.pbxproj:
75688
756892009-08-06  Mark Rowe  <mrowe@apple.com>
75690
75691        Stop copying .idl files in to the framework resources directory.
75692
75693        * WebCore.xcodeproj/project.pbxproj:
75694
756952009-08-06  Mark Rowe  <mrowe@apple.com>
75696
75697        Fix the build some more.
75698
75699        Add JSWebSocket.cpp and JSWebSocket.h to the Xcode project, and move the WebSocket-related
75700        files and groups in to the appropriate locations.
75701
75702        * WebCore.xcodeproj/project.pbxproj:
75703
757042009-08-06  Fumitoshi Ukai  <ukai@chromium.org>
75705
75706        Reviewed by Alexey Proskuryakov.
75707
75708        Add WebSocket.idl
75709        https://bugs.webkit.org/show_bug.cgi?id=27209
75710
75711        Add WebSocket.idl in WebCore/websockets/.
75712        Add build systems only for GNUmakefile.am and WebCore.xcodeproj now.
75713        Other build systems will be updated once the code is functional.
75714
75715        * DerivedSources.make:
75716        * GNUmakefile.am:
75717        * WebCore.xcodeproj/project.pbxproj:
75718        * bindings/js/JSWebSocketConstructor.cpp: Added.
75719        * bindings/js/JSWebSocketConstructor.h: Added.
75720        * bindings/js/JSWebSocketCustom.cpp: Added.
75721        * websockets/WebSocket.cpp: Added.
75722        * websockets/WebSocket.h: Added.
75723        * websockets/WebSocket.idl: Added.
75724
757252009-08-06  Jian Li  <jianli@chromium.org>
75726
75727        Reviewed by Dimitri Glazkov.
75728
75729        [V8] Style cleaning for WorkerContextExecutionProxy.
75730        https://bugs.webkit.org/show_bug.cgi?id=27997
75731
75732        Cleanup WorkerContextExecutioonProxy related files to follow
75733        WebKit coding styles after all V8 binding codes are upstreamed.
75734        1) Lower-case the first letter of remaining functins in class
75735           WorkerContextExecutionProxy. Update the V8 code generator
75736           and all other references accordingly.
75737        2) Integrate getConstructor from WorkerContextExecutionProxy
75738           to V8DOMWrapper.
75739        3) Other misc changes, like removing trailing whitespaces and
75740           sorting the include files.
75741
75742        * bindings/scripts/CodeGeneratorV8.pm:
75743        * bindings/v8/ScheduledAction.cpp:
75744        (WebCore::ScheduledAction::execute):
75745        * bindings/v8/V8DOMWrapper.cpp:
75746        (WebCore::V8DOMWrapper::getConstructorForContext):
75747        (WebCore::V8DOMWrapper::convertToV8Object):
75748        * bindings/v8/V8DOMWrapper.h:
75749        * bindings/v8/V8WorkerContextEventListener.cpp:
75750        (WebCore::V8WorkerContextEventListener::~V8WorkerContextEventListener):
75751        (WebCore::V8WorkerContextEventListener::handleEvent):
75752        (WebCore::V8WorkerContextEventListener::reportError):
75753        (WebCore::V8WorkerContextEventListener::getReceiverObject):
75754        * bindings/v8/V8WorkerContextObjectEventListener.cpp:
75755        (WebCore::weakObjectEventListenerCallback):
75756        * bindings/v8/WorkerContextExecutionProxy.cpp:
75757        (WebCore::handleConsoleMessage):
75758        (WebCore::WorkerContextExecutionProxy::dispose):
75759        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
75760        (WebCore::WorkerContextExecutionProxy::convertToV8Object):
75761        (WebCore::WorkerContextExecutionProxy::convertEventToV8Object):
75762        (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
75763        (WebCore::WorkerContextExecutionProxy::convertWorkerContextToV8Object):
75764        (WebCore::WorkerContextExecutionProxy::toV8):
75765        (WebCore::WorkerContextExecutionProxy::forgetV8EventObject):
75766        (WebCore::WorkerContextExecutionProxy::removeEventListener):
75767        * bindings/v8/WorkerContextExecutionProxy.h:
75768        (WebCore::WorkerContextExecutionProxy::context):
75769        (WebCore::WorkerContextExecutionProxy::convertToV8Object):
75770        * bindings/v8/custom/V8WorkerContextCustom.cpp:
75771        (WebCore::ACCESSOR_GETTER):
75772        (WebCore::CALLBACK_FUNC_DECL):
75773
757742009-08-06  Darin Adler  <darin@apple.com>
75775
75776        Fix Mac Leopard debug build.
75777
75778        * platform/text/StringImpl.cpp:
75779        (WebCore::equalIgnoringCase): Removed meaningless assertion; an unsigned
75780        is always >= 0 and checking causes a warning in the newer versions of gcc.
75781
757822009-08-06  Adam Barth  <abarth@webkit.org>
75783
75784        Unreview rollout.
75785
75786        Revert 46840 because it broke the reliability tests.
75787
75788        * bindings/v8/ScheduledAction.cpp:
75789        (WebCore::ScheduledAction::ScheduledAction):
75790        (WebCore::ScheduledAction::execute):
75791        * bindings/v8/ScheduledAction.h:
75792        (WebCore::ScheduledAction::ScheduledAction):
75793        * bindings/v8/custom/V8DOMWindowCustom.cpp:
75794        (WebCore::V8Custom::WindowSetTimeoutImpl):
75795        * bindings/v8/custom/V8WorkerContextCustom.cpp:
75796        (WebCore::SetTimeoutOrInterval):
75797
757982009-08-06  Adam Barth  <abarth@webkit.org>
75799
75800        Unreviewed rollout.
75801
75802        Revert 46840 in preparation to revert 46838, which broke the reliability tests.
75803
75804        * bindings/v8/V8Proxy.cpp:
75805        (WebCore::V8Proxy::updateDocumentWrapperCache):
75806        (WebCore::V8Proxy::initContextIfNeeded):
75807        (WebCore::V8Proxy::mainWorldContext):
75808        * bindings/v8/V8Proxy.h:
75809        (WebCore::V8Proxy::context):
75810
758112009-08-06  Pavel Feldman  <pfeldman@chromium.org>
75812
75813        Reviewed by Timothy Hatcher.
75814
75815        WebInspector: move style-related utilities into InjectedScript.
75816
75817        http://bugs.webkit.org/show_bug.cgi?id=27939
75818
75819        * inspector/front-end/DOMAgent.js:
75820        (WebInspector.CSSStyleDeclaration):
75821        (WebInspector.CSSStyleDeclaration.prototype.isPropertyImplicit):
75822        (WebInspector.CSSStyleDeclaration.prototype.styleTextWithShorthands):
75823        (WebInspector.CSSStyleDeclaration.prototype.getLonghandProperties):
75824        (WebInspector.CSSStyleDeclaration.prototype.getShorthandPriority):
75825        * inspector/front-end/InjectedScript.js:
75826        (InjectedScript.applyStyleText):
75827        (InjectedScript.toggleStyleEnabled):
75828        (InjectedScript._serializeStyle):
75829        (InjectedScript._getUniqueStyleProperties):
75830        (InjectedScript._getLonghandProperties):
75831        (InjectedScript._getShorthandPriority):
75832        * inspector/front-end/StylesSidebarPane.js:
75833        (WebInspector.StylesSidebarPane.prototype._update):
75834        (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
75835        (WebInspector.StylePropertiesSection.prototype.onpopulate):
75836        (WebInspector.StylePropertyTreeElement.prototype.get priority):
75837        (WebInspector.StylePropertyTreeElement.prototype.get value):
75838        (WebInspector.StylePropertyTreeElement.prototype):
75839        * inspector/front-end/utilities.js:
75840
758412009-08-06  Simon Hausmann  <simon.hausmann@nokia.com>
75842
75843        Unreviewed build fix, add #ifdef guards around
75844        inclusions of shared worker specific files.
75845
75846        * bindings/js/JSEventTarget.cpp:
75847        * bindings/js/JSWorkerContextBase.cpp:
75848        * bindings/js/WorkerScriptController.cpp:
75849
758502009-08-06  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
75851
75852        Reviewed by Darin Adler.
75853
75854        cssgrammar.cpp fails to compile with RVCT compiler
75855        https://bugs.webkit.org/show_bug.cgi?id=27952
75856
75857        * css/CSSGrammar.y: Do not convert to String to get rid of the stray
75858        memory allocation 
75859
75860        * platform/text/StringImpl.cpp:
75861        (WebCore::equalIgnoringCase):
75862        * platform/text/StringImpl.h: 
75863        (WebCore::equalIgnoringCase): Add charactersEqualIgnoringCase
75864          function that works with a character pointer and length
75865
758662009-08-06  Drew Wilson  <atwilson@google.com>
75867
75868        Reviewed by David Levin.
75869
75870        Created first working implementation of SharedWorkers (execution only, no sharing).
75871        https://bugs.webkit.org/show_bug.cgi?id=27927
75872
75873        Added initial implementations of SharedWorkerThread and SharedWorkerContext.
75874        No v8 bindings yet.
75875
75876        * DerivedSources.cpp:
75877        Added shared worker files.
75878        * DerivedSources.make:
75879        Added shared worker files.
75880        * GNUmakefile.am:
75881        Added shared worker files.
75882        * WebCore.gypi:
75883        Added shared worker files.
75884        * WebCore.pro:
75885        Added shared worker files.
75886        * WebCore.vcproj/WebCore.vcproj:
75887        Added shared worker files.
75888        * WebCore.xcodeproj/project.pbxproj:
75889        Added shared worker files.
75890        * bindings/js/JSEventTarget.cpp:
75891        (WebCore::toJS):
75892        Added code to convert from EventTarget to correct JS class.
75893        (WebCore::toEventTarget):
75894        Added code to cast from JS object to appropriate EventTarget impl class.
75895        * bindings/js/JSSharedWorkerConstructor.cpp:
75896        (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
75897        (WebCore::constructSharedWorker):
75898        Tweaked the constructor code to pass in the lexical global object like normal workers.
75899        * bindings/js/JSSharedWorkerContextCustom.cpp: Added.
75900        (WebCore::JSSharedWorkerContext::mark):
75901        Custom marking of the onconnect handler.
75902        * bindings/js/JSWorkerContextBase.cpp:
75903        (WebCore::toJSSharedWorkerContext):
75904        (WebCore::toJSWorkerContext):
75905        Added proper conversion to the correct WorkerContext derived class.
75906        * bindings/js/JSWorkerContextBase.h:
75907        * bindings/js/WorkerScriptController.cpp:
75908        (WebCore::WorkerScriptController::initScript):
75909        Updated WorkerScriptController to create the correct type of binding object (JSSharedWorkerContext vs JSDedicatedWorkerContext)
75910        * bindings/scripts/CodeGeneratorV8.pm:
75911        Added support for SharedWorkerContext.
75912        * bindings/v8/DOMObjectsInclude.h:
75913        Added shared worker bindings files.
75914        * dom/EventNames.h:
75915        Added connect event.
75916        * dom/EventTarget.cpp:
75917        (WebCore::EventTarget::toSharedWorkerContext):
75918        Added API for casting to new derived class (SharedWorkerContext).
75919        * dom/EventTarget.h:
75920        * workers/AbstractWorker.cpp:
75921        (WebCore::AbstractWorker::resolveURL):
75922        Moved code that resolves/validates URLs to base class so it can be shared between dedicated/shared workers.
75923        * workers/AbstractWorker.h:
75924        * workers/DedicatedWorkerContext.cpp:
75925        (WebCore::DedicatedWorkerContext::logException):
75926        Refactored exception handling code - moved onerror handling to base class.
75927        * workers/DedicatedWorkerContext.h:
75928        (WebCore::DedicatedWorkerContext::isDedicatedWorkerContext):
75929        * workers/SharedWorker.cpp:
75930        (WebCore::SharedWorker::SharedWorker):
75931        Changed constructor to fire up worker thread.
75932        * workers/SharedWorker.h:
75933        * workers/SharedWorkerContext.cpp: Added.
75934        (WebCore::SharedWorkerContext::SharedWorkerContext):
75935        (WebCore::SharedWorkerContext::~SharedWorkerContext):
75936        (WebCore::SharedWorkerContext::logException):
75937        (WebCore::SharedWorkerContext::addMessage):
75938        Placeholder methods until we add support for sending exceptions/messages to console.
75939        (WebCore::SharedWorkerContext::dispatchConnect):
75940        (WebCore::SharedWorkerContext::thread):
75941        * workers/SharedWorkerContext.h: Added.
75942        (WebCore::SharedWorkerContext::create):
75943        (WebCore::SharedWorkerContext::isSharedWorkerContext):
75944        (WebCore::SharedWorkerContext::toSharedWorkerContext):
75945        (WebCore::SharedWorkerContext::setOnconnect):
75946        (WebCore::SharedWorkerContext::onconnect):
75947        (WebCore::SharedWorkerContext::name):
75948        * workers/SharedWorkerContext.idl: Added.
75949        * workers/SharedWorkerRepository.h: Added.
75950        (WebCore::SharedWorkerRepository::~SharedWorkerRepository):
75951        * workers/DefaultSharedWorkerRepository.cpp: Added.
75952        Implementation of core singleton class that will be used to implement sharing.
75953        (WebCore::SharedWorkerProxy::setThread):
75954        Proxy object used to handle resource loading for a given shared worker.
75955        (WebCore::SharedWorkerProxy::postTaskToLoader):
75956        (WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext):
75957        Placeholder routines until we implement loading.
75958        (WebCore::SharedWorkerConnectTask::create):
75959        Creates a task to fire off a connect event on the worker thread.
75960        (WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask):
75961        (WebCore::SharedWorkerConnectTask::performTask):
75962        (WebCore::SharedWorkerLoader::SharedWorkerLoader):
75963        Added helper object to load the initial script for the worker.
75964        (WebCore::SharedWorkerLoader::load):
75965        (WebCore::SharedWorkerLoader::notifyFinished):
75966        (WebCore::SharedWorkerRepository::instance):
75967        (WebCore::DefaultSharedWorkerRepository::instance):
75968        (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
75969        Fires off the worker thread once the script is loaded.
75970        (WebCore::SharedWorkerRepository::connect):
75971        (WebCore::DefaultSharedWorkerRepository::DefaultSharedWorkerRepository):
75972        (WebCore::DefaultSharedWorkerRepository::~DefaultSharedWorkerRepository):
75973        * workers/DefaultSharedWorkerRepository.h: Added.
75974        * workers/SharedWorkerThread.cpp: Added.
75975        (WebCore::SharedWorkerThread::create):
75976        (WebCore::SharedWorkerThread::SharedWorkerThread):
75977        (WebCore::SharedWorkerThread::~SharedWorkerThread):
75978        (WebCore::SharedWorkerThread::createWorkerContext):
75979        * workers/SharedWorkerThread.h: Added.
75980        * workers/Worker.cpp:
75981        (WebCore::Worker::Worker):
75982        * workers/WorkerContext.cpp:
75983        (WebCore::WorkerContext::reportException):
75984        * workers/WorkerContext.h:
75985        (WebCore::WorkerContext::isSharedWorkerContext):
75986        (WebCore::WorkerContext::isDedicatedWorkerContext):
75987        Added APIs to determine the type of a given context.
75988
759892009-08-06  Chris Marrin  <cmarrin@apple.com>
75990
75991        Reviewed by David Hyatt.
75992
75993        Added ENABLE_3D_CANVAS flag to build, default to off
75994
75995        * Configurations/FeatureDefines.xcconfig:
75996
759972009-08-06  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
75998
75999        Reviewed by Simon Hausmann.
76000
76001        [Qt] windowsKeyCodeForKeyEvent fix
76002
76003        Fix windowsKeyCodeForKeyEvent to determine wheter the event comes from the keypad.
76004
76005        * platform/qt/PlatformKeyboardEventQt.cpp:
76006        (WebCore::windowsKeyCodeForKeyEvent):
76007        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
76008
760092009-08-06  George Staikos  <george.staikos@torchmobile.com>
76010
76011        Rubber-stamped by Ariya Hidayat.
76012
76013        Remove the dead wince/ directory that should never have gone in.
76014
76015        * svg/graphics/wince: Removed.
76016        * svg/graphics/wince/SVGResourceFilterWince.cpp: Removed.
76017
760182009-08-06  Pavel Feldman  <pfeldman@chromium.org>
76019
76020        Reviewed by Timothy Hatcher.
76021
76022        WebInspector: Extract style editing into a separate file that is
76023        going to be loaded in page context.
76024
76025        https://bugs.webkit.org/show_bug.cgi?id=27939
76026
76027        * inspector/front-end/InjectedScript.js: Added.
76028        (InjectedScript.applyStyleText):
76029        (InjectedScript.setStyleText):
76030        (InjectedScript.toggleStyleEnabled):
76031        (InjectedScript.setStyleRule):
76032        * inspector/front-end/StylesSidebarPane.js:
76033        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.callback):
76034        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
76035        (WebInspector.StylePropertyTreeElement.prototype.):
76036        (WebInspector.StylePropertyTreeElement.prototype):
76037        * inspector/front-end/WebKit.qrc:
76038        * inspector/front-end/inspector.html:
76039
760402009-08-06  Adam Barth  <abarth@webkit.org>
76041
76042        Reviewed by David Levin.
76043
76044        [V8] Remove bug-bait V8Proxy::context()
76045        https://bugs.webkit.org/show_bug.cgi?id=27826
76046
76047        * bindings/v8/V8Proxy.cpp:
76048        (WebCore::V8Proxy::updateDocumentWrapperCache):
76049        (WebCore::V8Proxy::initContextIfNeeded):
76050        (WebCore::V8Proxy::mainWorldContext):
76051        * bindings/v8/V8Proxy.h:
76052
760532009-08-06  Adam Barth  <abarth@webkit.org>
76054
76055        Unreviewed attempt to fix the Chromium Linux build.  This function is
76056        not used.
76057
76058        * bindings/v8/OwnHandle.h:
76059
760602009-08-06  Adam Barth  <abarth@webkit.org>
76061
76062        Reviewed by Eric Seidel.
76063
76064        [V8] Teach ScheduledAction::execute about isolated worlds
76065        https://bugs.webkit.org/show_bug.cgi?id=27703
76066
76067        We now save a weak handle to the original context.  We use that handle
76068        to call the timeout in the right context / world.
76069
76070        Tests: http/tests/security/isolatedWorld/window-setTimeout-function.html
76071               http/tests/security/isolatedWorld/window-setTimeout-string.html
76072
76073        * bindings/v8/ScheduledAction.cpp:
76074        (WebCore::ScheduledAction::ScheduledAction):
76075        (WebCore::ScheduledAction::execute):
76076        * bindings/v8/ScheduledAction.h:
76077        (WebCore::ScheduledAction::ScheduledAction):
76078        * bindings/v8/custom/V8DOMWindowCustom.cpp:
76079        (WebCore::V8Custom::WindowSetTimeoutImpl):
76080        * bindings/v8/custom/V8WorkerContextCustom.cpp:
76081        (WebCore::SetTimeoutOrInterval):
76082
760832009-08-05  Dimitri Glazkov  <dglazkov@chromium.org>
76084
76085        Unreviewed, build fix.
76086
76087        [V8] Revert http://trac.webkit.org/changeset/46821, which was
76088        landed to supplement http://trac.webkit.org/changeset/46816, but
76089        now that the latter is reverted, the former needs the same.
76090
76091        * bindings/v8/DOMObjectsInclude.h:
76092        * bindings/v8/DerivedSourcesAllInOne.cpp:
76093        * bindings/v8/V8Index.cpp:
76094        * bindings/v8/V8Index.h:
76095
760962009-08-05  Joseph Pecoraro  <joepeck02@gmail.com>
76097
76098        Reviewed by Timothy Hatcher.
76099
76100        Color is only reported in rgb() format; should toggle between rgb() and hex
76101        https://bugs.webkit.org/show_bug.cgi?id=13516
76102
76103          New Class to Parse and Change Between Color Representations:
76104
76105        * inspector/front-end/Color.js: Added.
76106        (WebInspector.Color):
76107
76108          Representations of Colors in Raw Form. (May be Lazy Loaded):
76109
76110        (WebInspector.Color.prototype.get shorthex):
76111        (WebInspector.Color.prototype.get hex):
76112        (WebInspector.Color.prototype.set hex):
76113        (WebInspector.Color.prototype.get rgb):
76114        (WebInspector.Color.prototype.set rgb):
76115        (WebInspector.Color.prototype.get hsl):
76116        (WebInspector.Color.prototype.set hsl):
76117        (WebInspector.Color.prototype.get nickname):
76118        (WebInspector.Color.prototype.set nickname):
76119        (WebInspector.Color.prototype.get rgba):
76120        (WebInspector.Color.prototype.set rgba):
76121        (WebInspector.Color.prototype.get hsla):
76122        (WebInspector.Color.prototype.set hsla):
76123
76124          Helpers and Standard String Representations:
76125
76126        (WebInspector.Color.prototype.hasShortHex):
76127        (WebInspector.Color.prototype.toRgb):
76128        (WebInspector.Color.prototype.toHsl):
76129        (WebInspector.Color.prototype.toShortHex):
76130        (WebInspector.Color.prototype.toHex):
76131        (WebInspector.Color.prototype.toRgba):
76132        (WebInspector.Color.prototype.toHsla):
76133        (WebInspector.Color.prototype.toNickname):
76134
76135          Conversion Functions to Determine Other Representations:
76136          My Sources for all algorithms and sample data:
76137          Wikipedia: http://en.wikipedia.org/wiki/HSV_color_space
76138          CSS Specification: http://www.w3.org/TR/css3-color/#hsla-color
76139
76140        (WebInspector.Color.prototype.rgbToHex):
76141        (WebInspector.Color.prototype.hexToRgb):
76142        (WebInspector.Color.prototype.rgbToHsl):
76143        (WebInspector.Color.prototype.hslToRgb.hueToRgb):
76144        (WebInspector.Color.prototype.hslToRgb):
76145        (WebInspector.Color.prototype.rgbaToHsla):
76146        (WebInspector.Color.prototype.hslaToRgba):
76147
76148          Called from the constructor, attempts to parse and will throw an error
76149          if it cannot parse.  If simple then the "hex" value is guarenteed.
76150          If advanced then both the "rgba" and "hsla" are guarenteed.  If it is
76151          a nickname in any way (e.g. "transparent", "black") then this is
76152          guarenteed to be set as well.
76153
76154        (WebInspector.Color.prototype.parse):
76155
76156          Clicking on the swatch will rotate through Color Representations.
76157            Simple:   rgb -> hsl -> nickname? -> shorthex? -> hex -> (loop around)
76158            Advanced: rgba -> hsla -> nickname? -> (loop around)
76159
76160        * inspector/front-end/StylesSidebarPane.js:
76161        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.value.):
76162        (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
76163
76164          Load Color.js:
76165
76166        * inspector/front-end/inspector.html:
76167
761682009-08-05  John Abd-El-Malek  <jam@chromium.org>
76169
76170        Reviewed by Dimitri Glazkov.
76171
76172        Support setting event listeners for message ports in the worker process.
76173
76174        https://bugs.webkit.org/show_bug.cgi?id=28004
76175
76176        * bindings/v8/WorkerContextExecutionProxy.cpp:
76177        (WebCore::WorkerContextExecutionProxy::retrieve):
76178        (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object):
76179        * bindings/v8/WorkerContextExecutionProxy.h:
76180        * bindings/v8/custom/V8MessagePortCustom.cpp:
76181        (WebCore::getEventListener):
76182        (WebCore::ACCESSOR_SETTER):
76183        (WebCore::CALLBACK_FUNC_DECL):
76184
761852009-08-05  Stephen White  <senorblanco@chromium.org>
76186
76187        Reviewed by Dimitri Glazkov.
76188
76189        http://bugs.webkit.org/show_bug.cgi?id=28022
76190
76191        Minor fix for media code on chromium/skia.
76192
76193        * rendering/RenderThemeChromiumSkia.cpp:
76194        (WebCore::RenderThemeChromiumSkia::paintMediaSliderTrack):
76195
761962009-08-05  Darin Adler  <darin@apple.com>
76197
76198        Reviewed by Dan Bernstein.
76199
76200        Client side image maps did not handle zoom correctly.
76201        Client side image maps did not handle border and padding correctly.
76202
76203        Test: fast/images/image-map-zoom.html
76204
76205        * rendering/RenderImage.cpp:
76206        (WebCore::RenderImage::nodeAtPoint): Compute the values to pass in to the map
76207        element using the content box and the effective zoom.
76208
762092009-08-05  Alexey Proskuryakov  <ap@apple.com>
76210
76211        Reviewed by Oliver Hunt.
76212
76213        https://bugs.webkit.org/show_bug.cgi?id=28027
76214        <rdar://7064428> Files with accents in names are submitted incorrectly due to use of
76215        precomposed Unicode
76216
76217        * platform/network/mac/FormDataStreamMac.mm: (WebCore::setHTTPBody): Use getFileSize() from
76218        FileSystem.h instead of custom code for getting file size. This adds path normalization
76219        necessary with some file systems on Mac. This also loses a S_IFMT check, which didn't seem
76220        important anyway.
76221
762222009-08-05  Dimitri Glazkov  <dglazkov@chromium.org>
76223
76224        Unreviewed, build fix.
76225
76226        [V8] Include Media into V8 bindings.
76227
76228        * bindings/v8/DOMObjectsInclude.h: Added Media include.
76229        * bindings/v8/DerivedSourcesAllInOne.cpp: Added V8Media include.
76230        * bindings/v8/V8Index.cpp: Added decl for V8Media.
76231        * bindings/v8/V8Index.h: Added V8Media include.
76232
762332009-08-04  Jon Honeycutt  <jhoneycutt@apple.com>
76234
76235        Fix Windows layout test crashes.
76236
76237        PluginView::removeFromUnstartedListIfNecessary() would try to remove
76238        any unstarted PluginView from the Page's set of unstarted plug-ins,
76239        regardless of why the PluginView wasn't started. If we tried to start a
76240        plug-in, but it failed to start, we would hit an assertion in
76241        Page::removeUnstartedPlugin() that asserts that we would only modify the
76242        unstarted plug-ins set if we were not currently starting plug-ins.
76243
76244        Fix this by having PluginView track whether it's waiting to be started,
76245        and to check this before trying to remove itself from the Page's
76246        unstarted plug-ins set.
76247
76248        Reviewed by Darin Adler.
76249
76250        * page/Page.cpp:
76251        (WebCore::Page::removeUnstartedPlugin):
76252        Assert that the passed PluginView is in the unstarted set.
76253
76254        * plugins/PluginView.cpp:
76255        (WebCore::PluginView::start):
76256        Set that we are not waiting to be started.
76257        (WebCore::PluginView::startOrAddtoUnstartedList):
76258        Set that we are waiting to be started.
76259        (WebCore::PluginView::removeFromUnstartedListIfNecessary):
76260        Check not whether we are started, but whether we are waiting to be
76261        started.
76262        (WebCore::PluginView::PluginView):
76263
76264        * plugins/PluginView.h:
76265
762662009-08-05  Jeremy Orlow  <jorlow@chromium.org>
76267
76268       Fix DOM Storage memory leak
76269       https://bugs.webkit.org/show_bug.cgi?id=28029
76270
76271       Forgot to use adoptRef in one place.  This caused the = operator to
76272       increment the ref count when it shouldn't have, so StorageAreaImpl's were
76273       never freed.
76274
76275        * storage/StorageNamespaceImpl.cpp:
76276        (WebCore::StorageNamespaceImpl::storageArea):
76277
762782009-08-05  Dimitri Glazkov  <dglazkov@chromium.org>
76279
76280        Unreviewed, build fix.
76281
76282        [Chromium] Let CodeGeneratorV8.pm know that Media is ref-counted.
76283
76284        * bindings/scripts/CodeGeneratorV8.pm: Added Media check to IsRefPtrType.
76285
762862009-08-05  Darin Adler  <darin@apple.com>
76287
76288        Reviewed by David Levin.
76289
76290        Use checked casts for render tree
76291        https://bugs.webkit.org/show_bug.cgi?id=23522
76292
76293        Last patch. Makes all the casts of RenderObject use checked
76294        casts instead of using static_cast directly.
76295
76296        * accessibility/AccessibilityListBox.cpp:
76297        (WebCore::AccessibilityListBox::visibleChildren):
76298        (WebCore::AccessibilityListBox::doAccessibilityHitTest):
76299        * accessibility/AccessibilityListBoxOption.cpp:
76300        (WebCore::AccessibilityListBoxOption::elementRect):
76301        * accessibility/AccessibilityRenderObject.cpp:
76302        (WebCore::AccessibilityRenderObject::textUnderElement):
76303        (WebCore::AccessibilityRenderObject::stringValue):
76304        (WebCore::AccessibilityRenderObject::titleUIElement):
76305        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
76306        * accessibility/AccessibilitySlider.cpp:
76307        (WebCore::AccessibilitySliderThumb::elementRect):
76308        * dom/InputElement.cpp:
76309        (WebCore::InputElement::updatePlaceholderVisibility):
76310        * dom/SelectElement.cpp:
76311        (WebCore::SelectElement::scrollToSelection):
76312        (WebCore::SelectElement::recalcStyle):
76313        (WebCore::SelectElement::setRecalcListItems):
76314        (WebCore::SelectElement::menuListDefaultEventHandler):
76315        (WebCore::SelectElement::listBoxDefaultEventHandler):
76316        * editing/BreakBlockquoteCommand.cpp:
76317        (WebCore::BreakBlockquoteCommand::doApply):
76318        * html/HTMLAppletElement.cpp:
76319        (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
76320        * html/HTMLCanvasElement.cpp:
76321        (WebCore::HTMLCanvasElement::reset):
76322        * html/HTMLEmbedElement.cpp:
76323        (WebCore::HTMLEmbedElement::updateWidget):
76324        * html/HTMLFrameElementBase.cpp:
76325        (WebCore::HTMLFrameElementBase::attach):
76326        * html/HTMLFrameSetElement.cpp:
76327        (WebCore::HTMLFrameSetElement::defaultEventHandler):
76328        * html/HTMLIFrameElement.cpp:
76329        (WebCore::HTMLIFrameElement::attach):
76330        * html/HTMLInputElement.cpp:
76331        (WebCore::HTMLInputElement::defaultEventHandler):
76332        (WebCore::HTMLInputElement::addSearchResult):
76333        (WebCore::HTMLInputElement::onSearch):
76334        * html/HTMLLIElement.cpp:
76335        (WebCore::HTMLLIElement::parseMappedAttribute):
76336        (WebCore::HTMLLIElement::attach):
76337        * html/HTMLMediaElement.cpp:
76338        (WebCore::HTMLMediaElement::setReadyState):
76339        (WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
76340        (WebCore::HTMLMediaElement::mediaPlayerSizeChanged):
76341        (WebCore::HTMLMediaElement::mediaPlayerRenderingCanBeAccelerated):
76342        (WebCore::HTMLMediaElement::mediaPlayerGraphicsLayer):
76343        (WebCore::HTMLMediaElement::defaultEventHandler):
76344        (WebCore::HTMLMediaElement::finishParsingChildren):
76345        * html/HTMLOListElement.cpp:
76346        (WebCore::HTMLOListElement::parseMappedAttribute):
76347        * html/HTMLObjectElement.cpp:
76348        (WebCore::HTMLObjectElement::updateWidget):
76349        * html/HTMLTextAreaElement.cpp:
76350        (WebCore::HTMLTextAreaElement::defaultEventHandler):
76351        * page/DragController.cpp:
76352        (WebCore::DragController::concludeEditDrag):
76353        * page/EventHandler.cpp:
76354        (WebCore::EventHandler::selectCursor):
76355        (WebCore::EventHandler::capsLockStateMayHaveChanged):
76356        * page/Frame.cpp:
76357        (WebCore::Frame::ownerRenderer):
76358        * page/FrameView.cpp:
76359        (WebCore::FrameView::detachCustomScrollbars):
76360        * page/wince/FrameWince.cpp:
76361        (WebCore::computePageRectsForFrame):
76362        * rendering/InlineFlowBox.cpp:
76363        (WebCore::InlineFlowBox::placeBoxesHorizontally):
76364        * rendering/MediaControlElements.cpp:
76365        (WebCore::MediaControlTimelineElement::defaultEventHandler):
76366        * rendering/RenderBlockLineLayout.cpp:
76367        (WebCore::RenderBlock::findNextLineBreak):
76368        * rendering/RenderCounter.cpp:
76369        (WebCore::planCounter):
76370        * rendering/RenderFrameSet.cpp:
76371        (WebCore::RenderFrameSet::computeEdgeInfo):
76372        (WebCore::RenderFrameSet::setIsResizing):
76373        * rendering/RenderLayerBacking.cpp:
76374        (WebCore::RenderLayerBacking::contentsBox):
76375        * rendering/RenderLayerCompositor.cpp:
76376        (WebCore::RenderLayerCompositor::updateBacking):
76377        (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
76378        * rendering/RenderListItem.cpp:
76379        (WebCore::previousListItem):
76380        (WebCore::RenderListItem::explicitValueChanged):
76381        * rendering/RenderObject.cpp:
76382        (WebCore::updateListMarkerNumbers):
76383        * rendering/RenderObjectChildList.cpp:
76384        (WebCore::updateListMarkerNumbers):
76385        (WebCore::invalidateCountersInContainer):
76386        * rendering/RenderScrollbarTheme.cpp:
76387        (WebCore::RenderScrollbarTheme::minimumThumbLength):
76388        (WebCore::RenderScrollbarTheme::backButtonRect):
76389        (WebCore::RenderScrollbarTheme::forwardButtonRect):
76390        (WebCore::RenderScrollbarTheme::trackRect):
76391        (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
76392        (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
76393        (WebCore::RenderScrollbarTheme::paintTrackBackground):
76394        (WebCore::RenderScrollbarTheme::paintTrackPiece):
76395        (WebCore::RenderScrollbarTheme::paintButton):
76396        (WebCore::RenderScrollbarTheme::paintThumb):
76397        * rendering/RenderSlider.cpp:
76398        (WebCore::SliderThumbElement::defaultEventHandler):
76399        * rendering/RenderThemeChromiumMac.mm:
76400        (WebCore::RenderThemeChromiumMac::paintSliderThumb):
76401        (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
76402        * rendering/RenderThemeChromiumWin.cpp:
76403        (WebCore::RenderThemeChromiumWin::determineSliderThumbState):
76404        * rendering/RenderThemeMac.mm:
76405        (WebCore::RenderThemeMac::paintSliderThumb):
76406        * rendering/RenderThemeSafari.cpp:
76407        (WebCore::RenderThemeSafari::paintSliderThumb):
76408        * rendering/RenderThemeWin.cpp:
76409        (WebCore::RenderThemeWin::determineSliderThumbState):
76410        * rendering/SVGCharacterLayoutInfo.cpp:
76411        (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
76412        * rendering/SVGRootInlineBox.cpp:
76413        (WebCore::findSVGRootObject):
76414        * rendering/TextControlInnerElements.cpp:
76415        (WebCore::RenderTextControlInnerBlock::nodeAtPoint):
76416        (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
76417        * svg/SVGImageElement.cpp:
76418        (WebCore::SVGImageElement::attach):
76419        * svg/SVGMarkerElement.cpp:
76420        (WebCore::SVGMarkerElement::canvasResource):
76421        * svg/SVGTextContentElement.cpp:
76422        (WebCore::rootInlineBoxForTextContentElement):
76423        * wml/WMLInputElement.cpp:
76424        (WebCore::WMLInputElement::defaultEventHandler):
76425        Use checked casts.
76426
76427        * rendering/RenderApplet.h:
76428        * rendering/RenderCounter.h:
76429        * rendering/RenderFieldset.h:
76430        * rendering/RenderFileUploadControl.h:
76431        * rendering/RenderFrame.h:
76432        * rendering/RenderFrameSet.h:
76433        * rendering/RenderHTMLCanvas.h:
76434        * rendering/RenderListBox.h:
76435        * rendering/RenderListItem.h:
76436        * rendering/RenderListMarker.h:
76437        * rendering/RenderMedia.h:
76438        * rendering/RenderMenuList.h:
76439        * rendering/RenderPart.h:
76440        * rendering/RenderPartObject.h:
76441        * rendering/RenderPath.h:
76442        * rendering/RenderSVGContainer.h:
76443        * rendering/RenderSVGRoot.h:
76444        * rendering/RenderSVGTextPath.h:
76445        * rendering/RenderSVGViewportContainer.h:
76446        * rendering/RenderScrollbar.h:
76447        * rendering/RenderSlider.h:
76448        * rendering/RenderTextControlMultiLine.h:
76449        * rendering/RenderTextControlSingleLine.h:
76450        * rendering/RenderVideo.h:
76451        Added a checked cast. Also made most members protected or private.
76452
76453        * rendering/RenderBlock.h:
76454        * rendering/RenderInline.h:
76455        * rendering/RenderReplaced.h:
76456        * rendering/RenderSVGBlock.h:
76457        * rendering/RenderSVGImage.h:
76458        * rendering/RenderSVGInlineText.h:
76459        * rendering/RenderSVGText.h:
76460        * rendering/RenderTextControl.h:
76461        Made most members protected or private.
76462
76463        * rendering/RenderInline.cpp:
76464        * rendering/RenderSVGContainer.cpp:
76465        * rendering/RenderSVGHiddenContainer.cpp:
76466        * rendering/RenderSVGImage.cpp:
76467        * rendering/RenderSVGRoot.cpp:
76468        Removed unneeded destructor.
76469
76470        * rendering/RenderSVGHiddenContainer.h:
76471        Removed unneeded virtual function overrides that did the same as
76472        the default and base class.
76473
76474        * rendering/RenderSVGViewportContainer.cpp:
76475        (WebCore::RenderSVGViewportContainer::paint): Updated to use m_viewport
76476        directly instead of using a function call.
76477        (WebCore::RenderSVGViewportContainer::applyViewportClip): Ditto.
76478        (WebCore::RenderSVGViewportContainer::viewportTransform): Ditto.
76479        (WebCore::RenderSVGViewportContainer::localToParentTransform): Ditto.
76480        (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): Ditto.
76481
76482        * rendering/RenderScrollbar.cpp:
76483        (WebCore::pseudoForScrollbarPart): Changed switch statement to use cases for
76484        all values instead of using a default case.
76485
76486        * rendering/RenderTreeAsText.cpp:
76487        (WebCore::operator<<): Removed dependency on casting to types that don't
76488        have any public members we need to get at. Instead, use function names to
76489        identify the type rather than doing so much overloading. Changed to use
76490        checked casts.
76491        (WebCore::write): Ditto.
76492
76493        * rendering/SVGRenderSupport.cpp:
76494        (WebCore::renderSubtreeToImage): Changed to use a checked cast and also
76495        added a comment about the fact that the code does not do sufficient type
76496        checking before doing the cast.
76497
76498        * rendering/SVGRenderTreeAsText.cpp:
76499        (WebCore::writeRenderSVGTextBox): Renamed this from operator<<.
76500        (WebCore::writeSVGInlineTextBoxes): Renamed this from writeSVGInlineText.
76501        (WebCore::writeSVGText): Renamed this from write.
76502        (WebCore::writeSVGInlineText): Ditto.
76503        (WebCore::writeSVGImage): Ditto.
76504        * rendering/SVGRenderTreeAsText.h: Updated for name changes. Removed
76505        unneeded default arguments.
76506
765072009-08-05  Peter Kasting  <pkasting@google.com>
76508
76509        Reviewed by Sam Weinig.
76510
76511        https://bugs.webkit.org/show_bug.cgi?id=27851
76512        Fix a pair of compiler warnings on the GTK Linux buildbot.
76513
76514        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
76515        (WebCore::BMPImageDecoder::processFileHeader): Don't use multi-character constants, they're not portable.
76516        * platform/image-decoders/ico/ICOImageDecoder.cpp:
76517        (WebCore::ICOImageDecoder::setSize): Simpler code that also doesn't compare signed with unsigned.
76518
765192009-08-05  Peter Kasting  <pkasting@google.com>
76520
76521        Reviewed by Eric Seidel.
76522
76523        https://bugs.webkit.org/show_bug.cgi?id=26460
76524        Return multiple icon entries from the ICO decoder as separate frames,
76525        sorted by decreasing quality (much like the CG ICO decoder does).
76526
76527        As a result of this change, we can eliminate the Skia-specific setData()
76528        hack that the Chromium port used to select the desired icon size -- now
76529        callers can just enumerate the frames and ask for the data from the one
76530        they like.
76531        
76532        Under the hood, the ICO decoder now keeps vectors for a number of things
76533        (including directory entries and image decoders) where it used to have
76534        single members.  However, callers (that I have seen) will only request
76535        one frame from the icon, so practically there aren't going to be lots of
76536        instantiated image decoders.
76537
76538        * platform/graphics/ImageSource.h: Move |m_decoder| back to private now that Skia no longer needs to access it.
76539        * platform/graphics/cairo/ImageSourceCairo.cpp:
76540        (WebCore::createDecoder): Remove size argument from ICO decoder instantiation.
76541        * platform/graphics/skia/ImageSourceSkia.cpp:
76542        (WebCore::createDecoder): Remove size argument from ICO decoder instantiation.
76543        (WebCore::ImageSource::setData): Remove function to ask for a particular icon size.
76544        * platform/graphics/skia/ImageSourceSkia.h: Removed.
76545        * platform/graphics/wx/ImageSourceWx.cpp:
76546        (WebCore::createDecoder): Remove size argument from ICO decoder instantiation.
76547        * platform/image-decoders/ico/ICOImageDecoder.cpp:
76548        (WebCore::ICOImageDecoder::ICOImageDecoder):
76549        (WebCore::ICOImageDecoder::~ICOImageDecoder): Delete all instantiated per-frame decoders.
76550        (WebCore::ICOImageDecoder::setData): Send data to all instantiated per-frame decoders.
76551        (WebCore::ICOImageDecoder::isSizeAvailable): Use size from icon directory instead of PNG decoder (if applicable) so we can report it without decoding the PNG frames.
76552        (WebCore::ICOImageDecoder::size): Report frame-specific size if BMP decoder is calling.  Otherwise, use size from icon directory instead of PNG decoder (if applicable).
76553        (WebCore::ICOImageDecoder::frameSizeAtIndex): Implement.
76554        (WebCore::ICOImageDecoder::setSize): Sanity check value if BMP decoder is calling.
76555        (WebCore::ICOImageDecoder::frameCount): Implement.
76556        (WebCore::ICOImageDecoder::frameBufferAtIndex): Sanity check size for PNG frames.
76557        (WebCore::ICOImageDecoder::compareEntries): Add utility function for sorting entries.
76558        (WebCore::ICOImageDecoder::setDataForPNGDecoderAtIndex): Factor out utility function for passing correct data blob to a PNG decoder.
76559        (WebCore::ICOImageDecoder::decodeWithCheckForDataEnded): Split decode() into two pieces.
76560        (WebCore::ICOImageDecoder::decodeDirectory): The first part of the old decode().
76561        (WebCore::ICOImageDecoder::decodeAtIndex): The second part of the old decode(), split off so we avoid decoding an entry until it's requested.
76562        (WebCore::ICOImageDecoder::processDirectory): Add resizing of internal data structures based on directory contents.
76563        (WebCore::ICOImageDecoder::processDirectoryEntries): Sort entries by quality.
76564        (WebCore::ICOImageDecoder::imageTypeAtIndex): Return type to caller instead of setting a member.
76565        * platform/image-decoders/ico/ICOImageDecoder.h:
76566
765672009-08-05  Szabo Carol  <carol.szabo@nokia.com>
76568
76569        Reviewed by Darin Adler.
76570
76571        https://bugs.webkit.org/show_bug.cgi?id=27942
76572
76573        Test: fast/forms/select-reset-multiple-selections-4-single-selection.html
76574
76575        * dom/SelectElement.cpp:
76576        (WebCore::SelectElement::reset):
76577           Added HTML 4.01 compliant handling of broken webpages that
76578           specify more than one selected option for single selection SELECT
76579           element, in a manner that emulates Firefox and is similar to IE 7
76580
76581
765822009-08-05  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
76583
76584        Reviewed by Simon Hausmann.
76585
76586        WebCore.pro bugfix
76587
76588        Fix the gperf lines to properly include the string.h header at compilation with gperf version 3.0.3 and newer.
76589
76590        * WebCore.pro:
76591
765922009-08-05  Chris Fleizach  <cfleizach@apple.com>
76593
76594        Fix Tiger build breakage.
76595
76596        * accessibility/mac/AccessibilityObjectWrapper.mm:
76597
765982009-08-04  Simon Hausmann  <hausmann@webkit.org>
76599
76600        Prospective build fix for Qt build bot: Fix dependency of HTMLNames.cpp
76601        to both source files, HTMLTagNames.in and HTMLAttributeNames.in
76602
76603        * WebCore.pro:
76604
766052009-08-04  Brian Weinstein  <bweinstein@apple.com>
76606
76607        Reviewed by Adele Peterson.
76608
76609        Keypress should exit from pan scrolling mode.
76610        https://bugs.webkit.org/show_bug.cgi?id=28005
76611
76612        Change the logic from only exiting pan scrolling on escape to exiting on any key press,
76613        making it easier for users to back out of an accidental pan scroll.
76614
76615        * page/EventHandler.cpp:
76616        (WebCore::EventHandler::keyEvent):
76617        
766182009-08-04  Eric Seidel  <eric@webkit.org>
76619
76620        Reviewed by Simon Fraser.
76621
76622        REGRESSION (r45064): Drop caret remains in text control after the mouse exits
76623        https://bugs.webkit.org/show_bug.cgi?id=26787
76624
76625        Add back missing dragController()->clear() call.
76626
76627        * manual-tests/drag-caret.html: Added.
76628        * page/DragController.cpp:
76629        (WebCore::DragController::tryDocumentDrag):
76630
766312009-08-04  Chris Fleizach  <cfleizach@apple.com>
76632
76633        Bug 27994 - WAI-ARIA: aria-valuetext needs to be implemented
76634        https://bugs.webkit.org/show_bug.cgi?id=27994
76635
76636        Forgot to commit attribute names.
76637
76638        * html/HTMLAttributeNames.in:
76639
766402009-08-04  Chris Fleizach  <cfleizach@apple.com>
76641
76642        Reviewed by Darin Adler.
76643
76644        Bug 27994 - WAI-ARIA: aria-valuetext needs to be implemented
76645        https://bugs.webkit.org/show_bug.cgi?id=27994
76646
76647        Test: platform/mac/accessibility/aria-valuetext.html
76648
76649        * accessibility/AccessibilityObject.h:
76650        (WebCore::AccessibilityObject::valueDescription):
76651        * accessibility/AccessibilityRenderObject.cpp:
76652        (WebCore::AccessibilityRenderObject::valueDescription):
76653        * accessibility/AccessibilityRenderObject.h:
76654        * accessibility/mac/AccessibilityObjectWrapper.mm:
76655        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
76656        * html/HTMLAttributeNames.in:
76657
766582009-08-04  Michael Nordman  <michaeln@google.com>
76659
76660        Reviewed by Alexey Proskuryakov.
76661
76662        https://bugs.webkit.org/show_bug.cgi?id=27821
76663
76664        No new features, no new tests. Existing layout tests pass.
76665
76666        * WebCore.base.exp:
76667
76668        Export AppliationCacheGroup::storeCopyOfCache
76669
76670        * WebCore.xcodeproj/project.pbxproj:
76671
76672        Restore DOMApplicationCache.h and ApplicationCacheHost.h to 'project' headers
76673        instead of 'private' headers since they're no longer in the DocumentLoader.h
76674        include graph.
76675
76676        * html/HTMLHtmlElement.cpp:
76677        (WebCore::HTMLHtmlElement::insertedIntoDocument):
76678
76679        Reinstate the test for manifest.isNull instead of .isEmtpty().
76680        Added a FIXME to revisit once the spec gets clarified.
76681        
76682        * loader/DocumentLoader.cpp:
76683        (WebCore::DocumentLoader::DocumentLoader):
76684        (WebCore::DocumentLoader::mainReceivedError):
76685        (WebCore::DocumentLoader::detachFromFrame):
76686        * loader/DocumentLoader.h:
76687        (WebCore::DocumentLoader::applicationCacheHost):
76688
76689        ApplicationCacheHost is held in an OwnPtr<> by DocumentLoader. This was done
76690        for compile time friendliness, it results in a smaller include graph for files
76691        dependent on DocumentLoader.h.
76692
76693        * loader/FrameLoader.cpp:
76694        * loader/MainResourceLoader.cpp:
76695        * loader/ResourceLoader.cpp:
76696
76697        Cleanup ussage of ENABLE(xxx) around includes, generally remove those guards.
76698        This was done for readability at the include site. The included files contain appropriate guards,
76699        so they're not needed at the include site.
76700
76701        * loader/appcache/ApplicationCacheGroup.cpp:
76702        (WebCore::ApplicationCacheGroup::selectCache):
76703        (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
76704        (WebCore::ApplicationCacheGroup::failedLoadingMainResource):
76705        (WebCore::ApplicationCacheGroup::update):
76706        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
76707        (WebCore::ApplicationCacheGroup::manifestNotFound):
76708        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
76709        (WebCore::ApplicationCacheGroup::startLoadingEntry):
76710        (WebCore::CallCacheListenerTask::create):
76711        (WebCore::CallCacheListenerTask::performTask):
76712        (WebCore::CallCacheListenerTask::CallCacheListenerTask):
76713        (WebCore::ApplicationCacheGroup::postListenerTask):
76714        * loader/appcache/ApplicationCacheGroup.h:
76715
76716        Use ApplicationCachHost defined constants, no longer depends on DOMApplicationCache.
76717
76718        * loader/appcache/ApplicationCacheHost.cpp:
76719        (WebCore::ApplicationCacheHost::ApplicationCacheHost):
76720        (WebCore::ApplicationCacheHost::setDOMApplicationCache):
76721        (WebCore::ApplicationCacheHost::notifyEventListener):
76722        (WebCore::ApplicationCacheHost::status):
76723        * loader/appcache/ApplicationCacheHost.h:
76724        (WebCore::ApplicationCacheHost::):
76725        * loader/appcache/ApplicationCacheStorage.cpp:
76726        (WebCore::ApplicationCacheStorage::storeCopyOfCache):
76727        * loader/appcache/ApplicationCacheStorage.h:
76728
76729        Merge recently added transferApplicationCache and pre-existing storeCopyOfCache methods.
76730
76731        * loader/appcache/DOMApplicationCache.cpp:
76732        (WebCore::DOMApplicationCache::status):
76733        (WebCore::DOMApplicationCache::addEventListener):
76734        (WebCore::DOMApplicationCache::removeEventListener):
76735        (WebCore::DOMApplicationCache::callListener):
76736        (WebCore::DOMApplicationCache::toEventType):
76737        (WebCore::DOMApplicationCache::toEventID):
76738        * loader/appcache/DOMApplicationCache.h:
76739        (WebCore::DOMApplicationCache::setAttributeEventListener):
76740        (WebCore::DOMApplicationCache::getAttributeEventListener):
76741        (WebCore::DOMApplicationCache::clearAttributeEventListener):
76742        (WebCore::DOMApplicationCache::callEventListener):
76743        (WebCore::DOMApplicationCache::setOnchecking):
76744        (WebCore::DOMApplicationCache::onchecking):
76745        (WebCore::DOMApplicationCache::setOnerror):
76746        (WebCore::DOMApplicationCache::onerror):
76747        (WebCore::DOMApplicationCache::setOnnoupdate):
76748        (WebCore::DOMApplicationCache::onnoupdate):
76749        (WebCore::DOMApplicationCache::setOndownloading):
76750        (WebCore::DOMApplicationCache::ondownloading):
76751        (WebCore::DOMApplicationCache::setOnprogress):
76752        (WebCore::DOMApplicationCache::onprogress):
76753        (WebCore::DOMApplicationCache::setOnupdateready):
76754        (WebCore::DOMApplicationCache::onupdateready):
76755        (WebCore::DOMApplicationCache::setOncached):
76756        (WebCore::DOMApplicationCache::oncached):
76757        (WebCore::DOMApplicationCache::setOnobsolete):
76758        (WebCore::DOMApplicationCache::onobsolete):
76759
76760        Use ApplicationCachHost defined constants for Status and EventIDs.
76761
767622009-08-04  Nate Chapin  <japhet@chromium.org>
76763
76764        Reviewed by Dimitri Glazkov.
76765
76766        Revert r46421 and r46769, which appear to have totally hosed the v8 bindings.
76767
76768        https://bugs.webkit.org/show_bug.cgi?id=27719
76769
76770        * bindings/v8/V8AbstractEventListener.cpp: Revert r46421.
76771        (WebCore::V8AbstractEventListener::invokeEventHandler):
76772        * bindings/v8/custom/V8DOMWindowCustom.cpp: Revert r46769.
76773        (WebCore::ACCESSOR_GETTER):
76774
767752009-08-04  Chris Fleizach  <cfleizach@apple.com>
76776
76777        Reviewed by Darin Adler.
76778
76779        Bug 27993 - AXSliders are missing required attributes and actions
76780        https://bugs.webkit.org/show_bug.cgi?id=27993
76781
76782        Expose appropriate actions and attributes for sliders.
76783
76784        Test: platform/mac/accessibility/slider-supports-actions.html
76785
76786        * accessibility/AccessibilityObject.cpp:
76787        (WebCore::AccessibilityObject::orientation):
76788        * accessibility/AccessibilityObject.h:
76789        (WebCore::):
76790        * accessibility/AccessibilitySlider.cpp:
76791        (WebCore::AccessibilitySlider::orientation):
76792        * accessibility/AccessibilitySlider.h:
76793        * accessibility/mac/AccessibilityObjectWrapper.mm:
76794        (-[AccessibilityObjectWrapper accessibilityActionNames]):
76795        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
76796        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
76797
767982009-08-04  Jian Li  <jianli@chromium.org>
76799
76800        Reviewed by David Levin.
76801
76802        [V8] Fix an assert in WebCoreStringResource that causes worker script
76803        evaluation failed.
76804        https://bugs.webkit.org/show_bug.cgi?id=27996
76805
76806        The fix is to check for the same thread, instead of the main thread.
76807        This is because Chromium's workers use v8 in a single thread that is
76808        not the main thread.
76809
76810        * bindings/v8/V8Binding.cpp:
76811        (WebCore::WebCoreStringResource::WebCoreStringResource):
76812        (WebCore::WebCoreStringResource::~WebCoreStringResource):
76813        (WebCore::WebCoreStringResource::atomicString):
76814
768152009-08-04  Simon Fraser  <simon.fraser@apple.com>
76816
76817        Reviewed by Dave Hyatt.
76818
76819        Add support for transitions/animations of text-indent.
76820
76821        Test: transitions/text-indent-transition.html
76822
76823        * page/animation/AnimationBase.cpp:
76824        (WebCore::ensurePropertyMap):
76825
768262009-08-04  Simon Fraser  <simon.fraser@apple.com>
76827
76828        Reviewed by Dave Hyatt.
76829
76830        Add support for transitions of min- and max-width, and min- and max-height.
76831        https://bugs.webkit.org/show_bug.cgi?id=27990
76832
76833        Test: transitions/min-max-width-height-transitions.html
76834
76835        * page/animation/AnimationBase.cpp:
76836        (WebCore::ensurePropertyMap):
76837
768382009-08-04  Chris Fleizach  <cfleizach@apple.com>
76839
76840        Reviewed by Darin Adler.
76841
76842        Bug 27964 - WAI-ARIA: radio button does not determine its label from text content
76843        https://bugs.webkit.org/show_bug.cgi?id=27964
76844
76845        ARIA radio buttons also need to use the text inside of them, like buttons and other roles.
76846        Also fixed an issue where an extra space was being appended to some ARIA labels.
76847
76848        Test: platform/mac/accessibility/aria-radiobutton-text.html
76849
76850        * accessibility/AccessibilityObject.h:
76851        (WebCore::AccessibilityObject::ariaAccessibilityName):
76852        * accessibility/AccessibilityRenderObject.cpp:
76853        (WebCore::AccessibilityRenderObject::ariaAccessibilityName):
76854        (WebCore::AccessibilityRenderObject::ariaLabeledByAttribute):
76855        (WebCore::AccessibilityRenderObject::title):
76856        (WebCore::AccessibilityRenderObject::ariaDescribedByAttribute):
76857        * accessibility/AccessibilityRenderObject.h:
76858
768592009-08-04  Nate Chapin  <japhet@chromium.org>
76860
76861        Reviewed by Dimitri Glazkov.
76862
76863        Missed a place that expects window.event to be hidden when it shouldn't be.
76864
76865        https://bugs.webkit.org/show_bug.cgi?id=27719
76866
76867        * bindings/v8/custom/V8DOMWindowCustom.cpp:
76868        (WebCore::ACCESSOR_GETTER): window.event is no longer hidden.
76869
768702009-08-03  Chris Fleizach  <cfleizach@apple.com>
76871
76872        Reviewed by Jon Honeycutt.
76873
76874        Bug 27958 - WAI-ARIA: Implement 'aria-required' attribute.
76875        https://bugs.webkit.org/show_bug.cgi?id=27958
76876
76877        Test: platform/mac/accessibility/aria-required.html
76878
76879        * accessibility/AccessibilityObject.h:
76880        (WebCore::AccessibilityObject::isRequired):
76881        * accessibility/AccessibilityRenderObject.cpp:
76882        (WebCore::AccessibilityRenderObject::isRequired):
76883        * accessibility/AccessibilityRenderObject.h:
76884        * accessibility/mac/AccessibilityObjectWrapper.mm:
76885        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
76886        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
76887        * html/HTMLAttributeNames.in:
76888
768892009-08-04  Jakub Wieczorek  <faw217@gmail.com>
76890
76891        Reviewed by Simon Hausmann.
76892
76893        Add QWebPluginDatabase API to the Qt API.
76894        
76895        https://bugs.webkit.org/show_bug.cgi?id=27651
76896
76897        * WebCore.pro:
76898
768992009-08-04  Ariya Hidayat  <ariya.hidayat@nokia.com>
76900
76901        Reviewed by Adam Treat.
76902
76903        [Qt] PlusDarker is not supported. Fall back to CompositionMode_Darken
76904        (as it is the closest match) instead of CompositionMode_SourceOver.
76905
76906        * platform/graphics/qt/GraphicsContextQt.cpp:
76907        (WebCore::toQtCompositionMode):
76908
769092009-08-04  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
76910
76911        Reviewed by Adam Barth.
76912
76913        [v8] Fix crash when converting empty v8 string to atomic webkit string.
76914        https://bugs.webkit.org/show_bug.cgi?id=27975
76915
76916        collection-null-like-arguments.html tests for this.
76917
76918        * bindings/v8/V8Binding.cpp:
76919        (WebCore::v8StringToAtomicWebCoreString):
76920
769212009-08-04  Ryosuke Niwa  <rniwa@webkit.org>
76922
76923        Reviewed by Eric Seidel.
76924
76925        selectionHasStyle needs clean up to fix Bug 27858
76926        https://bugs.webkit.org/show_bug.cgi?id=27865
76927
76928        This patch cleans up selectionStartHasStyle and selectionHasStyle.
76929        No test is added because the patch does not change any behavior.
76930
76931        * editing/ApplyStyleCommand.cpp:
76932        (WebCore::getPropertiesNotInComputedStyle): Used in triStateOfStyleInComputedStyle but will be used here as well
76933        * editing/ApplyStyleCommand.h: Added the prototype of getPropertiesNotInComputedStyle
76934        * editing/Editor.cpp:
76935        (WebCore::triStateOfStyleInComputedStyle): Determines if the specified style is present in the specified computed style.
76936        (WebCore::Editor::selectionStartHasStyle): Uses triStateOfStyleInComputedStyle
76937        (WebCore::Editor::selectionHasStyle): Uses triStateOfStyleInComputedStyle instead of updateState
76938
769392009-08-03  John Abd-El-Malek  <jam@chromium.org>
76940
76941        Reviewed by David Levin.
76942
76943        Fix MessagePort construction in worker process.  Also make the other object constructions match this.
76944
76945        https://bugs.webkit.org/show_bug.cgi?id=27906
76946
76947        * bindings/v8/V8DOMWrapper.cpp:
76948        (WebCore::V8DOMWrapper::convertToV8Object):
76949        * bindings/v8/V8Proxy.cpp:
76950        (WebCore::V8Proxy::setDOMException):
76951        * bindings/v8/WorkerContextExecutionProxy.cpp:
76952        (WebCore::WorkerContextExecutionProxy::ToV8Object):
76953
769542009-08-03  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
76955
76956        Reviewed by David Levin.
76957
76958        [V8] Cache atomic strings in externalized v8 strings
76959        https://bugs.webkit.org/show_bug.cgi?id=27762
76960
76961        * bindings/scripts/CodeGeneratorV8.pm:
76962        * bindings/v8/V8Binding.cpp:
76963        (WebCore::WebCoreStringResource::WebCoreStringResource):
76964        (WebCore::WebCoreStringResource::~WebCoreStringResource):
76965        (WebCore::WebCoreStringResource::data):
76966        (WebCore::WebCoreStringResource::length):
76967        (WebCore::WebCoreStringResource::webcoreString):
76968        (WebCore::WebCoreStringResource::atomicString):
76969        (WebCore::WebCoreStringResource::toStringResource):
76970        (WebCore::v8StringToWebCoreString):
76971        (WebCore::v8StringToAtomicWebCoreString):
76972        (WebCore::v8ValueToWebCoreString):
76973        (WebCore::v8ValueToAtomicWebCoreString):
76974        * bindings/v8/V8Binding.h:
76975        (WebCore::):
76976        * dom/Document.idl:
76977
769782009-08-03  Joseph Pecoraro  <joepeck02@gmail.com>
76979
76980        Reviewed by Timothy Hatcher.
76981
76982        Inspector: DOM Storage Live Updating Should Not Affect Tabbing
76983        https://bugs.webkit.org/show_bug.cgi?id=27957
76984
76985        * inspector/front-end/DOMStorageDataGrid.js:
76986        (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode): disable storage event listener
76987        (WebInspector.DOMStorageDataGrid.prototype._startEditing): disable storage event listener
76988        (WebInspector.DOMStorageDataGrid.prototype._editingCancelled): enable storage event listener
76989        * inspector/front-end/DatabasesPanel.js:
76990        (WebInspector.DatabasesPanel.prototype._unregisterStorageEventListener): quick return if no listener
76991
769922009-08-03  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
76993
76994        Reviewed by Eric Seidel.
76995
76996        [Qt] Consolidate common gcc flags to WebKit.pri
76997        https://bugs.webkit.org/show_bug.cgi?id=27934
76998
76999        * WebCore.pro:
77000
770012009-08-03  Jeremy Orlow  <jorlow@chromium.org>
77002
77003        Reviewed by Darin Fisher.
77004
77005        Chromium code sometimes isn't sandboxed and needs to access the FS.
77006        https://bugs.webkit.org/show_bug.cgi?id=27954
77007
77008        These changes are the WebKit side of http://codereview.chromium.org/159778 which
77009        aims to make LocalStorage persistent.
77010
77011        This change runs all FileSystem routines through the ChromiumBridge so that
77012        WebKitClients can handle them if they choose to.  For now, the only such client
77013        will be the one running in the browser process.
77014
77015        It also adds a method called sandboxEnabled to the Chromium bridge so that the
77016        SQLite file system code can shift its behavior depending on whether we're
77017        inside a sandbox or not.
77018
77019        * platform/chromium/ChromiumBridge.h:
77020        * platform/chromium/FileSystemChromium.cpp:
77021        (WebCore::deleteFile):
77022        (WebCore::deleteEmptyDirectory):
77023        (WebCore::getFileModificationTime):
77024        (WebCore::directoryName):
77025        (WebCore::pathByAppendingComponent):
77026        (WebCore::makeAllDirectories):
77027        (WebCore::fileExists):
77028        * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
77029        (WebCore::SQLiteFileSystem::openDatabase):
77030        * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
77031        (WebCore::SQLiteFileSystem::registerSQLiteVFS):
77032
770332009-08-03  Alpha Lam  <hclam@chromium.org>
77034
77035        Reviewed by David Levin.
77036
77037        [chromium] Implement media slider for chromium
77038        https://bugs.webkit.org/show_bug.cgi?id=27859
77039
77040        Implemented the media slider for chromium port. The implementation
77041        is using Skia for drawing the thumb and buffered region instead of
77042        using any native system controls so different platforms would have
77043        the same look and feel.
77044
77045        No new tests because this is covered by existing tests.
77046
77047        * css/mediaControlsChromium.css:
77048        * rendering/RenderThemeChromiumSkia.cpp:
77049        * rendering/RenderThemeChromiumSkia.h:
77050        * rendering/RenderThemeChromiumWin.cpp:
77051
770522009-07-27  Peter Kasting  <pkasting@google.com>
77053
77054        Reviewed by Eric Seidel.
77055
77056        https://bugs.webkit.org/show_bug.cgi?id=26460
77057        Plumbing and cleanup in advance of returning multiple frames from the
77058        ICOImageDecoder:
77059        * Make ImageDecoder::frameCount() return a size_t like
77060          ImageSource::frameCount() and BitmapImage::frameCount() already do.
77061        * Add ImageDecoder::frameSizeAtIndex() alongside size(), to report the
77062          size of a particular frame.  Hook all the
77063          ImageSource::frameSizeAtIndex() implementations to this.  No
77064          ImageDecoder implements this yet; that will come in my next change.
77065
77066        * platform/graphics/cairo/ImageSourceCairo.cpp:
77067        (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
77068        * platform/graphics/qt/ImageDecoderQt.cpp:
77069        (WebCore::ImageDecoderQt::frameCount): returns size_t.
77070        * platform/graphics/qt/ImageDecoderQt.h: frameCount() returns size_t.
77071        * platform/graphics/qt/ImageSourceQt.cpp:
77072        (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
77073        * platform/graphics/skia/ImageSourceSkia.cpp:
77074        (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
77075        * platform/graphics/win/ImageCGWin.cpp:
77076        (WebCore::BitmapImage::drawFrameMatchingSourceSize): frameCount() returns size_t.
77077        * platform/graphics/win/ImageCairoWin.cpp:
77078        (WebCore::BitmapImage::drawFrameMatchingSourceSize): frameCount() returns size_t.
77079        * platform/graphics/wx/ImageSourceWx.cpp:
77080        (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
77081        * platform/image-decoders/ImageDecoder.h:
77082        (WebCore::ImageDecoder::size): Clarify comment.
77083        (WebCore::ImageDecoder::frameSizeAtIndex): Add.
77084        (WebCore::ImageDecoder::frameCount): returns size_t.
77085        (WebCore::ImageDecoder::frameBufferAtIndex): Remove unneeded param name.
77086        * platform/image-decoders/gif/GIFImageDecoder.cpp:
77087        (WebCore::GIFImageDecoder::frameCount): returns size_t.
77088        (WebCore::GIFImageDecoder::frameBufferAtIndex): frameCount() returns size_t.
77089        * platform/image-decoders/gif/GIFImageDecoder.h: frameCount() returns size_t.
77090
770912009-08-03  Dumitru Daniliuc  <dumi@chromium.org>
77092
77093        Reviewed by Darin Adler.
77094
77095        Fix a bug that could cause an ASSERT to fail incorrectly, leading
77096        to a renderer crash in Chromium.
77097
77098        https://bugs.webkit.org/show_bug.cgi?id=27947
77099
77100        All tests in storage/ pass.
77101
77102        * platform/sql/SQLiteTransaction.cpp:
77103        (WebCore::SQLiteTransaction::~SQLiteTransaction):
77104        (WebCore::SQLiteTransaction::begin):
77105
771062009-08-03  Kenneth Rohde Christiansen  <kenneth@webkit.org>
77107
77108        Reviewed by Simon Hausmann.
77109
77110        Based on work by Yael Aharon.
77111
77112        Implement keyboard event forwarding for windowless plugins
77113        for the Qt port.
77114
77115        * plugins/qt/PluginViewQt.cpp:
77116        (WebCore::PluginView::dispatchNPEvent):
77117        (WebCore::setSharedXEventFields):
77118        (WebCore::setXKeyEventSpecificFields):
77119        (WebCore::PluginView::handleKeyboardEvent):
77120        (WebCore::PluginView::handleMouseEvent):
77121
771222009-08-03  Joseph Pecoraro  <joepeck02@gmail.com>
77123
77124        Reviewed by Timothy Hatcher.
77125
77126        Inspector: Make Bottom "Drawer" More Extensible To Support Other Views
77127        https://bugs.webkit.org/show_bug.cgi?id=27928
77128
77129        * English.lproj/localizedStrings.js:
77130
77131          "Show changes view", "Hide changes view", "Clear changes log", "%d style change", "%d style changes"
77132
77133        * inspector/front-end/ChangesView.js: Added.
77134        (WebInspector.ChangesView):
77135        (WebInspector.ChangesView.prototype._clearButtonClicked):
77136        (WebInspector.ChangesView.prototype._toggleChangesButtonClicked):
77137        (WebInspector.ChangesView.prototype.attach):
77138        (WebInspector.ChangesView.prototype.show):
77139        (WebInspector.ChangesView.prototype.hide):
77140
77141          To be a new view to show Changes made via the inspector.  DOM, CSS, or otherwise.
77142
77143        * inspector/front-end/Console.js: Removed.
77144
77145          Sliding View aspect moved to Drawer.js.  The "console" itself has moved to ConsoleView.js
77146
77147        * inspector/front-end/ConsoleView.js: Added.
77148
77149          Little has changed from its move from Console.js other then support for working with the Drawer.
77150
77151        * inspector/front-end/Drawer.js: Added.
77152        (WebInspector.Drawer):
77153        (WebInspector.Drawer.prototype.get visibleView):
77154        (WebInspector.Drawer.prototype.set visibleView):
77155        (WebInspector.Drawer.prototype.show.animationFinished):
77156        (WebInspector.Drawer.prototype.show):
77157        (WebInspector.Drawer.prototype.hide.animationFinished):
77158        (WebInspector.Drawer.prototype.hide):
77159        (WebInspector.Drawer.prototype._safelyRemoveChildren):
77160        (WebInspector.Drawer.prototype._startStatusBarDragging):
77161        (WebInspector.Drawer.prototype._statusBarDragging):
77162        (WebInspector.Drawer.prototype._endStatusBarDragging):
77163
77164          Allow for multiple views inside the Sliding Drawer.
77165
77166        * inspector/front-end/ElementsPanel.js:
77167        (WebInspector.ElementsPanel):
77168        (WebInspector.ElementsPanel.prototype.renameSelector):
77169        (WebInspector.ElementsPanel.prototype.addStyleChange):
77170        (WebInspector.ElementsPanel.prototype.removeStyleChange):
77171        (WebInspector.ElementsPanel.prototype.generateStylesheet):
77172
77173          Starting work on the "Changes" Panel. The ability to generate a Stylesheet from Styles added via the Inspector.
77174
77175        * inspector/front-end/Images/styleIcon.png: Added.
77176
77177        * inspector/front-end/StylesSidebarPane.js:
77178        (WebInspector.StylePropertiesSection.prototype.isInspectorStylesheet):
77179        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
77180        (WebInspector.BlankStylePropertiesSection.prototype.makeNormal):
77181        (WebInspector.StylePropertyTreeElement.prototype):
77182
77183          Interface with ElementsPanel for generating a Stylesheet of Changes.
77184
77185        * inspector/front-end/WebKit.qrc:
77186        * inspector/front-end/inspector.css: Refactored to allow for multiple views in the drawer.
77187        * inspector/front-end/inspector.html: Refactored to allow for multiple views in the drawer.
77188
77189        * inspector/front-end/inspector.js:
77190        (WebInspector.get styleChanges):
77191        (WebInspector.set styleChanges):
77192        (WebInspector._updateChangesCount):
77193        (WebInspector.loaded):
77194        (WebInspector.documentKeyDown):
77195        (WebInspector.showConsole):
77196        (WebInspector.showChanges):
77197
77198          Support for the drawer and "styles changed icon" similar to the "errors and warnings" icons.
77199
772002009-08-03  Dean McNamee  <deanm@chromium.org>
77201
77202        Reviewed by Adam Barth.
77203
77204        Correct an assert on a PassRefPtr in the v8 svg bindings.
77205        https://bugs.webkit.org/show_bug.cgi?id=27951
77206
77207        * bindings/v8/V8SVGPODTypeWrapper.h:
77208        (WebCore::V8SVGDynamicPODTypeWrapper::V8SVGDynamicPODTypeWrapper):
77209
772102009-08-03  Dirk Pranke  <dpranke@chromium.org>
77211
77212        Reviewed by Sam Weinig.
77213
77214        Fix for https://bugs.webkit.org/show_bug.cgi?id=27748
77215        crash w/ stack overflow when same CSS file loaded repeatedly
77216
77217        Fix crash caused by a stack overflow when repeatedly loading very large
77218        CSS files. CSSRuleData in CSSStyleSelector.h destroyed itself 
77219        recursively rather than iteratively.
77220
77221        Test: fast/css/large-list-of-rules-crash.html
77222
77223        * css/CSSStyleSelector.h:
77224        (WebCore::CSSRuleData::~CSSRuleData):
77225        (WebCore::CSSRuleDataList::~CSSRuleDataList):
77226
772272009-08-03  Simon Fraser  <simon.fraser@apple.com>
77228
77229        Reviewed by Dan Bernstein.
77230
77231        Make the DRT APIs to pause transitions and animations work for accelerated animations
77232        <https://bugs.webkit.org/show_bug.cgi?id=27627>
77233        <rdar://problem/6442932>
77234
77235        Fix the 'pauseAnimationAtTimeOnElementWithId' and 'pauseTransitionAtTimeOnElementWithId' APIs
77236        available to LayoutTests to work with accelerated animations and transitions. Done by sending
77237        the pause time down to the GraphicsLayer, and using it to stop time on the layer.
77238        
77239        I also added an assertion to check that the animation has actually started when we
77240        try to pause it, to check that the pause time we compute is valid. This revealed a number
77241        of tests that tried to pause before animations started, required some amount of test fixing.
77242
77243        * page/animation/AnimationBase.cpp:
77244        (WebCore::AnimationBase::freezeAtTime):
77245        * page/animation/AnimationBase.h:
77246        * page/animation/CompositeAnimation.cpp:
77247        (WebCore::CompositeAnimation::pauseAnimationAtTime):
77248        (WebCore::CompositeAnimation::pauseTransitionAtTime):
77249        * platform/graphics/GraphicsLayer.cpp:
77250        (WebCore::GraphicsLayer::suspendAnimations):
77251        * platform/graphics/GraphicsLayer.h:
77252        * platform/graphics/mac/GraphicsLayerCA.h:
77253        * platform/graphics/mac/GraphicsLayerCA.mm:
77254        (WebCore::GraphicsLayerCA::suspendAnimations):
77255        * rendering/RenderLayerBacking.cpp:
77256        (WebCore::RenderLayerBacking::suspendAnimations):
77257        * rendering/RenderLayerBacking.h:
77258
772592009-08-03  Tony Chang  <tony@chromium.org>
77260
77261        Reviewed by Darin Adler.
77262
77263        Fix Chromium build by removing PluginView.h from Page.cpp.
77264        Chromium doesn't use PluginView and the pointer is never
77265        dereferenced so the header doesn't need to be included.
77266        https://bugs.webkit.org/show_bug.cgi?id=27946
77267
77268        No new tests because this is a build fix.
77269
77270        * page/Page.cpp:
77271
772722009-08-03  Eric Carlson  <eric.carlson@apple.com>
77273
77274        One more build fix after https://bugs.webkit.org/show_bug.cgi?id=46720.
77275
77276        Unreviewed.
77277
77278        * WebCoreSources.bkl:
77279
772802009-08-03  Eric Carlson  <eric.carlson@apple.com>
77281
77282        Build fix after https://bugs.webkit.org/show_bug.cgi?id=46720.
77283
77284        Unreviewed.
77285
77286        * GNUmakefile.am:
77287        * WebCore.gypi:
77288        * WebCore.pro:
77289        * WebCore.vcproj/WebCore.vcproj:
77290
772912009-08-03  Chris Fleizach  <cfleizach@apple.com>
77292
77293        Reviewed by Darin Adler.
77294
77295        Bug 27943: Need to implement ARIA role="radiogroup"
77296        https://bugs.webkit.org/show_bug.cgi?id=27943
77297
77298        Test: platform/mac/accessibility/aria-radiogroup.html
77299
77300        * accessibility/AccessibilityObject.h:
77301        (WebCore::AccessibilityObject::isRadioGroup):
77302        (WebCore::AccessibilityObject::selectedRadioButton):
77303        * accessibility/AccessibilityRenderObject.cpp:
77304        (WebCore::AccessibilityRenderObject::selectedRadioButton):
77305        (WebCore::RoleEntry::):
77306        * accessibility/AccessibilityRenderObject.h:
77307        * accessibility/mac/AccessibilityObjectWrapper.mm:
77308        (-[AccessibilityObjectWrapper roleDescription]):
77309        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
77310
773112009-08-03  Eric Carlson  <eric.carlson@apple.com>
77312
77313        Reviewed by Eric Seidel.
77314
77315        HTMLInputElement is not controllable by assistive technologies
77316        https://bugs.webkit.org/show_bug.cgi?id=27941
77317
77318        Test: accessibility/input-slider.html
77319
77320        * WebCore.xcodeproj/project.pbxproj:
77321            Add AccessibilitySlider.cpp/.h
77322
77323        * accessibility/AXObjectCache.cpp:
77324        (WebCore::AXObjectCache::getOrCreate):
77325            Create AccessibilitySlider and AccessibilitySliderThumb.
77326
77327        * accessibility/AccessibilityObject.h:
77328        (WebCore::AccessibilityObject::increment):
77329        (WebCore::AccessibilityObject::decrement):
77330            Add default, do nothing, base class methods.
77331
77332        * accessibility/AccessibilityRenderObject.cpp:
77333        (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
77334            Correct typo.
77335
77336        * accessibility/AccessibilitySlider.cpp: Added.
77337        (WebCore::AccessibilitySlider::AccessibilitySlider):
77338        (WebCore::AccessibilitySlider::create):
77339        (WebCore::AccessibilitySlider::children):
77340        (WebCore::AccessibilitySlider::addChildren):
77341        (WebCore::AccessibilitySlider::getAttribute):
77342        (WebCore::AccessibilitySlider::valueForRange):
77343        (WebCore::AccessibilitySlider::maxValueForRange):
77344        (WebCore::AccessibilitySlider::minValueForRange):
77345        (WebCore::AccessibilitySlider::changeValue):
77346        (WebCore::AccessibilitySlider::setValue):
77347        (WebCore::AccessibilitySlider::increment):
77348        (WebCore::AccessibilitySlider::decrement):
77349        (WebCore::AccessibilitySlider::element):
77350        (WebCore::AccessibilitySliderThumb::AccessibilitySliderThumb):
77351        (WebCore::AccessibilitySliderThumb::create):
77352        (WebCore::AccessibilitySliderThumb::elementRect):
77353        (WebCore::AccessibilitySliderThumb::size):
77354        * accessibility/AccessibilitySlider.h: Added.
77355        (WebCore::AccessibilitySlider::~AccessibilitySlider):
77356        (WebCore::AccessibilitySlider::roleValue):
77357        (WebCore::AccessibilitySlider::accessibilityIsIgnored):
77358        (WebCore::AccessibilitySlider::isSlider):
77359        (WebCore::AccessibilitySlider::canSetValueAttribute):
77360        (WebCore::AccessibilitySliderThumb::~AccessibilitySliderThumb):
77361        (WebCore::AccessibilitySliderThumb::roleValue):
77362        (WebCore::AccessibilitySliderThumb::accessibilityIsIgnored):
77363        (WebCore::AccessibilitySliderThumb::setParentObject):
77364        (WebCore::AccessibilitySliderThumb::parentObject):
77365
77366        * accessibility/mac/AccessibilityObjectWrapper.mm:
77367        (RoleEntry::):
77368            SliderThumbRole -> NSAccessibilityValueIndicatorRole
77369        (-[AccessibilityObjectWrapper roleDescription]):
77370            Return role description for NSAccessibilitySliderRole and NSAccessibilityValueIndicatorRole.
77371        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
77372            Minor coding style correction.
77373        (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
77374            If attachement view handles press action, don't also call object wrapper.
77375        (-[AccessibilityObjectWrapper accessibilityPerformIncrementAction]):
77376            New, call object's increment() method.
77377        (-[AccessibilityObjectWrapper accessibilityPerformDecrementAction]):
77378            New, call object's decrement() method.
77379        (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
77380            Respond to NSAccessibilityIncrementAction and NSAccessibilityDecrementAction.
77381
77382        * rendering/RenderSlider.cpp:
77383        (WebCore::RenderSlider::thumbRect):
77384            Factor logic out of layout so AccessibilitySliderThumb can get thumb location/size.
77385        (WebCore::RenderSlider::layout):
77386            Move code to thumbRect().
77387        * rendering/RenderSlider.h:
77388
773892009-08-03  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
77390
77391        Reviewed by Eric Seidel.
77392
77393        Build fix if Netscape plugin support is turned off
77394        https://bugs.webkit.org/show_bug.cgi?id=27940
77395
77396        * plugins/PluginView.cpp:
77397        (WebCore::PluginView::stop): Do not call NPN_MemFree if NPAPI is
77398        disabled
77399        * plugins/PluginViewNone.cpp:
77400        (WebCore::PluginView::platformStart): Empty stub.
77401
774022009-07-31  Joe Mason  <joe.mason@torchmobile.com>
77403
77404        Reviewed by George Staikos.
77405
77406        WINCE port: LOAD_WITH_ALTERED_SEARCH_PATH param of LoadLibraryEx not supported on WINCE
77407        https://bugs.webkit.org/show_bug.cgi?id=27917
77408
77409        * plugins/win/PluginPackageWin.cpp:
77410        (WebCore::PluginPackage::load): use LoadLibrary instead of LoadLibraryEx
77411
774122009-08-02  Adam Barth  <abarth@webkit.org>
77413        Reviewed by Darin Adler.
77414
77415        SVGElementInstance::scriptExecutionContext should call document() instead of scriptExecutionContext()
77416
77417        https://bugs.webkit.org/show_bug.cgi?id=27932
77418
77419        There's no reason to pay for a virtual function call in this case.  We
77420        can just call document() directly because we know that element is a
77421        Node*.
77422
77423        * svg/SVGElementInstance.cpp:
77424        (WebCore::SVGElementInstance::scriptExecutionContext):
77425
774262009-08-02  Adam Barth  <abarth@webkit.org>
77427
77428        Reviewed by Darin Adler.
77429
77430        JSNodeCustom should call document() instead of scriptExecutionContext()
77431        https://bugs.webkit.org/show_bug.cgi?id=27931
77432
77433        We want to call document() because it's in inline function, instead of
77434        scriptExecutionContext() because it's a virtual function.  If we have a
77435        Node*, then we know that the virtual function will always return the
77436        document anyway.
77437
77438        There are more instance of this bug, but I'd like to start with a small
77439        patch and work up.
77440
77441        * bindings/js/JSDOMGlobalObject.cpp:
77442        (WebCore::toJSDOMGlobalObject):
77443        * bindings/js/JSDOMGlobalObject.h:
77444        * bindings/js/JSNodeCustom.cpp:
77445        (WebCore::JSNode::addEventListener):
77446        (WebCore::JSNode::removeEventListener):
77447
774482009-08-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
77449
77450        Reviewed by Anders Carlsson.
77451
77452        Share implementation of PluginView::userAgent() and userAgentStatic()
77453
77454        https://bugs.webkit.org/show_bug.cgi?id=27706
77455
77456        Differences to the original implementation are as follows:
77457        
77458            - The Win port used to return 0 for userAgentStatic, but now
77459              returns the quirk mode MozillaUserAgent as the other ports.
77460
77461        * plugins/PluginView.cpp:
77462        (WebCore::PluginView::userAgent):
77463        (WebCore::PluginView::userAgentStatic):
77464        * plugins/PluginViewNone.cpp:
77465        * plugins/gtk/PluginViewGtk.cpp:
77466        * plugins/mac/PluginViewMac.cpp:
77467        * plugins/qt/PluginViewQt.cpp:
77468        * plugins/win/PluginViewWin.cpp:
77469
774702009-07-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
77471
77472        Reviewed by Anders Carlsson.
77473
77474        Unregister plugin from PluginMainThreadScheduler if NPP_New fails
77475        
77476        https://bugs.webkit.org/show_bug.cgi?id=27706
77477        
77478        Since the plugin has not been started yet (m_isStarted is not set),
77479        calling stop() will not have any affect, so we manually unregister
77480        in start() before returning.
77481
77482        * plugins/PluginView.cpp:
77483        (WebCore::PluginView::start):
77484
774852009-07-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
77486
77487        Reviewed by Anders Carlsson.
77488
77489        Join the various versions of PluginView::stop() into one shared implementation
77490
77491        https://bugs.webkit.org/show_bug.cgi?id=27706
77492
77493        The platform-dependent bits are now ifdef'ed in the shared implementation,
77494        using the XP_ defines (XP_WIN, XP_MACOSX, XP_UNIX) from npapi.h
77495        
77496        Differences to the original implementation are as follows:
77497
77498            - The Qt port unregistered the plugin before calling NP_SetWindow
77499              with a 0 window handle. Now it's done after (similar to Win)
77500
77501            - The GTK and Qt ports unregistered the plugin before clearing
77502              the m_npWindow.ws_info struct. Now it's done after.
77503              
77504            - The Win port constructed the DropAllLocks after unsubclassing
77505              the window. Now it's done before.
77506              
77507            - The Mac, Qt, and GTK ports did not pass a NPSavedData struct
77508              to NP_Destroy (like the Win port). Now all ports do.
77509
77510            - The Win port did not call PluginView::setCurrentPluginView()
77511              before calling to NP-functions. Now it does.     
77512
77513        * plugins/PluginView.cpp:
77514        * plugins/PluginViewNone.cpp:
77515        * plugins/gtk/PluginViewGtk.cpp:
77516        * plugins/mac/PluginViewMac.cpp:
77517        * plugins/qt/PluginViewQt.cpp:
77518        * plugins/win/PluginViewWin.cpp:
77519
775202009-07-30  Joseph Pecoraro  <joepeck02@gmail.com>
77521
77522        Reviewed by Timothy Hatcher.
77523
77524        Inspector: let me *edit* css styles in the web inspector.
77525        https://bugs.webkit.org/show_bug.cgi?id=27124
77526
77527        * English.lproj/localizedStrings.js:
77528        * inspector/front-end/ElementsPanel.js:
77529        (WebInspector.ElementsPanel): added property stylesheet pointing to 1 stylesheet added to the page if needed
77530        * inspector/front-end/StylesSidebarPane.js:
77531        (WebInspector.StylesSidebarPane.prototype.update): handle blank sections
77532        (WebInspector.StylesSidebarPane.prototype.addBlankSection): blank section in the correct position
77533        (WebInspector.StylesSidebarPane.prototype.appropriateSelectorForNode): helper to get a nice selector for the selectd node
77534        (WebInspector.StylePropertiesSection):
77535        (WebInspector.StylePropertiesSection.prototype.expand):
77536        (WebInspector.StylePropertiesSection.prototype.isPropertyInherited):
77537        (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
77538        (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
77539        (WebInspector.StylePropertiesSection.prototype._dblclickEmptySpace): easily create new properties
77540        (WebInspector.StylePropertiesSection.prototype._dblclickSelector):
77541        (WebInspector.StylePropertiesSection.prototype.startEditingSelector): allow for editing selectors
77542        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
77543        (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled):
77544        (WebInspector.StylePropertiesSection.prototype._doesSelectorAffectSelectedNode): helper to check if a selector applies to the selected node
77545        (WebInspector.BlankStylePropertiesSection.prototype._dblclick):
77546        (WebInspector.BlankStylePropertiesSection.prototype.startEditing):
77547        (WebInspector.BlankStylePropertiesSection.prototype.editingCancelled):
77548        (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted):
77549        (WebInspector.BlankStylePropertiesSection.prototype.makeNormal): morph into a StylePropertiesSection
77550        (WebInspector.StylePropertyTreeElement.prototype):
77551        (WebInspector.StylePropertyTreeElement.prototype.):
77552        * inspector/front-end/inspector.css:
77553
775542009-07-31  Anton Muhin  <antonm@chromium.org>
77555
77556        Reviewed by Adam Barth.
77557
77558        [v8] check if proxy is present before invoking a handler
77559        https://bugs.webkit.org/show_bug.cgi?id=27883 
77560
77561        Do not invoke handler function if proxy is null pointer (that would lead to access violation
77562        anyway)
77563
77564        * bindings/v8/custom/V8CustomEventListener.cpp:
77565        (WebCore::V8EventListener::callListenerFunction):
77566
775672009-08-01  Pavel Feldman  <pfeldman@chromium.org>
77568
77569        Reviewed by Timothy Hatcher.
77570
77571        Web Inspector: Reimplement Elements Panel so that its
77572        interaction with DOM is serialized.
77573
77574        This is a first cut wuth read support for DOM elements
77575        tree as well as some limited editing. No properties, no
77576        styles, no search capabilities are implemented yet.
77577        Set Preferences.useDOMAgent to true in order to try it
77578        out, otherwise disabled by default.
77579
77580        https://bugs.webkit.org/show_bug.cgi?id=27771
77581
77582        * GNUmakefile.am:
77583        * WebCore.gypi:
77584        * WebCore.pro:
77585        * WebCore.vcproj/WebCore.vcproj:
77586        * WebCore.xcodeproj/project.pbxproj:
77587        * WebCoreSources.bkl:
77588        * inspector/InspectorBackend.cpp:
77589        (WebCore::InspectorBackend::getChildNodes):
77590        (WebCore::InspectorBackend::setAttribute):
77591        (WebCore::InspectorBackend::removeAttribute):
77592        (WebCore::InspectorBackend::setTextNodeValue):
77593        * inspector/InspectorBackend.h:
77594        * inspector/InspectorBackend.idl:
77595        * inspector/InspectorController.cpp:
77596        (WebCore::InspectorController::windowScriptObjectAvailable):
77597        (WebCore::InspectorController::setFrontendProxyObject):
77598        (WebCore::InspectorController::close):
77599        (WebCore::InspectorController::populateScriptObjects):
77600        (WebCore::InspectorController::didCommitLoad):
77601        * inspector/InspectorController.h:
77602        (WebCore::InspectorController::domAgent):
77603        * inspector/InspectorDOMAgent.cpp: Added.
77604        * inspector/InspectorDOMAgent.h: Added.
77605        * inspector/InspectorFrontend.cpp:
77606        * inspector/InspectorFrontend.h:
77607        * inspector/front-end/Callback.js: Added.
77608        * inspector/front-end/DOMAgent.js: Added.
77609        * inspector/front-end/ElementsPanel.js:
77610        * inspector/front-end/WebKit.qrc:
77611        * inspector/front-end/inspector.html:
77612        * inspector/front-end/inspector.js:
77613        (WebInspector.loaded):
77614
776152009-08-01  Ryosuke Niwa  <rniwa@webkit.org>
77616
77617        Reviewed by Adele Peterson.
77618
77619        isContentEditable function in htmlediting.* must be removed
77620        https://bugs.webkit.org/show_bug.cgi?id=27870
77621
77622        This patch removes isContentEditable function in htmlediting.cpp and
77623        replaces all usage by calling Node::isContentEditable or its derivatives.
77624
77625        * editing/AppendNodeCommand.cpp: ditto
77626        (WebCore::AppendNodeCommand::AppendNodeCommand): ditto
77627        * editing/IndentOutdentCommand.cpp: ditto
77628        (WebCore::IndentOutdentCommand::outdentParagraph): ditto
77629        * editing/InsertNodeBeforeCommand.cpp: ditto
77630        (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand): ditto
77631        * editing/htmlediting.cpp: ditto
77632        (WebCore::enclosingNodeWithTag): ditto
77633        (WebCore::enclosingNodeOfType): ditto
77634        (WebCore::canMergeLists): ditto
77635        * editing/htmlediting.h: Updated prototype
77636
776372009-08-01  John Abd-El-Malek  <jam@chromium.org>
77638
77639        Reviewed by Adam Barth.
77640
77641        Fix a message port handle always getting marked as reachable once it gets entangled.
77642
77643        https://bugs.webkit.org/show_bug.cgi?id=27824
77644
77645        No tests since this only arises with the Chromium multi-process message port implementation
77646        which isn't in this repostiory.
77647
77648        * bindings/v8/V8GCController.cpp:
77649        (WebCore::GCEpilogueVisitor::visitDOMWrapper):
77650
776512009-07-31  Yong Li  <yong.li@torchmobile.com>
77652
77653        Reviewed by Adam Barth.
77654
77655        Fix Geolocation permission problem
77656        https://bugs.webkit.org/show_bug.cgi?id=26993
77657
77658        * page/Geolocation.cpp:
77659        (WebCore::Geolocation::requestPermission):
77660
776612009-07-31  Norbert Leser  <norbert.leser@nokia.com>
77662
77663        Reviewed by Eric Seidel.
77664
77665        Added project properties as needed by symbian platform
77666
77667        * WebCore.pro:
77668
776692009-07-31  Xan Lopez  <xlopez@igalia.com>
77670
77671        Reviewed by Holger Freyther.
77672
77673        Fix compiler warning.
77674
77675        Initialize member variables in the correct order.
77676
77677        * plugins/PluginView.cpp:
77678        (WebCore::PluginView::PluginView):
77679
776802009-07-31  Jon Honeycutt  <jhoneycutt@apple.com>
77681
77682        Windows build fix!
77683
77684        Unreviewed.
77685
77686        * page/win/PageWin.cpp:
77687
776882009-07-31  Jon Honeycutt  <jhoneycutt@apple.com>
77689
77690        Mac build fix.
77691
77692        Unreviewed.
77693
77694        * page/Page.cpp:
77695        Move setCanStartPlugins() from here...
77696        * page/win/PageWin.cpp:
77697        (WebCore::Page::setCanStartPlugins):
77698        ... to here.
77699
777002009-07-29  Jon Honeycutt  <jhoneycutt@apple.com>
77701
77702        <rdar://problem/5698113> Safari shouldn't auto-activate plug-ins in
77703        background tabs (make Win consistent with Mac)
77704
77705        https://bugs.webkit.org/show_bug.cgi?id=27855
77706
77707        Reviewed by Anders Carlsson.
77708
77709        * loader/FrameLoaderClient.h:
77710        (WebCore::FrameLoaderClient::dispatchDidFailToStartPlugin):
77711        Declare a new function to dispatch failures to start plug-ins.
77712
77713        * page/Page.cpp:
77714        (WebCore::Page::Page):
77715        Initialize new member variable.
77716        (WebCore::Page::addUnstartedPlugin):
77717        Add the PluginView to the set of unstarted plug-ins.
77718        (WebCore::Page::removeUnstartedPlugin):
77719        Remove the PluginView from the set of unstarted plug-ins.
77720        (WebCore::Page::setCanStartPlugins):
77721        If we can now start plug-ins, iterate the set of unstarted plug-ins,
77722        starting them. If a plug-in fails to start, dispatch a failed-to-start-
77723        plug-in error. Clear the list of unstarted plug-ins.
77724
77725        * page/Page.h:
77726        Added m_canStartPlugins to track whether we can currently start
77727        plug-ins. Added m_unstartedPlugins to keep track of plug-ins in the
77728        page that are waiting to be started.
77729        (WebCore::Page::canStartPlugins):
77730
77731        * plugins/PluginView.cpp:
77732        (WebCore::PluginView::start):
77733        m_mimeType is now a WebCore::String, so we call .utf8(). If NPP_New()
77734        fails, set m_status to reflect this; this used to be set by init(), but
77735        start() will not be called by init() if we are delaying start().
77736        If NPP_New() succeeds, set m_status to reflect this, and call
77737        platformStart().
77738        (WebCore::PluginView::startOrAddToUnstartedList):
77739        If we cannot start plug-ins, add this view to the Page's list of
77740        unstarted plug-ins and return true. Otherwise, call start() and return
77741        the result.
77742        (WebCore::PluginView::removeFromUnstartedListIfNecessary):
77743        If we've been started or we don't have a Page, return early. Remove
77744        ourselves from the Page's list of unstarted plug-ins.
77745        (WebCore::PluginView::bindingInstance):
77746        If we haven't been started yet, return 0. This matches the Mac
77747        behavior.
77748        (WebCore::PluginView::setParameters):
77749        If we find the "plug-ins page" parameter, record it; it may be used if
77750        we fail to start the plug-in.
77751        (WebCore::PluginView::PluginView):
77752        Initialize new members m_haveUpdatedPluginWidget. Initialize m_mimeType
77753        with mimeType directly; m_mimeType is now a WebCore::String.
77754
77755        * plugins/PluginView.h:
77756        Made start() public, so Page can call it when we start unstarted
77757        plug-ins. Changed m_mimeType from CString to String and added
77758        m_pluginsPage; these are needed by dispatchDidFailToStartPlugin().
77759        (WebCore::PluginView::pluginsPage):
77760        Added for dispatchDidFailToStartPlugin().
77761        (WebCore::PluginView::mimeType):
77762        Ditto.
77763        (WebCore::PluginView::url):
77764        Ditto.
77765
77766        * plugins/gtk/PluginViewGtk.cpp:
77767        (WebCore::PluginView::platformStart):
77768        Stubbed.
77769
77770        * plugins/mac/PluginViewMac.cpp:
77771        (WebCore::PluginView::platformStart):
77772        Stubbed.
77773
77774        * plugins/qt/PluginViewQt.cpp:
77775        (WebCore::PluginView::platformStart):
77776        Stubbed.
77777
77778        * plugins/win/PluginViewWin.cpp:
77779        (WebCore::PluginView::updatePluginWidget):
77780        Use m_haveUpdatedPluginWidget to ensure that we will call MoveWindow()
77781        and SetWindowRgn() to position the plug-in and set its clip rect if an
77782        earlier call to updatePluginWidget() was made before
77783        setPlatformPluginWidget() was called to set the plug-in's HWND.
77784        (WebCore::PluginView::~PluginView):
77785        Call removeFromUnstartedListIfNecessary() to remove the plug-in from
77786        the unstarted list if the plug-in is destroyed before it is started.
77787        (WebCore::PluginView::init):
77788        Call startOrAddtoUnstartedList to start the plug-in or, if plug-ins
77789        cannot be started, to add it to the list of plug-ins waiting to be
77790        started. Set m_status to indicate success; this is also set by start(),
77791        but that may be delayed, and we don't want the loader to dispatch a
77792        failed-to-start-plug-in error when we return from init().
77793        (WebCore::PluginView::platformStart):
77794        Added; code moved from init(). This is now called by start() to perform
77795        any platform-specific tasks that need to take place after the plug-in
77796        has started. Added a call to updatePluginWidget() to ensure we position
77797        the plug-in and set its clip rect after the plug-in has started.
77798        Removed the setting of m_status; start() does this before calling this
77799        function (and we assert this at the head of the function).
77800
778012009-07-30  Darin Adler  <darin@apple.com>
77802
77803        Reviewed by David Levin.
77804
77805        Use checked casts for render tree
77806        https://bugs.webkit.org/show_bug.cgi?id=23522
77807
77808        Next step: Add casts for all the RenderTable classes and use them everywhere.
77809
77810        Also added a few uses in places that were still using static_cast.
77811        Also made some virtual member functions private.
77812        Also changed RenderTable::m_tableLayout to use OwnPtr.
77813
77814        * accessibility/AccessibilityTable.cpp:
77815        (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
77816        (WebCore::AccessibilityTable::addChildren):
77817        (WebCore::AccessibilityTable::cellForColumnAndRow):
77818        * accessibility/AccessibilityTableCell.cpp:
77819        (WebCore::AccessibilityTableCell::parentTable):
77820        (WebCore::AccessibilityTableCell::rowIndexRange):
77821        (WebCore::AccessibilityTableCell::columnIndexRange):
77822        (WebCore::AccessibilityTableCell::titleUIElement):
77823        * accessibility/AccessibilityTableColumn.cpp:
77824        (WebCore::AccessibilityTableColumn::headerObject):
77825        * accessibility/AccessibilityTableRow.cpp:
77826        (WebCore::AccessibilityTableRow::parentTable):
77827        * editing/DeleteSelectionCommand.cpp:
77828        (WebCore::DeleteSelectionCommand::removeNode):
77829        * editing/TextIterator.cpp:
77830        (WebCore::shouldEmitTabBeforeNode):
77831        (WebCore::shouldEmitNewlinesBeforeAndAfterNode):
77832        * html/HTMLTableCellElement.cpp:
77833        (WebCore::HTMLTableCellElement::parseMappedAttribute):
77834        * html/HTMLTableColElement.cpp:
77835        (WebCore::HTMLTableColElement::parseMappedAttribute):
77836        * page/Frame.cpp:
77837        (WebCore::Frame::searchForLabelsAboveCell):
77838        * page/mac/FrameMac.mm:
77839        (WebCore::Frame::searchForNSLabelsAboveCell):
77840        * rendering/AutoTableLayout.cpp:
77841        (WebCore::AutoTableLayout::recalcColumn):
77842        (WebCore::AutoTableLayout::fullRecalc):
77843        (WebCore::shouldScaleColumns):
77844        * rendering/FixedTableLayout.cpp:
77845        (WebCore::FixedTableLayout::calcWidthArray):
77846        * rendering/RenderBlock.cpp:
77847        (WebCore::RenderBlock::calcPrefWidths):
77848        * rendering/RenderBox.cpp:
77849        (WebCore::RenderBox::calcPercentageHeight):
77850        * rendering/RenderObject.cpp:
77851        (WebCore::RenderObject::addChild):
77852        (WebCore::RenderObject::containingBlock):
77853        * rendering/RenderTableCell.cpp:
77854        (WebCore::RenderTableCell::collapsedBottomBorder):
77855        * rendering/RenderTableCol.cpp:
77856        (WebCore::RenderTableCol::table):
77857        * rendering/RenderTableRow.cpp:
77858        (WebCore::RenderTableRow::addChild):
77859        (WebCore::RenderTableRow::layout):
77860        (WebCore::RenderTableRow::paint):
77861        * rendering/RenderTableSection.cpp:
77862        (WebCore::RenderTableSection::addChild):
77863        (WebCore::RenderTableSection::layoutRows):
77864        (WebCore::RenderTableSection::lowestPosition):
77865        (WebCore::RenderTableSection::rightmostPosition):
77866        (WebCore::RenderTableSection::leftmostPosition):
77867        (WebCore::RenderTableSection::paintObject):
77868        (WebCore::RenderTableSection::recalcCells):
77869        * rendering/RenderTreeAsText.cpp:
77870        (WebCore::operator<<):
77871        (WebCore::writeTextRun):
77872        Use checked casts.
77873
77874        * rendering/RenderTable.cpp:
77875        (WebCore::RenderTable::styleDidChange): Updated to use OwnPtr.
77876        (WebCore::RenderTable::addChild): Use checked cast.
77877        (WebCore::RenderTable::layout): Ditto.
77878        (WebCore::RenderTable::setCellWidths): Ditto.
77879        (WebCore::RenderTable::paintObject): Ditto.
77880        (WebCore::RenderTable::splitColumn): Ditto.
77881        (WebCore::RenderTable::appendColumn): Ditto.
77882        (WebCore::RenderTable::colElement): Ditto.
77883        (WebCore::RenderTable::recalcSections): Ditto.
77884        (WebCore::RenderTable::outerBorderBottom): Ditto.
77885        (WebCore::RenderTable::outerBorderLeft): Ditto.
77886        (WebCore::RenderTable::outerBorderRight): Ditto.
77887        (WebCore::RenderTable::sectionAbove): Ditto.
77888        (WebCore::RenderTable::sectionBelow): Ditto.
77889
77890        * rendering/RenderTable.h: Added checked cast. Made virtual
77891        functions private. Changed m_tableLayout to be a OwnPtr.
77892
77893        * rendering/RenderTableCell.h: Added checked cast.
77894        * rendering/RenderTableCol.h: Ditto. Made virtual functions private.
77895        * rendering/RenderTableRow.h: Ditto.
77896        * rendering/RenderTableSection.h: Ditto.
77897
778982009-07-31  Brady Eidson  <beidson@apple.com>
77899
77900        Reviewed by John Sullivan.
77901
77902        <rdar://problem/6973106> and https://bugs.webkit.org/show_bug.cgi?id=27896
77903        Favicons are still loaded when automatic image loading is disabled.
77904
77905        People who want to avoid loading images generally want to avoid loading all images.
77906
77907        Test: http/tests/misc/favicon-loads-with-images-disabled.html
77908
77909        * loader/FrameLoader.cpp:
77910        (WebCore::FrameLoader::startIconLoader): After committing the URL mapping, don't actually 
77911          perform the load if images shouldn't be loading.
77912
779132009-07-31  Simon Fraser  <simon.fraser@apple.com>
77914
77915        Reviewed by Anders Carlsson.
77916        
77917        Accelerated animations stutter on pages with lots of animations and 3d transforms
77918        https://bugs.webkit.org/show_bug.cgi?id=27884
77919        
77920        This patch changes the strategy for synchronizing painting view the view,
77921        and compositing layer updates. Previously the strategy was to disable screen
77922        updates between the time we updated the layer tree, and painted the view. That
77923        left screen updates disabled for too long (hundreds of milliseconds) in some
77924        cases, causing animation stutter.
77925        
77926        The new strategy is to batch up changes to the CA layer tree, and commit them
77927        all at once just before painting happens (referred to as a "sync" in the code).
77928        GraphicsLayerCA now keeps a bitmask of changed properties, and then migrates
77929        the values stored in GraphicsLayer into the CA layer tree at commit time.
77930        
77931        Compositing layers are then synced in FrameView::paintContents(). However, not
77932        all style/layout changes will result in painting; to deal with style changes that
77933        touch only compositing properties, we set up a runloop observer that takes care
77934        of comitting layer changes when no painting happens.
77935
77936        * WebCore.base.exp: Export FrameView::syncCompositingStateRecursive()
77937
77938        * loader/EmptyClients.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive()
77939        * page/ChromeClient.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive()
77940
77941        * page/FrameView.h:
77942        * page/FrameView.cpp:
77943        (WebCore::FrameView::syncCompositingStateRecursive): syncCompositingState() on the
77944        view and all subviews. Like layoutIfNeededRecursive(). If layout is pending, does not
77945        sync and returns false, since we only want to sync when layout is done.
77946        
77947        (WebCore::FrameView::paintContents): syncCompositingState() before painting.
77948
77949        * page/animation/KeyframeAnimation.cpp:
77950        (WebCore::KeyframeAnimation::endAnimation):
77951        Call animationPaused() to notify the graphics layers about animation pausing.
77952        
77953        * platform/graphics/FloatPoint3D.h:
77954        (WebCore::operator==):
77955        (WebCore::operator!=): 
77956        Add missing comparison operators.
77957        
77958        * platform/graphics/GraphicsLayer.cpp:
77959        (WebCore::GraphicsLayer::setOpacity):
77960        (WebCore::GraphicsLayer::setBackgroundColor): Simple setters no longer care about animation info.
77961        
77962        (WebCore::GraphicsLayer::paintGraphicsLayerContents): Null-check client.
77963        
77964        * platform/graphics/GraphicsLayer.h:
77965        (WebCore::AnimationValue:):
77966        (WebCore::TransformAnimationValue:):
77967        (WebCore::KeyframeValueList:):
77968        (WebCore::KeyframeValueList::insert):
77969        Cleaned up versions of FloatValue and TransformValue, used to store information
77970        about keyframes values.
77971
77972        (WebCore::GraphicsLayer::contentsRect):
77973        (WebCore::GraphicsLayer::setContentsRect):
77974        ContentsRect is now a simple setter.
77975        
77976        (WebCore::GraphicsLayer::addAnimation):
77977        (WebCore::GraphicsLayer::removeAnimationsForProperty):
77978        (WebCore::GraphicsLayer::removeAnimationsForKeyframes):
77979        (WebCore::GraphicsLayer::pauseAnimation):
77980        Simplified animation api.
77981        
77982        (WebCore::GraphicsLayer::setGeometryOrientation):
77983        (WebCore::GraphicsLayer::geometryOrientation):
77984        setGeometryOrientation is now just a normal member variable.
77985        
77986        (WebCore::GraphicsLayer::contentsOrientation): add a getter.
77987        (WebCore::GraphicsLayer::syncCompositingState): Entry into the layer sync code.
77988        
77989        * platform/graphics/GraphicsLayerClient.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive)
77990
77991        * platform/graphics/mac/GraphicsLayerCA.h:
77992        * platform/graphics/mac/GraphicsLayerCA.mm:
77993        Lots of cleanup and refactoring. Main points:
77994        - Layer changes are all batched, and only committed to the CA layer on syncCompositingState().
77995        - Bitmask is used to store which properties have changed. More efficient than before.
77996        - Simpler animation interface; simple setters are no longer confounded with animations.
77997        - Refactored code that creates CA animations, and stores which animations are running.
77998
77999        * platform/graphics/transforms/TransformOperations.h:
78000        (WebCore::TransformOperations::size):
78001        (WebCore::TransformOperations::at): Useful accessors for size and indexed access.
78002        
78003        * rendering/RenderLayerBacking.h:
78004        * rendering/RenderLayerBacking.cpp:
78005        Renamed 'contentsLayer' to 'foregroundLayer' to avoid confusion with GraphicsLayer's
78006        contentsLayer.
78007        Adapt to GraphicsLayer's simpler animation API.
78008        Pass animation pausing through to the graphics layers.
78009        contentsBox() is no longer a callback via GraphicsLayerClient.
78010        
78011        * rendering/RenderLayerCompositor.h:
78012        * rendering/RenderLayerCompositor.cpp:
78013        (WebCore::RenderLayerCompositor::setCompositingLayersNeedRebuild):
78014        (WebCore::RenderLayerCompositor::scheduleSync):
78015        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
78016        scheduleViewUpdate() is no longer required. Instead, we plumb through "compositingLayerSync"
78017        notifications, which travel up to WebKit and set up a runloop observer.
78018        
780192009-07-30  Jeremy Orlow  <jorlow@chromium.org>
78020
78021        Reviewed by David Levin.
78022
78023        Guard needs //'s between #endif and ENABLE(DATAGRID)
78024        https://bugs.webkit.org/show_bug.cgi?id=27862
78025
78026        Compiling this file causes a build break without this change.
78027
78028        * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
78029
780302009-07-31  Greg Bolsinga  <bolsinga@apple.com>
78031
78032        Reviewed by Eric Seidel.
78033
78034        Geolocation clean up when no longer updating
78035        https://bugs.webkit.org/show_bug.cgi?id=27888
78036
78037        When Geolocation::disconnectFrame() is called, need to call 
78038        Document::setUsingGeolocation(false) to mirror the true call 
78039        when it is set up.
78040
78041        When handling an error, and there are no more listeners, call
78042        GeolocationService::stopUpdating().
78043
78044        * page/Geolocation.cpp:
78045        (WebCore::Geolocation::disconnectFrame):
78046        (WebCore::Geolocation::handleError):
78047
780482009-07-31  Greg Bolsinga  <bolsinga@apple.com>
78049
78050        Reviewed by George Staikos.
78051
78052        Consolidate GeoLocation code to send positions and errors
78053        https://bugs.webkit.org/show_bug.cgi?id=27863
78054        
78055        Create helper methods that will send positions and errors to either
78056        one shots or watchers.
78057
78058        * page/Geolocation.cpp:
78059        (WebCore::Geolocation::sendError):
78060        (WebCore::Geolocation::sendErrorToOneShots):
78061        (WebCore::Geolocation::sendErrorToWatchers):
78062        (WebCore::Geolocation::sendPosition):
78063        (WebCore::Geolocation::sendPositionToOneShots):
78064        (WebCore::Geolocation::sendPositionToWatchers):
78065        * page/Geolocation.h:
78066
780672009-07-31  Xan Lopez  <xlopez@igalia.com>
78068
78069        Roll out previous change as it might be causing some weirdness in
78070        the bots.
78071
78072        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
78073        (WebCore::BMPImageDecoder::processFileHeader):
78074
780752009-07-31  Xan Lopez  <xlopez@igalia.com>
78076
78077        Reviewed by Mark Rowe.
78078
78079        Fix compiler warning.
78080        https://bugs.webkit.org/show_bug.cgi?id=27851
78081
78082        GCC does not like multi-character character constants, so use the
78083        explicit numerical value of 'BM' in the enum.
78084
78085        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
78086        (WebCore::BMPImageDecoder::processFileHeader):
78087
780882009-07-30  Brady Eidson  <beidson@apple.com>
78089
78090        Reviewed by Mark Rowe, but Dan Bernstein also reviewed and asked thoughtful questions.
78091
78092        <rdar://problem/7106968> and https://bugs.webkit.org/show_bug.cgi?id=27868
78093        http://www.ruthhuntcandy.com/ goes into infinite refresh in WebKit, works in others.
78094        
78095        Test: http/tests/misc/meta-refresh-stray-single-quote.html
78096
78097        * platform/network/HTTPParsers.cpp:
78098        (WebCore::parseHTTPRefresh): Allow for a stray quote character at the start of the URL string.
78099
781002009-07-30  Mark Rowe  <mrowe@apple.com>
78101
78102        Reviewed by Adele Peterson and Jon Honeycutt.
78103
78104        Fix <https://bugs.webkit.org/show_bug.cgi?id=27828> for Mac.
78105        Bug 27828: Title attribute is not respected on option elements
78106
78107        No tests added as it is not clear how to test a tool tip from DumpRenderTree.
78108
78109        * platform/PopupMenuClient.h: Add a method for retrieving the tool tip of an item.
78110        * platform/mac/PopupMenuMac.mm:
78111        (WebCore::PopupMenu::populate): Set the tool tip of the menu item to that of the represented item.
78112        * rendering/RenderMenuList.cpp:
78113        (WebCore::RenderMenuList::itemToolTip): Expose the title attribute of the element as the tool tip.
78114        * rendering/RenderMenuList.h:
78115        * rendering/RenderTextControlSingleLine.h:
78116        (WebCore::RenderTextControlSingleLine::itemToolTip): Return an empty string, indicating no tool tip, for
78117        the popup menu in RenderTextControlSingleLine.
78118
781192009-07-30  Xiaomei Ji  <xji@chromium.org>
78120
78121        Reviewed by Dan Bernstein.
78122
78123        Remove ChromeClientChromium::setToolTip().
78124        https://bugs.webkit.org/show_bug.cgi?id=27861
78125
78126        This patch is just to remove a temporarily introduced overloaded empty
78127        virtual function. No test is needed.
78128
78129        * page/chromium/ChromeClientChromium.h:
78130
781312009-07-30  Michael Nordman  <michaeln@google.com>
78132
78133        Reviewed by Darin Fisher.
78134
78135        https://bugs.webkit.org/show_bug.cgi?id=27821
78136
78137        ApplicationCacheHost refactoring.
78138        
78139        1) Better encapsulate the interfaces between webcore common code
78140        and the appcache system within a new class ApplicationCacheHost.
78141
78142        2) Use that interface throughout the loader system, replacing inline appcache logic.
78143
78144        3) Implement the interface in terms of webcore's appcache system.
78145
78146        4) Add the new files to various makefiles.
78147
78148        5) Implement protocolHostAndPortAreEqual() in KURLGoogle.cpp
78149
78150        No new features, no new tests. The existing layout tests all pass.
78151
78152        * GNUmakefile.am:
78153        * WebCore.base.exp:
78154        * WebCore.gypi:
78155        * WebCore.pro:
78156        * WebCore.vcproj/WebCore.vcproj:
78157        * WebCore.xcodeproj/project.pbxproj:
78158        * WebCoreSources.bkl:
78159        * html/HTMLHtmlElement.cpp:
78160        (WebCore::HTMLHtmlElement::insertedIntoDocument):
78161        * loader/DocumentLoader.cpp:
78162        (WebCore::DocumentLoader::DocumentLoader):
78163        (WebCore::DocumentLoader::~DocumentLoader):
78164        (WebCore::DocumentLoader::mainReceivedError):
78165        (WebCore::DocumentLoader::detachFromFrame):
78166        (WebCore::DocumentLoader::setPrimaryLoadComplete):
78167        * loader/DocumentLoader.h:
78168        (WebCore::DocumentLoader::applicationCacheHost):
78169        * loader/FrameLoader.cpp:
78170        (WebCore::FrameLoader::canCachePageContainingThisFrame):
78171        (WebCore::FrameLoader::logCanCacheFrameDecision):
78172        (WebCore::FrameLoader::loadResourceSynchronously):
78173        * loader/MainResourceLoader.cpp:
78174        (WebCore::MainResourceLoader::didReceiveResponse):
78175        (WebCore::MainResourceLoader::didReceiveData):
78176        (WebCore::MainResourceLoader::didFinishLoading):
78177        (WebCore::MainResourceLoader::didFail):
78178        (WebCore::MainResourceLoader::load):
78179        * loader/MainResourceLoader.h:
78180        * loader/ResourceLoader.cpp:
78181        (WebCore::ResourceLoader::load):
78182        (WebCore::ResourceLoader::willSendRequest):
78183        (WebCore::ResourceLoader::didReceiveResponse):
78184        (WebCore::ResourceLoader::didFail):
78185        * loader/ResourceLoader.h:
78186        * loader/appcache/ApplicationCacheGroup.cpp:
78187        (WebCore::ApplicationCacheGroup::selectCache):
78188        (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
78189        (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
78190        (WebCore::ApplicationCacheGroup::failedLoadingMainResource):
78191        (WebCore::ApplicationCacheGroup::disassociateDocumentLoader):
78192        (WebCore::ApplicationCacheGroup::update):
78193        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
78194        (WebCore::ApplicationCacheGroup::manifestNotFound):
78195        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
78196        (WebCore::ApplicationCacheGroup::startLoadingEntry):
78197        (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache):
78198        (WebCore::CallCacheListenerTask::create):
78199        (WebCore::CallCacheListenerTask::performTask):
78200        (WebCore::CallCacheListenerTask::CallCacheListenerTask):
78201        (WebCore::ApplicationCacheGroup::postListenerTask):
78202        * loader/appcache/ApplicationCacheGroup.h:
78203        * loader/appcache/ApplicationCacheHost.cpp: Added.
78204        * loader/appcache/ApplicationCacheHost.h: Added.
78205        * loader/appcache/ApplicationCacheStorage.cpp:
78206        (WebCore::ApplicationCacheStorage::transferApplicationCache):
78207        * loader/appcache/ApplicationCacheStorage.h:
78208        * loader/appcache/DOMApplicationCache.cpp:
78209        (WebCore::DOMApplicationCache::DOMApplicationCache):
78210        (WebCore::DOMApplicationCache::disconnectFrame):
78211        (WebCore::DOMApplicationCache::applicationCacheHost):
78212        (WebCore::DOMApplicationCache::status):
78213        (WebCore::DOMApplicationCache::update):
78214        (WebCore::DOMApplicationCache::swapCache):
78215        (WebCore::DOMApplicationCache::addEventListener):
78216        (WebCore::DOMApplicationCache::removeEventListener):
78217        (WebCore::DOMApplicationCache::dispatchEvent):
78218        (WebCore::DOMApplicationCache::callListener):
78219        (WebCore::DOMApplicationCache::toEventName):
78220        (WebCore::DOMApplicationCache::toEventType):
78221        * loader/appcache/DOMApplicationCache.h:
78222        (WebCore::DOMApplicationCache::):
78223        (WebCore::DOMApplicationCache::setAttributeEventListener):
78224        (WebCore::DOMApplicationCache::getAttributeEventListener):
78225        (WebCore::DOMApplicationCache::clearAttributeEventListener):
78226        (WebCore::DOMApplicationCache::callEventListener):
78227        (WebCore::DOMApplicationCache::setOnchecking):
78228        (WebCore::DOMApplicationCache::onchecking):
78229        (WebCore::DOMApplicationCache::setOnerror):
78230        (WebCore::DOMApplicationCache::onerror):
78231        (WebCore::DOMApplicationCache::setOnnoupdate):
78232        (WebCore::DOMApplicationCache::onnoupdate):
78233        (WebCore::DOMApplicationCache::setOndownloading):
78234        (WebCore::DOMApplicationCache::ondownloading):
78235        (WebCore::DOMApplicationCache::setOnprogress):
78236        (WebCore::DOMApplicationCache::onprogress):
78237        (WebCore::DOMApplicationCache::setOnupdateready):
78238        (WebCore::DOMApplicationCache::onupdateready):
78239        (WebCore::DOMApplicationCache::setOncached):
78240        (WebCore::DOMApplicationCache::oncached):
78241        (WebCore::DOMApplicationCache::setOnobsolete):
78242        (WebCore::DOMApplicationCache::onobsolete):
78243        (WebCore::DOMApplicationCache::~DOMApplicationCache):
78244        * platform/KURLGoogle.cpp:
78245        (WebCore::protocolHostAndPortAreEqual):
78246
782472009-07-30  Chris Fleizach  <cfleizach@apple.com>
78248
78249        Reviewed by Darin Adler.
78250
78251        Bug 27854 - crash at WebCore::AXObjectCache::notificationPostTimerFired
78252        https://bugs.webkit.org/show_bug.cgi?id=27854
78253
78254        AccessibilityObjects need to be retained while waiting to fire their notifications, otherwise
78255        they can disappear and then lead to crashes.
78256       
78257        * accessibility/AXObjectCache.cpp:
78258        (WebCore::AXObjectCache::notificationPostTimerFired):
78259        (WebCore::AXObjectCache::postNotification):
78260        * accessibility/AXObjectCache.h:
78261
782622009-07-30  Simon Fraser  <simon.fraser@apple.com>
78263
78264        Minor change to earlier commit suggested by Darin Adler.
78265        Use the variable rather than dereferencing 'it' again.
78266
78267        * css/CSSStyleSelector.cpp:
78268        (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
78269
782702009-07-30  Simon Fraser  <simon.fraser@apple.com>
78271
78272        Reviewed by Dan Bernstein.
78273
78274        Animation with a timing function property in a keyframe eats CPU
78275        https://bugs.webkit.org/show_bug.cgi?id=27856
78276        <rdar://problem/7104476> Animation demo uses lots of CPU
78277        
78278        Don't include animation-timing-function in the list of properties to
78279        animate in a keyframe animation, because this property is not animated;
78280        instead, it describes the timing function to apply to this keyframe.
78281        
78282        This prevents the animation code from thinking that there's a property
78283        that it has to software-animate, and thus firing the animation timer frequently.
78284        
78285        Not testable because there is no visible impact.
78286
78287        * css/CSSStyleSelector.cpp:
78288        (WebCore::CSSStyleSelector::keyframeStylesForAnimation): Don't add
78289        CSSPropertyWebkitAnimationTimingFunction to the list of properties to animate.
78290
78291        * page/animation/KeyframeAnimation.cpp
78292        (WebCore::KeyframeAnimation::getKeyframeAnimationInterval): Add a comment
78293
782942009-07-30  Mike Fenton  <mike.fenton@torchmobile.com>
78295
78296         Reviewed by Adam Treat.
78297
78298         Apply colour style to buttons that use Theme settings in Qt.
78299
78300         https://bugs.webkit.org/show_bug.cgi?id=27814
78301
78302         * platform/qt/RenderThemeQt.cpp:
78303         (WebCore::RenderThemeQt::adjustButtonStyle):
78304
783052009-05-11  Geoffrey Garen  <ggaren@apple.com>
78306
78307        Reviewed by Sam Weinig.
78308
78309        Make WebCore compile with the new JS number representation.
78310
78311        * ForwardingHeaders/runtime/JSAPIValueWrapper.h: Added.
78312        * ForwardingHeaders/runtime/JSNumberCell.h: Removed.
78313        * bindings/js/ScriptEventListener.cpp:
78314        * bindings/scripts/CodeGeneratorJS.pm:
78315        * bridge/c/c_instance.cpp:
78316
783172009-07-30  Dean McNamee  <deanm@chromium.org>
78318
78319        Reviewed by Dimitri Glazkov.
78320
78321        Don't try to hash member function pointers, instead use a precomputed value based on the field.
78322        https://bugs.webkit.org/show_bug.cgi?id=27843
78323
78324        * bindings/scripts/CodeGeneratorV8.pm:
78325        * bindings/v8/V8SVGPODTypeWrapper.h:
78326        (WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo):
78327        (WebCore::PODTypeWrapperCacheInfo::operator==):
78328        (WebCore::PODTypeWrapperCacheInfoHash::hash):
78329        (WebCore::V8SVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
78330
783312009-07-30  Xan Lopez  <xlopez@igalia.com>
78332
78333        Reviewed by Simon Fraser.
78334
78335        Fix compiler warning.
78336
78337        * dom/SelectElement.cpp:
78338        (WebCore::SelectElement::menuListDefaultEventHandler):
78339
783402009-07-29  Matt Perry  <mpcomplete@chromium.org>
78341
78342        Reviewed by Adam Barth.
78343
78344        Add a way to register V8 extensions for Isolated Worlds only.
78345        https://bugs.webkit.org/show_bug.cgi?id=27785
78346
78347        * bindings/v8/ScriptController.cpp:
78348        (WebCore::ScriptController::evaluateInNewWorld):
78349        (WebCore::ScriptController::evaluateInNewContext):
78350        * bindings/v8/ScriptController.h:
78351        * bindings/v8/V8IsolatedWorld.cpp:
78352        (WebCore::V8IsolatedWorld::evaluate):
78353        * bindings/v8/V8IsolatedWorld.h:
78354        * bindings/v8/V8Proxy.cpp:
78355        (WebCore::V8Proxy::evaluateInNewWorld):
78356        (WebCore::V8Proxy::evaluateInNewContext):
78357        (WebCore::V8Proxy::createNewContext):
78358        (WebCore::V8Proxy::initContextIfNeeded):
78359        (WebCore::V8Proxy::registerExtensionWithV8):
78360        (WebCore::V8Proxy::registerExtension):
78361        * bindings/v8/V8Proxy.h:
78362
783632009-07-30  Mike Fenton  <mike.fenton@torchmobile.com>
78364
78365         Reviewed by Adam Treat.
78366
78367         Add previously defined out support to PopupMenuQt for marking entries as
78368         disabled and for selecting the desired item.
78369
78370         https://bugs.webkit.org/show_bug.cgi?id=27772
78371
78372         * platform/qt/PopupMenuQt.cpp:
78373         (WebCore::PopupMenu::populate):
78374
783752009-07-30  Darin Adler  <darin@apple.com>
78376
78377        Reviewed by David Levin.
78378
78379        Use checked casts for render tree
78380        https://bugs.webkit.org/show_bug.cgi?id=23522
78381
78382        Next step: Add new toRenderWidget cast and use it everywhere.
78383
78384        Use checked casts in all the places that were using static_cast
78385        but there is a checked cast available.
78386
78387        * accessibility/AccessibilityRenderObject.cpp:
78388        (WebCore::AccessibilityRenderObject::stringValue):
78389        (WebCore::AccessibilityRenderObject::widget):
78390        (WebCore::AccessibilityRenderObject::widgetForAttachmentView):
78391        (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
78392        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
78393        (getPangoLayoutForAtk):
78394        * dom/Document.cpp:
78395        (WebCore::widgetForNode):
78396        (WebCore::Document::setFocusedNode):
78397        * html/HTMLEmbedElement.cpp:
78398        (WebCore::findWidgetRenderer):
78399        * html/HTMLMediaElement.cpp:
78400        (WebCore::HTMLMediaElement::defaultEventHandler):
78401        * html/HTMLObjectElement.cpp:
78402        (WebCore::HTMLObjectElement::renderWidgetForJSBindings):
78403        * html/HTMLPlugInElement.cpp:
78404        (WebCore::HTMLPlugInElement::defaultEventHandler):
78405        * loader/FrameLoader.cpp:
78406        (WebCore::FrameLoader::loadSubframe):
78407        * loader/PluginDocument.cpp:
78408        (WebCore::PluginTokenizer::writeRawData):
78409        * page/EventHandler.cpp:
78410        (WebCore::EventHandler::hitTestResultAtPoint):
78411        (WebCore::subframeForTargetNode):
78412        (WebCore::EventHandler::handleWheelEvent):
78413        * page/Frame.cpp:
78414        (WebCore::isFrameElement):
78415        * page/PrintContext.cpp:
78416        (WebCore::PrintContext::computePageRects):
78417        * page/android/EventHandlerAndroid.cpp:
78418        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
78419        * page/chromium/EventHandlerChromium.cpp:
78420        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
78421        * page/chromium/FrameChromium.cpp:
78422        (WebCore::computePageRectsForFrame):
78423        * page/gtk/EventHandlerGtk.cpp:
78424        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
78425        * page/haiku/EventHandlerHaiku.cpp:
78426        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
78427        * page/mac/EventHandlerMac.mm:
78428        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
78429        (WebCore::EventHandler::passSubframeEventToSubframe):
78430        * page/win/FrameWin.cpp:
78431        (WebCore::computePageRectsForFrame):
78432        * page/wx/EventHandlerWx.cpp:
78433        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
78434        * platform/chromium/ClipboardChromium.cpp:
78435        (WebCore::getCachedImage):
78436        * platform/chromium/PasteboardChromium.cpp:
78437        (WebCore::Pasteboard::writeImage):
78438        * platform/gtk/PasteboardGtk.cpp:
78439        (WebCore::Pasteboard::writeImage):
78440        * platform/mac/PasteboardMac.mm:
78441        (WebCore::Pasteboard::writeImage):
78442        * platform/qt/ClipboardQt.cpp:
78443        (WebCore::getCachedImage):
78444        * platform/qt/PasteboardQt.cpp:
78445        (WebCore::Pasteboard::writeImage):
78446        * platform/win/ClipboardWin.cpp:
78447        (WebCore::getCachedImage):
78448        * platform/win/PasteboardWin.cpp:
78449        (WebCore::Pasteboard::writeImage):
78450        * rendering/InlineBox.h:
78451        (WebCore::InlineBox::boxModelObject):
78452        * rendering/RenderInline.cpp:
78453        (WebCore::RenderInline::splitInlines):
78454        (WebCore::RenderInline::addChildToContinuation):
78455        * rendering/RenderLayerBacking.cpp:
78456        (WebCore::RenderLayerBacking::updateImageContents):
78457        * rendering/TextControlInnerElements.cpp:
78458        (WebCore::RenderTextControlInnerBlock::positionForPoint):
78459        Use checked cast instead of static_cast.
78460        
78461        * rendering/RenderWidget.h: Added toRenderWidget.
78462
784632009-07-30  Yong Li  <yong.li@torchmobile.com>
78464
78465        Reviewed by George Staikos.
78466
78467        WINCE PORT: some files modified to build for WINCE
78468        https://bugs.webkit.org/show_bug.cgi?id=27816
78469
78470        * accessibility/AccessibilityObject.h:
78471        * page/win/EventHandlerWin.cpp:
78472        (WebCore::EventHandler::createDraggingClipboard):
78473        * platform/win/PlatformMouseEventWin.cpp:
78474        (WebCore::messageToEventType):
78475        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
78476        * platform/win/PlatformScreenWin.cpp:
78477        (WebCore::deviceInfoForWidget):
78478        (WebCore::screenIsMonochrome):
78479        * platform/win/PopupMenuWin.cpp:
78480        (WebCore::PopupMenu::show):
78481        (WebCore::PopupMenu::paint):
78482        (WebCore::registerPopup):
78483        (WebCore::PopupWndProc):
78484
784852009-07-30  Yong Li  <yong.li@torchmobile.com>
78486
78487        Reviewed by George Staikos.
78488
78489        WINCE PORT: modified graphics files
78490        https://bugs.webkit.org/show_bug.cgi?id=27779
78491
78492        * platform/graphics/BitmapImage.h:
78493        (WebCore::BitmapImage::mayFillWithSolidColor):
78494        * platform/graphics/Gradient.h:
78495        * platform/graphics/GraphicsContext.cpp:
78496        * platform/graphics/GraphicsContext.h:
78497        * platform/graphics/ImageSource.h:
78498        * platform/graphics/MediaPlayer.cpp:
78499        * platform/graphics/Path.h:
78500        * platform/graphics/Pattern.h:
78501        * platform/graphics/transforms/Matrix3DTransformOperation.cpp:
78502        (WebCore::Matrix3DTransformOperation::blend):
78503        * platform/graphics/transforms/MatrixTransformOperation.cpp:
78504        (WebCore::MatrixTransformOperation::blend):
78505        * platform/graphics/transforms/TransformationMatrix.h:
78506        (WebCore::TransformationMatrix::operator*):
78507        * platform/graphics/win/IconWin.cpp:
78508        (WebCore::Icon::createIconForFile):
78509        (WebCore::Icon::createIconForFiles):
78510        (WebCore::Icon::paint):
78511
785122009-07-30  Kenneth Rohde Christiansen  <kenneth@webkit.org>
78513
78514        Reviewed by Ariya Hidayat.
78515
78516        Improve efficiency by rewriting code doing three hash table
78517        lookups, which can be replaced by just one as pointed out
78518        by Darin Adler.
78519
78520        Though being slightly less clear, this should be considerable
78521        faster.
78522
78523        * plugins/PluginDatabase.cpp:
78524        (WebCore::PluginDatabase::remove):
78525
785262009-07-30  Antonio Gomes   <antonio.gomes@openbossa.org>
78527
78528        Reviewed by Gustavo Noronha.
78529
78530        [Gtk] Code cleanup in MediaPlayerPrivateGStreamer.cpp|h and VideoSinkGStreamer.cpp|h (Part 2)
78531        https://bugs.webkit.org/show_bug.cgi?id=27651
78532
78533        Removed unneeded includes (gdk.h and gtk.h) and added glib.h and cairo.h instead.
78534
78535        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
78536        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
78537
785382009-07-30  Antonio Gomes   <antonio.gomes@openbossa.org>
78539
78540        Reviewed by Gustavo Noronha.
78541
78542        [Gtk] Code cleanup in MediaPlayerPrivateGStreamer.cpp|h and VideoSinkGStreamer.cpp|h (Part 1)
78543        https://bugs.webkit.org/show_bug.cgi?id=27651
78544
78545        Fixed many code style issues pointed by WebKitTools/Scripts/modules/cpplint.py
78546        No functionality change at all.
78547
78548        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
78549        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
78550        * platform/graphics/gtk/VideoSinkGStreamer.cpp:
78551        * platform/graphics/gtk/VideoSinkGStreamer.h:
78552
785532009-07-30  Jakub Wieczorek  <faw217@gmail.com>
78554
78555        Reviewed by Simon Hausmann.
78556
78557        Allow to explicitly choose a preferred plugin for a mimetype.
78558
78559        https://bugs.webkit.org/show_bug.cgi?id=27651
78560
78561        When the preferred plugin is set for a specific MIME type, it will be
78562        always picked up, regardless of its version, quirks etc.
78563
78564        Client applications may want to use that API to resolve mimetype
78565        ambiguity in a custom way, rather than in the default way that is
78566        currently used in WebKit.
78567
78568        * plugins/PluginDatabase.cpp:
78569        (WebCore::PluginDatabase::pluginForMIMEType):
78570        (WebCore::PluginDatabase::MIMETypeForExtension):
78571        (WebCore::PluginDatabase::setPreferredPluginForMIMEType): Added.
78572        (WebCore::PluginDatabase::remove):
78573        (WebCore::PluginDatabase::clear):
78574        * plugins/PluginDatabase.h:
78575
785762009-07-30  Jakub Wieczorek  <faw217@gmail.com>
78577
78578        [Qt] Fix build with Qt 4.4 after r46535.
78579
78580        * platform/network/qt/ResourceHandleQt.cpp:
78581
785822009-07-30  Eric Carlson  <eric.carlson@apple.com>
78583
78584        Reviewed by Simon Fraser.
78585
78586        Video elements fires another "load" event when attached to DOM
78587        https://bugs.webkit.org/show_bug.cgi?id=27623
78588
78589        Test: media/media-load-event.html
78590
78591        * html/HTMLMediaElement.cpp:
78592        (WebCore::HTMLMediaElement::insertedIntoDocument):
78593            Only schedule load when element's network state is NETWORK_EMPTY.
78594
785952009-07-30  Anton Muhin  <antonm@chromium.org>
78596
78597        Reviewed by David Levin.
78598
78599        Cache v8 strings when converting from WebCore::String to v8 string.
78600        https://bugs.webkit.org/show_bug.cgi?id=27655
78601
78602        * bindings/v8/V8Binding.cpp:
78603        (WebCore::v8String): now just immediately calls v8ExternalString
78604        (WebCore::enableStringImplCache): enables caching of conversions from WebCore::StringImpl to
78605        v8::String
78606        (WebCore::makeExternalString): utilty function to create external v8::String out of
78607        WebCore::String
78608        (WebCore::getStringCache): static function to access string cache
78609        (WebCore::cachedStringCallback): callback for weak handles of v8::Strings stored in the
78610        cache
78611        (WebCore::v8ExternalString): if caching enabled, checks if there is already v8::String for
78612        the given WebCore::StringImpl.  If present, returns it, otherwise creates a new v8 external
78613        string.
78614        * bindings/v8/V8Binding.h:
78615
786162009-07-30  Xan Lopez  <xlopez@igalia.com>
78617
78618        Reviewed by Maciej Stachowiak.
78619
78620        https://bugs.webkit.org/show_bug.cgi?id=25535
78621        [GTK] object:state-changed:checked events missing for radio buttons and checkboxes
78622
78623        Implement state-changed:checked for radio buttons and checkboxes.
78624
78625        * accessibility/gtk/AXObjectCacheAtk.cpp:
78626        (WebCore::AXObjectCache::postPlatformNotification):
78627        * html/HTMLInputElement.cpp:
78628        (WebCore::HTMLInputElement::setChecked):
78629
786302009-07-30  Xan Lopez  <xlopez@igalia.com>
78631
78632        Forgot the 'break'.
78633
78634        * platform/ContextMenu.cpp:
78635        (WebCore::ContextMenu::checkOrEnableIfNeeded):
78636
786372009-07-30  Xan Lopez  <xlopez@igalia.com>
78638
78639        Try to fix Mac build.
78640
78641        * platform/ContextMenu.cpp:
78642        (WebCore::ContextMenu::checkOrEnableIfNeeded):
78643
786442009-07-29  Xan Lopez  <xlopez@igalia.com>
78645
78646        Reviewed by Adam Barth.
78647
78648        Add missing enumeration value to switch.
78649
78650        * platform/ContextMenu.cpp:
78651        (WebCore::ContextMenu::checkOrEnableIfNeeded):
78652
786532009-07-29  Jian Li  <jianli@chromium.org>
78654
78655        Reviewed by Darin Adler.
78656
78657        Workers need to throw an exception when presented with invalid URLs.
78658        https://bugs.webkit.org/show_bug.cgi?id=27770
78659
78660        Tests covered by worker-constructor.html and worker-redirect.html.
78661
78662        * bindings/js/JSWorkerConstructor.cpp:
78663        (WebCore::constructWorker):
78664        * bindings/v8/custom/V8WorkerCustom.cpp:
78665        (WebCore::CALLBACK_FUNC_DECL):
78666        * workers/Worker.cpp:
78667        (WebCore::Worker::Worker):
78668        * workers/Worker.h:
78669        (WebCore::Worker::create):
78670        * workers/WorkerContext.cpp:
78671        (WebCore::WorkerContext::importScripts):
78672        * workers/WorkerScriptLoader.cpp:
78673        (WebCore::WorkerScriptLoader::loadSynchronously):
78674        (WebCore::WorkerScriptLoader::loadAsynchronously):
78675        (WebCore::WorkerScriptLoader::createResourceRequest):
78676        * workers/WorkerScriptLoader.h:
78677
786782009-07-29  Brady Eidson  <beidson@apple.com>
78679
78680        Reviewed by Darin Adler.
78681
78682        (REGRESSION: r46039) Should restore previous connections-per-host limit for non-http(s) hosts
78683        https://bugs.webkit.org/show_bug.cgi?id=27822 and <rdar://problem/7091659>
78684
78685        * loader/loader.cpp:
78686        (WebCore::Loader::Host::servePendingRequests): For non-http(s) hosts, restore the previous behavior of 
78687          only limiting connections while parsing and still trying to figure out stylesheet urls.
78688
786892009-07-29  Yong Li  <yong.li@torchmobile.com>
78690
78691        Reviewed by George Staikos.
78692
78693        WINCE PORT: Add WebCore/page/wince/FrameWince.cpp
78694        https://bugs.webkit.org/show_bug.cgi?id=27729
78695
78696        * page/wince/FrameWince.cpp: Added.
78697
786982009-07-29  Ryosuke Niwa  <rniwa@webkit.org>
78699
78700        Reviewed by Justin Garcia.
78701
78702        REGRESSION(r46370-46426): /editing/style/remove-underline-from-stylesheet.html fails
78703        https://bugs.webkit.org/show_bug.cgi?id=27809
78704
78705        The patch primarily rebaselines the tests but also fixes the bug in currentlyHasStyle.
78706        To determine that a particular text decoration is present, currentlyHasStyle should refer to
78707        -webkit-text-decorations-in-effect to take care of styles set by u, s, strike tags and ancestors' CSS.
78708        We also need to update layout to accommodate the changes made within ApplyStyleCommand.
78709
78710        * editing/ApplyStyleCommand.cpp: ditto
78711        (WebCore::StyleChange::currentlyHasStyle): ditto
78712
787132009-07-29  Yong Li  <yong.li@torchmobile.com>
78714
78715        Reviewed by George Staikos.
78716
78717        WINCE PORT: changes to platform/text files
78718        https://bugs.webkit.org/show_bug.cgi?id=27715
78719
78720        * platform/text/String.cpp:
78721        (WebCore::String::format):
78722        * platform/text/TextEncoding.cpp:
78723        (WebCore::TextEncoding::encode):
78724        * platform/text/TextEncodingRegistry.cpp:
78725        (WebCore::buildBaseTextCodecMaps):
78726        (WebCore::extendTextCodecMaps):
78727
787282009-07-29  Yong Li  <yong.li@torchmobile.com>
78729
78730        Reviewed by Adam Roben.
78731
78732        FIX: HDC leaks in PopupMenuWin.cpp
78733        https://bugs.webkit.org/show_bug.cgi?id=27817
78734
78735        * platform/win/PopupMenuWin.cpp:
78736        (WebCore::PopupMenu::~PopupMenu):
78737        (WebCore::PopupMenu::paint):
78738
787392009-07-29  Darin Adler  <darin@apple.com>
78740
78741        Reviewed by Dan Bernstein.
78742
78743        Illegal values for <ol start> cause list numbering start at 0 (should start at 1)
78744        https://bugs.webkit.org/show_bug.cgi?id=27810
78745
78746        Test: fast/lists/ol-start-parsing.html
78747
78748        * html/HTMLOListElement.cpp:
78749        (WebCore::HTMLOListElement::parseMappedAttribute): Check the result of toInt
78750        and use the value 1 if it failed to parse. Before we were getting toInt's default
78751        behavior, which is to return 0.
78752
787532009-07-29  Kevin McCullough  <kmccullough@apple.com>
78754
78755        Reviewed by Darin Adler.
78756
78757        Added foundation work to allow a testing infrastructure for the Web
78758        Inspector.
78759
78760        * inspector/InspectorClient.h:
78761        * inspector/InspectorController.cpp:
78762        (WebCore::InspectorController::scriptObjectReady): Tell the testing
78763        harness that the window object is ready.
78764        * loader/EmptyClients.h: Empty class support for SVG.
78765        (WebCore::EmptyInspectorClient::inspectorWindowObjectCleared):
78766
787672009-07-29  Chris Fleizach  <cfleizach@apple.com>
78768
78769        Build fix for windows after landing
78770        Bug 27807 - AX: move re-usable code into more common areas for other platforms
78771   
78772        Apparently bzero doesn't exist on windows.
78773
78774        * accessibility/AXObjectCache.cpp:
78775        (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
78776
787772009-07-29  Chris Fleizach  <cfleizach@apple.com>
78778
78779        Reviewed by Justin Garcia.
78780
78781        Bug 27807 - AX: move re-usable code into more common areas for other platforms
78782        https://bugs.webkit.org/show_bug.cgi?id=27807
78783
78784        Moves some accessibility code that was in the Mac file to a more common place so 
78785        it can be used by other platforms. 
78786        This includes:
78787           Making TextMarkerData from a VisiblePosition.
78788           Making a VisiblePosition from TextMarkerData.
78789           Finding the anchor accessibility object for an arbitrary Node.
78790
78791        * accessibility/AXObjectCache.cpp:
78792        (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
78793        (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
78794        * accessibility/AXObjectCache.h:
78795        * accessibility/AccessibilityObject.cpp:
78796        (WebCore::AccessibilityObject::anchorElementForNode):
78797        * accessibility/AccessibilityObject.h:
78798        (WebCore::AccessibilityObject::visiblePositionForIndex):
78799        * accessibility/mac/AccessibilityObjectWrapper.mm:
78800        (textMarkerForVisiblePosition):
78801        (visiblePositionForTextMarker):
78802        (AXAttributedStringAppendText):
78803
788042009-07-29  Dan Bernstein  <mitz@apple.com>
78805
78806        Reviewed by Simon Fraser.
78807
78808        Inset box shadows are incorrectly accounted for in visual overflow
78809        computations
78810        https://bugs.webkit.org/show_bug.cgi?id=27811
78811
78812        * rendering/InlineFlowBox.cpp:
78813        (WebCore::InlineFlowBox::placeBoxesHorizontally): Use
78814            getBoxShadowHorizontalExtent().
78815        (WebCore::InlineFlowBox::placeBoxesVertically): Use
78816            getBoxShadowVerticalExtent(). Removed duplicate code to get the
78817            text-shadow overflow.
78818        (WebCore::InlineFlowBox::paint): Use getBoxShadowHorizontalExtent().
78819        * rendering/RenderBlock.cpp:
78820        (WebCore::RenderBlock::overflowHeight): Use
78821            getBoxShadowVerticalExtent().
78822        (WebCore::RenderBlock::overflowWidth): Use
78823            getBoxShadowHorizontalExtent().
78824        (WebCore::RenderBlock::overflowLeft): Ditto.
78825        (WebCore::RenderBlock::overflowTop): Use getBoxShadowVerticalExtent().
78826        (WebCore::RenderBlock::overflowRect): Use getBoxShadowExtent().
78827        (WebCore::RenderBlock::layoutBlock): Ditto.
78828        * rendering/RenderFlexibleBox.cpp:
78829        (WebCore::RenderFlexibleBox::layoutBlock): Ditto.
78830        * rendering/RenderLayer.cpp:
78831        (WebCore::RenderLayer::calculateRects): Exclude inset shadows.
78832        * rendering/RenderObject.cpp:
78833        (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Use
78834            getBoxShadowHorizontalExtent() and getBoxShadowVerticalExtent().
78835        (WebCore::RenderObject::adjustRectForOutlineAndShadow): Exclude inset
78836            shadows.
78837        * rendering/RenderReplaced.cpp:
78838        (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Ditto.
78839        * rendering/style/RenderStyle.cpp:
78840        (WebCore::RenderStyle::setTextShadow): Also assert that text-shadows are
78841            not inset.
78842        (WebCore::RenderStyle::getBoxShadowExtent): Added. Excludes inset
78843            shadows.
78844        (WebCore::RenderStyle::getBoxShadowHorizontalExtent): Ditto.
78845        (WebCore::RenderStyle::getBoxShadowVerticalExtent): Ditto.
78846        * rendering/style/RenderStyle.h:
78847
788482009-07-29  Simon Fraser  <simon.fraser@apple.com>
78849
78850        Reviewed by Dan Bernstein.
78851
78852        Fix crash when an element with display: table-row is composited (e.g. via a 3d-transform)
78853        https://bugs.webkit.org/show_bug.cgi?id=27796
78854        
78855        Avoid repainting when a layer becomes composited if the renderer is not parented
78856        yet, because it makes no sense to do so.
78857        
78858        If the table row is a repaint container, default to the RenderBox implementation
78859        of clippedOverflowRectForRepaint(), because we cannot hand off the repaint rect
78860        computation to something that is above the repaint container.
78861
78862        Test: fast/table/table-row-compositing-repaint-crash.html
78863
78864        * rendering/RenderLayerCompositor.cpp:
78865        (WebCore::RenderLayerCompositor::repaintOnCompositingChange):
78866        * rendering/RenderTableRow.cpp:
78867        (WebCore::RenderTableRow::clippedOverflowRectForRepaint):
78868
788692009-07-29  Brady Eidson  <beidson@apple.com>
78870
78871        Reviewed by Sam Weinig.
78872
78873        https://bugs.webkit.org/show_bug.cgi?id=27791
78874        307 redirects of POSTs should use POST, not GET
78875
78876        Test: http/tests/loading/redirect-methods.html
78877
78878        * platform/network/cf/ResourceHandleCFNet.cpp:
78879        (WebCore::willSendRequest):
78880
78881        * platform/network/mac/ResourceHandleMac.mm:
78882        (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
78883
788842009-07-29  Chris Marrin  <cmarrin@apple.com>
78885
78886        Reviewed by Simon Fraser.
78887
78888        Adding -webkit-animation-play-state back in
78889        https://bugs.webkit.org/show_bug.cgi?id=26867
78890
78891        We've decided to keep -webkit-animation-play-state. So this
78892        just adds back in the code from https://bugs.webkit.org/show_bug.cgi?id=22907.
78893
78894        Test: animations/play-state.html
78895
78896        * css/CSSComputedStyleDeclaration.cpp:
78897        (WebCore::):
78898        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
78899        * css/CSSParser.cpp:
78900        (WebCore::CSSParser::parseValue):
78901        (WebCore::CSSParser::parseAnimationPlayState):
78902        (WebCore::CSSParser::parseAnimationProperty):
78903        * css/CSSParser.h:
78904        * css/CSSPropertyNames.in:
78905        * css/CSSStyleSelector.cpp:
78906        (WebCore::CSSStyleSelector::applyProperty):
78907        (WebCore::CSSStyleSelector::mapAnimationPlayState):
78908        * css/CSSStyleSelector.h:
78909        * platform/animation/Animation.h:
78910        * rendering/style/RenderStyleConstants.h:
78911        (WebCore::):
78912
789132009-07-29  Jakub Wieczorek  <faw217@gmail.com>
78914
78915        Reviewed by Simon Hausmann.
78916
78917        Expose the default plugin directories and the current directory set of
78918        the plugin database as public API.
78919
78920        https://bugs.webkit.org/show_bug.cgi?id=27651
78921
78922        * plugins/PluginDatabase.h:
78923        (WebCore::PluginDatabase::pluginDirectories):
78924
789252009-07-29  Alpha Lam  <hclam@chromium.org>
78926
78927        Reviewed by David Levin.
78928
78929        [chromium] Font size for current time display in media controls panel
78930        is affected by body font size.
78931        https://bugs.webkit.org/show_bug.cgi?id=27799
78932
78933        Fixing the problem of rendering by explicitly setting the font size
78934        for the time displays.
78935
78936        No new tests since this is covered by existing media tests.
78937
78938        * css/mediaControlsChromium.css:
78939
789402009-07-29  Mike Fenton  <mike.fenton@torchmobile.com>
78941
78942        Reviewed by David Levin.
78943
78944        Update WebCore/page/ContextMenuController.cpp to conform to WebKit
78945        Style Guidelines as identified by cpp_style.py.
78946        https://bugs.webkit.org/show_bug.cgi?id=27613
78947
78948        * page/ContextMenuController.cpp:
78949        (WebCore::openNewWindow):
78950        (WebCore::ContextMenuController::contextMenuItemSelected):
78951
789522009-07-29  Dean McNamee  <deanm@chromium.org>
78953
78954        Reviewed by Dimitri Glazkov.
78955
78956        Removed unused wrapCPointer/extractCPointer from the v8 bindings.
78957        https://bugs.webkit.org/show_bug.cgi?id=27805
78958
78959        * bindings/v8/V8DOMWrapper.h:
78960
789612009-07-29  Jakub Wieczorek  <faw217@gmail.com>
78962
78963        Reviewed by Simon Hausmann.
78964
78965        Expose the PluginDatabase::pluginForMIMEType() function as public API.
78966        https://bugs.webkit.org/show_bug.cgi?id=27651
78967
78968        It can be used to determine the appropriate plugin for a mime type,
78969        without guessing the mimetype from the extension.
78970
78971        * plugins/PluginDatabase.h:
78972
789732009-07-29  Jakub Wieczorek  <faw217@gmail.com>
78974
78975        Reviewed by Adam Treat.
78976
78977        Allow to enable/disable particular plugin packages.
78978        https://bugs.webkit.org/show_bug.cgi?id=27651
78979
78980        Disabled plugins will not be picked up when looking for a plugin
78981        supporting the requested mimetypes.
78982
78983        Client applications may want to use that API to disable specific
78984        plugins.
78985
78986        * plugins/PluginDatabase.cpp:
78987        (WebCore::PluginDatabase::pluginForMIMEType):
78988        (WebCore::PluginDatabase::MIMETypeForExtension):
78989        * plugins/PluginPackage.cpp:
78990        (WebCore::PluginPackage::PluginPackage):
78991        (WebCore::PluginPackage::setEnabled):
78992        * plugins/PluginPackage.h:
78993        (WebCore::PluginPackage::isEnabled):
78994
789952009-07-29  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
78996
78997        Reviewed by Adam Treat.
78998
78999        [WML] Running WML tests in random order multiple times exposes subtle bugs
79000        https://bugs.webkit.org/show_bug.cgi?id=27801
79001
79002        Remove superflous assertions regarding the parent node. Under certain circumstances
79003        these can even fire (related to garbage collection while destructing). Fixes random order
79004        WML tests (run-webkit-tests fast/wml wml http/tests/wml fast/wml ... --random)
79005
79006        The wml/enter-first-card-with-events.html test relied on a bug in our implementation of
79007        WMLPageState::reset() - the history stack should still contain the current card afterwards.
79008        Fix that bug by preserving the first item in BackForwardList::clearWMLPageHistory().
79009
79010        * history/BackForwardList.cpp: Preserve first item in history stack, as demanded by the spec.
79011        (WebCore::BackForwardList::clearWMLPageHistory):
79012        * wml/WMLDoElement.cpp:
79013        (WebCore::WMLDoElement::insertedIntoDocument):
79014        (WebCore::WMLDoElement::removedFromDocument):
79015        * wml/WMLNoopElement.cpp:
79016        (WebCore::WMLNoopElement::insertedIntoDocument):
79017        * wml/WMLOnEventElement.cpp:
79018        (WebCore::eventHandlingParent):
79019        * wml/WMLPostfieldElement.cpp:
79020        (WebCore::WMLPostfieldElement::insertedIntoDocument):
79021        (WebCore::WMLPostfieldElement::removedFromDocument):
79022        * wml/WMLSetvarElement.cpp:
79023        (WebCore::WMLSetvarElement::insertedIntoDocument):
79024        (WebCore::WMLSetvarElement::removedFromDocument):
79025        * wml/WMLTaskElement.cpp:
79026        (WebCore::WMLTaskElement::insertedIntoDocument):
79027        (WebCore::WMLTaskElement::removedFromDocument):
79028        * wml/WMLTimerElement.cpp:
79029        (WebCore::WMLTimerElement::insertedIntoDocument):
79030        (WebCore::WMLTimerElement::removedFromDocument):
79031
790322009-07-29  Yongjun Zhang  <yongjun.zhang@nokia.com>
79033
79034        Reviewed by Simon Hausmann.
79035
79036        https://bugs.webkit.org/show_bug.cgi?id=26848
79037        [Qt] ResourceHandle::willLoadFromCache needs to be implemented QtWebKit.
79038
79039        * loader/FrameLoader.cpp:
79040        (WebCore::FrameLoader::loadItem):
79041        * platform/network/ResourceHandle.h:
79042        * platform/network/cf/ResourceHandleCFNet.cpp:
79043        (WebCore::ResourceHandle::willLoadFromCache):
79044        * platform/network/curl/ResourceHandleCurl.cpp:
79045        (WebCore::ResourceHandle::willLoadFromCache):
79046        * platform/network/mac/ResourceHandleMac.mm:
79047        (WebCore::ResourceHandle::willLoadFromCache):
79048        * platform/network/qt/ResourceHandleQt.cpp:
79049        (WebCore::ResourceHandle::willLoadFromCache):
79050        * platform/network/soup/ResourceHandleSoup.cpp:
79051        (WebCore::):
79052
790532009-07-29  Alpha Lam  <hclam@chromium.org>
79054
79055        Reviewed by David Levin.
79056
79057        Media control panel for <video> in MediaDocument is mis-placed
79058        https://bugs.webkit.org/show_bug.cgi?id=27798
79059
79060        Fixing a rendering problem: When <video> is displayed in MediaDocument,
79061        the media control panel overlaps with the video by 16 pixels.
79062
79063        No new tests as this is covered by existing media tests.
79064
79065        * css/mediaControlsChromium.css:
79066
790672009-07-29  Adam Barth  <abarth@webkit.org>
79068
79069        Unreviewed build fix for Chromium.  Those last two patches weren't
79070        independent despite the clean merge.
79071
79072        * bindings/v8/V8AbstractEventListener.cpp:
79073        (WebCore::V8AbstractEventListener::V8AbstractEventListener):
79074
790752009-07-29  Avi Drissman  <avi@chromium.org>
79076
79077        Reviewed by Darin Adler.
79078
79079        ImageSourceCG makes bad data refs (race condition causes blank images)
79080        https://bugs.webkit.org/show_bug.cgi?id=27777
79081
79082        Make ImageSourceCG guarantee that the lifetime of the SharedBuffer that
79083        backs the CFDataRef will be long enough.
79084
79085        No new tests, as this fixes a bug with a race condition that is
79086        difficult to trigger.
79087
79088        * platform/graphics/cg/ImageSourceCG.cpp:
79089        (WebCore::ImageSource::setData):
79090
790912009-07-29  Keishi Hattori  <casey.hattori@gmail.com>
79092
79093        Reviewed by Timothy Hatcher.
79094
79095        Inspector: Console should show completions for the command line APIs
79096        https://bugs.webkit.org/show_bug.cgi?id=27696
79097
79098        * inspector/front-end/Console.js:
79099        (WebInspector.Console.prototype._reportCompletions): Adds properties from _inspectorCommandLineAPI to 
79100        completions when available.
79101        * inspector/front-end/utilities.js:
79102        (Object.properties): Added.
79103        (Object.sortedProperties):
79104
791052009-07-29  Shinichiro Hamaji  <hamaji@chromium.org>
79106
79107        Reviewed by Eric Seidel.
79108
79109        Refactor the first step of layout in RenderFlexibleBox.cpp
79110        https://bugs.webkit.org/show_bug.cgi?id=27704
79111
79112        No new tests as this change is just a refactoring.
79113
79114        * rendering/RenderFlexibleBox.cpp:
79115        (WebCore::gatherFlexChildrenInfo):
79116        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
79117        (WebCore::RenderFlexibleBox::layoutVerticalBox):
79118
791192009-07-29  Kent Tamura  <tkent@chromium.org>
79120
79121        Reviewed by Nikolas Zimmermann.
79122
79123        Fix a bug that HTMLOptionElement::value() returns an incorrect
79124        value in a case that the element has a label attribute and no
79125        value attribute.
79126        https://bugs.webkit.org/show_bug.cgi?id=27760
79127
79128        Test: fast/forms/option-value-and-label.html
79129
79130        * dom/OptionElement.cpp:
79131        (WebCore::OptionElement::collectOptionLabelOrText):
79132        (WebCore::OptionElement::collectOptionInnerText):
79133        (WebCore::OptionElement::normalizeText):
79134        (WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
79135        (WebCore::OptionElement::collectOptionValue):
79136        * dom/OptionElement.h:
79137        * html/HTMLOptionElement.cpp:
79138        (WebCore::HTMLOptionElement::text):
79139        * wml/WMLOptionElement.cpp:
79140        (WebCore::WMLOptionElement::text):
79141
791422009-07-29  Adam Barth  <abarth@webkit.org>
79143
79144        Reviewed by Dimitri Glazkov.
79145
79146        [V8] Fix isolated world wrappers for event handlers
79147        https://bugs.webkit.org/show_bug.cgi?id=27533
79148
79149        Instead of getting the context from the frame, we cache the context
79150        when the listener is created so that we get the context for the right
79151        world.
79152
79153        Test: http/tests/security/isolatedWorld/click-event.html
79154
79155        * WebCore.gypi:
79156        * bindings/v8/OwnHandle.h: Added.
79157        (WebCore::OwnHandle::OwnHandle):
79158        (WebCore::OwnHandle::~OwnHandle):
79159        (WebCore::OwnHandle::get):
79160        (WebCore::OwnHandle::set):
79161        (WebCore::OwnHandle::release):
79162        (WebCore::OwnHandle::adopt):
79163        (WebCore::OwnHandle::swap):
79164        (WebCore::OwnHandle::clear):
79165        (WebCore::OwnHandle::makeWeak):
79166        (WebCore::OwnHandle::weakCallback):
79167        * bindings/v8/V8AbstractEventListener.cpp:
79168        (WebCore::V8AbstractEventListener::V8AbstractEventListener):
79169        (WebCore::V8AbstractEventListener::handleEvent):
79170        * bindings/v8/V8AbstractEventListener.h:
79171        * bindings/v8/V8DOMWrapper.h:
79172
791732009-07-29  Adam Barth  <abarth@webkit.org>
79174
79175        Reviewed by Dimitri Glazkov.
79176
79177        [V8] Teach V8Proxy::context about isolated worlds
79178        https://bugs.webkit.org/show_bug.cgi?id=27701
79179
79180        Change V8Proxy::context(Frame*) to understand isolated worlds.  Audit
79181        all callers of this method to make sure they want isolated worlds.  In
79182        cases where we really want the main world, I've changed the call to
79183        V8Proxy::mainWorldContext(Frame*).
79184        
79185        The main visible change is to the document.open method when called with
79186        more than two arguments.  This design seems more likely to lead to
79187        future correct code.
79188
79189        Test: http/tests/security/isolatedWorld/document-open.html
79190
79191        * bindings/v8/ScriptController.cpp:
79192        (WebCore::ScriptController::processingUserGesture):
79193        (WebCore::ScriptController::evaluate):
79194        (WebCore::ScriptController::bindToWindowObject):
79195        (WebCore::ScriptController::collectGarbage):
79196        (WebCore::createScriptObject):
79197        (WebCore::ScriptController::createScriptObjectForPluginElement):
79198        * bindings/v8/ScriptObjectQuarantine.cpp:
79199        (WebCore::getQuarantinedScriptObject):
79200        * bindings/v8/V8AbstractEventListener.cpp:
79201        (WebCore::V8AbstractEventListener::handleEvent):
79202        * bindings/v8/V8DOMWrapper.cpp:
79203        (WebCore::V8DOMWrapper::getConstructor):
79204        (WebCore::V8DOMWrapper::setHiddenWindowReference):
79205        (WebCore::V8DOMWrapper::convertNodeToV8Object):
79206        (WebCore::V8DOMWrapper::convertWindowToV8Object):
79207        * bindings/v8/V8Helpers.cpp:
79208        (WebCore::toV8Context):
79209        * bindings/v8/V8LazyEventListener.cpp:
79210        (WebCore::V8LazyEventListener::getListenerFunction):
79211        (WebCore::V8LazyEventListener::getWrappedListenerFunction):
79212        * bindings/v8/V8Proxy.cpp:
79213        (WebCore::V8Proxy::context):
79214        (WebCore::V8Proxy::mainWorldContext):
79215        (WebCore::V8Proxy::bindJsObjectToWindow):
79216        * bindings/v8/V8Proxy.h:
79217
792182009-07-29  Balazs Kelemen  <kelemen.balazs.3@stud.u-szeged.hu>
79219
79220        Reviewed by Simon Hausmann.
79221
79222        Fix the Qt build, add missing file.
79223
79224        * WebCore.pro:
79225
792262009-07-28  Jon Honeycutt  <jhoneycutt@apple.com>
79227
79228        Speculative fix for <rdar://problem/7005077> WER: Crash in
79229        WebCore::PluginStream::destroyStream+279 (1310510882)
79230
79231        Reviewed by Oliver Hunt.
79232
79233        * plugins/PluginStream.cpp:
79234        (WebCore::PluginStream::destroyStream):
79235        Move the "protector" RefPtr out of the block that dispatches
79236        notifications and into the function level; if NPN_DestroyStream were
79237        called from NPP_NewStream as the comment warns, we would be deleted at
79238        the end of the block.
79239
792402009-07-28  Joseph Pecoraro  <joepeck02@gmail.com>
79241
79242        Inspector: Tab Through the DOM Storage DataGrid when Editing
79243
79244        https://bugs.webkit.org/show_bug.cgi?id=27746
79245
79246        Reviewed by Timothy Hatcher.
79247
79248        * inspector/front-end/DOMStorageDataGrid.js:
79249        (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode): refactored to directly edit and select a column
79250        (WebInspector.DOMStorageDataGrid.prototype._startEditing):
79251        (WebInspector.DOMStorageDataGrid.prototype._editingCommitted.moveToNextIfNeeded): handles moveDirection on a commit
79252        (WebInspector.DOMStorageDataGrid.prototype._editingCommitted): uses moveToNext to traverse appropriately
79253
792542009-07-28  Joseph Pecoraro  <joepeck02@gmail.com>
79255
79256        Inspector: Create New DOM Storage Items via DataGrid
79257
79258        https://bugs.webkit.org/show_bug.cgi?id=27322
79259
79260        Reviewed by Timothy Hatcher.
79261
79262        * inspector/front-end/DOMStorageDataGrid.js:
79263        (WebInspector.DOMStorageDataGrid.prototype._startEditing): click anyway means creationNode
79264        (WebInspector.DOMStorageDataGrid.prototype._editingCommitted): fix unintended globals
79265        (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow): creationNode is special case
79266        * inspector/front-end/DataGrid.js:
79267        (WebInspector.DataGrid.prototype.addCreationNode): maintain a quick ref to the single creationNode
79268        (WebInspector.CreationDataGridNode): new type of node
79269        (WebInspector.CreationDataGridNode.prototype.makeNormal): convert to a normal node
79270        * inspector/front-end/DatabasesPanel.js:
79271        (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage): add a creationNode to the GridData
79272
792732009-07-28  Joseph Pecoraro  <joepeck02@gmail.com>
79274
79275        Inspector: Automatically Refresh DOM Storage Grids on "storage" event
79276
79277        https://bugs.webkit.org/show_bug.cgi?id=27400
79278
79279        Reviewed by Timothy Hatcher.
79280
79281        * inspector/front-end/DatabasesPanel.js:
79282        (WebInspector.DatabasesPanel.prototype.show): trigger adding the listener
79283        (WebInspector.DatabasesPanel.prototype.reset): trigger removing the listener
79284        (WebInspector.DatabasesPanel.prototype._registerStorageEventListener): register the listener on the inspected window
79285        (WebInspector.DatabasesPanel.prototype._unregisterStorageEventListener): unregister the listener on the inspected window
79286        (WebInspector.DatabasesPanel.prototype._storageEvent): handle the storage event
79287
792882009-07-28  Keishi Hattori  <casey.hattori@gmail.com>
79289
79290        Inspector should support inspect() in the command line.
79291
79292        https://bugs.webkit.org/show_bug.cgi?id=19874
79293        rdar://problem/6070225
79294
79295        Reviewed by Timothy Hatcher.
79296
79297        * inspector/front-end/Console.js:
79298        (WebInspector.Console.prototype._ensureCommandLineAPIInstalled.inspectObject):
79299        (WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
79300        * inspector/front-end/DatabasesPanel.js:
79301        (WebInspector.DatabasesPanel.prototype.revealAndSelectDomStorage): Added.
79302        (WebInspector.DatabasesPanel.prototype.revealAndSelectDatabase): Added.
79303        (WebInspector.DatabasesPanel.prototype.showDatabase): 
79304
793052009-07-28  Keishi Hattori  <casey.hattori@gmail.com>
79306
79307        The rest of: Web Inspector: Add inspected node using public console API.
79308
79309        https://bugs.webkit.org/show_bug.cgi?id=27758
79310
79311        Reviewed by Timothy Hatcher.
79312
79313        * inspector/front-end/Console.js:
79314        (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): Removed _inspectorCommandLineAPI._addInspectedNode.
79315        (WebInspector.Console.prototype.addInspectedNode): Added.
79316
793172009-07-28  Pavel Feldman  <pfeldman@chromium.org>
79318
79319        Reviewed by Timothy Hatcher.
79320
79321        WebInspector: Accept autocomplete on 'End' key pressed.
79322
79323        https://bugs.webkit.org/show_bug.cgi?id=27447.
79324
79325        * inspector/front-end/TextPrompt.js:
79326        (WebInspector.TextPrompt.prototype.handleKeyEvent):
79327
793282009-07-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
79329
79330        Reviewed by David Levin.
79331
79332        [Qt] Build fix after r46502
79333        https://bugs.webkit.org/show_bug.cgi?id=27789
79334
79335        * WebCore.pro: Remove StorageArea.cpp
79336
793372009-07-28  Mark Rowe  <mrowe@apple.com>
79338
79339        Reviewed by Darin Adler.
79340
79341        Follow-on fix to r35582.  Replace main thread assertions with WebCoreObjCScheduleDeallocateOnMainThread
79342        in -dealloc overrides in DOMObject subclasses.
79343
79344        * bindings/scripts/CodeGeneratorObjC.pm:
79345
793462009-07-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
79347
79348        Reviewed by Adam Treat.
79349
79350        [WML] WML*Element classes mostly implement insertedIntoDocument(), not removedFromDocument()
79351        https://bugs.webkit.org/show_bug.cgi?id=27786
79352
79353        WML*Element classes mostly implement insertedIntoDocument(), not removedFromDocument().
79354        The only case where this is relevant in WML is error handling. The parsed WML
79355        tree fragment is inserted in an XHTML compound error document. This requires
79356        removedFromDocument() to be correctly implemented otherwhise we run into
79357        trouble (visible when using run-webkit-tests fast/wml --random).
79358
79359        * wml/WMLAnchorElement.cpp:
79360        (WebCore::WMLAnchorElement::registerTask):
79361        (WebCore::WMLAnchorElement::deregisterTask):
79362        * wml/WMLAnchorElement.h:
79363        * wml/WMLDoElement.cpp:
79364        (WebCore::WMLDoElement::removedFromDocument):
79365        (WebCore::WMLDoElement::registerTask):
79366        (WebCore::WMLDoElement::deregisterTask):
79367        * wml/WMLDoElement.h:
79368        * wml/WMLEventHandlingElement.cpp:
79369        (WebCore::WMLEventHandlingElement::registerDoElement):
79370        (WebCore::WMLEventHandlingElement::deregisterDoElement):
79371        * wml/WMLEventHandlingElement.h:
79372        * wml/WMLFieldSetElement.cpp:
79373        (WebCore::WMLFieldSetElement::removedFromDocument):
79374        * wml/WMLGoElement.cpp:
79375        (WebCore::WMLGoElement::registerPostfieldElement):
79376        (WebCore::WMLGoElement::deregisterPostfieldElement):
79377        * wml/WMLGoElement.h:
79378        * wml/WMLIntrinsicEventHandler.cpp:
79379        (WebCore::WMLIntrinsicEventHandler::deregisterIntrinsicEvent):
79380        * wml/WMLIntrinsicEventHandler.h:
79381        * wml/WMLOnEventElement.cpp:
79382        (WebCore::eventHandlingParent):
79383        (WebCore::WMLOnEventElement::registerTask):
79384        (WebCore::WMLOnEventElement::deregisterTask):
79385        * wml/WMLOnEventElement.h:
79386        * wml/WMLPostfieldElement.cpp:
79387        (WebCore::WMLPostfieldElement::removedFromDocument):
79388        * wml/WMLPostfieldElement.h:
79389        * wml/WMLSetvarElement.cpp:
79390        (WebCore::WMLSetvarElement::removedFromDocument):
79391        * wml/WMLSetvarElement.h:
79392        * wml/WMLTaskElement.cpp:
79393        (WebCore::WMLTaskElement::removedFromDocument):
79394        (WebCore::WMLTaskElement::registerVariableSetter):
79395        (WebCore::WMLTaskElement::deregisterVariableSetter):
79396        (WebCore::WMLTaskElement::storeVariableState):
79397        * wml/WMLTaskElement.h:
79398        * wml/WMLTimerElement.cpp:
79399        (WebCore::WMLTimerElement::removedFromDocument):
79400        * wml/WMLTimerElement.h:
79401
794022009-07-28  David Levin  <levin@chromium.org>
79403
79404        Suggested by Drew Wilson.
79405
79406        Speculative gtk build fix, follow up to:
79407        https://bugs.webkit.org/show_bug.cgi?id=27697
79408
79409        * GNUmakefile.am:
79410
794112009-07-28  Dan Bernstein  <mitz@apple.com>
79412
79413        Reviewed by Simon Fraser.
79414
79415        [CSS3 Backgrounds and Borders] Drop the prefix from the border-radius
79416        properties
79417        https://bugs.webkit.org/show_bug.cgi?id=27578
79418
79419        [CSS3 Backgrounds and Borders] Handle the / and 4 values in
79420        border-radius
79421        https://bugs.webkit.org/show_bug.cgi?id=27584
79422
79423        Test: fast/borders/border-radius-parsing.html
79424
79425        Dropped the -webkit- prefix from the individual corner border-radius
79426        properties. Added border-radius with the / and 4-value syntax, and
79427        maintained -webkit-border-radius with legacy 2-value syntax.
79428
79429        * css/CSSComputedStyleDeclaration.cpp:
79430        (computedProperties): Removed Webkit prefix.
79431        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Ditto.
79432        * css/CSSParser.cpp:
79433        (WebCore::CSSParser::parseValue): Removed Webkit prefix from the
79434            single-corner properties. Call out to parseBorderRadius() to parse
79435            border-radius and -webkit-border-radius. 
79436        (WebCore::completeBorderRadii): Added this helper function that
79437            completes the values for all four corners when fewer than four are
79438            specified.
79439        (WebCore::CSSParser::parseBorderRadius): Added.
79440        (WebCore::cssPropertyID): Map -webkit-border-*-*-radius to the
79441            unprefixed property.
79442        * css/CSSParser.h:
79443        * css/CSSPropertyLonghand.cpp:
79444        (WebCore::initShorthandMap): Removed the Webkit prefix. Added an entry
79445            for border-radius. Kept the entry for -webkit-border-radius.
79446        * css/CSSPropertyNames.in: Removed the -webkit- prefix from the
79447            single-corenr properties. Added border-radius. Kept
79448            -webkit-border-radius because of its conflicting syntax.
79449        * css/CSSStyleSelector.cpp:
79450        (WebCore::CSSStyleSelector::applyProperty): Removed the Webkit prefix.
79451        * page/animation/AnimationBase.cpp:
79452        (WebCore::ensurePropertyMap): Ditto.
79453
794542009-07-28  Drew Wilson  <atwilson@google.com>
79455
79456        Reviewed by David Levin.
79457
79458        Refactored dedicated-worker-specific code from WorkerThread into DedicatedWorkerThread class.
79459
79460        WorkerThread needs to be refactored to separate out dedicated-worker functionality.
79461        https://bugs.webkit.org/show_bug.cgi?id=27697
79462
79463        This is just a refactoring, so existing tests suffice.
79464
79465        * GNUmakefile.am:
79466        Added DedicatedWorkerThread.h/.cpp
79467        * WebCore.gypi:
79468        Added DedicatedWorkerThread.h/.cpp
79469        * WebCore.pro:
79470        Added DedicatedWorkerThread.h/.cpp
79471        * WebCore.vcproj/WebCore.vcproj:
79472        Added DedicatedWorkerThread.h/.cpp
79473        * WebCore.xcodeproj/project.pbxproj:
79474        Added DedicatedWorkerThread.h/.cpp
79475        * bindings/js/WorkerScriptController.cpp:
79476        (WebCore::WorkerScriptController::evaluate):
79477        Removed code to track pending activity - this is handled by DedicatedWorkerContext::importScripts() now.
79478        * bindings/v8/WorkerScriptController.cpp:
79479        (WebCore::WorkerScriptController::evaluate):
79480        Removed code to track pending activity - this is handled by DedicatedWorkerContext::importScripts() now.
79481        * workers/DedicatedWorkerContext.cpp:
79482        (WebCore::DedicatedWorkerContext::DedicatedWorkerContext):
79483        (WebCore::DedicatedWorkerContext::addMessage):
79484        Forwards console messages to parent document.
79485        (WebCore::DedicatedWorkerContext::importScripts):
79486        Now sends the updated pending activity status after importing scripts.
79487        (WebCore::DedicatedWorkerContext::thread):
79488        Helper routine that casts WorkerThread to DedicatedWorkerThread.
79489        * workers/DedicatedWorkerContext.h:
79490        (WebCore::DedicatedWorkerContext::create):
79491        * workers/DedicatedWorkerThread.cpp: Added.
79492        (WebCore::DedicatedWorkerThread::create):
79493        (WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
79494        (WebCore::DedicatedWorkerThread::~DedicatedWorkerThread):
79495        (WebCore::DedicatedWorkerThread::createWorkerContext):
79496        Implementation of the base class factory method to create the appropriate worker context.
79497        (WebCore::DedicatedWorkerThread::runEventLoop):
79498        Reports pending activity before running the event loop.
79499        * workers/DedicatedWorkerThread.h: Added.
79500        (WebCore::DedicatedWorkerThread::workerObjectProxy):
79501        Moved from base class.
79502        * workers/WorkerContext.cpp:
79503        * workers/WorkerContext.h:
79504        * workers/WorkerMessagingProxy.cpp:
79505        (WebCore::WorkerMessagingProxy::startWorkerContext):
79506        Now creates DedicatedWorkerThread.
79507        (WebCore::WorkerMessagingProxy::workerThreadCreated):
79508        Now is passed a DedicatedWorkerThread.
79509        * workers/WorkerMessagingProxy.h:
79510        * workers/WorkerThread.cpp:
79511        (WebCore::WorkerThread::WorkerThread):
79512        Moved workerObjectProxy param into derived class constructor.
79513        (WebCore::WorkerThread::workerThread):
79514        (WebCore::WorkerThread::runEventLoop):
79515        Moved the event loop execution into a virtual function so DedicatedWorkerThread could report pending activity first.
79516        * workers/WorkerThread.h:
79517        (WebCore::WorkerThread::workerContext):
79518
795192009-07-28  Nate Chapin  <japhet@chromium.org>
79520
79521        Reviewed by Darin Fisher.
79522
79523        Fix V8NPUtils' handling of UTF8 identifiers.
79524
79525        https://bugs.webkit.org/show_bug.cgi?id=27782
79526
79527        * bindings/v8/V8NPUtils.cpp:
79528        (getStringIdentifier): Treat the input string as UTF8 instead of ASCII,
79529            since NPN_GetStringIdentifier() is expecting UTF8.
79530
795312009-07-28  Jeremy Orlow  <jorlow@chromium.org>
79532
79533        Reviewed by Eric Seidel.
79534
79535        Misc cleanup in DOM Storage.
79536        https://bugs.webkit.org/show_bug.cgi?id=27517
79537
79538        The StorageAreaImpl changes are all for Chromium.  Because the DOM Storage implementation
79539        runs in a different process from where the Frame object lives, Chromium passes in NULL
79540        for the sourceFrame.  This affects events and handling privateBrowsing.  Chromium's
79541        incognito mode does not use the private browsing setting, so that's not a concern.  As for
79542        events, I've decided to simply disable them for now.
79543
79544        The StorageNamespaceImpl changes get rid of a stale comment (path is .copy'ed for thread-
79545        safety) and to add an assert that .copy is only ever called on a SessionStorage namespace.
79546
79547        Also cleaned up tailing whitespace in several parts of StorageAreaImpl.cpp
79548
79549        * storage/StorageArea.cpp: Removed.  (It was empty anyway.)
79550        * storage/StorageAreaImpl.cpp:
79551        (WebCore::privateBrowsingEnabled): Factored out the check.
79552        (WebCore::StorageAreaImpl::setItem): Make frame optional.
79553        (WebCore::StorageAreaImpl::removeItem): ditto
79554        (WebCore::StorageAreaImpl::clear): ditto
79555        (WebCore::StorageAreaImpl::dispatchStorageEvent): Disable in Chromium for now.
79556        * storage/StorageNamespaceImpl.cpp:
79557        (WebCore::StorageNamespaceImpl::StorageNamespaceImpl): Remove stale comment.
79558        (WebCore::StorageNamespaceImpl::copy): Add assert that it's SessionStorage.
79559
795602009-07-28  Alpha Lam  <hclam@google.com>
79561
79562        Reviewed by David Levin.
79563
79564        [chromium] Default UI controls for <video> has rendering problems
79565        https://bugs.webkit.org/show_bug.cgi?id=27669
79566
79567        Fixes the bug that <video> in MediaDocument is 1 pixel tall if
79568        it is playing an audio file by changing the style to be 32px
79569        tall.
79570
79571        Also fixes a problem of default styled audio tag that hides the
79572        all the time digits by expanding the width to 300px.
79573
79574        Changed the size and position of the current time and remaining
79575        display to give enough space for the hour digit to be shown.
79576
79577        There are no new tests provided because this is already covered
79578        by existing tests.
79579
79580        * css/mediaControlsChromium.css:
79581
795822009-07-28  Jakub Wieczorek  <faw217@gmail.com>
79583
79584        Reviewed by Eric Seidel.
79585
79586        Fix style in PluginPackage and PluginDatabase.
79587        Part of https://bugs.webkit.org/show_bug.cgi?id=27651
79588
79589        * plugins/PluginDatabase.cpp:
79590        (WebCore::PluginDatabase::refresh):
79591        (WebCore::PluginDatabase::findPlugin):
79592        * plugins/PluginDatabase.h:
79593        * plugins/PluginPackage.cpp:
79594        (WebCore::PluginPackage::~PluginPackage):
79595        (WebCore::PluginPackage::freeLibrarySoon):
79596        (WebCore::PluginPackage::freeLibraryTimerFired):
79597        (WebCore::PluginPackage::unloadWithoutShutdown):
79598        (WebCore::PluginPackage::initializeBrowserFuncs):
79599        * plugins/PluginPackage.h:
79600
796012009-07-28  Anantanarayanan Iyengar  <ananta@chromium.org>
79602
79603        Reviewed by Dimitri Glazkov.
79604
79605        https://bugs.webkit.org/show_bug.cgi?id=27769
79606        The V8 bindings function V8Proxy::createNewContext can be 
79607        called during frame shutdown where the activeDocumentLoader
79608        function in FrameLoader can return NULL. Added a check for the
79609        same.
79610
79611        No new tests added as this is an edge case where the V8 
79612        bindings code is reentered via NPAPI during shutdown. It is 
79613        difficult to write a consistently reproducible test for this.
79614
79615        * bindings/v8/V8Proxy.cpp:
79616        (WebCore::V8Proxy::createNewContext):
79617
796182009-07-28  Ivan Posva  <iposva@chromium.org>
79619
79620        Reviewed by Dimitri Glazkov.
79621
79622        Associate the CanvasPixelData backing store with the
79623        indexed properties of the wrapper object.
79624
79625        https://bugs.webkit.org/show_bug.cgi?id=27773
79626
79627        No new tests: Relying on existing Canvas tests.
79628
79629        * bindings/v8/V8DOMWrapper.cpp:
79630        (WebCore::V8DOMWrapper::getTemplate):
79631        (WebCore::V8DOMWrapper::convertToV8Object):
79632
796332009-07-28  Xan Lopez  <xlopez@igalia.com>
79634
79635        Reviewed by Gustavo Noronha.
79636
79637        Nuke all references to JSWorkerContextBase.lut.h, it was removed
79638        back in April.
79639
79640        * GNUmakefile.am:
79641
796422009-07-28  Robert Agoston  <Agoston.Robert@stud.u-szeged.hu>
79643
79644        Reviewed by Simon Hausmann.
79645
79646        Fixed references to script generate-webkitversion.pl, and
79647        removed duplicated generate-webkitversion.pl
79648
79649        https://bugs.webkit.org/show_bug.cgi?id=27158
79650
79651        * WebCore.pro:
79652        * platform/generate-webkitversion.pl: Removed.
79653
796542009-07-28  Pavel Feldman  <pfeldman@chromium.org>
79655
79656        Reviewed by Dmitry Glazkov.
79657
79658        Web Inspector: encapsulate ScriptState into the ScriptObject, get rid of
79659        InspectorJSONObject.
79660
79661        https://bugs.webkit.org/show_bug.cgi?id=27766
79662
79663        * GNUmakefile.am:
79664        * WebCore.gypi:
79665        * WebCore.pro:
79666        * WebCore.vcproj/WebCore.vcproj:
79667        * WebCore.xcodeproj/project.pbxproj:
79668        * WebCoreSources.bkl:
79669        * bindings/js/ScriptArray.cpp:
79670        (WebCore::ScriptArray::ScriptArray):
79671        (WebCore::ScriptArray::set):
79672        (WebCore::ScriptArray::length):
79673        (WebCore::ScriptArray::createNew):
79674        * bindings/js/ScriptArray.h:
79675        * bindings/js/ScriptFunctionCall.cpp:
79676        (WebCore::ScriptFunctionCall::construct):
79677        * bindings/js/ScriptObject.cpp:
79678        (WebCore::ScriptObject::ScriptObject):
79679        (WebCore::ScriptObject::set):
79680        (WebCore::ScriptObject::createNew):
79681        (WebCore::ScriptGlobalObject::get):
79682        * bindings/js/ScriptObject.h:
79683        * bindings/js/ScriptObjectQuarantine.cpp:
79684        (WebCore::getQuarantinedScriptObject):
79685        * bindings/v8/ScriptArray.cpp:
79686        (WebCore::ScriptArray::ScriptArray):
79687        (WebCore::ScriptArray::set):
79688        (WebCore::ScriptArray::length):
79689        (WebCore::ScriptArray::createNew):
79690        * bindings/v8/ScriptArray.h:
79691        * bindings/v8/ScriptFunctionCall.cpp:
79692        (WebCore::ScriptFunctionCall::construct):
79693        * bindings/v8/ScriptObject.cpp:
79694        (WebCore::ScriptObject::ScriptObject):
79695        (WebCore::ScriptObject::set):
79696        (WebCore::ScriptObject::createNew):
79697        (WebCore::ScriptGlobalObject::get):
79698        * bindings/v8/ScriptObject.h:
79699        (WebCore::ScriptObject::ScriptObject):
79700        * bindings/v8/ScriptObjectQuarantine.cpp:
79701        (WebCore::getQuarantinedScriptObject):
79702        * inspector/ConsoleMessage.cpp:
79703        (WebCore::ConsoleMessage::addToConsole):
79704        * inspector/InspectorDOMStorageResource.cpp:
79705        (WebCore::InspectorDOMStorageResource::bind):
79706        * inspector/InspectorDatabaseResource.cpp:
79707        (WebCore::InspectorDatabaseResource::bind):
79708        * inspector/InspectorFrontend.cpp:
79709        (WebCore::InspectorFrontend::newScriptArray):
79710        (WebCore::InspectorFrontend::newScriptObject):
79711        (WebCore::InspectorFrontend::addMessageToConsole):
79712        (WebCore::InspectorFrontend::addResource):
79713        (WebCore::InspectorFrontend::updateResource):
79714        (WebCore::InspectorFrontend::addDatabase):
79715        (WebCore::InspectorFrontend::addDOMStorage):
79716        * inspector/InspectorFrontend.h:
79717        * inspector/InspectorJSONObject.cpp: Removed.
79718        * inspector/InspectorJSONObject.h: Removed.
79719        * inspector/InspectorResource.cpp:
79720        (WebCore::populateHeadersObject):
79721        (WebCore::InspectorResource::createScriptObject):
79722        (WebCore::InspectorResource::updateScriptObject):
79723
797242009-07-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
79725
79726        Reviewed by George Staikos.
79727
79728        [WML] Variable substitution recursion seems to have bugs
79729        https://bugs.webkit.org/show_bug.cgi?id=27726
79730
79731        Allow <setvar> elements to depend on the value specified by preceeding <setvar> elements.
79732        Required by the specification - assure it only works in linear order. A setvar element may
79733        not depend on the variable state of a following setvar element, only the previous ones.
79734
79735        Extend wml/variable-reference-valid.html layout test to cover these cases.
79736
79737        * wml/WMLTaskElement.cpp:
79738        (WebCore::WMLTaskElement::storeVariableState):
79739
797402009-07-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
79741
79742        Reviewed by George Staikos.
79743
79744        [WML] Page title doesn't update after variable substitution, if it contained variables
79745        https://bugs.webkit.org/show_bug.cgi?id=27725
79746
79747        Fix bug in containsVariableReference() function, we we're decreasing the nameEndPosition
79748        too much, leading to a bug with 1-char variable names, which were not detected properly.
79749
79750        Extend wml/variable-reference-valid.html layout test to cover 1-char variable names.
79751        Also fixes manual-tests/wml/task-refresh-in-anchor.wml, which happened to use 1-char variable names.
79752
79753        * wml/WMLVariables.cpp:
79754        (WebCore::containsVariableReference):
79755
797562009-07-28  Robert Hogan  <robert@roberthogan.net>
79757
79758        Reviewed by Simon Hausmann.
79759
79760        Add WebKit version API to Qt.
79761
79762        Get the current version of WebKit from WebKit/mac/Configurations/Version.xcconfig
79763        at compile time and make it available to webkit ports through WebKitVersion.h.
79764
79765        https://bugs.webkit.org/show_bug.cgi?id=27158
79766
79767        * WebCore.pro: Call generate-webkitversion.pl
79768
797692009-07-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
79770
79771        Unreviewed make dist build fix.
79772
79773        * GNUmakefile.am:
79774
797752009-07-28  Mike Fenton  <mike.fenton@torchmobile.com>
79776
79777        Reviewed by Adam Treat.
79778
79779        Replace hardcoded separator text with proper separator.
79780        Also adjusts include order as per style guidelines.
79781
79782        https://bugs.webkit.org/show_bug.cgi?id=27763
79783
79784        * platform/qt/PopupMenuQt.cpp:
79785        (WebCore::PopupMenu::populate):
79786
797872009-07-28  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
79788
79789        Reviewed by Steve Falkenburg.
79790
79791        Add output directory for VS pre-build steps to enable out-of-tree builds
79792
79793        https://bugs.webkit.org/show_bug.cgi?id=27700
79794
79795        The tmp.obj file is now placed in the intermediate build directory.
79796
79797        * WebCore.vcproj/WebCoreCommon.vsprops:
79798
797992009-07-28  Pavel Feldman  <pfeldman@chromium.org>
79800
79801        Reviewed by Timothy Hatcher.
79802
79803        Web Inspector: Add inspected node using public console API.
79804
79805        https://bugs.webkit.org/show_bug.cgi?id=27758
79806
79807        * inspector/front-end/Console.js:
79808        (WebInspector.Console.prototype.addInspectedNode):
79809        * inspector/front-end/ElementsPanel.js:
79810        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
79811        (WebInspector.ElementsPanel):
79812
798132009-07-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
79814
79815        Reviewed by George Staikos.
79816
79817        [WML] <do> elements with a <noop> task shouldn't be exposed to the user
79818        https://bugs.webkit.org/show_bug.cgi?id=27724
79819
79820        Fix WMLNoopElement to disable it's parent WMLDoElement, as required by the spec.
79821        Moved manual-tests/wml/task-noop-in-do.wml to LayoutTests/fast/wml/task-noop-in-do.wml.
79822
79823        * manual-tests/wml/task-noop-in-do.wml: Removed.
79824        * wml/WMLNoopElement.cpp:
79825        (WebCore::WMLNoopElement::insertedIntoDocument):
79826
798272009-07-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
79828
79829        Reviewed by Simon Hausmann.
79830
79831        [Qt] Disable some compiler warnings for the win build
79832        https://bugs.webkit.org/show_bug.cgi?id=27709
79833
79834        * WebCore.pro: Move the msvc options to WebKit.pri
79835
798362009-07-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
79837
79838        Reviewed by Tor Arne Vestbø
79839
79840        Make equality checks for logging channel names ignore casing.
79841
79842        * platform/Logging.cpp:
79843        (WebCore::getChannelFromName):
79844
798452009-07-28  Jan Michael Alonzo  <jmalonzo@webkit.org>
79846
79847        Reviewed by Xan Lopez.
79848
79849        [Gtk] Refactor ResourceHandleSoup - make start* functions static
79850        https://bugs.webkit.org/show_bug.cgi?id=27687
79851
79852        * platform/network/ResourceHandle.h:
79853        * platform/network/soup/ResourceHandleSoup.cpp:
79854        (WebCore::startData):
79855        (WebCore::startHttp):
79856        (WebCore::):
79857
798582009-07-28  Xan Lopez  <xlopez@igalia.com>
79859
79860        Reviewed by Gustavo Noronha.
79861
79862        https://bugs.webkit.org/show_bug.cgi?id=25415
79863        [GTK][ATK] Please implement support for get_text_at_offset
79864
79865        Do not cache the pango layout in the object, since the layout of
79866        the page can change between calls.
79867
79868        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
79869
798702009-07-23  Anton Muhin  <antonm@chromium.org>
79871
79872        Reviewed by Adam Barth.
79873
79874        Simplify management of Nodes in weak handles callbacks.
79875        https://bugs.webkit.org/show_bug.cgi?id=27628
79876
79877        * bindings/v8/V8DOMMap.cpp:
79878        (WebCore::weakNodeCallback):
79879
798802009-07-28  Brian Weinstein  <bweinstein@apple.com>
79881
79882        Rubber-stamped by David Levin.
79883
79884        Fix error handling of GetIconInfo (returns a bool).
79885
79886        * platform/win/DragImageWin.cpp:
79887        (WebCore::createDragImageIconForCachedImage):
79888
798892009-07-27  Brian Weinstein  <bweinstein@apple.com>
79890
79891        Reviewed by Jon Honeycutt.
79892
79893        Fix of <rdar://5015949> Drag Icon is not produced for over sized images.
79894        
79895        Implemented the createDragImageIconForCachedImage function by using the Windows 
79896        SHFILEINFO structure.
79897
79898        * platform/win/DragImageWin.cpp:
79899        (WebCore::createDragImageIconForCachedImage):
79900
799012009-07-25  Adam Barth  <abarth@webkit.org>
79902
79903        Reviewed by David Levin.
79904
79905        [V8] Split up V8DOMMap.cpp by class
79906        https://bugs.webkit.org/show_bug.cgi?id=27685
79907
79908        No behavior change.  Just copy-and-paste.
79909
79910        * WebCore.gypi:
79911        * bindings/v8/ChildThreadDOMData.cpp: Added.
79912        (WebCore::ChildThreadDOMData::ChildThreadDOMData):
79913        (WebCore::ChildThreadDOMData::getStore):
79914        * bindings/v8/ChildThreadDOMData.h: Added.
79915        * bindings/v8/DOMData.cpp: Added.
79916        (WebCore::DOMData::DOMData):
79917        (WebCore::DOMData::getCurrent):
79918        (WebCore::DOMData::getCurrentMainThread):
79919        (WebCore::DOMData::handleWeakObject):
79920        (WebCore::DOMData::ensureDeref):
79921        (WebCore::DOMData::derefObject):
79922        (WebCore::DOMData::derefDelayedObjects):
79923        (WebCore::DOMData::derefDelayedObjectsInCurrentThread):
79924        (WebCore::DOMData::removeObjectsFromWrapperMap):
79925        * bindings/v8/DOMData.h: Added.
79926        (WebCore::):
79927        * bindings/v8/DOMDataStore.cpp: Added.
79928        (WebCore::DOMDataStore::DOMDataStore):
79929        (WebCore::DOMDataStore::~DOMDataStore):
79930        (WebCore::DOMDataStore::allStores):
79931        (WebCore::DOMDataStore::allStoresMutex):
79932        (WebCore::DOMDataStore::getDOMWrapperMap):
79933        (WebCore::forget):
79934        (WebCore::DOMDataStore::weakDOMObjectCallback):
79935        (WebCore::DOMDataStore::weakActiveDOMObjectCallback):
79936        (WebCore::DOMDataStore::weakNodeCallback):
79937        (WebCore::DOMDataStore::weakSVGElementInstanceCallback):
79938        (WebCore::DOMDataStore::weakSVGObjectWithContextCallback):
79939        * bindings/v8/DOMDataStore.h: Added.
79940        (WebCore::DOMDataStore::):
79941        (WebCore::DOMDataStore::InternalDOMWrapperMap::InternalDOMWrapperMap):
79942        (WebCore::DOMDataStore::InternalDOMWrapperMap::forgetOnly):
79943        (WebCore::DOMDataStore::domData):
79944        (WebCore::DOMDataStore::domNodeMap):
79945        (WebCore::DOMDataStore::domObjectMap):
79946        (WebCore::DOMDataStore::activeDomObjectMap):
79947        (WebCore::DOMDataStore::domSvgElementInstanceMap):
79948        (WebCore::DOMDataStore::domSvgObjectWithContextMap):
79949        * bindings/v8/MainThreadDOMData.cpp: Added.
79950        (WebCore::MainThreadDOMData::MainThreadDOMData):
79951        (WebCore::MainThreadDOMData::getStore):
79952        * bindings/v8/MainThreadDOMData.h: Added.
79953        * bindings/v8/ScopedDOMDataStore.cpp: Added.
79954        (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
79955        (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
79956        * bindings/v8/ScopedDOMDataStore.h: Added.
79957        * bindings/v8/StaticDOMDataStore.cpp: Added.
79958        (WebCore::StaticDOMDataStore::StaticDOMDataStore):
79959        * bindings/v8/StaticDOMDataStore.h: Added.
79960        * bindings/v8/V8DOMMap.cpp:
79961
799622009-07-27  Mark Rowe  <mrowe@apple.com>
79963
79964        Reviewed by Darin Adler.
79965
79966        <rdar://problem/7091036> REGRESSION: Microsoft Messenger crashes during file send/receive due to use of WebKit on non-main thread
79967
79968        Add a method for detecting if we're being used within Microsoft Messenger.
79969
79970        * WebCore.base.exp: Export applicationIsMicrosoftMessenger and sort existing entries.
79971        * platform/mac/RuntimeApplicationChecks.h:
79972        * platform/mac/RuntimeApplicationChecks.mm:
79973        (WebCore::applicationIsMicrosoftMessenger):
79974
799752009-07-27  Jian Li  <jianli@chromium.org>
79976
79977        Reviewed by David Levin.
79978
79979        [V8] Implement EventListener::reportError for V8 event listeners in worker context. 
79980        https://bugs.webkit.org/show_bug.cgi?id=27731
79981
79982        * bindings/v8/V8WorkerContextEventListener.cpp:
79983        (WebCore::V8WorkerContextEventListener::reportError):
79984        * bindings/v8/V8WorkerContextEventListener.h:
79985
799862009-07-27  Stephen White  <senorblanco@chromium.org>
79987
79988        Reviewed by Eric Seidel and David Levin.
79989
79990        Re-apply chromium/skia border fix (originally landed in r46157,
79991        reverted in r46363), since it was not the cause of the reliability
79992        failures in Chromium.
79993
79994        http://bugs.webkit.org/show_bug.cgi?id=27388
79995
79996        * platform/graphics/skia/GraphicsContextSkia.cpp:
79997        (WebCore::GraphicsContext::drawLine):
79998        * platform/graphics/skia/PlatformContextSkia.cpp:
79999        (PlatformContextSkia::setupPaintForStroking):
80000
800012009-07-27  Ryosuke Niwa  <rniwa@webkit.org>
80002
80003        Reviewed by Justin Garcia.
80004
80005        createMarkup does not handle CSS properly
80006        https://bugs.webkit.org/show_bug.cgi?id=27660
80007
80008        This patch isolates code that creates markup for styles in addStyleMarkup
80009        It also makes all presentational elements (u, s, strike, i, em, b, strong) special ancestor in createMarkup
80010        so that we can assume no text decoration style is passed to addStyleMarkup.
80011
80012        * editing/markup.cpp:
80013        (WebCore::propertyMissingOrEqualToNone): Changed the first argument from CSSMutableStyleDecleration to CSSStyleDeclaration
80014        (WebCore::isElementPresentational): Used to be elementHasTextDecorationProperty, now supports presentational tags
80015        (WebCore::addStyleMarkup): Adds markup for style span and div
80016        (WebCore::createMarkup): Uses isElementPresentational and addStyleMarkup
80017
800182009-07-27  Eric Seidel  <eric@webkit.org>
80019
80020        Reviewed by Adam Barth.
80021
80022        fix more obvious global object lookups
80023        https://bugs.webkit.org/show_bug.cgi?id=27745
80024
80025        No new tests for these changes.  I believe in many cases
80026        testing to be impossible.  Lack of testing justification next to
80027        each change below.  The remaining pieces of bug 27634 will all
80028        need tests.
80029
80030        * bindings/js/JSDOMWindowBase.cpp:
80031        (WebCore::JSDOMWindowBase::updateDocument): not testable.
80032        * bindings/js/JSDataGridColumnListCustom.cpp:
80033        (WebCore::JSDataGridColumnList::nameGetter): no testing for this incomplete feature.
80034        * bindings/js/JSEventListener.cpp:
80035        (WebCore::JSEventListener::handleEvent): would require outer frame to trigger an event in the inner frame
80036        * bindings/js/JSEventTarget.cpp:
80037        (WebCore::toJS): covered by other tests, always correct to pass the globalObject through.
80038        * bindings/js/JSHTMLElementCustom.cpp:
80039        (WebCore::JSHTMLElement::pushEventHandlerScope): unclear when this could be triggered.
80040        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
80041        (WebCore::JSHTMLOptionsCollection::remove): toJS seems superfluous here to begin with.
80042        * bindings/js/JSLazyEventListener.cpp:
80043        (WebCore::JSLazyEventListener::parseCode): would require outer frame to trigger inner frame event.
80044        * bindings/js/ScriptController.cpp:
80045        (WebCore::ScriptController::jsObjectForPluginElement): only used for NPAPI binding, unclear how to test.
80046        * bindings/js/ScriptEventListener.cpp:
80047        (WebCore::createAttributeEventListener): unclear how to test.
80048        * bindings/js/ScriptObject.cpp:
80049        (WebCore::ScriptGlobalObject::set): unclear how to test/inspector only.
80050        * bindings/js/ScriptObjectQuarantine.cpp:
80051        (WebCore::getQuarantinedScriptObject): unclear how to test.
80052        * bindings/objc/DOMInternal.mm:
80053        (-[WebScriptObject _initializeScriptDOMNodeImp]): unclear how to test.
80054
800552009-07-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
80056
80057        Reviewed by George Staikos.
80058
80059        [WML] 'title' attribute handling not correct for <a> / <anchor> elements
80060        https://bugs.webkit.org/show_bug.cgi?id=27720
80061
80062        Unify title() implementation in WMLElement instead of several copies of the same logic.
80063        We forgot WMLAnchorElement/WMLAElement, that lead to bugs. Fixes hovering links in the
80064        WML manual-test suite.
80065
80066        * wml/WMLCardElement.cpp:
80067        * wml/WMLCardElement.h:
80068        * wml/WMLElement.cpp:
80069        (WebCore::WMLElement::title):
80070        * wml/WMLElement.h:
80071        * wml/WMLOptGroupElement.cpp:
80072        * wml/WMLOptGroupElement.h:
80073        * wml/WMLSelectElement.cpp:
80074        * wml/WMLSelectElement.h:
80075
800762009-07-27  Adam Treat  <adam.treat@torchmobile.com>
80077
80078        Speculative build fix for Windows and WinCE.
80079
80080        * plugins/win/PluginPackageWin.cpp:
80081        (WebCore::PluginPackage::load):
80082
800832009-07-27  Ojan Vafai  <ojan@chromium.org>
80084
80085        Reviewed by Darin Adler.
80086
80087        https://bugs.webkit.org/show_bug.cgi?id=27474
80088        Fixes crashes due to renderer getting destroyed in updateLayout.
80089        We need to call updateLayout before we call into the renderer.
80090        Removed the updateLayout call from RenderTextControl and moved it
80091        into the calling sites.
80092        
80093        Also changes updateLayout to updateLayoutIgnorePendingStylesheets so
80094        this works with pending stylesheets. Unfortunately, this seems to be
80095        untestable. Loading an external stylesheet and then having an inline
80096        script hit this code did not result in an pending stylesheets.
80097        
80098        The are other cases of this bug in the rendering code. I'll file a 
80099        followup bug to audit the calls to updateLayout.
80100
80101        Test: fast/dom/text-control-crash-on-select.html
80102
80103        * dom/Document.h:
80104        (WebCore::Document::inStyleRecalc): Added so the ASSERTs in updateFocusAppearance
80105            and setSelectionRange could deal with cases of reentrancy into updateLayout
80106            calls. This happens in a couple layout tests.
80107        * dom/InputElement.cpp:
80108        (WebCore::InputElement::updateSelectionRange):
80109        * html/HTMLInputElement.cpp:
80110        (WebCore::isTextFieldWithRendererAfterUpdateLayout):
80111        (WebCore::HTMLInputElement::setSelectionStart):
80112        (WebCore::HTMLInputElement::setSelectionEnd):
80113        (WebCore::HTMLInputElement::select):
80114        * html/HTMLTextAreaElement.cpp:
80115        (WebCore::rendererAfterUpdateLayout):
80116        (WebCore::HTMLTextAreaElement::setSelectionStart):
80117        (WebCore::HTMLTextAreaElement::setSelectionEnd):
80118        (WebCore::HTMLTextAreaElement::select):
80119        (WebCore::HTMLTextAreaElement::setSelectionRange):
80120        (WebCore::HTMLTextAreaElement::updateFocusAppearance):
80121        * rendering/RenderTextControl.cpp:
80122        (WebCore::RenderTextControl::setSelectionRange):
80123
801242009-07-27  Dimitri Glazkov  <dglazkov@chromium.org>
80125
80126        Reviewed by Dave Levin.
80127
80128        [V8] Remove parameterless frame/window retrieval methods from V8Proxy.
80129        https://bugs.webkit.org/show_bug.cgi?id=27737
80130
80131        Refactoring, no new behavior, covered by existing tests.
80132
80133        * bindings/v8/ScriptCallStack.cpp:
80134        (WebCore::ScriptCallStack::ScriptCallStack):
80135        * bindings/v8/V8NPUtils.cpp:
80136        (convertV8ObjectToNPVariant): Ditto.
80137        * bindings/v8/V8Proxy.cpp:
80138        (WebCore::V8Proxy::retrieve): Ditto.
80139        (WebCore::V8Proxy::canAccessPrivate): Ditto.
80140        * bindings/v8/V8Proxy.h: Removed parameterless retrieveWindow/retrieveProxy decls.
80141        * bindings/v8/custom/V8DatabaseCustom.cpp:
80142        (WebCore::CALLBACK_FUNC_DECL): Changed to use V8Proxy::retrieveFrameForCurrentContext().
80143        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
80144        (WebCore::CALLBACK_FUNC_DECL): Ditto.
80145        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
80146        (WebCore::CALLBACK_FUNC_DECL): Ditto.
80147        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
80148        (WebCore::CALLBACK_FUNC_DECL): Ditto.
80149        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
80150        (WebCore::CALLBACK_FUNC_DECL): Ditto.
80151        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
80152        (WebCore::CALLBACK_FUNC_DECL): Ditto.
80153        * bindings/v8/custom/V8WorkerCustom.cpp:
80154        (WebCore::CALLBACK_FUNC_DECL): Ditto.
80155        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
80156        (WebCore::CALLBACK_FUNC_DECL): Ditto.
80157
801582009-07-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
80159
80160        Reviewed by George Staikos.
80161
80162        [WML] 'onpick' intrinsic event handling missing
80163        https://bugs.webkit.org/show_bug.cgi?id=27723
80164
80165        Trigger 'onpick' intrinsic events from WMLOptionElement::setSelectedState().
80166        All was in place, just forgot to enable the relevant code.
80167
80168        Fixes manual-tests/wml/select-onpick-event.wml
80169        Test: wml/option-element-onpick.html
80170
80171        * wml/WMLOptionElement.cpp:
80172        (WebCore::WMLOptionElement::setSelectedState):
80173
801742009-07-27  Alexey Proskuryakov  <ap@webkit.org>
80175
80176        Reviewed by Darin Adler.
80177
80178        https://bugs.webkit.org/show_bug.cgi?id=27735
80179        Give a helpful name to JSLock constructor argument
80180
80181        * bindings/js/GCController.cpp:
80182        (WebCore::collect):
80183        (WebCore::GCController::gcTimerFired):
80184        (WebCore::GCController::garbageCollectNow):
80185        * bindings/js/JSCustomPositionCallback.cpp:
80186        (WebCore::JSCustomPositionCallback::handleEvent):
80187        * bindings/js/JSCustomPositionErrorCallback.cpp:
80188        (WebCore::JSCustomPositionErrorCallback::handleEvent):
80189        * bindings/js/JSCustomSQLStatementCallback.cpp:
80190        (WebCore::JSCustomSQLStatementCallback::handleEvent):
80191        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
80192        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
80193        * bindings/js/JSCustomSQLTransactionCallback.cpp:
80194        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
80195        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
80196        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
80197        * bindings/js/JSCustomVoidCallback.cpp:
80198        (WebCore::JSCustomVoidCallback::handleEvent):
80199        * bindings/js/JSCustomXPathNSResolver.cpp:
80200        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
80201        * bindings/js/JSEventCustom.cpp:
80202        (WebCore::toJS):
80203        * bindings/js/JSEventListener.cpp:
80204        (WebCore::JSEventListener::handleEvent):
80205        * bindings/js/JSInspectorBackendCustom.cpp:
80206        (WebCore::JSInspectorBackend::currentCallFrame):
80207        (WebCore::JSInspectorBackend::profiles):
80208        * bindings/js/JSNodeFilterCondition.cpp:
80209        (WebCore::JSNodeFilterCondition::acceptNode):
80210        * bindings/js/ScheduledAction.cpp:
80211        (WebCore::ScheduledAction::executeFunctionInContext):
80212        * bindings/js/ScriptArray.cpp:
80213        (WebCore::ScriptArray::set):
80214        (WebCore::ScriptArray::createNew):
80215        * bindings/js/ScriptCachedFrameData.cpp:
80216        (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
80217        (WebCore::ScriptCachedFrameData::restore):
80218        (WebCore::ScriptCachedFrameData::clear):
80219        * bindings/js/ScriptController.cpp:
80220        (WebCore::ScriptController::evaluate):
80221        (WebCore::ScriptController::clearWindowShell):
80222        (WebCore::ScriptController::initScript):
80223        (WebCore::ScriptController::updateDocument):
80224        (WebCore::ScriptController::bindingRootObject):
80225        (WebCore::ScriptController::windowScriptNPObject):
80226        (WebCore::ScriptController::jsObjectForPluginElement):
80227        (WebCore::ScriptController::clearScriptObjects):
80228        * bindings/js/ScriptControllerMac.mm:
80229        (WebCore::ScriptController::windowScriptObject):
80230        * bindings/js/ScriptEventListener.cpp:
80231        (WebCore::createAttributeEventListener):
80232        * bindings/js/ScriptFunctionCall.cpp:
80233        (WebCore::ScriptFunctionCall::appendArgument):
80234        (WebCore::ScriptFunctionCall::call):
80235        (WebCore::ScriptFunctionCall::construct):
80236        * bindings/js/ScriptObject.cpp:
80237        (WebCore::ScriptObject::set):
80238        (WebCore::ScriptObject::createNew):
80239        (WebCore::ScriptGlobalObject::set):
80240        (WebCore::ScriptGlobalObject::get):
80241        (WebCore::ScriptGlobalObject::remove):
80242        * bindings/js/ScriptObjectQuarantine.cpp:
80243        (WebCore::quarantineValue):
80244        (WebCore::getQuarantinedScriptObject):
80245        * bindings/js/ScriptValue.cpp:
80246        (WebCore::ScriptValue::getString):
80247        * bindings/js/WorkerScriptController.cpp:
80248        (WebCore::WorkerScriptController::initScript):
80249        (WebCore::WorkerScriptController::evaluate):
80250        * bindings/objc/WebScriptObject.mm:
80251        (-[WebScriptObject callWebScriptMethod:withArguments:]):
80252        (-[WebScriptObject evaluateWebScript:]):
80253        (-[WebScriptObject setValue:forKey:]):
80254        (-[WebScriptObject valueForKey:]):
80255        (-[WebScriptObject removeWebScriptKey:]):
80256        (-[WebScriptObject stringRepresentation]):
80257        (-[WebScriptObject webScriptValueAtIndex:]):
80258        (-[WebScriptObject setWebScriptValueAtIndex:value:]):
80259        (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
80260        * bridge/NP_jsobject.cpp:
80261        (_NPN_InvokeDefault):
80262        (_NPN_Invoke):
80263        (_NPN_Evaluate):
80264        (_NPN_GetProperty):
80265        (_NPN_SetProperty):
80266        (_NPN_RemoveProperty):
80267        (_NPN_HasProperty):
80268        (_NPN_HasMethod):
80269        (_NPN_Enumerate):
80270        (_NPN_Construct):
80271        * bridge/c/c_class.cpp:
80272        (JSC::Bindings::CClass::~CClass):
80273        (JSC::Bindings::CClass::methodsNamed):
80274        (JSC::Bindings::CClass::fieldNamed):
80275        * bridge/c/c_instance.cpp:
80276        (JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
80277        (JSC::Bindings::CInstance::invokeMethod):
80278        (JSC::Bindings::CInstance::invokeDefaultMethod):
80279        (JSC::Bindings::CInstance::invokeConstruct):
80280        (JSC::Bindings::CInstance::getPropertyNames):
80281        * bridge/c/c_runtime.cpp:
80282        (JSC::Bindings::CField::valueFromInstance):
80283        (JSC::Bindings::CField::setValueToInstance):
80284        * bridge/c/c_utility.cpp:
80285        (JSC::Bindings::convertValueToNPVariant):
80286        (JSC::Bindings::convertNPVariantToValue):
80287        * bridge/jni/jni_class.cpp:
80288        (JavaClass::JavaClass):
80289        (JavaClass::~JavaClass):
80290        * bridge/jni/jni_instance.cpp:
80291        (JavaInstance::stringValue):
80292        * bridge/jni/jni_jsobject.mm:
80293        (JavaJSObject::call):
80294        (JavaJSObject::eval):
80295        (JavaJSObject::getMember):
80296        (JavaJSObject::setMember):
80297        (JavaJSObject::removeMember):
80298        (JavaJSObject::getSlot):
80299        (JavaJSObject::setSlot):
80300        (JavaJSObject::toString):
80301        (JavaJSObject::convertValueToJObject):
80302        (JavaJSObject::convertJObjectToValue):
80303        * bridge/jni/jni_objc.mm:
80304        (JSC::Bindings::dispatchJNICall):
80305        * bridge/jni/jni_runtime.cpp:
80306        (JavaMethod::signature):
80307        * bridge/jni/jni_runtime.h:
80308        (JSC::Bindings::JavaString::JavaString):
80309        (JSC::Bindings::JavaString::_commonInit):
80310        (JSC::Bindings::JavaString::~JavaString):
80311        (JSC::Bindings::JavaString::UTF8String):
80312        * bridge/jni/jni_utility.cpp:
80313        (JSC::Bindings::convertValueToJValue):
80314        * bridge/objc/objc_instance.mm:
80315        (ObjcInstance::moveGlobalExceptionToExecState):
80316        (ObjcInstance::invokeMethod):
80317        (ObjcInstance::invokeDefaultMethod):
80318        (ObjcInstance::setValueOfUndefinedField):
80319        (ObjcInstance::getValueOfUndefinedField):
80320        * bridge/objc/objc_runtime.mm:
80321        (JSC::Bindings::ObjcField::valueFromInstance):
80322        (JSC::Bindings::ObjcField::setValueToInstance):
80323        * bridge/objc/objc_utility.mm:
80324        (JSC::Bindings::convertValueToObjcValue):
80325        (JSC::Bindings::convertNSStringToString):
80326        (JSC::Bindings::convertObjcValueToValue):
80327        * bridge/qt/qt_instance.cpp:
80328        (JSC::Bindings::QtRuntimeObjectImp::removeFromCache):
80329        (JSC::Bindings::QtInstance::~QtInstance):
80330        (JSC::Bindings::QtInstance::getQtInstance):
80331        (JSC::Bindings::QtInstance::createRuntimeObject):
80332        * bridge/qt/qt_runtime.cpp:
80333        (JSC::Bindings::convertValueToQVariant):
80334        (JSC::Bindings::convertQVariantToValue):
80335        (JSC::Bindings::QtRuntimeMetaMethod::call):
80336        (JSC::Bindings::QtRuntimeConnectionMethod::call):
80337        (JSC::Bindings::QtConnectionObject::execute):
80338        * bridge/runtime.cpp:
80339        (JSC::Bindings::Instance::createRuntimeObject):
80340        * inspector/InspectorController.cpp:
80341        (WebCore::InspectorController::addScriptProfile):
80342        * inspector/JavaScriptCallFrame.cpp:
80343        (WebCore::JavaScriptCallFrame::evaluate):
80344        * inspector/JavaScriptDebugServer.cpp:
80345        (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
80346        * inspector/JavaScriptProfileNode.cpp:
80347        (WebCore::getTotalTime):
80348        (WebCore::getSelfTime):
80349        (WebCore::getTotalPercent):
80350        (WebCore::getSelfPercent):
80351        (WebCore::getNumberOfCalls):
80352        (WebCore::getChildren):
80353        (WebCore::getParent):
80354        (WebCore::getHead):
80355        (WebCore::getVisible):
80356        (WebCore::getCallUID):
80357        * plugins/PluginView.cpp:
80358        (WebCore::PluginView::start):
80359        (WebCore::getString):
80360        (WebCore::PluginView::performRequest):
80361        (WebCore::PluginView::bindingInstance):
80362        * plugins/gtk/PluginViewGtk.cpp:
80363        (WebCore::PluginView::dispatchNPEvent):
80364        (WebCore::PluginView::handleKeyboardEvent):
80365        (WebCore::PluginView::handleMouseEvent):
80366        (WebCore::PluginView::setNPWindowIfNeeded):
80367        (WebCore::PluginView::stop):
80368        (WebCore::PluginView::init):
80369        * plugins/mac/PluginViewMac.cpp:
80370        (WebCore::PluginView::stop):
80371        (WebCore::PluginView::setNPWindowIfNeeded):
80372        (WebCore::PluginView::dispatchNPEvent):
80373        * plugins/qt/PluginViewQt.cpp:
80374        (WebCore::PluginView::setNPWindowIfNeeded):
80375        (WebCore::PluginView::stop):
80376        (WebCore::PluginView::init):
80377        * plugins/win/PluginViewWin.cpp:
80378        (WebCore::PluginView::dispatchNPEvent):
80379        (WebCore::PluginView::handleKeyboardEvent):
80380        (WebCore::PluginView::handleMouseEvent):
80381        (WebCore::PluginView::setNPWindowRect):
80382        (WebCore::PluginView::stop):
80383
803842009-07-27  Yong Li  <yong.li@torchmobile.com>
80385
80386        Reviewed by George Staikos.
80387
80388        WINCE PORT: Make plugin work for WINCE
80389        https://bugs.webkit.org/show_bug.cgi?id=27713
80390
80391        * plugins/win/PluginDatabaseWin.cpp:
80392        (SHGetValue):
80393        (PathRemoveFileSpec):
80394        (WebCore::addWindowsMediaPlayerPluginDirectory):
80395        (WebCore::addMacromediaPluginDirectories):
80396        * plugins/win/PluginPackageWin.cpp:
80397        (WebCore::PluginPackage::load):
80398        * plugins/win/PluginViewWin.cpp:
80399        (WebCore::registerPluginView):
80400        (WebCore::PluginView::wndProc):
80401        (WebCore::PluginView::updatePluginWidget):
80402        (WebCore::PluginView::paintWindowedPluginIntoContext):
80403        (WebCore::PluginView::paint):
80404        (WebCore::PluginView::handleMouseEvent):
80405        (WebCore::PluginView::setParent):
80406        (WebCore::PluginView::setNPWindowRect):
80407        (WebCore::PluginView::stop):
80408        (WebCore::PluginView::init):
80409
804102009-07-27  Joseph Pecoraro  <joepeck02@gmail.com>
80411
80412        Inspector: Tab Through Element Attributes and CSS Properties When Editing
80413
80414        https://bugs.webkit.org/show_bug.cgi?id=27673
80415
80416        Reviewed by Timothy Hatcher.
80417
80418        * inspector/front-end/ElementsTreeOutline.js:
80419        (WebInspector.ElementsTreeElement):
80420        (WebInspector.ElementsTreeElement.prototype._startEditing): refactored parameter
80421        (WebInspector.ElementsTreeElement.prototype._addNewAttribute): refactored to remove excess
80422        (WebInspector.ElementsTreeElement.prototype._triggerEditAttribute): provide an attribute name and this will start editing it
80423        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.moveToNextAttributeIfNeeded): move between attributes
80424        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
80425        * inspector/front-end/StylesSidebarPane.js:
80426        (WebInspector.StylePropertiesSection.prototype.onpopulate):
80427        (WebInspector.StylePropertiesSection.prototype.findTreeElementWithName): search through treeElements for a style property name
80428        (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty): initialize a blank property for adding new properties
80429        (WebInspector.StylePropertyTreeElement.prototype.updateTitle): add references to the name and value elements
80430        (WebInspector.StylePropertyTreeElement.prototype.):
80431        (WebInspector.StylePropertyTreeElement.prototype):
80432        * inspector/front-end/inspector.js:
80433        (WebInspector.startEditing.editingCommitted): include the move direction as a parameter to the commit callback
80434        (WebInspector.startEditing.element.handleKeyEvent): handle the tab key to specify the move direction
80435        (WebInspector.startEditing):
80436
804372009-07-27  Mike Fenton  <mike.fenton@torchmobile.com>
80438
80439        Reviewed by Adam Treat.
80440
80441        Add mapping FontWeight to QFont::Weight values as requested via FIXME.
80442        https://bugs.webkit.org/show_bug.cgi?id=27663
80443
80444        * platform/graphics/qt/FontCacheQt.cpp:
80445        (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
80446        * platform/graphics/qt/FontPlatformData.h:
80447        (WebCore::FontPlatformData::toQFontWeight):
80448        * platform/graphics/qt/FontPlatformDataQt.cpp:
80449        (WebCore::FontPlatformData::FontPlatformData):
80450
804512009-07-27  Jakub Wieczorek  <faw217@gmail.com>
80452
80453         Reviewed by Adam Treat.
80454
80455         When clearing the plugin database, clear also the timestamp map.
80456
80457         https://bugs.webkit.org/show_bug.cgi?id=27651
80458
80459         Currently, if we clear the database, it will still think that it is up
80460         to date with the plugin directories so refreshing the database again
80461         after changing the search paths may not work.
80462
80463         * plugins/PluginDatabase.cpp:
80464         (WebCore::PluginDatabase::clear):
80465
804662009-07-27  Albert J. Wong  <ajwong@chromium.org>
80467
80468        Reviewed by David Levin.
80469
80470        Add in trivial implementation of FontPlatformData::description() for
80471        linux to fix build bustage in chromium.
80472
80473        Fix chromium linux build by adding missing function implementation.
80474        https://bugs.webkit.org/show_bug.cgi?id=27732
80475
80476        Tested with a build of chromium on linux.
80477
80478        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
80479        (WebCore::FontPlatformData::description):
80480        * platform/graphics/chromium/FontPlatformDataLinux.h:
80481
804822009-07-27  Brent Fulgham  <bfulgham@webkit.org>
80483
80484        Build correct, no review.
80485
80486        Final correction for WinCairo builds.
80487        CoreServices only exists in Apple builds, but
80488        some of its internal includes (e.g., <windows.h>) are needed
80489        for other Windows targets.
80490
80491        * WebCorePrefix.h: When building for WinCairo, make sure
80492          to include <windows.h>, <stdio.h>, and <ConditionalMacros.h>
80493
804942009-07-27  Michelangelo De Simone  <micdesim@gmail.com>
80495
80496        Reviewed by Darin Adler.
80497
80498        https://bugs.webkit.org/show_bug.cgi?id=25552
80499        Added new "pattern" attribute to HTMLInputElement and validation code
80500        (validity.patternMismatch) as per HTML5 specs.
80501        http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr-input-pattern
80502
80503        Tests: fast/forms/ValidityState-002.html
80504               fast/forms/ValidityState-patternMismatch-001.html
80505               fast/forms/ValidityState-patternMismatch-002.html
80506               fast/forms/ValidityState-patternMismatch-003.html
80507               fast/forms/ValidityState-patternMismatch-004.html
80508               fast/forms/ValidityState-patternMismatch-005.html
80509               fast/forms/ValidityState-patternMismatch-006.html
80510               fast/forms/ValidityState-patternMismatch-007.html
80511               fast/forms/pattern-attribute-001.html
80512               fast/forms/pattern-attribute-002.html
80513               fast/forms/pattern-attribute-003.html
80514
80515        * html/HTMLAttributeNames.in: pattern attribute
80516        * html/HTMLFormControlElement.h:
80517        (WebCore::HTMLFormControlElement::patternMismatch): method definition
80518        * html/HTMLInputElement.cpp:
80519        (WebCore::HTMLInputElement::patternMismatch): validation method
80520        * html/HTMLInputElement.h:
80521        * html/HTMLInputElement.idl:
80522        * html/ValidityState.h:
80523        (WebCore::ValidityState::patternMismatch): validation flag
80524
805252009-07-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
80526
80527        Reviewed by George Staikos.
80528
80529        [WML] Manual WML tests aren't properly working
80530        https://bugs.webkit.org/show_bug.cgi?id=27718
80531
80532        Fix file paths in the manual WML layout tests, remove unneeded tests (already covered by DRT tests).
80533        Add missing resources directory and test image. Reformat all testcases to a common style.
80534        Add new StartTests.wml file, which should be used as starting point to crawl through the manual tests.
80535
80536        Filing bugs soon for all tests exposing bugs (7 in total).
80537
80538        * manual-tests/wml/StartTests.wml: Added.
80539        * manual-tests/wml/a-br-element.wml:
80540        * manual-tests/wml/a-element.wml:
80541        * manual-tests/wml/a-img-element.wml:
80542        * manual-tests/wml/access-target.wml:
80543        * manual-tests/wml/anchor-br-element.wml:
80544        * manual-tests/wml/anchor-element.wml:
80545        * manual-tests/wml/anchor-img-element.wml:
80546        * manual-tests/wml/card-newcontext-attr.wml:
80547        * manual-tests/wml/card-onenterbackward.wml:
80548        * manual-tests/wml/card-onenterforward.wml:
80549        * manual-tests/wml/card-ontimer.wml:
80550        * manual-tests/wml/card-title-attr.wml: Removed.
80551        * manual-tests/wml/deck-access-control.wml:
80552        * manual-tests/wml/go-element.wml: Removed.
80553        * manual-tests/wml/input-emptyok.wml: Removed.
80554        * manual-tests/wml/input-format.wml:
80555        * manual-tests/wml/onevent-go.wml:
80556        * manual-tests/wml/onevent-noop.wml:
80557        * manual-tests/wml/onevent-prev.wml:
80558        * manual-tests/wml/onevent-refresh.wml:
80559        * manual-tests/wml/onevent-shadow.wml:
80560        * manual-tests/wml/postfield-get.wml: Removed.
80561        * manual-tests/wml/postfield-post.wml: Removed.
80562        * manual-tests/wml/resources: Added.
80563        * manual-tests/wml/resources/smiley.png: Added.
80564        * manual-tests/wml/select-element.wml:
80565        * manual-tests/wml/select-onpick-event.wml:
80566        * manual-tests/wml/setvar-element.wml:
80567        * manual-tests/wml/targetdeck.wml:
80568        * manual-tests/wml/task-go-in-anchor.wml:
80569        * manual-tests/wml/task-noop-in-do.wml:
80570        * manual-tests/wml/task-noop-in-onevent.wml: Removed.
80571        * manual-tests/wml/task-prev-in-anchor.wml:
80572        * manual-tests/wml/task-refresh-in-anchor.wml:
80573        * manual-tests/wml/template-go.wml:
80574        * manual-tests/wml/template-onevent.wml: Removed.
80575        * manual-tests/wml/template-ontimer.wml:
80576        * manual-tests/wml/timer.wml:
80577        * manual-tests/wml/variable-substitution.wml:
80578
805792009-07-27  Nate Chapin  <japhet@chromium.org>
80580
80581        Reviewed by Dimitri Glazkov.
80582
80583        Fix a regression introduced in r42671, which caused the js event 
80584        object to be hidden (some websites depend on being able to access it).
80585
80586        https://bugs.webkit.org/show_bug.cgi?id=27719
80587
80588        * bindings/v8/V8AbstractEventListener.cpp:
80589        (WebCore::V8AbstractEventListener::invokeEventHandler): Make the event object visible to javascript, instead of hidden.
80590
805912009-07-27  Dumitru Daniliuc  <dumi@chromium.org>
80592
80593        Reviewed by Dimitri Glazkov.
80594
80595        Removing a no-op block of code in DatabaseTracker.cpp that
80596        should've been removed in the patch for bug 26054.
80597
80598        https://bugs.webkit.org/show_bug.cgi?id=27666
80599
80600        All tests in WebCore/storage pass.
80601
80602        * storage/DatabaseTracker.cpp:
80603        (WebCore::DatabaseTracker::fullPathForDatabase): Removed a no-op
80604        block of code that was moved to SQLiteFileSystem.cpp and should
80605        have been removed from DatabaseTracker.cpp
80606
806072009-07-27  Jian Li  <jianli@chromium.org>
80608
80609        Reviewed by David Levin.
80610
80611        Fix error handling in dedicated worker and worker context.
80612        https://bugs.webkit.org/show_bug.cgi?id=27525
80613
80614        The following problems have been fixed:
80615        1) The uncaught runtime script error is not reported using the
80616        WorkerGlobalScope object's onerror attribute.
80617        2) If the error is still not handled afterwards (onerror attribute
80618        is not defined as a function or it returns true), the error should
80619        be reported back to the associated Worker object by firing an
80620        ErrorEvent.
80621        3) If the error is still not handled by the associated Worker
80622        object, the error should be reported to the user.
80623
80624        Test: fast/workers/worker-script-error.html
80625
80626        * bindings/js/JSEventListener.cpp:
80627        (WebCore::JSEventListener::reportError):
80628        * bindings/js/JSEventListener.h:
80629        * dom/EventListener.h:
80630        (WebCore::EventListener::reportError): adds a function to call
80631        EventListener as a function with 3 arguments to report an error.
80632        * workers/AbstractWorker.cpp:
80633        (WebCore::AbstractWorker::dispatchScriptErrorEvent):
80634        * workers/AbstractWorker.h:
80635        * workers/DedicatedWorkerContext.cpp:
80636        (WebCore::DedicatedWorkerContext::reportException):
80637        * workers/WorkerContext.cpp:
80638        (WebCore::WorkerContext::reportException):
80639        * workers/WorkerContext.h:
80640        * workers/WorkerMessagingProxy.cpp:
80641        (WebCore::WorkerExceptionTask::performTask):
80642        * workers/WorkerMessagingProxy.h:
80643
806442009-07-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
80645
80646        Reviewed by George Staikos.
80647
80648        [WML] History handling / page cache / loading is buggy and depends on several hacks
80649        https://bugs.webkit.org/show_bug.cgi?id=27707
80650
80651        Redesign WML history/loading handling. In detail:
80652
80653        - Remove FrameLoader::setForceReloadWmlDeck(). WML used to force a special loading behaviour
80654          by calling this method from WMLGoElement & friends - instead teach FrameLoader to detect
80655          WML content itself.
80656
80657          WML content is usually a standalone WML document (isWMLDocument()=true) or as special case
80658          an XHTML document which embeds a WML document (that's the way the WML layout tests work).
80659          Force WML loading behaviour even for XHTML document which embed WML documents. This only
80660          applies to our layout tests, not for any real world site. Though it gives us a perfect
80661          way to test the WML loading code even when we're not operating on a standalone WML document.
80662
80663          Whenever a WMLCardElement is inserted into the document it will check wheter it's inserted
80664          in a standalone WML document or wheter the main frame document is different. If it differs
80665          the main frame documents' "containsWMLContent" property is set to true.
80666
80667          -> Make FrameLoader::shouldReload() use the new frameContainsWMLContent() method, which
80668             checks if the associated frame document is a WML document or wheter it contains WML content.
80669
80670        - Change FrameLoader::loadItem() to use the new frameContainsWMLContent() method for 'shouldScroll'
80671          detection. WML documents (or those containing WML content) always want new loads even for in-page
80672          navigation. No "scroll to anchor" mechanism should apply.
80673
80674        - Modify FrameLoader::canCachePageContainingThisFrame() to check for !frameContainsWMLContent().
80675          WML pages should never be cached, potential security problem due the use of variables (per spec).
80676
80677        Add two new WML tests which were broken before, testing onenterforward/onenterbackward event handling
80678        and history navigation (<prev/> task).
80679
80680        Tests: wml/enter-card-with-events.html
80681               wml/enter-first-card-with-events.html
80682
80683        * dom/Document.cpp: Initialize new 'm_containsWMLContent' property.
80684        (WebCore::Document::Document):
80685        * dom/Document.h: Add new helper methods and 'm_containsWMLContent" variable (explained above).
80686        (WebCore::Document::setContainsWMLContent):
80687        (WebCore::Document::containsWMLContent):
80688        * history/BackForwardList.cpp:
80689        (WebCore::BackForwardList::clearWMLPageHistory): Renamed from clearWmlPageHistory() & slight cleanup.
80690        * history/BackForwardList.h:
80691        * loader/FrameLoader.cpp: Rework WML loading behaviour (explained above).
80692        (WebCore::FrameLoader::FrameLoader):
80693        (WebCore::frameContainsWMLContent):
80694        (WebCore::FrameLoader::canCachePageContainingThisFrame):
80695        (WebCore::FrameLoader::shouldReload):
80696        (WebCore::FrameLoader::loadItem):
80697        * loader/FrameLoader.h:
80698        * wml/WMLCardElement.cpp: 
80699        (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): No need anymore to manually track history length.
80700        (WebCore::WMLCardElement::insertedIntoDocument): Handle setting containsWMLContent on the main frame document.
80701        * wml/WMLGoElement.cpp: 
80702        (WebCore::WMLGoElement::executeTask): Remove call to FrameLoader::setForceReloadWmlDeck()
80703        * wml/WMLPageState.cpp: Remove 'm_historyLength' - no need anymore to track history length on our own.
80704        (WebCore::WMLPageState::WMLPageState):
80705        (WebCore::WMLPageState::dump):
80706        (WebCore::WMLPageState::reset):
80707        * wml/WMLPageState.h:
80708
807092009-07-27  Pavel Feldman  <pfeldman@chromium.org>
80710
80711        Reviewed by Adam Roben.
80712
80713        Fix Chromium build breakage introduced in 46388.
80714
80715        https://bugs.webkit.org/show_bug.cgi?id=27705
80716
80717        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
80718        (WebCore::FontPlatformData::description):
80719        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
80720
807212009-07-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
80722
80723        Reviewed by Simon Hausmann.
80724
80725        Add some more debug logging to PluginViewMac.
80726
80727        * plugins/mac/PluginViewMac.cpp:
80728
807292009-07-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
80730
80731        Reviewed by Jan Michael Alonzo.
80732
80733        Remove dead code from the GTK NPAPI implementation.
80734
80735        * plugins/gtk/PluginViewGtk.cpp:
80736
807372009-07-27  Csaba Osztrogonac  <oszi@inf.u-szeged.hu>
80738
80739        Reviewed by Simon Hausmann.
80740
80741        [Qt] Buildfix on Windows.
80742        https://bugs.webkit.org/show_bug.cgi?id=27702
80743
80744        * plugins/win/PluginViewWin.cpp:
80745        (WebCore::PluginView::hookedEndPaint):
80746            Constraint of (*endPaint) operand modified from "g" to "m" (memory) in inline 
80747            assembly, because with "g" constraint, wrong assembly code generated.
80748
807492009-07-27  Pavel Feldman  <pfeldman@chromium.org>
80750
80751        Reviewed by Timothy Hatcher.
80752
80753        WebCore bindings: Implement ScriptArray bindings.
80754
80755        https://bugs.webkit.org/show_bug.cgi?id=27691
80756
80757        * GNUmakefile.am:
80758        * WebCore.gypi:
80759        * WebCore.pro:
80760        * WebCore.vcproj/WebCore.vcproj:
80761        * WebCore.xcodeproj/project.pbxproj:
80762        * bindings/js/ScriptArray.cpp: Added.
80763        (WebCore::ScriptArray::ScriptArray):
80764        (WebCore::handleException):
80765        (WebCore::ScriptArray::set):
80766        (WebCore::length):
80767        (WebCore::ScriptArray::createNew):
80768        * bindings/js/ScriptArray.h: Added.
80769        (WebCore::ScriptArray::ScriptArray):
80770        (WebCore::ScriptArray::jsArray):
80771        * bindings/v8/ScriptArray.cpp: Added.
80772        (WebCore::ScriptArray::ScriptArray):
80773        (WebCore::ScriptArray::set):
80774        (WebCore::ScriptArray::length):
80775        (WebCore::ScriptArray::createNew):
80776        * bindings/v8/ScriptArray.h: Added.
80777        (WebCore::ScriptArray::ScriptArray):
80778        (WebCore::ScriptArray::~ScriptArray):
80779
807802009-07-27  Brent Fulgham  <bfulgham@webkit.org>
80781
80782        Build correct, no review.
80783
80784        Change in r46407 broke Apple Windows build.
80785        Switch to WinCairo-only test, to avoid any
80786        other platform break.
80787
80788        * WebCorePrefix.h: 
80789
807902009-07-26  Brent Fulgham  <bfulgham@webkit.org>
80791
80792        Build correct, no review.
80793
80794        Change in r46407 broke Apple Windows build.
80795
80796        * WebCorePrefix.h: Use WTF_PLATFORM_CG to decide if
80797          CoreServices.h should be included.
80798
807992009-07-26  Brent Fulgham  <bfulgham@webkit.org>
80800
80801        Build correction, no review.
80802
80803        Change in r46195 broke WinCairo build.
80804
80805        * WebCorePrefix.h: CoreServices should be ignored
80806          for non-Apple build.
80807
808082009-07-26  Pavel Feldman  <pfeldman@chromium.org>
80809
80810        Reviewed by Timothy Hatcher.
80811
80812        Web Inspector: Implement the breakpoints sidebar pane.
80813        This change adds simple UI support into the existing
80814        BreakpointSidebarPane.
80815
80816        https://bugs.webkit.org/show_bug.cgi?id=11175
80817
80818        * inspector/front-end/Breakpoint.js:
80819        (WebInspector.Breakpoint.prototype.set enabled):
80820        (WebInspector.Breakpoint.prototype.get label):
80821        (WebInspector.Breakpoint.prototype.get id):
80822        * inspector/front-end/BreakpointsSidebarPane.js:
80823        (WebInspector.BreakpointsSidebarPane):
80824        (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
80825        (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement):
80826        (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement.labelClicked):
80827        (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
80828        (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
80829        * inspector/front-end/ScriptsPanel.js:
80830        (WebInspector.ScriptsPanel):
80831        (WebInspector.ScriptsPanel.prototype.scriptOrResourceForID):
80832        * inspector/front-end/inspector.css:
80833
808342009-07-16  Shinichiro Hamaji  <hamaji@chromium.org>
80835
80836        Reviewed by Oliver Hunt.
80837
80838        Canvas: rotation of 'no-repeat' pattern still has small error
80839        https://bugs.webkit.org/show_bug.cgi?id=26749
80840
80841        Use 1<<22 as steps of no-repeat pattern to make the error less
80842        than 0.5.  The previous value may cause 1 pixel errors.
80843
80844        Add another test to show this bug clearly.
80845        Also add png expected image which was missing in the previous patch.
80846
80847        Test: fast/canvas/image-pattern-rotate.html
80848
80849        * platform/graphics/cg/PatternCG.cpp:
80850        (WebCore::Pattern::createPlatformPattern):
80851
808522009-07-25  Kwang Yul Seo  <skyul@company100.net>
80853
80854        Reviewed by Darin Adler.
80855
80856        Windows build break due to warning C4819
80857        https://bugs.webkit.org/show_bug.cgi?id=27416
80858
80859        Disable C4819 warning to fix build.
80860
80861        * WebCore.vcproj/QTMovieWin.vcproj:
80862        * WebCore.vcproj/WebCore.vcproj:
80863
808642009-07-25  Joseph Pecoraro  <joepeck02@gmail.com>
80865
80866        Reviewed by Kevin McCullough.
80867
80868        Inspector: Keyboard Shortcuts to Switch Panels
80869        https://bugs.webkit.org/show_bug.cgi?id=27286
80870
80871        * inspector/front-end/inspector.js:
80872        (WebInspector.loaded): save a list of the order of the panels
80873        (WebInspector.documentKeyDown): handle the keyboard shortcuts to traverse the panels
80874
808752009-07-25  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
80876
80877        Reviewed by George Staikos.
80878
80879        [Qt] Fix build break after r46369
80880        https://bugs.webkit.org/show_bug.cgi?id=27680
80881
80882        * WebCore.pro:
80883
808842009-07-25  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
80885
80886        Reviewed by George Staikos.
80887
80888        [WML] Variable substitution is buggy
80889        https://bugs.webkit.org/show_bug.cgi?id=27677
80890
80891        Substitute variables upon attach() time instead of insertedIntoDocument(). Otherwhise variable substitution
80892        won't work during inter-deck jumps (same URL, different fragment). Covered by new test fast/wml/newcontext-same-deck.html.
80893
80894        * dom/Text.cpp:
80895        (WebCore::Text::attach):
80896        * dom/Text.h:
80897
808982009-07-25  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
80899
80900        Reviewed by George Staikos.
80901
80902        [WML] WMLDoElement doesn't update its RenderButton object upon attach()
80903        https://bugs.webkit.org/show_bug.cgi?id=27676
80904
80905        WMLDoElement needs to implement attach() and call updateFromElement() on its associated RenderButton.
80906        Mimics HTMLButtonElement/HTMLFormControlElement behaviour and fixes several painting/styling issues covered by existing tests in fast/wml.
80907
80908        * wml/WMLDoElement.cpp:
80909        (WebCore::WMLDoElement::attach):
80910        * wml/WMLDoElement.h:
80911
809122009-07-25  Pavel Feldman  <pfeldman@chromium.org>
80913
80914        Fix Windows build breakage introduced in 46390.
80915
80916        * WebCore.vcproj/WebCore.vcproj:
80917
809182009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
80919
80920        Reviewed by Oliver Hunt.
80921
80922        Inspector: Properties Should be Sorted more Naturally
80923        https://bugs.webkit.org/show_bug.cgi?id=27329
80924
80925        * inspector/front-end/ObjectPropertiesSection.js:
80926        (WebInspector.ObjectPropertiesSection.prototype.update): use the displaySort when showing properties
80927        (WebInspector.ObjectPropertiesSection.prototype._displaySort): alphaNumerical sort
80928        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): use the displaySort when showing properties
80929        * inspector/front-end/utilities.js:
80930        (Object.sortedProperties): allow for an optional sorting function in Object.sortedProperties
80931
809322009-07-24  Pavel Feldman  <pfeldman@chromium.org>
80933
80934        Reviewed by Timothy Hatcher.
80935
80936        Web Inspector: Split InspectorController into InspectorController
80937        and InspectorBackend. Everything frontend needs from InspectorController
80938        will slowly migrate into the InspectorBackend.
80939
80940        https://bugs.webkit.org/show_bug.cgi?id=27541
80941
80942        * DerivedSources.make:
80943        * GNUmakefile.am:
80944        * WebCore.gypi:
80945        * WebCore.pro:
80946        * WebCore.xcodeproj/project.pbxproj:
80947        * WebCoreSources.bkl:
80948        * bindings/js/JSInspectorBackendCustom.cpp: Added.
80949        (WebCore::JSInspectorBackend::highlightDOMNode):
80950        (WebCore::JSInspectorBackend::search):
80951        (WebCore::JSInspectorBackend::databaseTableNames):
80952        (WebCore::JSInspectorBackend::inspectedWindow):
80953        (WebCore::JSInspectorBackend::setting):
80954        (WebCore::JSInspectorBackend::setSetting):
80955        (WebCore::JSInspectorBackend::wrapCallback):
80956        (WebCore::JSInspectorBackend::currentCallFrame):
80957        (WebCore::JSInspectorBackend::profiles):
80958        * bindings/v8/custom/V8InspectorBackendCustom.cpp: Added.
80959        (WebCore::CALLBACK_FUNC_DECL):
80960        * bindings/js/JSInspectorControllerCustom.cpp: Removed.
80961        * bindings/js/ScriptObject.cpp:
80962        (WebCore::ScriptGlobalObject::set):
80963        * bindings/js/ScriptObject.h:
80964        * bindings/v8/DOMObjectsInclude.h:
80965        * bindings/v8/DerivedSourcesAllInOne.cpp:
80966        * bindings/v8/ScriptObject.cpp:
80967        (WebCore::ScriptGlobalObject::set):
80968        * bindings/v8/ScriptObject.h:
80969        * bindings/v8/V8Index.cpp:
80970        * bindings/v8/V8Index.h:
80971        * bindings/v8/custom/V8CustomBinding.h:
80972        * bindings/v8/custom/V8InspectorControllerCustom.cpp: Removed.
80973        * inspector/InspectorController.cpp:
80974        (WebCore::InspectorController::InspectorController):
80975        (WebCore::InspectorController::windowScriptObjectAvailable):
80976        * inspector/InspectorController.h:
80977        (WebCore::InspectorController::inspectorBackend):
80978        * inspector/InspectorBackend.cpp: Added.
80979        * inspector/InspectorBackend.h: Added.
80980        (WebCore::InspectorBackend::create):
80981        (WebCore::InspectorBackend::inspectorController):
80982        * inspector/InspectorBackend.idl: Added.
80983        * inspector/InspectorController.idl: Removed.
80984        * inspector/front-end/Resource.js:
80985        * page/Page.cpp:
80986        (WebCore::Page::Page):
80987        * page/Page.h:
80988
809892009-07-25  Mike Fenton  <mike.fenton@torchmobile.com>
80990
80991        Reviewed by George Staikos.
80992
80993        Update WebCore/page/Frame.cpp/h to conform to WebKit
80994        Style Guidelines as identified by cpplint.py.
80995        https://bugs.webkit.org/show_bug.cgi?id=27654
80996
80997        * page/Frame.cpp:
80998        (WebCore::Frame::Frame):
80999        (WebCore::Frame::~Frame):
81000        (WebCore::Frame::setDocument):
81001        (WebCore::Frame::firstRectForRange):
81002        (WebCore::createRegExpForLabels):
81003        (WebCore::Frame::searchForLabelsBeforeElement):
81004        (WebCore::Frame::matchLabelsAgainstElement):
81005        (WebCore::Frame::selectionLayoutChanged):
81006        (WebCore::Frame::setZoomFactor):
81007        (WebCore::Frame::reapplyStyles):
81008        (WebCore::Frame::isContentEditable):
81009        (WebCore::Frame::computeAndSetTypingStyle):
81010        (WebCore::Frame::selectionStartStylePropertyValue):
81011        (WebCore::Frame::selectionComputedStyle):
81012        (WebCore::Frame::applyEditingStyleToBodyElement):
81013        (WebCore::Frame::removeEditingStyleFromBodyElement):
81014        (WebCore::Frame::applyEditingStyleToElement):
81015        (WebCore::Frame::selectionBounds):
81016        (WebCore::Frame::currentForm):
81017        (WebCore::Frame::revealSelection):
81018        (WebCore::Frame::styleForSelectionStart):
81019        (WebCore::Frame::setSelectionFromNone):
81020        (WebCore::Frame::findString):
81021        (WebCore::Frame::markAllMatchesForText):
81022        (WebCore::Frame::setMarkedTextMatchesAreHighlighted):
81023        (WebCore::Frame::clearFormerDOMWindow):
81024        (WebCore::Frame::unfocusWindow):
81025        (WebCore::Frame::respondToChangedSelection):
81026        (WebCore::Frame::documentAtPoint):
81027        * page/Frame.h:
81028        (WebCore::Frame::create):
81029        (WebCore::Frame::displayStringModifiedByEncoding):
81030        (WebCore::Frame::pageZoomFactor):
81031        (WebCore::Frame::textZoomFactor):
81032
810332009-07-24  Dan Bernstein  <mitz@apple.com>
81034
81035        Reviewed by Darin Adler.
81036
81037        Add functions to print the glyph page trees for debugging
81038        https://bugs.webkit.org/show_bug.cgi?id=27671
81039
81040        * platform/graphics/FontData.h: Defined a description() method.
81041
81042        * platform/graphics/GlyphPageTreeNode.cpp:
81043        (WebCore::GlyphPageTreeNode::showSubtree): Added. Prints the node and
81044            its descendants.
81045        (showGlyphPageTrees): Added. Prints all glyph page trees.
81046        (showGlyphPageTree): Added. Prints the glyph page tree for a given page.
81047        * platform/graphics/GlyphPageTreeNode.h:
81048
81049        * platform/graphics/SegmentedFontData.cpp:
81050        (WebCore::SegmentedFontData::description): Added.
81051
81052        * platform/graphics/SegmentedFontData.h:
81053        * platform/graphics/SimpleFontData.cpp:
81054        (WebCore::SimpleFontData::description): Added. Uses the platform data
81055            as the description for non-svg, non-custom fonts.
81056        * platform/graphics/SimpleFontData.h:
81057
81058        * platform/graphics/gtk/FontPlatformData.h:
81059        * platform/graphics/gtk/FontPlatformDataGtk.cpp:
81060        (WebCore::FontPlatformData::description): Added. Returns a null string.
81061        * platform/graphics/gtk/FontPlatformDataPango.cpp:
81062        (WebCore::FontPlatformData::description): Added. Returns a null string.
81063
81064        * platform/graphics/mac/FontPlatformData.h:
81065        * platform/graphics/mac/FontPlatformDataMac.mm:
81066        (WebCore::FontPlatformData::description): Added. Returns the
81067            description of the CGFont, the size and the synthetic style flags,
81068            if set.
81069
81070        * platform/graphics/qt/FontPlatformData.h:
81071        * platform/graphics/qt/FontPlatformDataQt.cpp:
81072        (WebCore::FontPlatformData::description): Added. Returns a null string.
81073
81074        * platform/graphics/win/FontPlatformData.h:
81075        * platform/graphics/win/FontPlatformDataWin.cpp:
81076        (WebCore::FontPlatformData::description): Added. Returns a null string.
81077
81078        * platform/graphics/wince/FontPlatformData.cpp:
81079        (WebCore::FontPlatformData::description): Added. Returns a null string.
81080        * platform/graphics/wince/FontPlatformData.h:
81081
81082        * platform/graphics/wx/FontPlatformData.h:
81083        * platform/graphics/wx/FontPlatformDataWx.cpp:
81084        (WebCore::FontPlatformData::description): Added. Returns a null string.
81085
810862009-07-24  Mads Ager  <ager@chromium.org>
81087
81088        Reviewed by Adam Barth.
81089
81090        SVG and XPath memory leaks in V8 bindings
81091        https://bugs.webkit.org/show_bug.cgi?id=27488
81092
81093        Add proper 'create' methods to SVGPodTypeWrappers and
81094        XPathNSResolvers in the V8 bindings to avoid memory leaks.
81095
81096        Introduce convertToV8Object methods that accept PassRefPtrs and
81097        clean up the use of get() and release() on RefPtrs.
81098        
81099        * bindings/scripts/CodeGeneratorV8.pm:
81100        * bindings/v8/V8DOMWrapper.h:
81101        (WebCore::V8DOMWrapper::convertNodeToV8Object):
81102        (WebCore::V8DOMWrapper::convertEventToV8Object):
81103        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
81104        (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
81105        * bindings/v8/V8SVGPODTypeWrapper.h:
81106        (WebCore::V8SVGPODTypeWrapperCreatorForList::create):
81107        (WebCore::V8SVGPODTypeWrapperCreatorForList::V8SVGPODTypeWrapperCreatorForList):
81108        (WebCore::V8SVGStaticPODTypeWrapper::create):
81109        (WebCore::V8SVGStaticPODTypeWrapper::V8SVGStaticPODTypeWrapper):
81110        (WebCore::V8SVGStaticPODTypeWrapperWithPODTypeParent::create):
81111        (WebCore::V8SVGStaticPODTypeWrapperWithPODTypeParent::V8SVGStaticPODTypeWrapperWithPODTypeParent):
81112        (WebCore::V8SVGStaticPODTypeWrapperWithParent::create):
81113        (WebCore::V8SVGStaticPODTypeWrapperWithParent::V8SVGStaticPODTypeWrapperWithParent):
81114        (WebCore::V8SVGDynamicPODTypeWrapper::create):
81115        (WebCore::V8SVGDynamicPODTypeWrapper::V8SVGDynamicPODTypeWrapper):
81116        (WebCore::V8SVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
81117        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
81118        (WebCore::CALLBACK_FUNC_DECL):
81119        * bindings/v8/custom/V8ClientRectListCustom.cpp:
81120        (WebCore::INDEXED_PROPERTY_GETTER):
81121        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
81122        (WebCore::V8CustomXPathNSResolver::create):
81123        * bindings/v8/custom/V8CustomXPathNSResolver.h:
81124        * bindings/v8/custom/V8DOMWindowCustom.cpp:
81125        (WebCore::NAMED_PROPERTY_GETTER):
81126        * bindings/v8/custom/V8DocumentCustom.cpp:
81127        (WebCore::CALLBACK_FUNC_DECL):
81128        * bindings/v8/custom/V8ElementCustom.cpp:
81129        (WebCore::CALLBACK_FUNC_DECL):
81130        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
81131        (WebCore::getNamedItems):
81132        (WebCore::getItem):
81133        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
81134        (WebCore::NAMED_PROPERTY_GETTER):
81135        (WebCore::ACCESSOR_GETTER):
81136        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
81137        (WebCore::INDEXED_PROPERTY_GETTER):
81138        (WebCore::NAMED_PROPERTY_GETTER):
81139        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
81140        (WebCore::INDEXED_PROPERTY_GETTER):
81141        * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
81142        (WebCore::NAMED_PROPERTY_GETTER):
81143        * bindings/v8/custom/V8InspectorControllerCustom.cpp:
81144        (WebCore::CALLBACK_FUNC_DECL):
81145        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
81146        (WebCore::INDEXED_PROPERTY_GETTER):
81147        (WebCore::NAMED_PROPERTY_GETTER):
81148        * bindings/v8/custom/V8NodeIteratorCustom.cpp:
81149        (WebCore::toV8):
81150        * bindings/v8/custom/V8NodeListCustom.cpp:
81151        (WebCore::NAMED_PROPERTY_GETTER):
81152        * bindings/v8/custom/V8SVGMatrixCustom.cpp:
81153        (WebCore::CALLBACK_FUNC_DECL):
81154        * bindings/v8/custom/V8TreeWalkerCustom.cpp:
81155        (WebCore::toV8):
81156        * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
81157        (WebCore::CALLBACK_FUNC_DECL):
81158
811592009-07-24  Brian Weinstein  <bweinstein@apple.com>
81160
81161        Reviewed by Jon Honeycutt.
81162
81163        Fix of <rdar://6310538> Middle-click panning should be springloaded while dragging
81164        https://bugs.webkit.org/show_bug.cgi?id=21794
81165        
81166        Create two new booleans to determine whether we have done a springloaded pan scroll, and update
81167        the name of setPanScrollCursor to updatePanScrollState to more accurately describe what the function
81168        does. 
81169
81170        * page/EventHandler.cpp:
81171        (WebCore::EventHandler::EventHandler): Initialized two new booleans.
81172        (WebCore::EventHandler::autoscrollTimerFired):
81173        (WebCore::EventHandler::updatePanScrollState): Renamed from setPanScrollCursor.
81174        (WebCore::EventHandler::stopAutoscrollTimer): Clear the pan scrolling in progress flag.
81175        (WebCore::EventHandler::handleMouseReleaseEvent): Clear the pan scrolling button pressed flag.
81176        * page/EventHandler.h:
81177
811782009-07-24  Yong Li  <yong.li@torchmobile.com>
81179
81180        Reviewed by George Staikos.
81181
81182        https://bugs.webkit.org/show_bug.cgi?id=27657
81183        Add more wince port files to WebCore
81184
81185        Written by Yong Li  <yong.li@torchmobile.com> and Lyon Chen <lyon.chen@torchmobile.com>
81186
81187        * loader/icon/wince/IconDatabaseWince.cpp: Added.
81188        * rendering/RenderThemeWince.cpp: Added.
81189        * rendering/RenderThemeWince.h: Added.
81190        * storage/wince/DatabaseThreadWince.cpp: Added.
81191        * storage/wince/DatabaseThreadWince.h: Added.
81192        * storage/wince/LocalStorageThreadWince.cpp: Added.
81193        * storage/wince/LocalStorageThreadWince.h: Added.
81194        * svg/graphics/wince/SVGResourceFilterWince.cpp: Added.
81195
811962009-07-24  Ryosuke Niwa  <rniwa@webkit.org>
81197
81198        Reviewed by Justin Garcia.
81199
81200        execCommand('underline') can modify DOM outside of the contentEditable area
81201        https://bugs.webkit.org/show_bug.cgi?id=24333
81202
81203        highestAncestorWithTextDecoration stops at the closest unsplittable element so that if text-decoration is applied
81204        outside of it, we don't accidently modify the style attribute.
81205
81206        Tests: editing/style/textdecoration-outside-of-rooteditable.html
81207               editing/style/textdecoration-outside-of-unsplittable-element.html
81208
81209        * editing/ApplyStyleCommand.cpp:
81210        (WebCore::StyleChange::init):
81211        (WebCore::highestAncestorWithTextDecoration):
81212
812132009-07-24  Daniel Bates  <dbates@intudata.com>
81214
81215        Reviewed by Adam Barth.
81216
81217        https://bugs.webkit.org/show_bug.cgi?id=27639
81218
81219        Fixes false positives when evaluating certain strings that only contain 
81220        non-canonical characters.
81221
81222        Test: http/tests/security/xssAuditor/script-tag-safe.html
81223
81224        * page/XSSAuditor.cpp:
81225        (WebCore::isNonCanonicalCharacter):
81226        (WebCore::XSSAuditor::findInRequest):
81227
812282009-07-24  Drew Wilson  <atwilson@google.com>
81229
81230        Reviewed by David Levin.
81231
81232        Changed WorkerContext destructor to not access possibly-freed WorkerThread.
81233
81234        Failed assertion in WorkerContext::~WorkerContext().
81235        https://bugs.webkit.org/show_bug.cgi?id=27665
81236
81237       * workers/DedicatedWorkerContext.cpp:
81238        (WebCore::DedicatedWorkerContext::~DedicatedWorkerContext):
81239        * workers/WorkerContext.cpp:
81240        (WebCore::WorkerContext::~WorkerContext):
81241        Removed assertion that relies on WorkerThread still being alive (moved to DedicatedWorkerContext destructor).
81242
812432009-07-24  Drew Wilson  <atwilson@google.com>
81244
81245        Reviewed by Adam Barth.
81246
81247        Updated code generator to properly generate bindings for WorkerContext exposed functions.
81248
81249        Storing a reference to WorkerContext.postMessage() and calling it later yields a TypeError
81250        https://bugs.webkit.org/show_bug.cgi?id=27419
81251
81252        Test: fast/workers/worker-call.html
81253
81254        * bindings/js/JSWorkerContextBase.cpp:
81255        (WebCore::toJSDedicatedWorkerContext):
81256        (WebCore::toJSWorkerContext):
81257        Functions that convert from JSValue to the appropriate WorkerContext/DedicatedWorkerContext object.
81258        * bindings/js/JSWorkerContextBase.h:
81259        Added toJS*WorkerContext APIs.
81260        * bindings/scripts/CodeGeneratorJS.pm:
81261        Added code to appropriately check the passed-in this object when invoking functions at global scope.
81262
812632009-07-24  Drew Wilson  <atwilson@google.com>
81264
81265        Reviewed by Adam Barth.
81266
81267        Refactor WorkerContext to move DedicatedWorker-specific APIs into DedicatedWorkerContext
81268        https://bugs.webkit.org/show_bug.cgi?id=27420
81269
81270        No new tests as the existing tests already provide sufficient coverage (this is just a refactoring with no new functionality).
81271
81272        * DerivedSources.cpp:
81273        Added JSDerivedWorkerContext.cpp
81274        * DerivedSources.make:
81275        Added DerivedWorkerContext files
81276        * GNUmakefile.am:
81277        Added DerivedWorkerContext files
81278        * WebCore.gypi:
81279        Added DerivedWorkerContext files
81280        * WebCore.pro:
81281        Added DerivedWorkerContext files
81282        * WebCore.vcproj/WebCore.vcproj:
81283        Added DerivedWorkerContext files
81284        * WebCore.xcodeproj/project.pbxproj:
81285        Added DerivedWorkerContext files
81286        * bindings/js/JSDedicatedWorkerContextCustom.cpp: Added.
81287        (WebCore::JSDedicatedWorkerContext::mark):
81288        Custom mark function for onmessage event handler.
81289        * bindings/js/JSEventTarget.cpp:
81290        (WebCore::toJS):
81291        Supports conversion to JSDedicatedWorkerContext.
81292        (WebCore::toEventTarget):
81293        * bindings/js/JSWorkerContextCustom.cpp:
81294        (WebCore::JSWorkerContext::mark):
81295        Moved onmessage mark handling into DedicatedWorkerContext.
81296        * bindings/js/WorkerScriptController.cpp:
81297        Added appropriate casts to DedicatedWorkerContext for postMessage().
81298        (WebCore::WorkerScriptController::initScript):
81299        Manually sets up the prototype chain for the worker context.
81300        * bindings/scripts/CodeGeneratorJS.pm:
81301        Changed special case code for WorkerContext to be triggered by new IsWorkerContext attribute.
81302        * bindings/scripts/CodeGeneratorV8.pm:
81303        Changed hard-coded tests for WorkerContext to support DedicatedWorkerContext.
81304        * bindings/v8/DOMObjectsInclude.h:
81305        Added DedicatedWorkerContext.h
81306        * bindings/v8/DerivedSourcesAllInOne.cpp:
81307        Added V8DedicatedWorkerContext.cpp
81308        * bindings/v8/V8DOMWrapper.cpp:
81309        (WebCore::V8DOMWrapper::getTemplate):
81310        Added code to reserve extra fields for V8DedicatedWorkerContext.
81311        * bindings/v8/V8Index.cpp:
81312        Now includes V8DedicatedWorkerContext.h in addition to V8WorkerContext.h
81313        * bindings/v8/V8Index.h:
81314        Added DedicatedWorkerContext as a non-node wrapper type.
81315        Removed WORKERCONTEXT as a valid template type.
81316        * bindings/v8/WorkerContextExecutionProxy.cpp:
81317        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
81318        Creates DedicatedWorkerContext instead of WorkerContext.
81319        (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object):
81320        Returns DedicatedWorkerContext instead of WorkerContext.
81321        (WebCore::WorkerContextExecutionProxy::retrieve):
81322        Refactored to deal with DedicatedWorkerContext.
81323        * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
81324        * bindings/v8/custom/V8CustomBinding.h:
81325        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: Added.
81326        Moved onmessage code from V8WorkerContextCustom.cpp
81327        (WebCore::ACCESSOR_GETTER):
81328        (WebCore::ACCESSOR_SETTER):
81329        * bindings/v8/custom/V8WorkerContextCustom.cpp:
81330        Moved onmessage code to V8DedicatedWorkerContextCustom.cpp
81331        * dom/EventTarget.cpp:
81332        (WebCore::EventTarget::toDedicatedWorkerContext):
81333        * dom/EventTarget.h:
81334        * workers/DedicatedWorkerContext.cpp: Added.
81335        Moved DedicatedWorker-only APIs from WorkerContext.
81336        (WebCore::DedicatedWorkerContext::DedicatedWorkerContext):
81337        (WebCore::DedicatedWorkerContext::~DedicatedWorkerContext):
81338        (WebCore::DedicatedWorkerContext::reportException):
81339        (WebCore::DedicatedWorkerContext::postMessage):
81340        (WebCore::DedicatedWorkerContext::dispatchMessage):
81341        * workers/DedicatedWorkerContext.h: Added.
81342        Moved DedicatedWorker-only APIs from WorkerContext.
81343        (WebCore::DedicatedWorkerContext::create):
81344        (WebCore::DedicatedWorkerContext::toDedicatedWorkerContext):
81345        (WebCore::DedicatedWorkerContext::setOnmessage):
81346        (WebCore::DedicatedWorkerContext::onmessage):
81347        * workers/DedicatedWorkerContext.idl: Added.
81348        * workers/WorkerContext.cpp:
81349        (WebCore::WorkerContext::~WorkerContext):
81350        Moved code that notifies parent that worker is closing down into DedicatedWorkerContext.
81351        * workers/WorkerContext.h:
81352        (WebCore::WorkerContext::isClosing):
81353        Exposed closing flag as an API so derived classes can access it.
81354        * workers/WorkerContext.idl:
81355        * workers/WorkerMessagingProxy.cpp:
81356        (WebCore::MessageWorkerContextTask::performTask):
81357        Calls into DedicatedWorkerContext to handle message.
81358        * workers/WorkerThread.cpp:
81359        (WebCore::WorkerThread::workerThread):
81360        Creates a DedicatedWorkerContext when the thread starts up.
81361
813622009-07-24  Eric Seidel  <eric@webkit.org>
81363
81364        Reviewed by Adam Barth.
81365
81366        Move more callers to using 3 argument toJS
81367        https://bugs.webkit.org/show_bug.cgi?id=27661
81368
81369        No functional changes, thus no tests.
81370        These are all the places where we can't yet pass the
81371        correct globalObject because we don't have or don't know the right one.
81372
81373        * bindings/js/JSCustomPositionCallback.cpp:
81374        (WebCore::JSCustomPositionCallback::handleEvent):
81375        * bindings/js/JSCustomPositionErrorCallback.cpp:
81376        (WebCore::JSCustomPositionErrorCallback::handleEvent):
81377        * bindings/js/JSCustomSQLStatementCallback.cpp:
81378        (WebCore::JSCustomSQLStatementCallback::handleEvent):
81379        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
81380        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
81381        * bindings/js/JSCustomSQLTransactionCallback.cpp:
81382        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
81383        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
81384        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
81385        * bindings/js/JSNodeFilterCondition.cpp:
81386        (WebCore::JSNodeFilterCondition::acceptNode):
81387
813882009-07-24  Eric Seidel  <eric@webkit.org>
81389
81390        Reviewed by Adam Barth.
81391
81392        Fix the last of the x-frame constructor calls to have the right prototype chains
81393        https://bugs.webkit.org/show_bug.cgi?id=27645
81394
81395        Fix the last few constructors to use their stored globalObject pointer when
81396        constructing objects instead of the lexicalGlobalObject().
81397
81398        * bindings/js/JSAudioConstructor.cpp:
81399        (WebCore::constructAudio):
81400        * bindings/js/JSImageConstructor.cpp:
81401        (WebCore::constructImage):
81402        * bindings/js/JSMessageChannelConstructor.cpp:
81403        (WebCore::JSMessageChannelConstructor::construct):
81404        * bindings/js/JSOptionConstructor.cpp:
81405        (WebCore::constructHTMLOptionElement):
81406        * bindings/js/JSWebKitPointConstructor.cpp:
81407        (WebCore::constructWebKitPoint):
81408        * bindings/js/JSWorkerConstructor.cpp:
81409        (WebCore::constructWorker):
81410
814112009-07-24  Jian Li  <jianli@chromium.org>
81412
81413        Reviewed by Adam Barth.
81414
81415        [V8] Cleanup exception handling in worker evaluation code.
81416        https://bugs.webkit.org/show_bug.cgi?id=27282
81417
81418        * bindings/v8/WorkerContextExecutionProxy.cpp:
81419        (WebCore::WorkerContextExecutionProxy::evaluate):
81420        * bindings/v8/WorkerContextExecutionProxy.h:
81421        (WebCore::WorkerContextExecutionState::WorkerContextExecutionState):
81422        * bindings/v8/WorkerScriptController.cpp:
81423        (WebCore::WorkerScriptController::evaluate):
81424        (WebCore::WorkerScriptController::setException):
81425
814262009-07-24  Stephen White  <senorblanco@chromium.org>
81427
81428        Reviewed by David Levin.
81429
81430        Reverting r46157, since it may be causing problems with Chromium
81431        reliability (see http://crbug.com/17569).
81432
81433        https://bugs.webkit.org/show_bug.cgi?id=27388
81434
81435        * platform/graphics/skia/GraphicsContextSkia.cpp:
81436        (WebCore::GraphicsContext::drawLine):
81437        * platform/graphics/skia/PlatformContextSkia.cpp:
81438        (PlatformContextSkia::setupPaintForStroking):
81439
814402009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
81441
81442        Reviewed by Timothy Hatcher.
81443
81444        REGRESSION: inspector seems broken in ToT WebKit
81445        https://bugs.webkit.org/show_bug.cgi?id=27646
81446
81447        * inspector/front-end/Console.js:
81448        (WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
81449
814502009-07-24  Dan Bernstein  <mitz@apple.com>
81451
81452        Reviewed by Anders Carlsson.
81453
81454        Add the shadow style member to the ShadowData constructor and ==
81455        operator
81456
81457        * rendering/style/ShadowData.cpp:
81458        (WebCore::ShadowData::ShadowData):
81459        (WebCore::ShadowData::operator==):
81460
814612009-07-24  Jian Li  <jianli@chromium.org>
81462
81463        Reviewed by Eric Seidel.
81464
81465        [V8] More V8 bindings changes to use ErrorEvent.
81466        https://bugs.webkit.org/show_bug.cgi?id=27630
81467
81468        * bindings/v8/DOMObjectsInclude.h:
81469        * bindings/v8/DerivedSourcesAllInOne.cpp:
81470        * bindings/v8/V8DOMWrapper.cpp:
81471        (WebCore::V8DOMWrapper::convertEventToV8Object):
81472        * bindings/v8/V8Index.cpp:
81473        * bindings/v8/V8Index.h:
81474
814752009-07-24  Brent Fulgham  <bfulgham@webkit.org>
81476
81477        Reviewed by Dave Hyatt.
81478
81479        Clean up dependencies on Apple support libraries for non-Apple build.
81480        http://bugs.webkit.org/show_bug.cgi?id=27532.
81481
81482        * platform/graphics/win/SimpleFontDataWin.cpp: Conditionalize references
81483          to ApplicationServices.h and WebKitSystemInterface.h
81484
814852009-07-24  Dan Bernstein  <mitz@apple.com>
81486
81487        Another attempted build fix 
81488
81489        * bindings/js/JSAbstractWorkerCustom.cpp:
81490
814912009-07-24  Dan Bernstein  <mitz@apple.com>
81492
81493        Attempted build fix
81494
81495        * bindings/js/JSAbstractWorkerCustom.cpp:
81496        (WebCore::toJS):
81497
814982009-07-24  Kenneth Rohde Christiansen  <kenneth@webkit.org>
81499
81500        Build fix for 64 bit Linux.
81501
81502        int64_t is long on Linux 64 bit and not long long, thus
81503        getFileSize with a int64_t out value fails to build.
81504
81505        Use a temporary to work around the problem.
81506
81507        * loader/appcache/ApplicationCacheStorage.cpp:
81508        (WebCore::ApplicationCacheStorage::spaceNeeded):
81509
815102009-07-24  Eric Seidel  <eric@webkit.org>
81511
81512        Reviewed by Adam Barth.
81513
81514        Update all CREATE_DOM_*_WRAPPER callers to pass globalObject
81515        https://bugs.webkit.org/show_bug.cgi?id=27644
81516
81517        This is another attempt at making the change for bug 27634 smaller.
81518        I included the changes to make_names.pl as well as any file which
81519        used CREATE_DOM_*_WRAPPER macros.
81520
81521        The changes to the construct* functions are what fix the cases in
81522        fast/dom/constructed-objects-prototypes.html
81523
81524        The changes to passing globalObject through CREATE_* are what fix
81525        fast/dom/prototype-inheritance-2.html
81526
81527        * bindings/js/JSCDATASectionCustom.cpp:
81528        (WebCore::toJSNewlyCreated): pass globalObject.
81529        * bindings/js/JSCSSRuleCustom.cpp:
81530        (WebCore::toJS): pass globalObject.
81531        * bindings/js/JSCSSValueCustom.cpp:
81532        (WebCore::toJS): pass globalObject.
81533        * bindings/js/JSDOMBinding.h: updated macros to pass globalObject.
81534        * bindings/js/JSDocumentCustom.cpp:
81535        (WebCore::toJS): pass globalObject.
81536        * bindings/js/JSElementCustom.cpp:
81537        (WebCore::JSElement::setAttributeNode): use globalObject() for wrapping return value.
81538        (WebCore::JSElement::setAttributeNodeNS): use globalObject() for wrapping return value.
81539        (WebCore::toJSNewlyCreated): pass globalObject.
81540        * bindings/js/JSEventCustom.cpp:
81541        (WebCore::JSEvent::clipboardData): pass globalObject.
81542        (WebCore::toJS): pass globalObject.
81543        * bindings/js/JSHTMLCollectionCustom.cpp:
81544        (WebCore::getNamedItems): use globalObject() for wrapping returned collection items.
81545        (WebCore::callHTMLCollection): use globalObject() for wrapping returned collection items.
81546        (WebCore::JSHTMLCollection::item): use globalObject() for wrapping returned collection items.
81547        (WebCore::toJS): pass globalObject.
81548        * bindings/js/JSImageDataCustom.cpp:
81549        (WebCore::toJS): pass globalObject.
81550        * bindings/js/JSNodeCustom.cpp:
81551        (WebCore::createWrapper): pass globalObject.
81552        * bindings/js/JSSVGPathSegCustom.cpp:
81553        (WebCore::toJS): pass globalObject.
81554        * bindings/js/JSStyleSheetCustom.cpp:
81555        (WebCore::toJS): pass globalObject.
81556        * bindings/js/JSTextCustom.cpp:
81557        (WebCore::toJSNewlyCreated): pass globalObject.
81558        * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
81559        (WebCore::constructWebKitCSSMatrix): use constructors globalObject when constructing
81560        * bindings/js/JSXMLHttpRequestConstructor.cpp:
81561        (WebCore::constructXMLHttpRequest): use constructors globalObject when constructing
81562        * bindings/js/JSXSLTProcessorConstructor.cpp:
81563        (WebCore::constructXSLTProcessor): use constructors globalObject when constructing
81564        * dom/make_names.pl:
81565            Pass globalObject through CREATE_* macros and various support functions.
81566
815672009-07-24  Eric Seidel  <eric@webkit.org>
81568
81569        Reviewed by Adam Barth.
81570
81571        Update CodeGeneratorJS.pm to support passing JSDOMGlobalObject* to toJS calls
81572        https://bugs.webkit.org/show_bug.cgi?id=27643
81573
81574        This is an attempt to make this change as small as possible.
81575        I started by including all changes to CodeGeneratorJS.pm from bug 27634,
81576        and then made the minimal amount of other changes needed to support that change.
81577
81578        Most toJS implementations ignore their passed JSDOMGlobalObject.
81579        There are stub 2-argument toJS, toJSNewlyCreated implementations to help compiling.
81580        All places where it is not clear what we should pass as the global object
81581        (or where the global object is simply not available, like for some SVG bindings)
81582        we pass deprecatedGlobalObjectForPrototype instead.
81583
81584        * bindings/js/JSCDATASectionCustom.cpp:
81585        (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
81586        * bindings/js/JSCSSRuleCustom.cpp:
81587        (WebCore::toJS): add ignored JSDOMGlobalObject*
81588        * bindings/js/JSCSSValueCustom.cpp:
81589        (WebCore::toJS): add ignored JSDOMGlobalObject*
81590        * bindings/js/JSDOMBinding.cpp:
81591        (WebCore::setDOMException): pass the wrong globalObject for now
81592        * bindings/js/JSDOMBinding.h:
81593            Pass the wrong global object to the CREATE_ macros for now.
81594            In the next change we'll come back and pass the correct one.
81595            That will require changes to make_names.pl.
81596        (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext):
81597        (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
81598        (WebCore::DOMObjectWithGlobalPointer::~DOMObjectWithGlobalPointer):
81599        (WebCore::createDOMObjectWrapper):
81600        (WebCore::getDOMObjectWrapper):
81601        (WebCore::createDOMNodeWrapper):
81602        (WebCore::getDOMNodeWrapper):
81603        (WebCore::toJS): added to convert 2 arg calls to 3 arg calls to limit the scope of this change.
81604        (WebCore::toJSNewlyCreated):
81605        * bindings/js/JSDOMWindowBase.cpp:
81606        (WebCore::toJS): DOMWindow always uses its own prototype chain.
81607        * bindings/js/JSDOMWindowBase.h:
81608        * bindings/js/JSDocumentCustom.cpp:
81609        (WebCore::toJS): add ignored JSDOMGlobalObject*
81610        * bindings/js/JSElementCustom.cpp:
81611        (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
81612        * bindings/js/JSEventCustom.cpp:
81613        (WebCore::toJS): add ignored JSDOMGlobalObject*
81614        * bindings/js/JSEventTarget.cpp:
81615        (WebCore::toJS): add ignored JSDOMGlobalObject*
81616        * bindings/js/JSEventTarget.h:
81617        * bindings/js/JSHTMLCollectionCustom.cpp:
81618        (WebCore::toJS): add ignored JSDOMGlobalObject*
81619        * bindings/js/JSImageDataCustom.cpp:
81620        (WebCore::toJS): add ignored JSDOMGlobalObject*
81621        * bindings/js/JSNodeCustom.cpp:
81622        (WebCore::createWrapper): pass globalObject to toJS(Document*) to avoid recursion
81623        (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
81624        (WebCore::toJS): add ignored JSDOMGlobalObject*
81625        * bindings/js/JSSVGElementInstanceCustom.cpp:
81626        (WebCore::toJS): pass globalObject along
81627        * bindings/js/JSSVGMatrixCustom.cpp:
81628        (WebCore::JSSVGMatrix::inverse): pass wrong globalObject for now.
81629        (WebCore::JSSVGMatrix::rotateFromVector): pass wrong globalObject for now.
81630        * bindings/js/JSSVGPathSegCustom.cpp:
81631        (WebCore::toJS):
81632        * bindings/js/JSSVGPathSegListCustom.cpp:
81633            All of these methods need a globalObject, but most SVG binding don't have
81634            space for one, so we just pass the lexicalGlobalObject for now.
81635        (WebCore::JSSVGPathSegList::initialize):
81636        (WebCore::JSSVGPathSegList::getItem):
81637        (WebCore::JSSVGPathSegList::insertItemBefore):
81638        (WebCore::JSSVGPathSegList::replaceItem):
81639        (WebCore::JSSVGPathSegList::removeItem):
81640        (WebCore::JSSVGPathSegList::appendItem):
81641        * bindings/js/JSSVGPointListCustom.cpp:
81642        (WebCore::finishGetter): pass wrong globalObject for now.
81643        (WebCore::finishSetter):
81644        (WebCore::finishSetterReadOnlyResult):
81645        * bindings/js/JSSVGTransformListCustom.cpp:
81646        (WebCore::finishGetter): pass wrong globalObject for now.
81647        (WebCore::finishSetter):
81648        (WebCore::finishSetterReadOnlyResult):
81649        * bindings/js/JSStyleSheetCustom.cpp:
81650        (WebCore::toJS): add ignored JSDOMGlobalObject*
81651        * bindings/js/JSTextCustom.cpp:
81652        (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
81653        * bindings/js/JSWorkerContextBase.cpp:
81654        (WebCore::toJS): WorkerContext always uses its own prototype chain since it's a GlobalObject subclass.
81655        * bindings/js/JSWorkerContextBase.h:
81656        * bindings/scripts/CodeGeneratorJS.pm:
81657            All generated toJS calls now pass a globalObject.
81658            All generated toJS implementations now expect a globalObject.
81659            Simplified all the slot casts by using a "castedThis" local.
81660            SVG bindings which don't have a globalObject() accessor pass the deprecated lexicalGlobalObject instead.
81661            Simplified printing of constructor objects using a $constructorClassName variable.
81662            All generated constructor functions follow the construct$className form to match the custom constructors.
81663
816642009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
81665
81666        Reviewed by Timothy Hatcher.
81667
81668        typing "document.__proto__" in inspector throws exception
81669        https://bugs.webkit.org/show_bug.cgi?id=27169
81670
81671        * inspector/front-end/utilities.js:
81672        (Object.type):
81673
816742009-07-24  Andrei Popescu  <andreip@google.com>
81675
81676        Reviewed by Anders Carlsson.
81677
81678        ApplicationCache should have size limit
81679        https://bugs.webkit.org/show_bug.cgi?id=22700
81680
81681        https://lists.webkit.org/pipermail/webkit-dev/2009-May/007560.html
81682
81683        This change implements a mechanism for limiting the maximum size of
81684        the application cache file. When this size is reached, a ChromeClient
81685        callback is invoked asynchronously and the saving of the last (failed)
81686        cache is retried automatically.
81687        
81688        This change also extends the ApplicationCacheStorage API by allowing
81689        a client to query or modify the application cache without having to
81690        load any resources into memory.
81691
81692        Test: http/tests/appcache/max-size.html
81693
81694        * WebCore.base.exp:
81695        Exports the symbols required by the DumpRenderTree test application.
81696        * loader/EmptyClients.h:
81697        Adds empty implementation of the new ChromeClient methods.
81698        * loader/appcache/ApplicationCache.cpp:
81699        * loader/appcache/ApplicationCache.h:
81700        Adds the ability to calculate the approximate size of an ApplicationCache object.
81701        * loader/appcache/ApplicationCacheGroup.cpp:
81702        * loader/appcache/ApplicationCacheGroup.h:
81703        Invokes the ChromeClient callback when the storage layer runs out of space.
81704        After the callback is invoked, we re-attempt to store the newest cache,
81705        in case the ChromeClient has freed some space.
81706        * loader/appcache/ApplicationCacheResource.cpp:
81707        * loader/appcache/ApplicationCacheResource.h:
81708        Adds the ability to calculate the approximate size of an ApplicationCacheResource object.
81709        * loader/appcache/ApplicationCacheStorage.cpp:
81710        * loader/appcache/ApplicationCacheStorage.h:
81711        Enforces a maximum size for the application cache file.
81712        * page/ChromeClient.h:
81713        Adds a new callback, invoked when the ApplicationCacheStorage reports that it has
81714        reached the maximum size for its database file.
81715        * platform/sql/SQLiteDatabase.cpp:
81716        * platform/sql/SQLiteDatabase.h:
81717        Adds a new method that allows querying for the amount of unused space inside the
81718        application cache database file.
81719
817202009-07-24  Xan Lopez  <xlopez@igalia.com>
81721
81722        Reviewed by Jan Alonzo.
81723
81724        https://bugs.webkit.org/show_bug.cgi?id=25415
81725        [GTK][ATK] Please implement support for get_text_at_offset
81726
81727        Use TextEncoding facilities to convert between UTF16 and UTF8
81728        instead of rolling our own solution.
81729
81730        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
81731        (convertUniCharToUTF8):
81732
817332009-07-24  Xan Lopez  <xlopez@igalia.com>
81734
81735        Reviewed by Jan Alonzo.
81736
81737        https://bugs.webkit.org/show_bug.cgi?id=25415
81738        [GTK][ATK] Please implement support for get_text_at_offset
81739
81740        Fix confusion in g_substr between length in bytes and length in
81741        characters. Was causing crashes in some situations when dealing
81742        with non-ASCII text encoded as UTF8.
81743
81744        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
81745        (g_substr):
81746
817472009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
81748
81749        Reviewed by Timothy Hatcher.
81750
81751        Inspector: Impossible to add an attribute to a node without attributes
81752        https://bugs.webkit.org/show_bug.cgi?id=21108
81753
81754        * inspector/front-end/ElementsTreeOutline.js:
81755        (WebInspector.ElementsTreeElement):
81756        (WebInspector.ElementsTreeElement.prototype.set hovered):
81757        (WebInspector.ElementsTreeElement.prototype.toggleNewButton):
81758        (WebInspector.ElementsTreeElement.prototype.ondblclick):
81759        (WebInspector.ElementsTreeElement.prototype._startEditing):
81760        (WebInspector.ElementsTreeElement.prototype._addNewAttribute):
81761        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
81762        * inspector/front-end/inspector.css:
81763
817642009-07-24  Keishi Hattori  <casey.hattori@gmail.com>
81765
81766        Reviewed by Timothy Hatcher.
81767
81768        Web Inspector: Adds support for Firebug's magic $0 variable to access inspected node
81769        https://bugs.webkit.org/show_bug.cgi?id=17907
81770
81771        * inspector/front-end/Console.js:
81772        (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): Added _inspectorCommandLineAPI.{
81773            _inspectedNodes, _addInspectedNode, $0, $1, $n}
81774        * inspector/front-end/ElementsPanel.js:
81775        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): Stores the inspected node history
81776            in _inspectorCommandLineAPI._inspectedNodes
81777        (WebInspector.ElementsPanel):
81778
817792009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
81780
81781        Reviewed by Timothy Hatcher.
81782
81783        Dragging a resource in the sidebar should drag it's URL
81784        https://bugs.webkit.org/show_bug.cgi?id=14410
81785
81786        * inspector/front-end/ResourcesPanel.js:
81787        (WebInspector.ResourceSidebarTreeElement.prototype.onattach):
81788
817892009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
81790
81791        Reviewed by Timothy Hatcher.
81792
81793        Double click on a resource in the sidebar should open that resource in Safari
81794        https://bugs.webkit.org/show_bug.cgi?id=14409
81795
81796        * inspector/front-end/ResourcesPanel.js:
81797        (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick): open a resource url
81798
817992009-07-24  Jan Michael Alonzo  <jmalonzo@webkit.org>
81800
81801        Reviewed by Xan Lopez.
81802
81803        Bump pango version requirement to 1.12 and remove unnecessary #ifdefs.
81804
81805        * platform/graphics/gtk/FontGtk.cpp:
81806        (WebCore::getDefaultPangoLayout):
81807        * platform/graphics/gtk/FontPlatformDataPango.cpp:
81808        (WebCore::FontPlatformData::FontPlatformData):
81809        * platform/gtk/Language.cpp:
81810
818112009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
81812
81813        Reviewed by Timothy Hatcher.
81814
81815        Inspector: Missing UIString and other localizedString.js fixes
81816        https://bugs.webkit.org/show_bug.cgi?id=27288
81817
81818        * English.lproj/localizedStrings.js:
81819
818202009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
81821
81822        Reviewed by Timothy Hatcher.
81823
81824        Inspector: Should Syntax Highlight JSON
81825        https://bugs.webkit.org/show_bug.cgi?id=27503
81826
81827        * inspector/front-end/SourceView.js:
81828        (WebInspector.SourceView.prototype._contentLoaded):
81829
818302009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
81831
81832        Reviewed by Eric Seidel.
81833
81834        Update WebCore/page/DOMTimer.cpp/h to conform to WebKit
81835        Style Guidelines as identified by cpplint.py.
81836        https://bugs.webkit.org/show_bug.cgi?id=27624
81837
81838        * page/DragController.cpp:
81839        (WebCore::DragController::~DragController):
81840        (WebCore::documentFragmentFromDragData):
81841        (WebCore::DragController::dragEnded):
81842        (WebCore::DragController::dragEntered):
81843        (WebCore::DragController::dragExited):
81844        (WebCore::DragController::dragUpdated):
81845        (WebCore::DragController::performDrag):
81846        (WebCore::asFileInput):
81847        (WebCore::DragController::tryDocumentDrag):
81848        (WebCore::DragController::delegateDragSourceAction):
81849        (WebCore::DragController::concludeEditDrag):
81850        (WebCore::DragController::canProcessDrag):
81851        (WebCore::DragController::tryDHTMLDrag):
81852        (WebCore::DragController::mayStartDragAtEventLocation):
81853        (WebCore::getCachedImage):
81854        (WebCore::getImage):
81855        (WebCore::prepareClipboardForImageDrag):
81856        (WebCore::dragLocForDHTMLDrag):
81857        (WebCore::DragController::startDrag):
81858        (WebCore::DragController::doImageDrag):
81859        (WebCore::DragController::doSystemDrag):
81860        (WebCore::DragController::placeDragCaret):
81861
818622009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
81863
81864        Reviewed by Eric Seidel.
81865
81866        Update WebCore/page/Chrome.cpp to conform to WebKit
81867        Style Guidelines as identified by cpplint.py.
81868        https://bugs.webkit.org/show_bug.cgi?id=27608
81869
81870        * page/Chrome.cpp:
81871        (WebCore::Chrome::runBeforeUnloadConfirmPanel):
81872        (WebCore::Chrome::runJavaScriptAlert):
81873        (WebCore::Chrome::runJavaScriptConfirm):
81874        (WebCore::Chrome::runJavaScriptPrompt):
81875        (WebCore::Chrome::shouldInterruptJavaScript):
81876        (WebCore::Chrome::setToolTip):
81877        (WebCore::Chrome::requestGeolocationPermissionForFrame):
81878        (WebCore::ChromeClient::generateReplacementFile):
81879        (WebCore::ChromeClient::paintCustomScrollbar):
81880
818812009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
81882
81883        Reviewed by Eric Seidel.
81884
81885        Update WebCore/page/Coordinates.cpp to conform to WebKit
81886        Style Guidelines as identified by cpplint.py.
81887        https://bugs.webkit.org/show_bug.cgi?id=27614
81888
81889        * page/Coordinates.cpp:
81890        (WebCore::Coordinates::toString):
81891
818922009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
81893
81894        Reviewed by Eric Seidel.
81895
81896        Update WebCore/page/DOMSelection.cpp/h to conform to WebKit
81897        Style Guidelines as identified by cpplint.py.
81898        https://bugs.webkit.org/show_bug.cgi?id=27614
81899
81900        * page/DOMSelection.cpp:
81901        (WebCore::DOMSelection::setBaseAndExtent):
81902        (WebCore::DOMSelection::modify):
81903        (WebCore::DOMSelection::addRange):
81904        (WebCore::DOMSelection::deleteFromDocument):
81905        * page/DOMSelection.h:
81906
819072009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
81908
81909        Reviewed by Eric Seidel.
81910
81911        Update WebCore/page/DOMTimer.cpp/h to conform to WebKit
81912        Style Guidelines as identified by cpplint.py.
81913        https://bugs.webkit.org/show_bug.cgi?id=27618
81914
81915        * page/DOMTimer.cpp:
81916        (WebCore::DOMTimer::DOMTimer):
81917        (WebCore::DOMTimer::~DOMTimer):
81918        (WebCore::DOMTimer::fired):
81919        (WebCore::DOMTimer::suspend):
81920        (WebCore::DOMTimer::resume):
81921        (WebCore::DOMTimer::canSuspend):
81922        * page/DOMTimer.h:
81923        (WebCore::DOMTimer::minTimerInterval):
81924        (WebCore::DOMTimer::setMinTimerInterval):
81925
819262009-07-24  Eric Seidel  <eric@webkit.org>
81927
81928        Reviewed by Adam Barth.
81929
81930        Classes call DOMObject::mark() explicitly, should call DOMObjectWithGlobal::mark() instead
81931        https://bugs.webkit.org/show_bug.cgi?id=27641
81932
81933        Nothing uses globalObject() yet, but this was causing crashes
81934        in the patch for bug 27634.  This is covered by fast/dom/gc-6.html.
81935
81936        I decided to change these to Base:: instead of DOMObjectWithGlobal::
81937        for future-proofing.  All autogenerated classes use a typedef Base
81938        to avoid bugs like these.  Sadly C+does not have a built-in super:: we could use.
81939
81940        * WebCore.xcodeproj/project.pbxproj:
81941        * bindings/js/JSAbstractWorkerCustom.cpp:
81942        (WebCore::JSAbstractWorker::mark):
81943        * bindings/js/JSDOMApplicationCacheCustom.cpp:
81944        (WebCore::JSDOMApplicationCache::mark):
81945        * bindings/js/JSMessageChannelCustom.cpp:
81946        (WebCore::JSMessageChannel::mark):
81947        * bindings/js/JSMessagePortCustom.cpp:
81948        (WebCore::JSMessagePort::mark):
81949        * bindings/js/JSNamedNodesCollection.cpp:
81950        (WebCore::JSNamedNodesCollection::getOwnPropertySlot):
81951        * bindings/js/JSNodeCustom.cpp:
81952        (WebCore::JSNode::mark):
81953        * bindings/js/JSNodeFilterCustom.cpp:
81954        (WebCore::JSNodeFilter::mark):
81955        * bindings/js/JSNodeIteratorCustom.cpp:
81956        (WebCore::JSNodeIterator::mark):
81957        * bindings/js/JSSVGElementInstanceCustom.cpp:
81958        (WebCore::JSSVGElementInstance::mark):
81959        * bindings/js/JSTreeWalkerCustom.cpp:
81960        (WebCore::JSTreeWalker::mark):
81961
819622009-07-22  Eric Seidel  <eric@webkit.org>
81963
81964        Reviewed by Adam Barth.
81965
81966        Make most DOMObjects hold onto a JSDOMGlobalObject*
81967        https://bugs.webkit.org/show_bug.cgi?id=27588
81968
81969        This change is almost entirely plumbing.  Only one functional
81970        change as part of this all (window.document.constructor has the correct prototype)
81971        Changes are detailed below.
81972
81973        inner.document.constructor is fixed because all properties on the window
81974        object are created with the correct globalObject (instead of the lexical one).
81975        Since all objects now carry a globalObject pointer, when document creates
81976        HTMLDocumentConstructor it now has the right globalObject to use.
81977
81978        Tests:
81979          fast/dom/prototype-inheritance.html
81980          fast/dom/prototype-inheritance-2.html
81981
81982        * bindings/js/DOMObjectWithSVGContext.h:
81983        (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext):
81984            Update the comment and add an ignored globalObject argument.
81985        * bindings/js/JSDOMBinding.h:
81986            Pass a globalObject to all DOMObjects during creation.  Currently it's the wrong global object.
81987            Once toJS is passed a globalObject it will be the right one.
81988        (WebCore::createDOMObjectWrapper):
81989        (WebCore::createDOMNodeWrapper):
81990        * bindings/js/JSDOMGlobalObject.h:
81991        (WebCore::JSDOMGlobalObject::globalObject): Makes binding generation easier.
81992        * bindings/js/JSDOMWindowCustom.cpp:
81993        (WebCore::JSDOMWindow::history): JSHistory is now passed a globalObject, but since it has no custom constructor it doesn't use it.
81994        (WebCore::JSDOMWindow::location): JSLocation is now passed a globalObject, but since it has no custom constructor it doesn't use it.
81995        * bindings/js/JSDocumentCustom.cpp:
81996        (WebCore::JSDocument::location): JSLocation is now passed a globalObject, but since it has no custom constructor it doesn't use it.
81997        * bindings/js/JSHTMLAllCollection.h:
81998        (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
81999        * bindings/js/JSHTMLCollectionCustom.cpp: Re-factoring needed to pass globalObject to JSNamedNodesCollection constructor.
82000        (WebCore::getNamedItems):
82001        (WebCore::callHTMLCollection):
82002        (WebCore::JSHTMLCollection::canGetItemsForName):
82003        (WebCore::JSHTMLCollection::nameGetter):
82004        (WebCore::JSHTMLCollection::item):
82005        (WebCore::JSHTMLCollection::namedItem):
82006        * bindings/js/JSHTMLFormElementCustom.cpp:
82007        (WebCore::JSHTMLFormElement::nameGetter):
82008        * bindings/js/JSNamedNodesCollection.cpp:
82009             Now passed globalObject.  This is tested by inner.document.forms.testForm.
82010             The passed globalObject is still wrong until toJS is fixed.
82011        (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
82012        * bindings/js/JSNamedNodesCollection.h:
82013        * bindings/js/JSSharedWorkerConstructor.cpp:
82014             Add DOMConstructorObject missed by http://trac.webkit.org/changeset/45938
82015             This class is not compiled by default, so not testable.
82016        (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
82017        * bindings/js/JSSharedWorkerConstructor.h:
82018        * bindings/scripts/CodeGeneratorJS.pm:
82019             Make all bindings objects carry a globalObject pointer using DOMObjectWithGlobalPointer.
82020             SVG bindings which need a context() pointer do not have enough space for globalObject() too.
82021             WorkerContext does not need a globalObject (it is one), so special case it.
82022             Make all .constructor calls use the stored globalObject().  This is what fixes window.document.constructor.
82023             Make all constructors inherit from DOMConstructorObject for consistency.  Since the auto-bound constructors
82024             override createStructure anyway, there is no functional change here.  Just completing work started in r45938.
82025
820262009-07-23  Brady Eidson  <beidson@apple.com>
82027
82028        Reviewed by Geoff Garen.
82029
82030        WebCore has a few places that don't gracefully handle a null request returned from willSendRequest.
82031        https://bugs.webkit.org/show_bug.cgi?id=27595
82032
82033        Test: http/tests/misc/will-send-request-returns-null-on-redirect.html
82034        
82035        * inspector/InspectorController.cpp:
82036        (WebCore::InspectorController::removeResource): Null-check the request URL.
82037        
82038        * platform/network/cf/ResourceHandleCFNet.cpp: Ditto, and return null instead of creating an empty one.
82039        (WebCore::willSendRequest):
82040
820412009-07-23  Chris Fleizach  <cfleizach@apple.com>
82042
82043        Reviewed by Darin Adler.
82044
82045        Bug 27633 - AXLoadComplete can be fired off to frequently
82046        https://bugs.webkit.org/show_bug.cgi?id=27633
82047
82048        An integration issue left out some curly braces.
82049
82050        * dom/Document.cpp:
82051        (WebCore::Document::implicitClose):
82052
820532009-07-23  Darin Adler  <darin@apple.com>
82054
82055        Reviewed by Brady Eidson.
82056
82057        URL appears in back/forward button menu instead of title for items with custom representation
82058        https://bugs.webkit.org/show_bug.cgi?id=27586
82059        rdar://problem/5060337
82060
82061        * WebCore.base.exp: Exported DocumentLoader::setTitle for use by Mac WebKit.
82062        * loader/FrameLoader.cpp:
82063        (WebCore::FrameLoader::didChangeTitle): Tightened code to check if the document
82064        loader is the correct one; previously this would never happen because we'd
82065        commit the load before any title changes could be registered, but now we can
82066        encounter a case where we get a title during a provisional load.
82067
820682009-07-23  Dan Bernstein  <mitz@apple.com>
82069
82070        Reviewed by Dave Hyatt.
82071
82072        [CSS3 Backgrounds and Borders] Add support for inset box shadows
82073        https://bugs.webkit.org/show_bug.cgi?id=27582
82074
82075        Test: fast/box-shadow/inset.html
82076
82077        * css/CSSComputedStyleDeclaration.cpp:
82078        (WebCore::valueForShadow): Set the ShadowValue’s shadow style to 'inset'
82079            as needed.
82080
82081        * css/CSSParser.cpp:
82082        (WebCore::ShadowParseContext::ShadowParseContext): Added style and allowStyle
82083            members. Initialize the allowStyle member.
82084        (WebCore::ShadowParseContext::commitValue): Pass the style value to the
82085            ShadowValue constructor. Reset allowStyle.
82086        (WebCore::ShadowParseContext::commitLength): Update allowStyle.
82087        (WebCore::ShadowParseContext::commitColor): Ditto.
82088        (WebCore::ShadowParseContext::commitStyle): Added. Sets the style member and
82089            updates the state.
82090        (WebCore::CSSParser::parseShadow): Parse the 'inset' keyword.
82091
82092        * css/CSSStyleSelector.cpp:
82093        (WebCore::CSSStyleSelector::applyProperty): Get the style value from the
82094            shadow value and pass it to the ShadowData constructor.
82095
82096        * css/ShadowValue.cpp:
82097        (WebCore::ShadowValue::ShadowValue): Added style.
82098        (WebCore::ShadowValue::cssText): Added style.
82099
82100        * css/ShadowValue.h:
82101        (WebCore::ShadowValue::create): Added style.
82102
82103        * page/animation/AnimationBase.cpp:
82104        (WebCore::blendFunc): Added a blend function for shadow styles. When blending
82105            between normal and inset shadows, all intermediate values map to normal.
82106        (WebCore::PropertyWrapperShadow::blend): Added normal style to the default
82107            shadow.
82108            
82109        * rendering/InlineFlowBox.cpp:
82110        (WebCore::InlineFlowBox::paintBoxShadow): Added a shadow style parameter,
82111            which is passed through to RenderBoxModelObject::paintBoxShadow().
82112
82113        (WebCore::InlineFlowBox::paintBoxDecorations): Paint inset shadows on top of
82114            the background.
82115
82116        * rendering/InlineFlowBox.h:
82117
82118        * rendering/RenderBox.cpp:
82119        (WebCore::RenderBox::paintBoxDecorations): Paint inset shadows on top of the
82120            background.
82121
82122        * rendering/RenderBoxModelObject.cpp:
82123        (WebCore::RenderBoxModelObject::paintBoxShadow): Added a shadow style
82124            parameter, and code to paint inset shadows.
82125
82126        * rendering/RenderBoxModelObject.h:
82127
82128        * rendering/RenderFieldset.cpp:
82129        (WebCore::RenderFieldset::paintBoxDecorations): Paint inset shadows on top of
82130            the background.
82131
82132        * rendering/RenderTable.cpp:
82133        (WebCore::RenderTable::paintBoxDecorations): Ditto.
82134
82135        * rendering/RenderTableCell.cpp:
82136        (WebCore::RenderTableCell::paintBoxDecorations): Ditto.
82137
82138        * rendering/style/ShadowData.h:
82139        Added a ShadowStyle enum.
82140        (WebCore::ShadowData::ShadowData): Add and initialize a style member.
82141
821422009-07-23  Simon Fraser  <simon.fraser@apple.com>
82143
82144        Fix the build with UNUSED_PARAM(frame) for when ENABLE(3D_RENDERING) is not defined.
82145
82146        * css/MediaQueryEvaluator.cpp:
82147        (WebCore::transform_3dMediaFeatureEval):
82148
821492009-07-23  Simon Fraser  <simon.fraser@apple.com>
82150
82151        Reviewed by Adele Peterson.
82152
82153        3d-transforms media query needs to look check that accelerated compositing is enabled
82154        https://bugs.webkit.org/show_bug.cgi?id=27621
82155        
82156        When evaluating a media query with '-webkit-transform-3d', we need to check the
82157        runtime switch that toggles accererated compositing, and therefore 3D.
82158        
82159        No test because we can't disable the pref dynamically in DRT.
82160
82161        * css/MediaQueryEvaluator.cpp:
82162        (WebCore::transform_3dMediaFeatureEval):
82163
821642009-07-22  Ryosuke Niwa  <rniwa@webkit.org>
82165
82166        Reviewed by Eric Seidel.
82167
82168        execCommand('underline') can't remove <U> underlines
82169        https://bugs.webkit.org/show_bug.cgi?id=20215
82170
82171        This patch adds support for u, s, and strike to implicitlyStyledElementShouldBeRemovedWhenApplyingStyle so that
82172        WebKit can remove those presentational tags when necessary.
82173        It also modifies StyleChange::init not to add "text-decoration: none".  Not only is this style meaningless
82174        (does not override inherited styles) but it was also causing WebKit to generate extra spans with this style.
82175
82176        * css/CSSValueList.cpp:
82177        (WebCore::CSSValueList::hasValue): True if the property contains the specified value
82178        * css/CSSValueList.h: Updated prototype
82179        * editing/ApplyStyleCommand.cpp:
82180        (WebCore::StyleChange::init): No longer adds "text-decoration: none"
82181        (WebCore::ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle): Supports text-decoration-related elements
82182
821832009-07-23  Jessie Berlin  <jberlin@apple.com>
82184        
82185        Reviewed by Dan Bernstein.
82186
82187        https://bugs.webkit.org/show_bug.cgi?id=27554
82188        Expose the value of text-overflow in getComputedStyle.
82189
82190        Test: fast/css/getComputedStyle/getComputedStyle-text-overflow.html
82191
82192        * css/CSSComputedStyleDeclaration.cpp:
82193        (WebCore::):
82194        Add text-overflow to the list of computedProperties.
82195        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
82196        Return the value of the text-overflow property.
82197
821982009-07-23  Yongjun Zhang  <yongjun.zhang@nokia.com>
82199
82200        Reviewed by Simon Hausmann.
82201
82202        https://bugs.webkit.org/show_bug.cgi?id=27510
82203
82204        [S60 QtWebKit] Don't put some intermediate generated files into the final mmp project
82205        file for linking. This is a temporary workaround for qmake bug in Symbian port, should 
82206        be reverted after qmake is fixed.
82207
82208        * WebCore.pro:
82209
822102009-07-23  Jian Li  <jianli@chromium.org>
82211
82212        Reviewed by David Levin.
82213
82214        [V8] Fix an assert in running workers in Chrome.
82215        https://bugs.webkit.org/show_bug.cgi?id=27620
82216
82217        The fix is to change V8DOMMap::removeAllDOMObjectsInCurrentThreadHelper
82218        to do not call removeObjectsFromWrapperMap for certain types of DOM
82219        objects that exist only in main thread.
82220
82221        * bindings/v8/V8DOMMap.cpp:
82222        (WebCore::removeAllDOMObjectsInCurrentThreadHelper):
82223
822242009-07-23  David Hyatt  <hyatt@apple.com>
82225
82226        Reviewed by Dan Bernstein.
82227
82228        https://bugs.webkit.org/show_bug.cgi?id=27572
82229        Implement support for background-attachment:local.
82230
82231        Added new test fast/overflow/overflow-with-local-attachment.html.
82232
82233        * css/CSSComputedStyleDeclaration.cpp:
82234        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
82235        * css/CSSParser.cpp:
82236        (WebCore::CSSParser::parseFillProperty):
82237        * css/CSSPrimitiveValueMappings.h:
82238        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
82239        (WebCore::CSSPrimitiveValue::operator EFillAttachment):
82240        * css/CSSStyleSelector.cpp:
82241        (WebCore::CSSStyleSelector::mapFillAttachment):
82242        * css/CSSValueKeywords.in:
82243        * rendering/RenderBoxModelObject.cpp:
82244        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
82245        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
82246        * rendering/style/FillLayer.h:
82247        (WebCore::FillLayer::attachment):
82248        (WebCore::FillLayer::setAttachment):
82249        (WebCore::FillLayer::hasFixedImage):
82250        (WebCore::FillLayer::initialFillAttachment):
82251        * rendering/style/RenderStyle.h:
82252        (WebCore::InheritedFlags::backgroundAttachment):
82253        (WebCore::InheritedFlags::maskAttachment):
82254        * rendering/style/RenderStyleConstants.h:
82255        (WebCore::):
82256
822572009-07-23  Ryosuke Niwa  <rniwa@webkit.org>
82258
82259        Reviewed by Eric Seidel.
82260
82261        copyInheritableProperties and removeComputedInheritablePropertiesFrom should be deprecated
82262        https://bugs.webkit.org/show_bug.cgi?id=27325
82263
82264        This patch deprecates copyInheritableProperties because it has been used for two different purposes:
82265        1.  Calculating the typing style.
82266        2.  Moving HTML subtrees and seeking to remove redundant styles.
82267        These tasks should be broken out into two separate functions.  New code should not use this function.
82268
82269        It deletes removeComputedInheritablePropertiesFrom because it hasn't been used anywhere.
82270
82271        There is no test since the patch does not change any behavior.
82272
82273        * css/CSSComputedStyleDeclaration.cpp: removeComputedInheritablePropertiesFrom has been removed
82274        (WebCore::CSSComputedStyleDeclaration::deprecatedCopyInheritableProperties): has been renamed from copyInheritableProperties
82275        * css/CSSComputedStyleDeclaration.h: ditto
82276        * editing/DeleteSelectionCommand.cpp: ditto
82277        (WebCore::removeEnclosingAnchorStyle): ditto
82278        (WebCore::DeleteSelectionCommand::saveTypingStyleState): ditto
82279        * editing/EditCommand.cpp: ditto
82280        (WebCore::EditCommand::styleAtPosition): ditto
82281        * editing/RemoveFormatCommand.cpp: ditto
82282        (WebCore::RemoveFormatCommand::doApply): ditto
82283        * editing/ReplaceSelectionCommand.cpp: ditto
82284        (WebCore::handleStyleSpansBeforeInsertion): ditto
82285        (WebCore::ReplaceSelectionCommand::handleStyleSpans): ditto
82286        * editing/markup.cpp: ditto
82287        (WebCore::removeEnclosingMailBlockquoteStyle): ditto
82288        (WebCore::removeDefaultStyles): ditto
82289        (WebCore::createMarkup): ditto
82290
822912009-07-22  Pierre d'Herbemont  <pdherbemont@apple.com>
82292
82293        Reviewed by Simon Fraser.
82294
82295        Audio element at default width shouldn't have time field.
82296        https://bugs.webkit.org/show_bug.cgi?id=27589
82297
82298        * rendering/MediaControlElements.cpp:
82299        (WebCore::MediaControlTimeDisplayElement::setVisible): Make sure we don't
82300        forget to remember the visibility if there is no renderer.
82301
823022009-07-23  Beth Dakin  <bdakin@apple.com>
82303
82304        Reviewed by Darin Adler.
82305
82306        Fix for https://bugs.webkit.org/show_bug.cgi?id=27598 Clean up the 
82307        AccessibilityObject class
82308
82309        Mostly this is just moving empty stubs into the header rather than 
82310        muddying the cpp file with them. A few functions were made pure 
82311        virtual.
82312
82313        * accessibility/AccessibilityObject.cpp:
82314        (WebCore::AccessibilityObject::isARIAControl):
82315        (WebCore::AccessibilityObject::clickPoint):
82316        (WebCore::AccessibilityObject::documentFrameView):
82317        (WebCore::AccessibilityObject::actionVerb):
82318        * accessibility/AccessibilityObject.h:
82319        (WebCore::AccessibilityObject::intValue):
82320        (WebCore::AccessibilityObject::layoutCount):
82321        (WebCore::AccessibilityObject::doAccessibilityHitTest):
82322        (WebCore::AccessibilityObject::focusedUIElement):
82323        (WebCore::AccessibilityObject::firstChild):
82324        (WebCore::AccessibilityObject::lastChild):
82325        (WebCore::AccessibilityObject::previousSibling):
82326        (WebCore::AccessibilityObject::nextSibling):
82327        (WebCore::AccessibilityObject::parentObjectIfExists):
82328        (WebCore::AccessibilityObject::observableObject):
82329        (WebCore::AccessibilityObject::linkedUIElements):
82330        (WebCore::AccessibilityObject::titleUIElement):
82331        (WebCore::AccessibilityObject::ariaRoleAttribute):
82332        (WebCore::AccessibilityObject::isPresentationalChildOfAriaRole):
82333        (WebCore::AccessibilityObject::ariaRoleHasPresentationalChildren):
82334        (WebCore::AccessibilityObject::roleValue):
82335        (WebCore::AccessibilityObject::ariaAccessiblityName):
82336        (WebCore::AccessibilityObject::ariaLabeledByAttribute):
82337        (WebCore::AccessibilityObject::ariaDescribedByAttribute):
82338        (WebCore::AccessibilityObject::accessibilityDescription):
82339        (WebCore::AccessibilityObject::ariaSelectedTextDOMRange):
82340        (WebCore::AccessibilityObject::axObjectCache):
82341        (WebCore::AccessibilityObject::axObjectID):
82342        (WebCore::AccessibilityObject::setAXObjectID):
82343        (WebCore::AccessibilityObject::anchorElement):
82344        (WebCore::AccessibilityObject::actionElement):
82345        (WebCore::AccessibilityObject::boundingBoxRect):
82346        (WebCore::AccessibilityObject::selectedTextRange):
82347        (WebCore::AccessibilityObject::selectionStart):
82348        (WebCore::AccessibilityObject::selectionEnd):
82349        (WebCore::AccessibilityObject::url):
82350        (WebCore::AccessibilityObject::selection):
82351        (WebCore::AccessibilityObject::stringValue):
82352        (WebCore::AccessibilityObject::title):
82353        (WebCore::AccessibilityObject::helpText):
82354        (WebCore::AccessibilityObject::textUnderElement):
82355        (WebCore::AccessibilityObject::text):
82356        (WebCore::AccessibilityObject::textLength):
82357        (WebCore::AccessibilityObject::selectedText):
82358        (WebCore::AccessibilityObject::accessKey):
82359        (WebCore::AccessibilityObject::widget):
82360        (WebCore::AccessibilityObject::widgetForAttachmentView):
82361        (WebCore::AccessibilityObject::setFocused):
82362        (WebCore::AccessibilityObject::setSelectedText):
82363        (WebCore::AccessibilityObject::setSelectedTextRange):
82364        (WebCore::AccessibilityObject::setValue):
82365        (WebCore::AccessibilityObject::setSelected):
82366        (WebCore::AccessibilityObject::makeRangeVisible):
82367        (WebCore::AccessibilityObject::childrenChanged):
82368        (WebCore::AccessibilityObject::addChildren):
82369        (WebCore::AccessibilityObject::hasChildren):
82370        (WebCore::AccessibilityObject::selectedChildren):
82371        (WebCore::AccessibilityObject::visibleChildren):
82372        (WebCore::AccessibilityObject::visiblePositionRange):
82373        (WebCore::AccessibilityObject::visiblePositionRangeForLine):
82374        (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
82375        (WebCore::AccessibilityObject::setSelectedVisiblePositionRange):
82376        (WebCore::AccessibilityObject::visiblePositionForPoint):
82377        (WebCore::AccessibilityObject::nextVisiblePosition):
82378        (WebCore::AccessibilityObject::previousVisiblePosition):
82379        (WebCore::AccessibilityObject::visiblePositionForIndex):
82380        (WebCore::AccessibilityObject::indexForVisiblePosition):
82381        (WebCore::AccessibilityObject::index):
82382        (WebCore::AccessibilityObject::doAXRangeForLine):
82383        (WebCore::AccessibilityObject::doAXRangeForIndex):
82384        (WebCore::AccessibilityObject::doAXStringForRange):
82385        (WebCore::AccessibilityObject::doAXBoundsForRange):
82386        (WebCore::AccessibilityObject::updateBackingStore):
82387
823882009-07-23  Brian Weinstein  <bweinstein@apple.com>
82389
82390        Reviewed by David Hyatt.
82391
82392        Fix of <rdar://4877658> Dragging from the area between the horizontal/vertical scrollbars when status bar is showing starts a selection and autoscroll.
82393
82394        * page/EventHandler.cpp:
82395        (WebCore::EventHandler::handleMousePressEvent):
82396        * platform/ScrollView.cpp:
82397        (WebCore::ScrollView::wheelEvent):
82398        * platform/ScrollView.h:
82399
824002009-07-23  David Hyatt  <hyatt@apple.com>
82401
82402        Reviewed by Dan Bernstein.
82403
82404        https://bugs.webkit.org/show_bug.cgi?id=27581
82405        Drop the prefix from the box-shadow property.
82406
82407        * css/CSSComputedStyleDeclaration.cpp:
82408        (WebCore::):
82409        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
82410        * css/CSSParser.cpp:
82411        (WebCore::CSSParser::parseValue):
82412        (WebCore::ShadowParseContext::commitLength):
82413        (WebCore::cssPropertyID):
82414        * css/CSSPropertyNames.in:
82415        * css/CSSStyleSelector.cpp:
82416        (WebCore::CSSStyleSelector::applyProperty):
82417        * page/animation/AnimationBase.cpp:
82418        (WebCore::ensurePropertyMap):
82419
824202009-07-22  Viet-Trung Luu  <viettrungluu@gmail.com>
82421
82422        Reviewed by David Hyatt.
82423
82424        https://bugs.webkit.org/show_bug.cgi?id=27289
82425        When a mouse click occurs on a scrollbar without a preceding mouse move
82426        onto it, the release isn't handled correctly (since
82427        EventHandler::m_lastScrollbarUnderMouse isn't set on mouse down, but
82428        only on mouse move). (Side comment: That scrollbar-handling code
82429        in EventHandler is ugly. It should be fixed properly.)
82430
82431        Tests: scrollbars/scrollbar-miss-mousemove.html
82432               scrollbars/scrollbar-miss-mousemove-disabled.html
82433
82434        * page/EventHandler.cpp:
82435        (WebCore::EventHandler::handleMousePressEvent):
82436        (WebCore::EventHandler::handleMouseMoveEvent):
82437        (WebCore::EventHandler::updateLastScrollbarUnderMouse):
82438        * page/EventHandler.h:
82439
824402009-07-23  Mike Fenton  <mike.fenton@torchmobile.com>
82441
82442        Reviewed by David Levin.
82443
82444        Update WebCore/page/BarInfo.cpp to conform to WebKit
82445        Style Guidelines as identified by cpplint.py.
82446        https://bugs.webkit.org/show_bug.cgi?id=27606
82447
82448        * page/BarInfo.cpp:
82449        (WebCore::BarInfo::visible):
82450
824512009-07-23  Mike Fenton  <mike.fenton@torchmobile.com>
82452
82453        Reviewed by David Levin.
82454
82455        Update WebCore/page/Console.cpp to conform to WebKit
82456        Style Guidelines as identified by cpplint.py.
82457        https://bugs.webkit.org/show_bug.cgi?id=27606
82458
82459        * page/Console.cpp:
82460        (WebCore::printMessageSourceAndLevelPrefix):
82461        (WebCore::Console::profile):
82462        (WebCore::Console::time):
82463
824642009-07-23  Simon Hausmann  <simon.hausmann@nokia.com>
82465
82466        Reviewed by Holger Freyther.
82467
82468        Fix crashes with the QObject bindings after garbage collection.
82469
82470        There is one QtInstance per wrapped QObject, and that QtInstance keeps
82471        references to cached JSObjects for slots. When those objects get
82472        deleted due to GC, then they becoming dangling pointers.
82473
82474        When a cached member dies, it is now removed from the QtInstance's
82475        cache.
82476
82477        As we cannot track the lifetime of the children, we have to remove
82478        them from QtInstance alltogether. They are not cached and were
82479        only used for mark(), but we _want_ them to be subject to gc.
82480
82481        * bridge/qt/qt_instance.cpp:
82482        (JSC::Bindings::QtInstance::~QtInstance): Minor coding style cleanup,
82483        use qDeleteAll().
82484        (JSC::Bindings::QtInstance::removeCachedMethod): New function, to
82485        clean m_methods and m_defaultMethod.
82486        (JSC::Bindings::QtInstance::mark): Avoid marking already marked objects.
82487        (JSC::Bindings::QtField::valueFromInstance): Don't save children for
82488        marking.
82489        * bridge/qt/qt_instance.h: Declare removeCachedMethod.
82490        * bridge/qt/qt_runtime.cpp:
82491        (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod): Call removeCachedMethod
82492        with this on the instance.
82493
824942009-07-23  Xan Lopez  <xlopez@igalia.com>
82495
82496        Reviewed by Mark Rowe.
82497
82498        https://bugs.webkit.org/show_bug.cgi?id=27599
82499        'const unsigned' in return value
82500
82501        Remove const modifier from unsigned return value, as it does not
82502        make sense.
82503
82504        * dom/ErrorEvent.h:
82505
825062009-07-22  Jens Alfke  <snej@chromium.org>
82507
82508        Reviewed by David Levin.
82509
82510        Bug 22784: Improve keyboard navigation of Select elements.
82511        Home/End and PageUp/PageDn buttons do not do anything in drop down lists,
82512        on non-Mac platforms.
82513        https://bugs.webkit.org/show_bug.cgi?id=22784
82514        http://code.google.com/p/chromium/issues/detail?id=4576
82515
82516        New test: LayoutTests/fast/forms/select-popup-pagekeys.html
82517
82518        * dom/SelectElement.cpp:
82519        (WebCore::nextValidIndex): 
82520        New utility fn for traversing items of a select's list.
82521        (WebCore::SelectElement::menuListDefaultEventHandler):
82522        Added code to handle Home/End and PageUp/PageDn when ARROW_KEYS_POP_MENU is false.
82523
825242009-07-23  Xan Lopez  <xlopez@igalia.com>
82525
82526        Reviewed by Mark Rowe.
82527
82528        Fix a couple of compiler warnings.
82529
82530        * platform/graphics/cairo/ImageBufferCairo.cpp:
82531        (copySurface):
82532        * platform/graphics/gtk/SimpleFontDataGtk.cpp:
82533        (WebCore::SimpleFontData::containsCharacters):
82534
825352009-07-22  Simon Hausmann  <simon.hausmann@nokia.com>
82536
82537        Rubber-stamped by David Levin.
82538
82539        Enable HTML5 Datagrid defines for the Qt build.
82540
82541        * WebCore.pro:
82542
825432009-07-22  Adam Barth  <abarth@webkit.org>
82544
82545        Reviewed by David Levin.
82546
82547        [V8] Make Node wrappers go fast
82548        https://bugs.webkit.org/show_bug.cgi?id=27597
82549
82550        Profiles indicate we're spending a lot of time asking whether we're on
82551        the main thread when looking up DOM wrappers for Nodes, but there isn't
82552        much point in doing that work because Nodes only exist on the main
82553        thread.  I've also added an assert to keep us honest in this regard.
82554
82555        * bindings/v8/V8DOMMap.cpp:
82556        (WebCore::):
82557        (WebCore::getDOMNodeMap):
82558        (WebCore::DOMData::getCurrent):
82559        (WebCore::DOMData::getCurrentMainThread):
82560
825612009-07-22  Adam Barth  <abarth@webkit.org>
82562
82563        Reviewed by Alexey Proskuryakov.
82564
82565        Remove unneeded virtual destructor from ScriptSourceProvider
82566        https://bugs.webkit.org/show_bug.cgi?id=27563
82567
82568        * bindings/js/ScriptSourceProvider.h:
82569
825702009-07-22  Ryosuke Niwa  <rniwa@webkit.org>
82571
82572        Reviewed by Eric Seidel.
82573
82574        execCommand('underline' / 'strikeThrough') doesn't work properly with multiple styles in text-decoration
82575        https://bugs.webkit.org/show_bug.cgi?id=27476
82576
82577        executeStrikethrough and executeUnderline were toggling between "line-through" / "underline" and "none".
82578        This patch adds executeToggleStyleInList that toggles a style in CSSValueList instead of toggling the entire value.
82579        It modifies CSSComputedStyleDeclaration to return CSSValueList instead of CSSPrimitiveValue for text decorations,
82580        and adds removeAll member function to CSSValueList.
82581
82582        Tests: editing/execCommand/toggle-text-decorations.html
82583               fast/css/getComputedStyle/getComputedStyle-text-decoration.html
82584
82585        * css/CSSComputedStyleDeclaration.cpp:
82586        (WebCore::renderTextDecorationFlagsToCSSValue): Creates a CSSValueList
82587        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Returns a CSSValueList instead of CSSValue
82588        * css/CSSParser.cpp:
82589        (WebCore::CSSParser::parseValue): Text decorations are space separated instead of comma separated
82590        * css/CSSValueList.cpp:
82591        (WebCore::CSSValueList::removeAll): Removes all values that match the specified value
82592        * css/CSSValueList.h:
82593        * editing/EditorCommand.cpp:
82594        (WebCore::applyCommandToFrame): Apply style to a frame using specified command
82595        (WebCore::executeApplyStyle): Uses applyCommandToFrame
82596        (WebCore::executeToggleStyleInList): Uses applyCommandToFrame
82597        (WebCore::executeToggleStyle): Toggles a style in CSSValueList
82598        (WebCore::executeStrikethrough): Uses executeToggleStyleInList
82599        (WebCore::executeUnderline): Uses executeToggleStyleInList
82600
826012009-07-22  Daniel Bates  <dbates@intudata.com>
82602
82603        Reviewed by Adam Barth.
82604
82605        https://bugs.webkit.org/show_bug.cgi?id=27174
82606        And
82607        https://bugs.webkit.org/show_bug.cgi?id=26938
82608        
82609        Code cleanup. Implements support for detecting attacks transformed by 
82610        PHP Magic Quotes/PHP addslashes().
82611
82612        Tests: http/tests/security/xssAuditor/script-tag-addslashes-backslash.html
82613               http/tests/security/xssAuditor/script-tag-addslashes-double-quote.html
82614               http/tests/security/xssAuditor/script-tag-addslashes-null-char.html
82615               http/tests/security/xssAuditor/script-tag-addslashes-single-quote.html
82616
82617        * page/XSSAuditor.cpp:
82618        (WebCore::isInvalidCharacter):
82619        (WebCore::XSSAuditor::canEvaluate):
82620        (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
82621        (WebCore::XSSAuditor::canLoadObject):
82622        (WebCore::XSSAuditor::normalize): Decodes HTML entities, removes backslashes,
82623        and removes control characters that could otherwise cause a discrepancy between
82624        the source code of a script and the outgoing HTTP parameters.
82625        (WebCore::XSSAuditor::decodeURL):
82626        (WebCore::XSSAuditor::decodeHTMLEntities):
82627        (WebCore::XSSAuditor::findInRequest):
82628        * page/XSSAuditor.h:
82629
826302009-07-22  Oliver Hunt  <oliver@apple.com>
82631
82632        Reviewed by Adele Peterson.
82633
82634        Null deref in JSObject::mark due to null xhr wrapper
82635        https://bugs.webkit.org/show_bug.cgi?id=27565
82636
82637        Make event target binding for appcache and xhr behave in the same way as
82638        it does for all other events.
82639
82640        No test as I couldn't make a testcase which was remotely reliable.
82641
82642        * bindings/js/JSEventTarget.cpp:
82643        (WebCore::toJS):
82644
826452009-07-22  Mads Ager  <ager@chromium.org>
82646
82647        Reviewed by David Levin.
82648
82649        Inform V8 of the amount of WebCore string memory it is keeping alive.
82650        https://bugs.webkit.org/show_bug.cgi?id=27537
82651
82652        V8 uses external strings that are backed by WebCore strings. Since
82653        the external strings themselves are small, V8 has no way of
82654        knowing how much memory it is actually holding on to. With this
82655        change, we inform V8 of the amount of WebCore string data it is
82656        holding on to with external strings.
82657
82658        * bindings/v8/V8Binding.cpp:
82659        (WebCore::WebCoreStringResource::WebCoreStringResource):
82660        (WebCore::WebCoreStringResource::~WebCoreStringResource):
82661
826622009-07-22  David Hyatt  <hyatt@apple.com>
82663
82664        Reviewed by Beth Dakin.
82665
82666        https://bugs.webkit.org/show_bug.cgi?id=27562
82667        Add the finalized versions of background-clip and background-origin.  Remove background-clip from
82668        the background shorthand and have it be auto-set based off background-origin's value.
82669
82670        Three new tests added in fast/backgrounds/size
82671
82672        * css/CSSComputedStyleDeclaration.cpp:
82673        (WebCore::):
82674        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
82675        * css/CSSMutableStyleDeclaration.cpp:
82676        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
82677        * css/CSSParser.cpp:
82678        (WebCore::CSSParser::parseValue):
82679        (WebCore::CSSParser::parseFillShorthand):
82680        (WebCore::CSSParser::parseFillProperty):
82681        * css/CSSPropertyLonghand.cpp:
82682        (WebCore::initShorthandMap):
82683        * css/CSSPropertyNames.in:
82684        * css/CSSStyleSelector.cpp:
82685        (WebCore::CSSStyleSelector::applyProperty):
82686        * css/CSSValueKeywords.in:
82687
826882009-07-22  Jens Alfke  <snej@chromium.org>
82689
82690        Reviewed by Darin Fisher.
82691
82692        Hook up V8 bindings for DataGrid elements.
82693        https://bugs.webkit.org/show_bug.cgi?id=27383
82694        http://code.google.com/p/chromium/issues/detail?id=16730
82695
82696        Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/*
82697        to handle exceptions, check appropriate JS prototypes, and
82698        test column-list's item() method as well as array-indexing.
82699
82700        * WebCore.gypi: Added new source files.
82701        * bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes.
82702        * bindings/v8/DOMObjectsInclude.h: #include DataGrid headers.
82703        * bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates.
82704        (WebCore::V8DOMWrapper::getTemplate): Customize datagrid template.
82705        * bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource)
82706        (WebCore::V8DataGridDataSource::V8DataGridDataSource):
82707        (WebCore::V8DataGridDataSource::~V8DataGridDataSource):
82708        * bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource)
82709        (WebCore::V8DataGridDataSource::create):
82710        (WebCore::V8DataGridDataSource::isJSDataGridDataSource):
82711        (WebCore::V8DataGridDataSource::jsDataSource):
82712        (WebCore::asV8DataGridDataSource):
82713        * bindings/v8/V8GCController.h: Added new handle type "DATASOURCE".
82714        * bindings/v8/V8Index.h: Conditionalize datagrid stuff.
82715        * bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize.
82716        * bindings/v8/custom/V8DataGridColumnListCustom.cpp: Added.
82717        * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors.
82718        (WebCore::ACCESSOR_GETTER):
82719        (WebCore::ACCESSOR_SETTER):
82720
827212009-07-22  Ryosuke Niwa  <rniwa@webkit.org>
82722
82723        Reviewed by Eric Seidel.
82724
82725        pushDownTextDecorationStyleAroundNode needs clean up
82726        https://bugs.webkit.org/show_bug.cgi?id=27556
82727
82728        Cleaned up. pushDownTextDecorationStyleAroundNode traverses tree vertically from highestAncestor to targetNode
82729        While traversing, it will apply the specified style to all nodes but targetNode.
82730        i.e. the style is applies to all ancestor nodes and their siblings of targetNode.
82731
82732        * editing/ApplyStyleCommand.cpp:
82733        (WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode): Cleaned up and added comments
82734        * editing/ApplyStyleCommand.h: Updated prototype
82735
827362009-07-22  Peter Kasting  <pkasting@google.com>
82737
82738        Reviewed by David Kilzer.
82739
82740        https://bugs.webkit.org/show_bug.cgi?id=27323
82741        Handle any type of line endings in WebCore/css/*CSSPropertyNames.in.
82742
82743        * DerivedSources.make:
82744        * css/makeprop.pl:
82745        * css/makevalues.pl:
82746
827472009-07-22  Paul Godavari  <paul@chromium.org>
82748
82749        Reviewed by Darin Fisher.
82750
82751        Chromium has a build break after removal of JSRGBColor bindings
82752        https://bugs.webkit.org/show_bug.cgi?id=27548
82753
82754        Fix a build break in Chromium V8 after the JSRGBColor bindings change:
82755        https://bugs.webkit.org/show_bug.cgi?id=27242
82756
82757        * bindings/scripts/CodeGeneratorV8.pm:
82758
827592009-07-22  Adam Langley  <agl@google.com>
82760
82761        Reviewed by Darin Fisher.
82762
82763        Chromium Linux: add static functions to FontPlatformData which allow
82764        for setting the global font rendering preferences.
82765
82766        https://bugs.webkit.org/show_bug.cgi?id=27513
82767        http://code.google.com/p/chromium/issues/detail?id=12179
82768
82769        This should not affect any layout tests.
82770
82771        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
82772        (WebCore::FontPlatformData::setHinting):
82773        (WebCore::FontPlatformData::setAntiAlias):
82774        (WebCore::FontPlatformData::setSubpixelGlyphs):
82775        (WebCore::FontPlatformData::setupPaint):
82776        * platform/graphics/chromium/FontPlatformDataLinux.h:
82777
827782009-07-22  Mikhail Naganov  <mnaganov@chromium.org>
82779
82780        Reviewed by Timothy Hatcher.
82781
82782        Move Inspector panels creation into a function to make possible introducing
82783        custom panels.
82784
82785        * inspector/front-end/inspector.js:
82786        (WebInspector._createPanels):
82787        (WebInspector.loaded):
82788
827892009-07-22  Pavel Feldman  <pfeldman@chromium.org>
82790
82791        Reviewed by Timothy Hatcher.
82792
82793        WebInspector: Print console command message upon evaluate
82794        selection request; Handle errors in evaluation request
82795        properly.
82796
82797        https://bugs.webkit.org/show_bug.cgi?id=27535
82798
82799        * inspector/front-end/ScriptsPanel.js:
82800        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
82801        * inspector/front-end/SourceFrame.js:
82802        (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
82803
828042009-07-22  Xan Lopez  <xlopez@igalia.com>
82805
82806        Attempt to fix the GTKbuild.
82807
82808        * GNUmakefile.am:
82809
828102009-07-21  Simon Hausmann  <simon.hausmann@nokia.com>
82811
82812        Fix the Qt build.
82813
82814        * WebCore.pro: Add RGBColor.cpp to the build, remove JSRGBColor.
82815
828162009-07-21  Daniel Bates  <dbates@intudata.com>
82817
82818        Reviewed by Adam Barth.
82819
82820        https://bugs.webkit.org/show_bug.cgi?id=27494
82821
82822        Fixes an issue that can cause a crash or unexpected behavior when calling
82823        WebCore::ScriptSourceCode::source on a cached script.
82824
82825        * GNUmakefile.am:
82826        * WebCore.gypi:
82827        * WebCore.pro:
82828        * WebCore.vcproj/WebCore.vcproj:
82829        * WebCore.xcodeproj/project.pbxproj:
82830        * bindings/js/CachedScriptSourceProvider.h: Modified to inherit from 
82831        WebCore::ScriptSourceCode.
82832        (WebCore::CachedScriptSourceProvider::source):
82833        (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
82834        * bindings/js/ScriptSourceCode.h:
82835        (WebCore::ScriptSourceCode::ScriptSourceCode): Separated out source provider and
82836        rewrote to use WebCore::ScriptSourceProvider.
82837        (WebCore::ScriptSourceCode::source):
82838        * bindings/js/ScriptSourceProvider.h: Added.
82839        (WebCore::ScriptSourceProvider::ScriptSourceProvider):
82840        (WebCore::ScriptSourceProvider::~ScriptSourceProvider):
82841        * bindings/js/StringSourceProvider.h: Modified to inherit from 
82842        WebCore::ScriptSourceCode.
82843        (WebCore::StringSourceProvider::StringSourceProvider):
82844
828452009-07-21  Sam Weinig  <sam@webkit.org>
82846
82847        Another attempt to fix the Windows build.
82848
82849        * WebCore.vcproj/WebCore.vcproj:
82850
828512009-07-21  Sam Weinig  <sam@webkit.org>
82852
82853        Attempt to fix the Windows build.
82854
82855        * DerivedSources.cpp:
82856
828572009-07-21  Sam Weinig  <sam@webkit.org>
82858
82859        Attempt to fix the GTK build.
82860
82861        * GNUmakefile.am:
82862
828632009-07-21  Sam Weinig  <sam@webkit.org>
82864
82865        Reviewed by Dan Bernstein.
82866
82867        Autogenerate Objective-C binding implementation for RGBColor.
82868
82869        No functionality change.
82870
82871        * WebCore.xcodeproj/project.pbxproj: 
82872        * bindings/objc/DOMRGBColor.mm: Removed.
82873        * bindings/scripts/CodeGeneratorObjC.pm: Add logic to convert from
82874        WebCore::Color to NSColor*.
82875        * css/RGBColor.idl:
82876
828772009-07-21  Sam Weinig  <sam@webkit.org>
82878
82879        Reviewed by Dan Bernstein.
82880
82881        Fix for https://bugs.webkit.org/show_bug.cgi?id=27242
82882        JSC bindings should use an auto-bound RGBColor class instead of hand-rolled JSRGBColor
82883
82884        Move the JSC and Objective-C bindings onto using the RGBColor object instead
82885        of just an unsigned int. The JSC bindings are now completely autogenerated for
82886        this class. (Also removes the last lut from WebCore).
82887
82888        * DerivedSources.make:
82889        * GNUmakefile.am:
82890        * WebCore.pro:
82891        * WebCore.vcproj/WebCore.vcproj:
82892        * WebCore.xcodeproj/project.pbxproj:
82893        * WebCoreSources.bkl:
82894        * bindings/js/JSRGBColor.cpp: Removed.
82895        * bindings/js/JSRGBColor.h: Removed.
82896        * bindings/objc/DOM.mm:
82897        (-[DOMRGBColor _color]):
82898        * bindings/objc/DOMRGBColor.mm:
82899        (-[DOMRGBColor dealloc]):
82900        (-[DOMRGBColor finalize]):
82901        (-[DOMRGBColor red]):
82902        (-[DOMRGBColor green]):
82903        (-[DOMRGBColor blue]):
82904        (-[DOMRGBColor alpha]):
82905        (-[DOMRGBColor color]):
82906        * bindings/scripts/CodeGenerator.pm:
82907        * bindings/scripts/CodeGeneratorJS.pm:
82908        * bindings/scripts/CodeGeneratorObjC.pm:
82909        * css/CSSParser.cpp:
82910        (WebCore::CSSParser::parseColor):
82911        * css/CSSPrimitiveValue.cpp:
82912        (WebCore::CSSPrimitiveValue::getRGBColorValue):
82913        * css/CSSPrimitiveValue.h:
82914        (WebCore::CSSPrimitiveValue::getRGBA32Value):
82915        * css/CSSStyleSelector.cpp:
82916        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
82917        * css/RGBColor.cpp:
82918        (WebCore::RGBColor::alpha):
82919        * css/RGBColor.h:
82920        (WebCore::RGBColor::color):
82921        (WebCore::RGBColor::RGBColor):
82922        * css/RGBColor.idl:
82923        * page/DOMWindow.idl:
82924        * svg/SVGColor.cpp:
82925        (WebCore::SVGColor::rgbColor):
82926        * svg/SVGColor.h:
82927
829282009-07-21  Jian Li  <jianli@chromium.org>
82929
82930        Reviewed by David Levin.
82931
82932        Implement AbstractWorker::dispatchScriptErrorEvent by generating an ErrorEvent.
82933        https://bugs.webkit.org/show_bug.cgi?id=27515
82934
82935        * workers/AbstractWorker.cpp:
82936        (WebCore::AbstractWorker::dispatchScriptErrorEvent):
82937
829382009-07-21  Eric Seidel  <eric@webkit.org>
82939
82940        Reviewed by Adam Barth.
82941
82942        Move m_context out of generator into a superclass
82943        https://bugs.webkit.org/show_bug.cgi?id=27521
82944
82945        Mostly this is removing code from CodeGeneratorJS
82946        and instead using a DOMObjectWithSVGContext superclass in JSDOMBinding.h.
82947
82948        DOMObjectWithSVGContext.h is its own file so that WebKit doesn't need to
82949        know about SVGElement.h (WebKit includes JSDOMBinding.h for some reason).
82950
82951        I also removed context pointer from SVGZoomEvent since it was never used.
82952
82953        * WebCore.gypi:
82954        * WebCore.pro:
82955        * WebCore.vcproj/WebCore.vcproj:
82956        * WebCore.xcodeproj/project.pbxproj:
82957        * bindings/js/DOMObjectWithSVGContext.h: Added.
82958        (WebCore::DOMObjectWithSVGContext::context):
82959        (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext):
82960        * bindings/js/JSDOMBinding.h:
82961        * bindings/js/JSEventCustom.cpp:
82962        (WebCore::toJS):
82963        * bindings/scripts/CodeGeneratorJS.pm:
82964
829652009-07-21  Ryosuke Niwa  <rniwa@webkit.org>
82966
82967        Reviewed by Eric Seidel.
82968
82969        REGRESSION (r46142):  editing/execCommand/19087.html & editing/execCommand/19653-1.html fail in Windows build
82970        https://bugs.webkit.org/show_bug.cgi?id=27480
82971
82972        Because m_anchorType : 2 is treated as a signed integer by cl.exe, anchorType() wasn't returning the correct value.
82973        We made m_anchorType unsigned so that anchorType() returns the correct value.
82974
82975        * dom/Position.h:
82976        (WebCore::Position::anchorType): statically cast to AnchorType
82977
829782009-07-21  Jian Li  <jianli@chromium.org>
82979
82980        Reviewed by David Levin.
82981
82982        [V8] Add V8 bindings for onerror in WorkerContext.
82983        https://bugs.webkit.org/show_bug.cgi?id=27518
82984
82985        * bindings/v8/custom/V8CustomBinding.h:
82986        * bindings/v8/custom/V8WorkerContextCustom.cpp:
82987        (WebCore::ACCESSOR_GETTER):
82988        (WebCore::ACCESSOR_SETTER):
82989
829902009-07-21  Jian Li  <jianli@chromium.org>
82991
82992        Fix the incorrect patch being landed for bug 27516 that has already been reviewed.
82993        https://bugs.webkit.org/show_bug.cgi?id=27516
82994
82995        * workers/WorkerContext.h:
82996        (WebCore::WorkerContext::setOnerror):
82997        (WebCore::WorkerContext::onerror):
82998        * workers/WorkerContext.idl:
82999
830002009-07-21  Jian Li  <jianli@chromium.org>
83001
83002        Reviewed by David Levin.
83003
83004        Add onerror to WorkerContext.
83005        https://bugs.webkit.org/show_bug.cgi?id=27516
83006
83007        * bindings/js/JSWorkerContextCustom.cpp:
83008        (WebCore::JSWorkerContext::mark):
83009        * workers/WorkerContext.h:
83010        (WebCore::WorkerContext::setOnerror):
83011        (WebCore::WorkerContext::onerror):
83012        * workers/WorkerContext.idl:
83013
830142009-07-21  Yong Li  <yong.li@torchmobile.com>
83015
83016        Reviewed by George Staikos.
83017
83018        https://bugs.webkit.org/show_bug.cgi?id=27509
83019        Add font-related files for the WinCE port.
83020
83021        Written by Yong Li <yong.li@torchmobile.com>
83022
83023        * platform/graphics/wince/FontCacheWince.cpp: Added.
83024        * platform/graphics/wince/FontCustomPlatformData.cpp: Added.
83025        * platform/graphics/wince/FontCustomPlatformData.h: Added.
83026        * platform/graphics/wince/FontPlatformData.cpp: Added.
83027        * platform/graphics/wince/FontPlatformData.h: Added.
83028        * platform/graphics/wince/FontWince.cpp: Added.
83029        * platform/graphics/wince/GlyphPageTreeNodeWince.cpp: Added.
83030        * platform/graphics/wince/SimpleFontDataWince.cpp: Added.
83031
830322009-07-21  Kevin Ollivier  <kevino@theolliviers.com>
83033
83034        Fix the Windows build, and update the comment on top now that wx uses WebCorePrefix.h too.
83035
83036        * WebCorePrefix.h:
83037
830382009-07-21  Kevin Ollivier  <kevino@theolliviers.com>
83039
83040        WebCorePrefix.h build fixes for non-Mac and wx / CURL builds.
83041
83042        * WebCorePrefix.h:
83043
830442009-07-21  Eric Seidel  <eric@webkit.org>
83045
83046        Reviewed by Adam Barth.
83047
83048        All DOMConstructorObjects should hold a pointer to the JSDOMGlobalObject
83049        https://bugs.webkit.org/show_bug.cgi?id=27478
83050
83051        This is just moving code.
83052        I've added two new classes: DOMObjectWithGlobalPointer and DOMConstructorWithDocument.
83053
83054        DOMObjectWithGlobalPointer is a new baseclass for DOMConstructorObject.
83055        (It's a baseclass because eventually all DOMObjects will have a global pointer, but
83056        I'll be moving them onto DOMObjectWithGlobalPointer in stages.)
83057
83058        DOMConstructorWithDocument is a new baseclass for the 3 constructor objects
83059        which require a backpointer to the Document to function.  I made this a subclass of
83060        DOMConstructorObject to make clear that most constructors can hold no-such assumptions
83061        about having a back-pointer to the Document (since many constructors can be used from Workers).
83062
83063        * bindings/js/JSAudioConstructor.cpp:
83064        (WebCore::JSAudioConstructor::JSAudioConstructor):
83065        * bindings/js/JSAudioConstructor.h:
83066        * bindings/js/JSDOMBinding.h:
83067        (WebCore::DOMObjectWithGlobalPointer::globalObject):
83068        (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext):
83069        (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
83070        (WebCore::DOMObjectWithGlobalPointer::mark):
83071        (WebCore::DOMConstructorObject::DOMConstructorObject):
83072        (WebCore::DOMConstructorWithDocument::document):
83073        (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
83074        * bindings/js/JSImageConstructor.cpp:
83075        (WebCore::JSImageConstructor::JSImageConstructor):
83076        * bindings/js/JSImageConstructor.h:
83077        * bindings/js/JSMessageChannelConstructor.cpp:
83078        (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
83079        * bindings/js/JSMessageChannelConstructor.h:
83080        * bindings/js/JSOptionConstructor.cpp:
83081        (WebCore::JSOptionConstructor::JSOptionConstructor):
83082        * bindings/js/JSOptionConstructor.h:
83083        * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
83084        (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
83085        * bindings/js/JSWebKitPointConstructor.cpp:
83086        (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
83087        * bindings/js/JSWorkerConstructor.cpp:
83088        (WebCore::JSWorkerConstructor::JSWorkerConstructor):
83089        * bindings/js/JSXMLHttpRequestConstructor.cpp:
83090        (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
83091        * bindings/js/JSXMLHttpRequestConstructor.h:
83092        * bindings/js/JSXSLTProcessorConstructor.cpp:
83093        (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
83094
830952009-07-21  James Hawkins  <jhawkins@google.com>
83096
83097        Reviewed by David Hyatt.
83098
83099        https://bugs.webkit.org/show_bug.cgi?id=27453
83100        Initialize isInt when creating a CSSParserValue for a function.
83101
83102        No change in behavior, so no tests.
83103
83104        * css/CSSFunctionValue.cpp:
83105        (WebCore::CSSFunctionValue::parserValue):
83106
831072009-07-20  Jens Alfke  <snej@google.com>
83108 
83109         Reviewed by David Levin.
83110 
83111         Bug 27448: [Chromium] On Mac, arrow keys should cause Select to pop up its menu.
83112         Mac build of Chromium doesn't follow Mac HI guidelines to pop up the menu when
83113         an arrow key is pressed.
83114         https://bugs.webkit.org/show_bug.cgi?id=27448
83115 
83116         No new tests; affects only control response to user input.
83117 
83118         * dom/SelectElement.cpp:
83119         Changed definition of ARROW_KEYS_POP_MENU to make it true in Mac Chromium,
83120         so it will behave compatibly with Mac HI guidelines on pop-up menus.
83121         It's not possible to have PLATFORM(MAC) be true in the Mac build of Chromium.
83122 
831232009-07-21  Paul Godavari  <paul@chromium.org>
83124
83125        Reviewed by Eric Seidel.
83126
83127        [Chromium] popup menus can crash when the selected index is -1
83128        https://bugs.webkit.org/show_bug.cgi?id=27275
83129
83130        Crash reports from users indicate a crash can occur when PopupListBox::isSelectableItem
83131        is passed an index of less than 0 (which is possible under certain circumstances). This
83132        change prevents such a value from causing a crash by enforcing valid index values passed
83133        by all callers of isSelectableItem. isSelectableItem is now a private method of
83134        PopupListBox, as there are no external callers.
83135
83136        Also cleaned up a small amount of code for style and grammar errors.
83137
83138        No automatic test is provided since we cannot send events to the child window used by
83139        the popup menu.
83140
83141        * platform/chromium/PopupMenuChromium.cpp:
83142        (WebCore::PopupListBox::acceptIndex):
83143        (WebCore::PopupListBox::selectIndex):
83144        (WebCore::PopupListBox::isSelectableItem):
83145        (WebCore::PopupListBox::selectPreviousRow):
83146
831472009-07-21  Kevin Ollivier  <kevino@theolliviers.com>
83148
83149        wx build fix. Don't include winsock2.h on wx, it conflicts with wx's inclusion of winsock.
83150
83151        * platform/network/curl/ResourceHandleManager.h:
83152
831532009-07-21  Adam Roben  <aroben@apple.com>
83154
83155        Roll out r46153, r46154, and r46155
83156
83157        These changes were causing build failures and assertion failures on
83158        Windows.
83159
83160        * ForwardingHeaders/wtf/PossiblyNull.h: Removed.
83161        * platform/graphics/cg/ImageBufferCG.cpp:
83162
831632009-07-21  Jian Li  <jianli@chromium.org>
83164
83165        Reviewed by Eric Seidel.
83166
83167        Implement ErrorEvent API.
83168        https://bugs.webkit.org/show_bug.cgi?id=27387
83169
83170        * DerivedSources.cpp:
83171        * DerivedSources.make:
83172        * GNUmakefile.am:
83173        * WebCore.gypi:
83174        * WebCore.pro:
83175        * WebCore.vcproj/WebCore.vcproj:
83176        * WebCore.xcodeproj/project.pbxproj:
83177        * WebCoreSources.bkl:
83178        * bindings/js/JSEventCustom.cpp:
83179        (WebCore::toJS):
83180        * dom/ErrorEvent.cpp: Added.
83181        * dom/ErrorEvent.h: Added.
83182        * dom/ErrorEvent.idl: Added.
83183        * dom/Event.cpp:
83184        (WebCore::Event::isErrorEvent):
83185        * dom/Event.h:
83186
831872009-07-21  Priit Laes  <plaes@plaes.org>
83188
83189        Reviewed by Gustavo Noronha.
83190
83191        [Gtk] Searching in thepiratebay.org doesn't work with more than 1 word
83192        https://bugs.webkit.org/show_bug.cgi?id=24602
83193
83194        Remove workaround required for <=libsoup-2.26.1
83195
83196        * platform/network/soup/ResourceHandleSoup.cpp:
83197        (WebCore::restartedCallback):
83198
831992009-07-21  Adam Barth  <abarth@webkit.org>
83200
83201        Reviewed by David Levin.
83202
83203        V8IsolatedWorld keeps a handle to a disposed context
83204        https://bugs.webkit.org/show_bug.cgi?id=27397
83205
83206        Make a copy of the context handle before making it weak.  We don't want
83207        to make the original handle weak because we want it to survive for the
83208        length of the V8IsolatedWorld::evaluate method.
83209
83210        * bindings/v8/V8IsolatedWorld.cpp:
83211        (WebCore::V8IsolatedWorld::V8IsolatedWorld):
83212
832132009-07-21  Pavel Feldman  <pfeldman@chromium.org>
83214
83215        Reviewed by Timothy Hatcher.
83216
83217        Web Inspector: Add ability to evaluate selection while on break point.
83218
83219        https://bugs.webkit.org/show_bug.cgi?id=27502
83220
83221        * inspector/front-end/SourceFrame.js:
83222        (WebInspector.SourceFrame.prototype._loaded):
83223        (WebInspector.SourceFrame.prototype._documentKeyDown):
83224
832252009-07-21  Pavel Feldman  <pfeldman@chromium.org>
83226
83227        Reviewed by Timothy Hatcher.
83228
83229        WebInspector: Special case ConsolePanel opening since
83230        it is a 'fast view'.
83231
83232        https://bugs.webkit.org/show_bug.cgi?id=27493
83233
83234        * inspector/InspectorController.cpp:
83235        (WebCore::InspectorController::setWindowVisible):
83236
832372009-07-20  Kenneth Rohde Christiansen  <kenneth@webkit.org>
83238
83239        Reviewed by Eric Seidel.
83240
83241        Fix Qt code to follow the WebKit Coding Style.
83242
83243        * platform/graphics/qt/FontQt.cpp:
83244        (WebCore::qstring):
83245        (WebCore::fixSpacing):
83246        * platform/graphics/qt/FontQt43.cpp:
83247        (WebCore::generateComponents):
83248        (WebCore::Font::offsetForPositionForComplexText):
83249        (WebCore::cursorToX):
83250        * platform/graphics/qt/GradientQt.cpp:
83251        (WebCore::Gradient::platformGradient):
83252        * platform/graphics/qt/GraphicsContextQt.cpp:
83253        (WebCore::toQtFillRule):
83254        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
83255        (WebCore::GraphicsContext::~GraphicsContext):
83256        (WebCore::GraphicsContext::getCTM):
83257        (WebCore::GraphicsContext::concatCTM):
83258        (WebCore::GraphicsContext::getWindowsContext):
83259        * platform/graphics/qt/IconQt.cpp:
83260        (WebCore::Icon::paint):
83261        * platform/graphics/qt/ImageDecoderQt.cpp:
83262        (WebCore::ImageDecoderQt::ReadContext::read):
83263        (WebCore::ImageDecoderQt::ReadContext::readImageLines):
83264        (WebCore::ImageDecoderQt::setData):
83265        * platform/graphics/qt/ImageQt.cpp:
83266        (WebCore::Image::drawPattern):
83267        (WebCore::BitmapImage::draw):
83268        * platform/graphics/qt/ImageSourceQt.cpp:
83269        (WebCore::ImageSource::frameDurationAtIndex):
83270        (WebCore::ImageSource::frameHasAlphaAtIndex):
83271        (WebCore::ImageSource::frameIsCompleteAtIndex):
83272        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
83273        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
83274        (WebCore::MediaPlayerPrivate::create):
83275        (WebCore::MediaPlayerPrivate::bytesLoaded):
83276        (WebCore::MediaPlayerPrivate::updateStates):
83277        * platform/graphics/qt/PathQt.cpp:
83278        (WebCore::Path::addArcTo):
83279        (WebCore::Path::isEmpty):
83280        * platform/graphics/qt/TransformationMatrixQt.cpp:
83281        (WebCore::TransformationMatrix::operator QTransform):
83282        * platform/qt/ClipboardQt.cpp:
83283        (WebCore::ClipboardQt::ClipboardQt):
83284        (WebCore::ClipboardQt::clearData):
83285        (WebCore::ClipboardQt::clearAllData):
83286        (WebCore::ClipboardQt::getData):
83287        (WebCore::ClipboardQt::setData):
83288        (WebCore::ClipboardQt::setDragImage):
83289        (WebCore::getCachedImage):
83290        (WebCore::ClipboardQt::declareAndWriteDragImage):
83291        (WebCore::ClipboardQt::writeURL):
83292        (WebCore::ClipboardQt::writeRange):
83293        (WebCore::ClipboardQt::hasData):
83294        * platform/qt/ClipboardQt.h:
83295        * platform/qt/ContextMenuItemQt.cpp:
83296        (WebCore::ContextMenuItem::action):
83297        (WebCore::ContextMenuItem::title):
83298        * platform/qt/CursorQt.cpp:
83299        (WebCore::westPanningCursor):
83300        (WebCore::notAllowedCursor):
83301        * platform/qt/DragDataQt.cpp:
83302        (WebCore::DragData::containsFiles):
83303        (WebCore::DragData::asFilenames):
83304        (WebCore::DragData::asPlainText):
83305        (WebCore::DragData::asFragment):
83306        * platform/qt/DragImageQt.cpp:
83307        (WebCore::createDragImageIconForCachedImage):
83308        * platform/qt/FileSystemQt.cpp:
83309        (WebCore::getFileSize):
83310        (WebCore::unloadModule):
83311        * platform/qt/Localizations.cpp:
83312        (WebCore::contextMenuItemTagShowSpellingPanel):
83313        * platform/qt/MIMETypeRegistryQt.cpp:
83314        (WebCore::):
83315        * platform/qt/PasteboardQt.cpp:
83316        (WebCore::Pasteboard::Pasteboard):
83317        (WebCore::Pasteboard::writeSelection):
83318        (WebCore::Pasteboard::plainText):
83319        * platform/qt/PlatformKeyboardEventQt.cpp:
83320        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
83321        * platform/qt/PlatformMouseEventQt.cpp:
83322        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
83323        * platform/qt/PopupMenuQt.cpp:
83324        (WebCore::PopupMenu::populate):
83325        * platform/qt/RenderThemeQt.cpp:
83326        (WebCore::RenderThemeQt::fallbackStyle):
83327        (WebCore::inflateButtonRect):
83328        (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
83329        (WebCore::RenderThemeQt::paintButton):
83330        (WebCore::RenderThemeQt::paintMenuList):
83331        (WebCore::RenderThemeQt::applyTheme):
83332        (WebCore::WorldMatrixTransformer::WorldMatrixTransformer):
83333        (WebCore::RenderThemeQt::paintMediaBackground):
83334        (WebCore::RenderThemeQt::paintMediaFullscreenButton):
83335        * platform/qt/RenderThemeQt.h:
83336        * platform/qt/ScreenQt.cpp:
83337        (WebCore::screenRect):
83338        (WebCore::usableScreenRect):
83339        * platform/qt/ScrollbarQt.cpp:
83340        (WebCore::Scrollbar::contextMenu):
83341        * platform/qt/ScrollbarThemeQt.cpp:
83342        (WebCore::scPart):
83343        (WebCore::scrollbarPart):
83344        * platform/qt/ScrollbarThemeQt.h:
83345        * platform/qt/SharedBufferQt.cpp:
83346        (WebCore::SharedBuffer::createWithContentsOfFile):
83347        * platform/qt/TemporaryLinkStubs.cpp:
83348        (PluginDatabase::defaultPluginDirectories):
83349        (PluginDatabase::getPluginPathsInDirectories):
83350        (PluginDatabase::isPreferredPluginDirectory):
83351        (WebCore::getSupportedKeySizes):
83352        (WebCore::signedPublicKeyAndChallengeString):
83353        (WebCore::userIdleTime):
83354        (WebCore::prefetchDNS):
83355        * platform/text/qt/StringQt.cpp:
83356        (WebCore::String::String):
83357        * platform/text/qt/TextBoundaries.cpp:
83358        * platform/text/qt/TextBreakIteratorQt.cpp:
83359        (WebCore::TextBreakIterator::following):
83360        (WebCore::TextBreakIterator::preceding):
83361        (WebCore::WordBreakIteratorQt::first):
83362        (WebCore::WordBreakIteratorQt::next):
83363        (WebCore::WordBreakIteratorQt::previous):
83364        (WebCore::CharBreakIteratorQt::first):
83365        (WebCore::CharBreakIteratorQt::next):
83366        (WebCore::CharBreakIteratorQt::previous):
83367        (WebCore::characterBreakIterator):
83368        * plugins/qt/PluginPackageQt.cpp:
83369        (WebCore::PluginPackage::fetchInfo):
83370        * plugins/qt/PluginViewQt.cpp:
83371        (WebCore::PluginView::userAgentStatic):
83372        (WebCore::PluginView::handlePostReadFile):
83373        (WebCore::PluginView::init):
83374
833752009-07-21  Maxime Simon  <simon.maxime@gmail.com>
83376
83377        Reviewed by David Levin.
83378
83379        Added a first bunch of Haiku-specific files for WebCore.
83380        https://bugs.webkit.org/show_bug.cgi?id=26988
83381
83382        * platform/haiku/ClipboardHaiku.cpp: Added.
83383        (WebCore::ClipboardHaiku::ClipboardHaiku):
83384        (WebCore::ClipboardHaiku::clearData):
83385        (WebCore::ClipboardHaiku::clearAllData):
83386        (WebCore::ClipboardHaiku::getData):
83387        (WebCore::ClipboardHaiku::setData):
83388        (WebCore::ClipboardHaiku::types):
83389        (WebCore::ClipboardHaiku::files):
83390        (WebCore::ClipboardHaiku::dragLocation):
83391        (WebCore::ClipboardHaiku::dragImage):
83392        (WebCore::ClipboardHaiku::setDragImage):
83393        (WebCore::ClipboardHaiku::dragImageElement):
83394        (WebCore::ClipboardHaiku::setDragImageElement):
83395        (WebCore::ClipboardHaiku::createDragImage):
83396        (WebCore::ClipboardHaiku::declareAndWriteDragImage):
83397        (WebCore::ClipboardHaiku::writeURL):
83398        (WebCore::ClipboardHaiku::writeRange):
83399        (WebCore::ClipboardHaiku::hasData):
83400        * platform/haiku/ClipboardHaiku.h: Added.
83401        (WebCore::ClipboardHaiku::create):
83402        (WebCore::ClipboardHaiku::~ClipboardHaiku):
83403        * platform/haiku/CookieJarHaiku.cpp: Added.
83404        (WebCore::setCookies):
83405        (WebCore::cookies):
83406        (WebCore::cookiesEnabled):
83407        * platform/haiku/CursorHaiku.cpp: Added.
83408        (WebCore::Cursor::Cursor):
83409        (WebCore::Cursor::~Cursor):
83410        (WebCore::Cursor::operator=):
83411        (WebCore::pointerCursor):
83412        (WebCore::moveCursor):
83413        (WebCore::crossCursor):
83414        (WebCore::handCursor):
83415        (WebCore::iBeamCursor):
83416        (WebCore::waitCursor):
83417        (WebCore::helpCursor):
83418        (WebCore::eastResizeCursor):
83419        (WebCore::northResizeCursor):
83420        (WebCore::northEastResizeCursor):
83421        (WebCore::northWestResizeCursor):
83422        (WebCore::southResizeCursor):
83423        (WebCore::southEastResizeCursor):
83424        (WebCore::southWestResizeCursor):
83425        (WebCore::westResizeCursor):
83426        (WebCore::northSouthResizeCursor):
83427        (WebCore::eastWestResizeCursor):
83428        (WebCore::northEastSouthWestResizeCursor):
83429        (WebCore::northWestSouthEastResizeCursor):
83430        (WebCore::columnResizeCursor):
83431        (WebCore::rowResizeCursor):
83432        (WebCore::verticalTextCursor):
83433        (WebCore::cellCursor):
83434        (WebCore::contextMenuCursor):
83435        (WebCore::noDropCursor):
83436        (WebCore::copyCursor):
83437        (WebCore::progressCursor):
83438        (WebCore::aliasCursor):
83439        (WebCore::noneCursor):
83440        (WebCore::notAllowedCursor):
83441        (WebCore::zoomInCursor):
83442        (WebCore::zoomOutCursor):
83443        (WebCore::grabCursor):
83444        (WebCore::grabbingCursor):
83445
834462009-07-21  Albert Astals Cid <aacid@kde.org>
83447
83448        Reviewed by Tor Arne Vestbø.
83449
83450        Change #error line not to have a ' (single quote)
83451
83452        * DerivedSources.cpp:
83453
834542009-07-21  Roland Steiner  <rolandsteiner@google.com>
83455
83456        Reviewed by David Levin.
83457
83458        Add ENABLE_RUBY to list of build options
83459        https://bugs.webkit.org/show_bug.cgi?id=27324
83460
83461        Added flag ENABLE_RUBY:
83462
83463        * Configurations/FeatureDefines.xcconfig:
83464        * DerivedSources.make:
83465        * GNUmakefile.am:
83466        * WebCore.pro:
83467        * WebCore.vcproj/WebCoreCommon.vsprops:
83468        * WebCore.vcproj/build-generated-files.sh:
83469
834702009-07-21  James Hawkins  <jhawkins@google.com>
83471
83472        Reviewed by Eric Seidel.
83473
83474        https://bugs.webkit.org/show_bug.cgi?id=27467
83475        Return an empty path in PlatformContextSkia::currentPathInLocalCoordinates
83476        if matrix.invert() fails.  This prevents the use of an uninitialized
83477        value in inverseMatrix.
83478
83479        No new tests added.  Run
83480        LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
83481        under valgrind and notice there are no errors.
83482
83483        * platform/graphics/skia/PlatformContextSkia.cpp:
83484        (PlatformContextSkia::currentPathInLocalCoordinates):
83485
834862009-07-21  Stephen White  <senorblanco@chromium.org>
83487
83488        Reviewed by Eric Seidel.
83489
83490        https://bugs.webkit.org/show_bug.cgi?id=27388
83491
83492        Fix dotted and dashed borders on Chromium/skia.  This follows
83493        the logic in the Cg path, so results are much closer to Safari now 
83494        (some tests won't be exactly the same due to font layout differences).
83495
83496        * platform/graphics/skia/GraphicsContextSkia.cpp:
83497        (WebCore::GraphicsContext::drawLine):
83498        * platform/graphics/skia/PlatformContextSkia.cpp:
83499        (PlatformContextSkia::setupPaintForStroking):
83500
835012009-07-20  Oliver Hunt  <oliver@apple.com>
83502
83503        Reviewed by Gavin Barraclough.
83504
83505        Make it harder to misuse try* allocation routines
83506        https://bugs.webkit.org/show_bug.cgi?id=27469
83507
83508        Add forwarding header for PossiblyNull type, and add missing null check
83509        to ImageBuffer creation.
83510
83511        * ForwardingHeaders/wtf/PossiblyNull.h: Added.
83512        * platform/graphics/cg/ImageBufferCG.cpp:
83513        (WebCore::ImageBuffer::ImageBuffer):
83514
835152009-07-20  Adam Langley  <agl@google.com>
83516
83517        Reviewed by Eric Seidel.
83518
83519        Guard access to installedMediaEngines()[0].
83520
83521        https://bugs.webkit.org/show_bug.cgi?id=27479
83522        http://code.google.com/p/chromium/issues/detail?id=16541
83523
83524        Else where in the file, installedMediaEngines is always checked for
83525        being empty because access. This patch adds a case which missed that
83526        check.
83527
83528        This triggered a crash in Chromium:
83529            http://www.yakeze.com/chat/example-chromium-crash/
83530
83531        * platform/graphics/MediaPlayer.cpp:
83532        (WebCore::MediaPlayer::load):
83533
835342009-07-20  Adam Langley  <agl@google.com>
83535
83536        Reviewed by Eric Seidel.
83537
83538        Allow search entries to render with a CSS border if the RenderTheme
83539        doesn't paint them.
83540
83541        https://bugs.webkit.org/show_bug.cgi?id=27466
83542        http://code.google.com/p/chromium/issues/detail?id=16958
83543
83544        <input type="search"> is very much like a text entry except that,
83545        currently, if the RenderTheme doesn't deal with it, nothing is
83546        rendered. With this patch, the default CSS border is rendered if the
83547        RenderTheme requests it.
83548
83549        This will affect many layout tests, but only for Chromium Linux and
83550        those results are not currently in the WebKit tree.
83551
83552        * rendering/RenderTheme.cpp:
83553        (WebCore::RenderTheme::paintBorderOnly):
83554
835552009-07-17  Anton Muhin  <antonm@chromium.org>
83556
83557        Reviewed by Adam Barth.
83558
83559        Switch to faster methods to access internal fields.
83560        https://bugs.webkit.org/show_bug.cgi?id=27372
83561
83562        Minor refactoring.
83563
83564        * bindings/scripts/CodeGeneratorV8.pm:
83565        * bindings/v8/V8DOMWrapper.cpp:
83566        (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
83567        (WebCore::V8DOMWrapper::setDOMWrapper):
83568        * bindings/v8/V8DOMWrapper.h:
83569        (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
83570        (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
83571        (WebCore::V8DOMWrapper::convertToNativeObject):
83572        (WebCore::V8DOMWrapper::convertToNativeEvent):
83573        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
83574        (WebCore::CALLBACK_FUNC_DECL):
83575        * bindings/v8/custom/V8ClipboardCustom.cpp:
83576        (WebCore::CALLBACK_FUNC_DECL):
83577        * bindings/v8/custom/V8DocumentCustom.cpp:
83578        (WebCore::CALLBACK_FUNC_DECL):
83579        * bindings/v8/custom/V8ElementCustom.cpp:
83580        (WebCore::CALLBACK_FUNC_DECL):
83581        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
83582        (WebCore::CALLBACK_FUNC_DECL):
83583        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
83584        (WebCore::CALLBACK_FUNC_DECL):
83585        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
83586        (WebCore::removeElement):
83587        * bindings/v8/custom/V8InspectorControllerCustom.cpp:
83588        (WebCore::CALLBACK_FUNC_DECL):
83589        * bindings/v8/custom/V8NodeCustom.cpp:
83590        (WebCore::CALLBACK_FUNC_DECL):
83591        * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
83592        (WebCore::CALLBACK_FUNC_DECL):
83593
835942009-07-20  Adam Langley  <agl@google.com>
83595
83596        Reviewed by Eric Seidel.
83597
83598        Chromium Linux: cache Harfbuzz faces.
83599
83600        https://bugs.webkit.org/show_bug.cgi?id=27473
83601
83602        Previously, we recreated the Harfbuzz face for each script-run. With
83603        this patch, we keep the Harfbuzz face in the FontPlatformData (created
83604        as needed) and so they will persist for the duration of the
83605        FontPlatformData.
83606
83607        Shouldn't affect any layout tests. Results in a significant win on the
83608        intl2 page cycler time.
83609
83610        * platform/graphics/chromium/FontLinux.cpp:
83611        (WebCore::TextRunWalker::~TextRunWalker):
83612        (WebCore::TextRunWalker::setupFontForScriptRun):
83613        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
83614        (WebCore::FontPlatformData::RefCountedHarfbuzzFace::~RefCountedHarfbuzzFace):
83615        (WebCore::FontPlatformData::FontPlatformData):
83616        (WebCore::FontPlatformData::harfbuzzFace):
83617        * platform/graphics/chromium/FontPlatformDataLinux.h:
83618        (WebCore::FontPlatformData::RefCountedHarfbuzzFace::create):
83619        (WebCore::FontPlatformData::RefCountedHarfbuzzFace::face):
83620        (WebCore::FontPlatformData::RefCountedHarfbuzzFace::RefCountedHarfbuzzFace):
83621        * platform/graphics/chromium/HarfbuzzSkia.h: Added.
83622
836232009-07-20  Ryosuke Niwa  <rniwa@webkit.org>
83624
83625        Reviewed by Simon Fraser.
83626
83627        REGRESSION (r46142): Need to remove showTreeThisForThis
83628        https://bugs.webkit.org/show_bug.cgi?id=27475
83629
83630        Removes showTreeThisForThis
83631
83632        * editing/IndentOutdentCommand.cpp:
83633        (WebCore::IndentOutdentCommand::appendParagraphIntoNode):
83634
836352009-07-19  Ryosuke Niwa  <rniwa@webkit.org>
83636
83637        Reviewed by Eric Seidel.
83638
83639        Refactoring of indentRegion to fix bugs 26816 and 25317
83640        https://bugs.webkit.org/show_bug.cgi?id=26816
83641        https://bugs.webkit.org/show_bug.cgi?id=25317
83642        https://bugs.webkit.org/show_bug.cgi?id=23995 (partially)
83643
83644        This patch implements appendParagraphIntoNode, a simpler specialized version of moveParagraph
83645        and replaces all calls inside indentRegion. The following is the new behavior of indentRegion.
83646
83647        1. We try to indent as many wrapping nodes as possible.
83648           e.g. when indenting "hello" in <div>hello</div>, we try to indent div as well.
83649        2. We do not delete any wrapping elements
83650           With moveParagraph, we used to remove all wrapping nodes, and replaced with a blockquote.
83651           This was causing https://bugs.webkit.org/show_bug.cgi?id=23995 for indentation.
83652           With appendParagraphIntoNode, we can preserve all wrapping nodes.
83653        3. We only split the tree until the closest block node instead of until the root editable node.
83654           This behavioral change fixes the bug 25317.
83655        4. When multiple paragraphs are indented, we indent the highest common ancestor within the selection.
83656           e.g. when a list is a child node of a div, and the entire div is intended,
83657                we enclose the div by a single blockquote.
83658
83659        Note that new behavior is more consistent with that of Internet Explorer and Firefox.
83660        To demonstrate this, the following tests are added.
83661
83662        Tests: editing/execCommand/indent-div-inside-list.html
83663               editing/execCommand/indent-nested-blockquotes.html
83664               editing/execCommand/indent-nested-div.html
83665               editing/execCommand/indent-second-paragraph-in-blockquote.html
83666
83667        * editing/IndentOutdentCommand.cpp: prepareBlockquoteLevelForInsertion is removed
83668        (WebCore::IndentOutdentCommand::tryIndentingAsListItem): uses appendParagraphIntoNode now
83669        (WebCore::IndentOutdentCommand::indentIntoBlockquote): uses appendParagraphIntoNode now
83670        (WebCore::IndentOutdentCommand::appendParagraphIntoNode): removes a paragraph and appends it to a new node
83671        (WebCore::IndentOutdentCommand::removeUnnecessaryLineBreakAt): removes a break element at the specified position
83672        (WebCore::IndentOutdentCommand::indentRegion): exhibits the described behavior
83673        * editing/IndentOutdentCommand.h: updated prototype
83674
836752009-07-20  Dan Bernstein  <mitz@apple.com>
83676
83677        Try to fix release builds after r46136
83678
83679        * dom/Element.cpp:
83680
836812009-07-17  Pierre d'Herbemont  <pdherbemont@apple.com>
83682
83683        Reviewed by Eric Seidel.
83684
83685        Media Controls: We are specifying the text height, where it is unneeded and the slider is 2px off.
83686        https://bugs.webkit.org/show_bug.cgi?id=27380
83687
83688        Adjust the margin of the slider and remove useless height specification to fix alignement of the media controls.
83689
83690        * css/mediaControlsQT.css:
83691
836922009-07-20  Peter Kasting  <pkasting@google.com>
83693
83694        Reviewed by Mark Rowe.
83695
83696        https://bugs.webkit.org/show_bug.cgi?id=27468
83697        Back out r46060, which caused problems for some Apple developers.
83698
83699        * WebCore.vcproj/QTMovieWin.vcproj:
83700        * WebCore.vcproj/WebCoreCommon.vsprops:
83701        * WebCore.vcproj/WebCoreGenerated.vcproj:
83702
837032009-07-20  Dan Bernstein  <mitz@apple.com>
83704
83705        Reviewed by Anders Carlsson.
83706
83707        When loading a custom view into a frame, the old document is still
83708        around
83709        <rdar://problem/5145841>
83710
83711        Safari fires onload before PDF is loaded into the browser
83712        <rdar://problem/6618869>
83713
83714        Test: fast/loader/non-html-load-event.html
83715
83716        * GNUmakefile.am: Added PlaceholderDocument.{cpp,h}
83717        * WebCore.gypi: Ditto.
83718        * WebCore.pro: Ditto.
83719        * WebCore.vcproj/WebCore.vcproj: Ditto.
83720        * WebCore.xcodeproj/project.pbxproj: Ditto.
83721        * WebCoreSources.bkl: Ditto.
83722        * dom/Document.h:
83723        (WebCore::Document::setStyleSelector): Added this protected accessor for
83724            PlaceholderDocument to use.
83725        * dom/Element.cpp:
83726        (WebCore::Element::clientWidth): Check whether the document has a
83727            renderer.
83728        (WebCore::Element::clientHeight): Ditto.
83729        * loader/FrameLoader.cpp:
83730        (WebCore::FrameLoader::begin): Create a PlaceholderDocument for frames
83731            that do not use an HTML view. Do not nullify the content size in
83732            that case.
83733        (WebCore::FrameLoader::transitionToCommitted): For frames that do not
83734            use an HTML view, call receivedFirstData(), which sets up the
83735            frame with a new PlaceHolderDocument.
83736        * loader/PlaceholderDocument.cpp: Added.
83737        (WebCore::PlaceholderDocument::attach): Sets up the style selector but
83738            does not create a RenderView.
83739        * loader/PlaceholderDocument.h: Added.
83740        (WebCore::PlaceholderDocument::create):
83741        (WebCore::PlaceholderDocument::PlaceholderDocument):
83742
837432009-07-20  Chris Marrin  <cmarrin@apple.com>
83744
83745        Reviewed by Simon Fraser.
83746
83747        Handle opacity and opacity animations on transform layers in Leopard
83748        https://bugs.webkit.org/show_bug.cgi?id=27398
83749
83750        This makes two changes, and only for Leopard. 
83751
83752        First, whenever opacity is changed on a layer I propagate the 
83753        change into the content layer and all the children if the layer 
83754        on which opacity is set is a transform layer (preserve3D is true). 
83755        The opacity set is the accumulated opacity from this layer
83756        and all its direct ancestor transform layers. Second, I turn off all 
83757        hardware opacity animation.
83758
83759        * platform/graphics/GraphicsLayer.cpp:
83760        (WebCore::GraphicsLayer::accumulatedOpacity):
83761        (WebCore::GraphicsLayer::distributeOpacity):
83762        * platform/graphics/GraphicsLayer.h:
83763        (WebCore::GraphicsLayer::setOpacityInternal):
83764        * platform/graphics/mac/GraphicsLayerCA.h:
83765        * platform/graphics/mac/GraphicsLayerCA.mm:
83766        (WebCore::GraphicsLayerCA::setPreserves3D):
83767        (WebCore::GraphicsLayerCA::setOpacity):
83768        (WebCore::GraphicsLayerCA::animateFloat):
83769        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
83770        (WebCore::GraphicsLayerCA::setOpacityInternal):
83771        (WebCore::GraphicsLayerCA::updateOpacityOnLayer):
83772
837732009-07-20  Yong Li  <yong.li@torchmobile.com>
83774
83775        Reviewed by Adam Roben.
83776
83777        https://bugs.webkit.org/show_bug.cgi?id=27349
83778        Add GraphicsContext implementation for the WinCE port.
83779
83780        Written by Yong Li <yong.li@torchmobile.com>, George Staikos <george.staikos@torchmobile.com> and Lyon Chen <lyon.chen@torchmobile.com>
83781        with trivial style fixes by Adam Treat <adam.treat@torchmobile.com>
83782
83783        * platform/graphics/wince/GraphicsContextWince.cpp: Added.
83784
837852009-07-20  Dumitru Daniliuc  <dumi@chromium.org>
83786
83787        Reviewed by Dimitri Glazkov.
83788
83789        Adding the Win SQLite VFS implementation for Chromium, and stubs
83790        for the Mac and Linux VFSs.
83791
83792        https://bugs.webkit.org/show_bug.cgi?id=26940
83793
83794        * WebCore.gypi:
83795        * platform/chromium/ChromiumBridge.h:
83796        * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added.
83797        * platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp: Added.
83798        * platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp: Added.
83799        * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added.
83800
838012009-07-20  Xan Lopez  <xlopez@igalia.com>
83802
83803        Reviewed by Gustavo Noronha.
83804
83805        https://bugs.webkit.org/show_bug.cgi?id=27097
83806        [Gtk] Segfault when examining an object of ROLE_TABLE via at-spi
83807
83808        Check that an object is a RenderObject before trying to access its
83809        renderer and related node.
83810
83811        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
83812        (webkit_accessible_get_role):
83813
838142009-07-20  Balazs Kelemen  <kelemen.balazs.3@stud.u-szeged.hu>
83815
83816        Reviewed by Simon Hausmann.
83817
83818        [Qt] font cache reworking
83819        https://bugs.webkit.org/show_bug.cgi?id=27265
83820
83821        Reimplemented Qt's FontCache in a way that follows the shared one.
83822        Now we can release its elements when those became inactive.
83823        FontFallbackList had been changed to be able to hold WebCore fonts in its list and to be able to release a FontData what is in the cache.
83824
83825        No change in behavior, so no tests.
83826
83827        * platform/graphics/qt/FontCacheQt.cpp:
83828        (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
83829        (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue):
83830        (WebCore::FontPlatformDataCacheKey::): Key type for the cache of FontPlatformData objects.
83831        It can be constructed from a FontPlatformData or from a FontDescription. The keys have to be consistent
83832        with FontPlatformData::FontPlatformData(const FontDescription&) - if we create the same
83833        FontPlatformData from two FontDescription then we have to create the same key from them, and vica versa.
83834        (WebCore::FontPlatformDataCacheKey::operator==):
83835        (WebCore::FontPlatformDataCacheKey::hash):
83836        (WebCore::FontPlatformDataCacheKey::computeHash):
83837        (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize):
83838        (WebCore::FontPlatformDataCacheKeyHash::hash):
83839        (WebCore::FontPlatformDataCacheKeyHash::equal):
83840        (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
83841        (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue):
83842        (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue):
83843        (WebCore::FontCache::getCachedFontPlatformData): Get a FontDescription and returns a FontPlatformData.
83844        (WebCore::FontCache::getCachedFontData): Get a FontPlatformData and returns a SimpleFontData.
83845        (WebCore::FontCache::releaseFontData): Get a SimpleFontData and releases it from the cache. Also releases the appropriate FontPlatformData.
83846        (WebCore::FontCache::purgeInactiveFontData): Frees inactive elements.
83847        (WebCore::FontCache::invalidate): Frees all inactive elements (call purgeInactiveFontData with default argument)
83848        * platform/graphics/qt/FontFallbackListQt.cpp:
83849        (WebCore::FontFallbackList::releaseFontData):
83850        (WebCore::FontFallbackList::fontDataAt):
83851        * platform/graphics/qt/FontPlatformData.h:
83852        (WebCore::FontPlatformData::family): Getter. It is needed for FontPlatformDataCacheKey.
83853        (WebCore::FontPlatformData::bold): Ditto.
83854        (WebCore::FontPlatformData::italic): Ditto.
83855        (WebCore::FontPlatformData::smallCaps): Ditto.
83856        (WebCore::FontPlatformData::pixelSize): Ditto.
83857        * platform/graphics/qt/FontPlatformDataQt.cpp:
83858        (WebCore::FontPlatformData::FontPlatformData): Set m_bold.
83859
838602009-07-20  Xan Lopez  <xlopez@igalia.com>
83861
83862        Reviewed by Holger Freyther.
83863
83864        https://bugs.webkit.org/show_bug.cgi?id=26716
83865        [Gtk] Each XMLHttpRequest leaks memory.
83866
83867        Free the SoupURI we create to check the URI. Fix suggested by John
83868        Kjellberg.
83869
83870        * platform/network/soup/ResourceHandleSoup.cpp:
83871        (WebCore::):
83872
838732009-07-20  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
83874
83875        Reviewed by Holger Freyther.
83876
83877        [Qt] On Symbian link against system sqlite3
83878        https://bugs.webkit.org/show_bug.cgi?id=27368
83879
83880        Add an option to force linking against system sqlite3
83881        by adding system-sqlite to the CONFIG variable.
83882
83883        The Symbian specific part of this patch is contributed by 
83884        Norbert Leser.
83885
83886        * WebCore.pro:
83887
838882009-07-20  Xan Lopez  <xlopez@igalia.com>
83889
83890        Reviewed by Gustavo Noronha.
83891
83892        Change the glib version check to check for the first unstable
83893        release with g_mapped_file_unref. Otherwise this would be useless
83894        until 2.22 is released, a few months from now.
83895
83896        * platform/network/soup/ResourceHandleSoup.cpp:
83897        (WebCore::ResourceHandle::startHttp):
83898
838992009-07-20  Simon Hausmann  <simon.hausmann@nokia.com>
83900
83901        Reviewed by and done with Tor Arne Vestbø.
83902
83903        Fix fast/css/pseudo-required-optional-*.html in the Qt build
83904        after r46062.
83905
83906        These tests triggered a bug in RenderThemeQt where we did not fall back
83907        to the unstyled painting of text areas and input fields when they have
83908        a styled background.
83909
83910        Our re-implementation of isControlStyled incorrectly only checked the
83911        border for determining whether to style or not. The base-implementation
83912        performs the same check, but also includes the background. Removing
83913        our implementation fixes the appearance.
83914
83915        * platform/qt/RenderThemeQt.cpp: Removed isControlStyled reimplementation.
83916        * platform/qt/RenderThemeQt.h: Ditto.
83917
839182009-07-20  Simon Hausmann  <simon.hausmann@nokia.com>
83919
83920        Rubber-stamped by Tor Arne Vestbø.
83921
83922        Add missing (sorted) header files to the HEADERS variable in the qmake
83923        .pro file for improved completion in IDEs.
83924
83925        * WebCore.pro:
83926
839272009-07-19  Adam Barth  <abarth@webkit.org>
83928
83929        Reviewed by David Levin.
83930
83931        [V8] Factor V8ConsoleMessage out of V8Proxy
83932        https://bugs.webkit.org/show_bug.cgi?id=27421
83933
83934        No behavior change.
83935
83936        * WebCore.gypi:
83937        * bindings/v8/V8ConsoleMessage.cpp: Added.
83938        (WebCore::V8ConsoleMessage::V8ConsoleMessage):
83939        (WebCore::V8ConsoleMessage::dispatchNow):
83940        (WebCore::V8ConsoleMessage::dispatchLater):
83941        (WebCore::V8ConsoleMessage::processDelayed):
83942        (WebCore::V8ConsoleMessage::handler):
83943        * bindings/v8/V8ConsoleMessage.h: Added.
83944        (WebCore::V8ConsoleMessage::Scope::Scope):
83945        (WebCore::V8ConsoleMessage::Scope::~Scope):
83946        * bindings/v8/V8Proxy.cpp:
83947        (WebCore::logInfo):
83948        (WebCore::reportUnsafeAccessTo):
83949        (WebCore::V8Proxy::runScript):
83950        (WebCore::V8Proxy::callFunction):
83951        (WebCore::V8Proxy::newInstance):
83952        (WebCore::V8Proxy::initContextIfNeeded):
83953        (WebCore::V8Proxy::processConsoleMessages):
83954
839552009-07-19  Rob Buis  <rwlbuis@gmail.com>
83956
83957        Reviewed by Adam Barth.
83958
83959        Remove unused member variable.
83960
83961        * svg/SVGPolyElement.h:
83962
839632009-07-19  Eric Carlson  <eric.carlson@apple.com>
83964
83965        Reviewed by Dan Bernstein.
83966
83967        HTMLAudioElement: constructor should set "autobuffer" attribute
83968        https://bugs.webkit.org/show_bug.cgi?id=27422
83969
83970        Test: media/audio-constructor-autobuffer.html
83971
83972        * bindings/js/JSAudioConstructor.cpp:
83973        (WebCore::constructAudio):
83974            Set 'autobuffer' attribute.
83975
839762009-07-19  Thierry Bastian <thierry.bastian@nokia.com>
83977
83978        Reviewed by Simon Hausmann.
83979
83980        Fix the Qt build with mingw.
83981
83982        * WebCore.pro: Don't use MSVC commandline options to disable warnings
83983        with mingw.
83984
839852009-07-19  Adam Barth  <abarth@webkit.org>
83986
83987        Reviewed by David Levin.
83988
83989        [V8] Phase 2: Remove event listener methods from V8Proxy
83990        https://bugs.webkit.org/show_bug.cgi?id=27415
83991
83992        No behavior change.
83993
83994        * bindings/v8/V8ObjectEventListener.cpp:
83995        (WebCore::weakObjectEventListenerCallback):
83996        (WebCore::V8ObjectEventListener::~V8ObjectEventListener):
83997        * bindings/v8/V8Proxy.cpp:
83998        (WebCore::V8Proxy::disconnectEventListeners):
83999        * bindings/v8/V8Proxy.h:
84000        (WebCore::V8Proxy::eventListeners):
84001        (WebCore::V8Proxy::objectListeners):
84002        * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
84003        (WebCore::getEventListener):
84004        * bindings/v8/custom/V8CustomEventListener.cpp:
84005        (WebCore::V8EventListener::~V8EventListener):
84006        * bindings/v8/custom/V8DOMWindowCustom.cpp:
84007        (WebCore::CALLBACK_FUNC_DECL):
84008        (WebCore::ACCESSOR_SETTER):
84009        * bindings/v8/custom/V8ElementCustom.cpp:
84010        (WebCore::ACCESSOR_SETTER):
84011        * bindings/v8/custom/V8MessagePortCustom.cpp:
84012        (WebCore::ACCESSOR_SETTER):
84013        (WebCore::CALLBACK_FUNC_DECL):
84014        * bindings/v8/custom/V8NodeCustom.cpp:
84015        (WebCore::CALLBACK_FUNC_DECL):
84016        * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
84017        (WebCore::CALLBACK_FUNC_DECL):
84018        * bindings/v8/custom/V8WorkerCustom.cpp:
84019        (WebCore::getEventListener):
84020        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
84021        (WebCore::getEventListener):
84022        * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
84023        (WebCore::ACCESSOR_SETTER):
84024        (WebCore::CALLBACK_FUNC_DECL):
84025
840262009-07-18  Jan Michael Alonzo  <jmalonzo@webkit.org>
84027
84028        Reviewed by Gustavo Noronha.
84029
84030        [Gtk] soup/ResourceHandleSoup.cpp:533: error: 'g_mapped_file_free' was not declared in this scope
84031        https://bugs.webkit.org/show_bug.cgi?id=27230
84032
84033        Use g_mapped_file_unref for GLIB version 2.22 onwards.
84034
84035        * platform/network/soup/ResourceHandleSoup.cpp:
84036        (WebCore::ResourceHandle::startHttp):
84037
840382009-07-18  Dan Bernstein  <mitz@apple.com>
84039
84040        Reviewed by Anders Carlsson.
84041
84042        Add spread radius support to -webkit-box-shadow
84043        https://bugs.webkit.org/show_bug.cgi?id=27417
84044        rdar://problem/7072267
84045
84046        Test: fast/box-shadow/spread.html
84047
84048        * css/CSSComputedStyleDeclaration.cpp:
84049        (WebCore::valueForShadow): Added a property ID parameter and used it to
84050            include the spread length for box-shadow but not for text-shadow.
84051        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
84052            Pass the property ID to valueForShadow().
84053
84054        * css/CSSParser.cpp:
84055        (WebCore::ShadowParseContext::ShadowParseContext): Added property,
84056            spread, and allowSpread members. Added a property ID parameter to
84057            the constructor. Initialize the property and allowSpread members.
84058        (WebCore::ShadowParseContext::allowLength): Added allowSpread.
84059        (WebCore::ShadowParseContext::commitValue): Pass the spread value to
84060            the ShadowValue constructor. Reset allowSpread.
84061        (WebCore::ShadowParseContext::commitLength): Allow spread after blur
84062            for the box-shadow property.
84063        (WebCore::ShadowParseContext::commitColor): Reset allowSpread.
84064        (WebCore::CSSParser::parseShadow): Pass the property ID to
84065            ShadowParseContext().
84066
84067        * css/CSSStyleSelector.cpp:
84068        (WebCore::CSSStyleSelector::applyProperty): Get the spread value from
84069            the shadow value and pass it to the ShadowData constructor.
84070
84071        * css/ShadowValue.cpp:
84072        (WebCore::ShadowValue::ShadowValue): Added spread.
84073        (WebCore::ShadowValue::cssText): Added spread.
84074
84075        * css/ShadowValue.h:
84076        (WebCore::ShadowValue::create): Added spread.
84077
84078        * page/animation/AnimationBase.cpp:
84079        (WebCore::blendFunc): Blend the spread value.
84080        (WebCore::PropertyWrapperShadow::blend): Added 0 spread to the default
84081            shadow.
84082
84083        * rendering/InlineFlowBox.cpp:
84084        (WebCore::InlineFlowBox::placeBoxesHorizontally): Account for spread in
84085            the visual overflow calculations.
84086        (WebCore::InlineFlowBox::placeBoxesVertically): Ditto.
84087        (WebCore::InlineFlowBox::paint): Ditto.
84088
84089        * rendering/RenderBlock.cpp:
84090        (WebCore::RenderBlock::overflowHeight): Ditto.
84091        (WebCore::RenderBlock::overflowWidth): Ditto.
84092        (WebCore::RenderBlock::overflowLeft): Ditto.
84093        (WebCore::RenderBlock::overflowTop): Ditto.
84094        (WebCore::RenderBlock::overflowRect): Ditto.
84095        (WebCore::RenderBlock::layoutBlock): Ditto.
84096
84097        * rendering/RenderBoxModelObject.cpp:
84098        (WebCore::RenderBoxModelObject::paintBoxShadow): Inflate the shadow-
84099            casting rect by the shadow spread value. Adjust border radii if
84100            necessary.
84101
84102        * rendering/RenderFlexibleBox.cpp:
84103        (WebCore::RenderFlexibleBox::layoutBlock): Account for spread in the
84104            visual overflow calculations.
84105        * rendering/RenderLayer.cpp:
84106        (WebCore::RenderLayer::calculateRects): Ditto.
84107
84108        * rendering/RenderObject.cpp:
84109        (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Account for spread.
84110        (WebCore::RenderObject::adjustRectForOutlineAndShadow): Ditto.
84111
84112        * rendering/RenderReplaced.cpp:
84113        (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Ditto.
84114
84115        * rendering/style/RenderStyle.cpp:
84116        (WebCore::RenderStyle::setTextShadow): Assert that text shadows do not
84117            have spread.
84118
84119        * rendering/style/ShadowData.cpp:
84120        (WebCore::ShadowData::ShadowData): Added spread.
84121        (WebCore::ShadowData::operator==): Compare spread.
84122        * rendering/style/ShadowData.h:
84123        (WebCore::ShadowData::ShadowData): Added spread.
84124
841252009-07-18  Adam Barth  <abarth@webkit.org>
84126
84127        Reviewed by Jan Alonzo.
84128
84129        Minor FrameLoader.cpp cleanup
84130        https://bugs.webkit.org/show_bug.cgi?id=27406
84131
84132        No behavior change.
84133
84134        * loader/FrameLoader.cpp:
84135        (WebCore::FrameLoader::executeIfJavaScriptURL):
84136
841372009-07-18  Adam Barth  <abarth@webkit.org>
84138
84139        Reviewed by Darin Fisher.
84140
84141        [V8] Move event listener methods from V8Proxy to V8EventListenerList
84142        https://bugs.webkit.org/show_bug.cgi?id=27408
84143
84144        Move some event listener code out of V8Proxy and into the event
84145        listener list.
84146
84147        I'd like to remove these methods from V8Proxy entirely and just expose
84148        getters for the lists themselves, but I'll do that in a follow up
84149        patch.
84150
84151        * bindings/v8/V8EventListenerList.cpp:
84152        (WebCore::V8EventListenerList::findWrapper):
84153        * bindings/v8/V8EventListenerList.h:
84154        (WebCore::V8EventListenerList::findOrCreateWrapper):
84155        * bindings/v8/V8ObjectEventListener.cpp:
84156        * bindings/v8/V8Proxy.cpp:
84157        (WebCore::V8Proxy::findV8EventListener):
84158        (WebCore::V8Proxy::findOrCreateV8EventListener):
84159        (WebCore::V8Proxy::removeV8EventListener):
84160        (WebCore::V8Proxy::findObjectEventListener):
84161        (WebCore::V8Proxy::findOrCreateObjectEventListener):
84162        (WebCore::V8Proxy::removeObjectEventListener):
84163        * bindings/v8/V8Proxy.h:
84164
841652009-07-18  Jeremy Orlow  <jorlow@chromium.org>
84166
84167        Rubber stamped by Adam Barth.
84168
84169        Revert https://bugs.webkit.org/show_bug.cgi?id=27383
84170        https://bugs.webkit.org/show_bug.cgi?id=27407
84171
84172        Revert Jens' patch.  I believe he forgot to include a file.
84173
84174        * WebCore.gypi:
84175        * bindings/scripts/CodeGeneratorV8.pm:
84176        * bindings/v8/DOMObjectsInclude.h:
84177        * bindings/v8/V8DOMWrapper.cpp:
84178        (WebCore::V8DOMWrapper::getTemplate):
84179        * bindings/v8/V8DataGridDataSource.cpp: Removed.
84180        * bindings/v8/V8DataGridDataSource.h: Removed.
84181        * bindings/v8/V8GCController.h:
84182        * bindings/v8/V8Index.h:
84183        * bindings/v8/custom/V8CustomBinding.h:
84184        * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp:
84185        (WebCore::ACCESSOR_GETTER):
84186        (WebCore::ACCESSOR_SETTER):
84187
841882009-07-17  Daniel Bates  <dbates@intudata.com>
84189
84190        Reviewed by Adam Barth.
84191        
84192        https://bugs.webkit.org/show_bug.cgi?id=27405
84193
84194        Fixes an issue when decoding HTML entities with an unknown named entity that 
84195        caused null-characters to be inserted into the decoded result.
84196
84197        Test: http/tests/security/xssAuditor/link-onclick-ampersand.html
84198              http/tests/security/xssAuditor/javascript-link-ampersand.html
84199
84200        * page/XSSAuditor.cpp:
84201        (WebCore::XSSAuditor::decodeHTMLEntities): Added check to conditional so that
84202        non-zero entity values are not inserted during decoding process.
84203
842042009-07-17  Jan Michael Alonzo  <jmalonzo@webkit.org>
84205
84206        <http://webkit.org/b/18363> [GTK] Combo boxes cannot be opened pressing space
84207
84208        Reviewed by Holger Freyther.
84209
84210        Add Gtk to platforms that want to open the menulist using the
84211        spacebar.
84212
84213        * dom/SelectElement.cpp:
84214        (WebCore::SelectElement::menuListDefaultEventHandler):
84215
842162009-07-17  Mario Sanchez Prada  <msanchez@igalia.com>
84217
84218        Reviewed by Jan Alonzo.
84219
84220        https://bugs.webkit.org/show_bug.cgi?id=25523
84221        [GTK] The text displayed by push buttons is not exposed to assistive technologies
84222
84223        Add new public method text() to RenderButton and use it from
84224        AccessibilityRenderObject::stringValue().
84225
84226        * accessibility/AccessibilityRenderObject.cpp:
84227        (WebCore::AccessibilityRenderObject::stringValue):
84228        * rendering/RenderButton.cpp:
84229        (WebCore::RenderButton::text):
84230        * rendering/RenderButton.h:
84231
842322009-07-17  Anton Muhin  <antonm@chromium.org>
84233
84234        Reviewed by Dimitri Glazkov.
84235
84236        Restore proxy retrieval
84237        https://bugs.webkit.org/show_bug.cgi?id=27369
84238
84239        No new tests are needed.
84240
84241        * bindings/v8/V8DOMWrapper.cpp:
84242        (WebCore::V8DOMWrapper::instantiateV8Object):
84243
842442009-07-17  Yael Aharon  <yael.aharon@nokia.com>
84245
84246        Reviewed by George Staikos.
84247
84248        https://bugs.webkit.org/show_bug.cgi?id=27351
84249        Added platform "Symbian" to WEBCORE_NAVIGATOR_PLATFORM
84250        Use uname to find the correct platform for Linux.
84251
84252        * page/NavigatorBase.cpp:
84253        (WebCore::NavigatorBase::platform):
84254
842552009-07-17  Jens Alfke  <snej@chromium.org>
84256
84257        Reviewed by Dimitri Glazkov.
84258
84259        Hook up V8 bindings for DataGrid elements.
84260        https://bugs.webkit.org/show_bug.cgi?id=27383
84261        http://code.google.com/p/chromium/issues/detail?id=16730
84262
84263        Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/*
84264        to handle exceptions, check appropriate JS prototypes, and
84265        test column-list's item() method as well as array-indexing.
84266
84267        * WebCore.gypi: Added new source files.
84268        * bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes.
84269        * bindings/v8/DOMObjectsInclude.h: #include DataGrid headers.
84270        * bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates.
84271        (WebCore::V8DOMWrapper::getTemplate): Customize datagrid template.
84272        * bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource)
84273        (WebCore::V8DataGridDataSource::V8DataGridDataSource):
84274        (WebCore::V8DataGridDataSource::~V8DataGridDataSource):
84275        * bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource)
84276        (WebCore::V8DataGridDataSource::create):
84277        (WebCore::V8DataGridDataSource::isJSDataGridDataSource):
84278        (WebCore::V8DataGridDataSource::jsDataSource):
84279        (WebCore::asV8DataGridDataSource):
84280        * bindings/v8/V8GCController.h: Added new handle type "DATASOURCE".
84281        * bindings/v8/V8Index.h: Conditionalize datagrid stuff.
84282        * bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize.
84283        * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors.
84284        (WebCore::ACCESSOR_GETTER):
84285        (WebCore::ACCESSOR_SETTER):
84286
842872009-07-17  Jeremy Orlow  <jorlow@chromium.org>
84288
84289        Reviewed by Darin Fisher.
84290
84291        StorageArea should only contain methods we intend to proxy.
84292        https://bugs.webkit.org/show_bug.cgi?id=27181
84293
84294        Right now, StorageAreaSync takes in a StorageArea* and calls methods
84295        like importItem.  Really, StorageAreaSync should be operating directly
84296        on StorageAreaImpl* and those methods should be removed from StorageArea
84297        since StorageAreaSync should never be attached to anything other than a
84298        StorageAreaImpl.
84299
84300        This was pointed out in the review for
84301        https://bugs.webkit.org/show_bug.cgi?id=27072
84302
84303        Also clean up StorageNamespaceImpl to operate directly on
84304        StorageAreaImpl.  Also, get rid of the factory for StorageArea
84305        since nothing should ever create a StorageArea directly.
84306
84307        * GNUmakefile.am:
84308        * WebCore.vcproj/WebCore.vcproj:
84309        * WebCore.xcodeproj/project.pbxproj:
84310        * WebCoreSources.bkl:
84311        * storage/StorageArea.cpp: Removed.
84312        * storage/StorageArea.h:
84313        (WebCore::StorageArea::~StorageArea):
84314        * storage/StorageAreaImpl.cpp:
84315        (WebCore::StorageAreaImpl::copy):
84316        * storage/StorageAreaImpl.h:
84317        * storage/StorageAreaSync.cpp:
84318        (WebCore::StorageAreaSync::create):
84319        (WebCore::StorageAreaSync::StorageAreaSync):
84320        * storage/StorageAreaSync.h:
84321        * storage/StorageNamespaceImpl.cpp:
84322        (WebCore::StorageNamespaceImpl::copy):
84323        (WebCore::StorageNamespaceImpl::storageArea):
84324        * storage/StorageNamespaceImpl.h:
84325
843262009-07-17  Jeremy Orlow  <jorlow@chromium.org>
84327
84328        Reviewed by Dimitri Glazkov.
84329
84330        Add v8 implementation for DOM Storage ScriptObjectQuarantine.
84331        https://bugs.webkit.org/show_bug.cgi?id=27327
84332
84333        Wrap the storage object with a generic object as is done elsewhere in
84334        the file (but continue to hit a NOTIMPLEMENTED if DOM_STORAGE is not
84335        enabled.
84336
84337        * bindings/v8/ScriptObjectQuarantine.cpp:
84338        (WebCore::getQuarantinedScriptObject):
84339
843402009-07-17  Mads Ager  <ager@chromium.org>
84341
84342        Reviewed by Dimitri Glazkov.
84343
84344        https://bugs.webkit.org/show_bug.cgi?id=27394
84345        Fix access to global object wrappers after navigation of their
84346        frame in the V8 bindings.  This fixes selenium test failures.
84347
84348        * bindings/v8/V8Proxy.cpp:
84349        (WebCore::V8Proxy::updateDocument):
84350
843512009-07-17  Mark Rowe  <mrowe@apple.com>
84352
84353        Fix the 32-bit build by removing implicit float <-> double conversions.
84354
84355        * inspector/InspectorController.cpp:
84356        (WebCore::constrainedAttachedWindowHeight):
84357
843582009-07-17  Brian Weinstein  <bweinstein@apple.com>
84359
84360        Reviewed by Adam Roben.
84361
84362        Fix of <rdar://problem/5712795> Win: Cannot change the height of the docked Web Inspector (14272)
84363        https://bugs.webkit.org/show_bug.cgi?id=14272
84364        
84365        Moved preference setting for attached inspector height and inspector height calculation from
84366        WebInspectorClient.mm into InspectorController.cpp, to make this code cross-platform and enable
84367        Windows resizing of attached inspector.
84368
84369        * inspector/InspectorController.cpp:
84370        * inspector/InspectorController.h:
84371
843722009-07-17  Dan Bernstein  <mitz@apple.com>
84373
84374        Another attempt at fixing the build after r46063
84375
84376        * WebCore.xcodeproj/project.pbxproj: Made ExceptionCode.h a private
84377            header, because it is now included from htmlediting.h, which is
84378            a private header.
84379
843802009-07-17  Alexey Proskuryakov  <ap@webkit.org>
84381
84382        Reviewed by Dan Bernstein.
84383
84384        https://bugs.webkit.org/show_bug.cgi?id=27396
84385        Moving cursor in Thai text sometimes jumps over two characters
84386
84387        Test: editing/text-iterator/thai-cursor-movement.html
84388
84389        * platform/text/TextBreakIteratorICU.cpp: (WebCore::cursorMovementIterator): Added a special
84390        case for five Thai characters, matching ICU/CLDR changes.
84391
843922009-07-14  Eric Seidel  <eric@webkit.org>
84393
84394        Reviewed by Adam Barth.
84395
84396        Some constructor objects exposed on Window have the wrong prototype chain
84397        https://bugs.webkit.org/show_bug.cgi?id=27276
84398
84399        Several Constructor classes were already being passed a global object
84400        during construction, but they were ignoring it for prototype lookup.
84401        I've fixed those to use the passed global object instead.
84402
84403        Most of these Constructor classes should just be auto-generated, but I
84404        refrained from changing them over to auto-gen in this patch.
84405
84406        Fixed CodeGeneratorJS to pass a global object to getDOMConstructor when
84407        available, otherwise default to deprecatedGlobalObjectForPrototype(exec)
84408        to match existing behavior.
84409
84410        Test: fast/dom/prototype-inheritance.html
84411
84412        * bindings/js/JSAudioConstructor.cpp:
84413        (WebCore::JSAudioConstructor::JSAudioConstructor): use the existing globalObject pointer for prototype lookup
84414        * bindings/js/JSDOMBinding.h:
84415        (WebCore::deprecatedGlobalObjectForPrototype): Make it easy to detect where the wrong global object is being used.
84416        (WebCore::deprecatedGetDOMStructure):
84417        * bindings/js/JSDOMGlobalObject.h: remove error-prone getDOMConstructor, require passing JSDOMGlobalObject*
84418        * bindings/js/JSDOMWindowCustom.cpp:
84419        (WebCore::JSDOMWindow::webKitPoint): pass "this" for the global object.
84420        (WebCore::JSDOMWindow::webKitCSSMatrix): pass "this" for the global object.
84421        (WebCore::JSDOMWindow::xsltProcessor): pass "this" for the global object.
84422        (WebCore::JSDOMWindow::worker): pass "this" for the global object.
84423        * bindings/js/JSImageConstructor.cpp:
84424        (WebCore::JSImageConstructor::JSImageConstructor): use the existing globalObject pointer for prototype lookup
84425        * bindings/js/JSMessageChannelConstructor.cpp:
84426        (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): use the existing globalObject pointer for prototype lookup
84427        * bindings/js/JSOptionConstructor.cpp:
84428        (WebCore::JSOptionConstructor::JSOptionConstructor): use the existing globalObject pointer for prototype lookup
84429        * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
84430        (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): add new globalObject parameter and use it
84431        * bindings/js/JSWebKitCSSMatrixConstructor.h:
84432        * bindings/js/JSWebKitPointConstructor.cpp:
84433        (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor): add new globalObject parameter and use it
84434        * bindings/js/JSWebKitPointConstructor.h:
84435        * bindings/js/JSWorkerConstructor.cpp:
84436        (WebCore::JSWorkerConstructor::JSWorkerConstructor): add new globalObject parameter and use it
84437        * bindings/js/JSWorkerConstructor.h:
84438        * bindings/js/JSXMLHttpRequestConstructor.cpp:
84439        (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): use the existing globalObject pointer for prototype lookup
84440         -- XMLHttpRequest constructor was also missing a length.  Added one.
84441        * bindings/js/JSXSLTProcessorConstructor.cpp:
84442        (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
84443        * bindings/js/JSXSLTProcessorConstructor.h:
84444        * bindings/scripts/CodeGeneratorJS.pm:
84445
844462009-07-17  Dan Bernstein  <mitz@apple.com>
84447
84448        Build fix
84449
84450        * editing/htmlediting.cpp:
84451        (WebCore::visiblePositionBeforeNode):
84452        (WebCore::visiblePositionAfterNode):
84453
844542009-07-17  Jan Michael Alonzo  <jmalonzo@webkit.org>
84455
84456        Gtk build fix for symbol lookup error.
84457
84458        Move AbstractWorker from SHARED_WORKERS to WORKERS as Worker derives from it now
84459        Changed in http://trac.webkit.org/changeset/46048
84460
84461        * GNUmakefile.am:
84462
844632009-07-17  Ryosuke Niwa  <ryosuke.niwa@gmail.com>
84464
84465        Reviewed by Eric Seidel.
84466
84467        htmlediting.cpp needs more utility functions to fix the bug 26816
84468        https://bugs.webkit.org/show_bug.cgi?id=27038
84469
84470        In order to fix the bug 26816, we need several utility functions be added to htmlediting.cpp
84471
84472        No tests because functions haven't been used anywhere yet.
84473
84474        * dom/Range.cpp:
84475        (WebCore::Range::create):
84476        (WebCore::Range::comparePoint): added const qualifier
84477        (WebCore::Range::compareNode): added const qualifier
84478        * dom/Range.h:
84479        * editing/htmlediting.cpp:
84480        (WebCore::unsplittableElementForPosition): find the enclosing unsplittable element (editing root & table cell)
84481        (WebCore::positionBeforeNode): added ASSERT(node)
84482        (WebCore::positionAfterNode): added ASSERT(node)
84483        (WebCore::visiblePositionBeforeNode):
84484        (WebCore::visiblePositionAfterNode):
84485        (WebCore::createRange): create a range object from two visible positions
84486        (WebCore::extendRangeToWrappingNodes): extend range to include nodes that starts and ends at the boundaries
84487        (WebCore::canMergeLists): typo
84488        (WebCore::indexForVisiblePosition): added const qualifier
84489        (WebCore::isVisiblyAdjacent): typo
84490        (WebCore::isNodeVisiblyContainedWithin): determine if a node is inside a range or within the visible boundaries of the range
84491        * editing/htmlediting.h:
84492
844932009-07-17  Michelangelo De Simone  <micdesim@gmail.com>
84494
84495        Reviewed by Darin Adler.
84496
84497        https://bugs.webkit.org/show_bug.cgi?id=25551
84498        Added support for the "required" attribute, the valueMissing flag
84499        to the ValidityState object and :required/:optional CSS pseudoclasses.
84500        Part of HTML5 sec. Forms specs.
84501        http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr-input-required
84502
84503        Tests: fast/css/pseudo-required-optional-001.html
84504               fast/css/pseudo-required-optional-002.html
84505               fast/css/pseudo-required-optional-003.html
84506               fast/css/pseudo-required-optional-004.html
84507               fast/css/pseudo-required-optional-005.html
84508               fast/css/pseudo-required-optional-006.html
84509               fast/forms/ValidityState-valueMissing-001.html
84510               fast/forms/ValidityState-valueMissing-002.html
84511               fast/forms/ValidityState-valueMissing-003.html
84512               fast/forms/ValidityState-valueMissing-004.html
84513               fast/forms/ValidityState-valueMissing-005.html
84514               fast/forms/ValidityState-valueMissing-006.html
84515               fast/forms/ValidityState-valueMissing-007.html
84516               fast/forms/ValidityState-valueMissing-008.html
84517               fast/forms/ValidityState-valueMissing-009.html
84518               fast/forms/required-attribute-001.html
84519               fast/forms/required-attribute-002.html
84520
84521        * css/CSSSelector.cpp:
84522        (WebCore::CSSSelector::extractPseudoType): pseudoRequired/pseudoOptional
84523        * css/CSSSelector.h:
84524        (WebCore::CSSSelector::): ditto
84525        * css/CSSStyleSelector.cpp:
84526        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto
84527        * dom/Element.h:
84528        (WebCore::Element::isOptionalFormControl): check for optional controls
84529        (WebCore::Element::isRequiredFormControl): check for required controls
84530        * html/HTMLAttributeNames.in: required attribute
84531        * html/HTMLButtonElement.h:
84532        (WebCore::HTMLButtonElement::isOptionalFormControl): ditto
84533        * html/HTMLFormControlElement.cpp:
84534        (WebCore::HTMLFormControlElement::required): requiredAttr getter
84535        (WebCore::HTMLFormControlElement::setRequired): requiredAttr setter
84536        * html/HTMLFormControlElement.h:
84537        (WebCore::HTMLFormControlElement::valueMissing): method definition
84538        * html/HTMLInputElement.cpp:
84539        (WebCore::HTMLInputElement::valueMissing): validation code
84540        (WebCore::HTMLInputElement::isRequiredFormControl): ditto
84541        * html/HTMLInputElement.h:
84542        (WebCore::HTMLInputElement::isOptionalFormControl): ditto
84543        * html/HTMLInputElement.idl: required DOM attribute
84544        * html/HTMLSelectElement.h:
84545        (WebCore::HTMLSelectElement::isOptionalFormControl): ditto
84546        * html/HTMLTextAreaElement.h:
84547        (WebCore::HTMLTextAreaElement::valueMissing): validation code
84548        (WebCore::HTMLTextAreaElement::isOptionalFormControl): ditto
84549        (WebCore::HTMLTextAreaElement::isRequiredFormControl): ditto
84550        * html/HTMLTextAreaElement.idl: required DOM attribute
84551        * html/ValidityState.cpp:
84552        * html/ValidityState.h:
84553        (WebCore::ValidityState::valueMissing): validation flag
84554
845552009-07-17  Beth Dakin  <bdakin@apple.com>
84556
84557        Reviewed by Darin Adler.
84558
84559        Fix for https://bugs.webkit.org/show_bug.cgi?id=27390 CSS custom 
84560        cursor hotspots should work in quirks mode
84561        - and corresponding <rdar://problem/6554340>
84562
84563        Enable hotspots in quirks mode.
84564        * css/CSSParser.cpp:
84565        (WebCore::CSSParser::parseValue):
84566
84567        Update this manual test to reflect the fact that hotspots are now 
84568        expected to work in quirks mode.
84569        * manual-tests/css3-cursor-fallback-quirks.html:
84570
845712009-07-17  Peter Kasting  <pkasting@google.com>
84572
84573        Reviewed by Steve Falkenburg.
84574
84575        https://bugs.webkit.org/show_bug.cgi?id=27323
84576        Only add Cygwin to the path when it isn't already there.  This avoids
84577        causing problems for people who purposefully have non-Cygwin versions of
84578        executables like svn in front of the Cygwin ones in their paths.
84579
84580        * WebCore.vcproj/QTMovieWin.vcproj:
84581        * WebCore.vcproj/WebCoreCommon.vsprops:
84582        * WebCore.vcproj/WebCoreGenerated.vcproj:
84583
845842009-07-17  Alexey Proskuryakov  <ap@webkit.org>
84585
84586        Reviewed by David Levin.
84587
84588        https://bugs.webkit.org/show_bug.cgi?id=27384
84589        Random crashes in appcache/update-cache.html test
84590
84591        * loader/appcache/ApplicationCacheGroup.cpp:
84592        (WebCore::ApplicationCacheGroup::didReceiveResponse): Reorder code to avoid using a handle
84593        after canceling it.
84594
845952009-07-17  Drew Wilson  <atwilson@google.com>
84596
84597        Reviewed by David Levin.
84598
84599        Need to refactor Worker to derive from AbstractWorker
84600        https://bugs.webkit.org/show_bug.cgi?id=26948
84601
84602        Changed Worker to derive from AbstractWorker, which involved moving
84603        AbstractWorker files from being wrapped by ENABLE_SHARED_WORKERS to
84604        ENABLE_WORKERS.
84605
84606        Removed obsolete functionality from the JS/V8 bindings that is now
84607        inherited from AbstractWorker.
84608
84609        * WebCore.pro:
84610        Moved AbstractWorker files out of SHARED_WORKERS section and into WORKERS.
84611        * bindings/js/JSAbstractWorkerCustom.cpp:
84612        Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
84613        * bindings/js/JSWorkerCustom.cpp:
84614        Removed obsolete event listener code (now in base class)
84615        (WebCore::JSWorker::mark):
84616        No longer need to explicitly mark event listeners (handled by base class).
84617        * bindings/v8/V8Index.h:
84618        Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS.
84619        * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
84620        Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
84621        * bindings/v8/custom/V8CustomBinding.h:
84622        Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS.
84623        * bindings/v8/custom/V8WorkerCustom.cpp:
84624        Removed obsolete event listener code that now lives in the base class.
84625        (WebCore::V8WorkerConstructor): Cleaned up legacy style nits.
84626        * workers/AbstractWorker.cpp:
84627        Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
84628        * workers/AbstractWorker.h:
84629        Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
84630        * workers/Worker.cpp:
84631        Removed event listener code (now in base class).
84632        (WebCore::Worker::Worker): Now derives from AbstractWorker.
84633        (WebCore::Worker::notifyFinished): Calls dispatchLoadErrorEvent on base class.
84634        * workers/Worker.h:
84635        Removed APIs that now live in the base class.
84636        * workers/Worker.idl:
84637        Now derives from AbstractWorker.
84638        Removed APIs that live in the base class, and added a GenerateToJS flag.
84639
846402009-07-17  David Hyatt  <hyatt@apple.com>
84641
84642        Reviewed by Dan Bernstein.
84643
84644        https://bugs.webkit.org/show_bug.cgi?id=27379
84645        Absolutely-positioned elements with a scrollbar wrap prematurely.  Make sure to include
84646        the vertical scrollbar width for overflow:scroll elements.
84647
84648        Added fast/css/positioned-overflow-scroll.html
84649
84650        * rendering/RenderBlock.cpp:
84651        (WebCore::RenderBlock::calcPrefWidths):
84652        * rendering/RenderFlexibleBox.cpp:
84653        (WebCore::RenderFlexibleBox::calcPrefWidths):
84654
846552009-07-17  Jeremy Orlow  <jorlow@chromium.org>
84656
84657        Reviewed by Dimitri Glazkov.
84658
84659        Need a DOM_STORAGE guard in DerivedSroucesAllInOne.cpp
84660        https://bugs.webkit.org/show_bug.cgi?id=27375
84661
84662        In https://bugs.webkit.org/show_bug.cgi?id=27360 I added Storage.cpp
84663        and StorageEvent.cpp.  Unfortunately, until later this afternoon,
84664        DOM_STORAGE is not turned on by default in Chromium, and so these two
84665        files are never generated.  This breaks the compile.
84666
84667        There are no other instances of guards in the file, which puzzles me...
84668        but I think adding guards is the right way to go about this.
84669
84670        * bindings/v8/DerivedSourcesAllInOne.cpp:  Added the guard.
84671
846722009-07-17  Brady Eidson  <beidson@apple.com>
84673
84674        Reviewed by Darin Adler.
84675
84676        https://bugs.webkit.org/show_bug.cgi?id=26496
84677
84678        Let WebCore always enforce the connection-per-host limit itself.
84679
84680        * loader/loader.cpp:
84681        (WebCore::Loader::Host::servePendingRequests):
84682
846832009-07-17  Chris Marrin  <cmarrin@apple.com>
84684
84685        Reviewed by David Hyatt.
84686
84687        Some transitions don't work correctly on Leopard
84688        https://bugs.webkit.org/show_bug.cgi?id=27356
84689
84690        We only have code to do component animation using valueFunction.
84691        So on Leopard we always need to do matrix animation in hardware.
84692        This fix ensures that. 
84693
84694        This is currently not testable because it appears only in the
84695        hardware animation and we can't yet do pixel tests while 
84696        hardware animating.
84697
84698        * platform/graphics/mac/GraphicsLayerCA.mm:
84699        (WebCore::GraphicsLayerCA::animateTransform):
84700
847012009-07-17  Holger Hans Peter Freyther  <zecke@selfish.org>
84702
84703        Reviewed by Gustavo Noronha.
84704
84705        [GTK+] Crash in screenAvailable due a null Widget*
84706
84707        JSDOMWindow::open called screenAvailableRect(0). The other
84708        Screen methods can be called with a null widget as well, fix the
84709        crashing test by checking for null.
84710
84711        In screenRect and screenAvailableRect it is not tried to use
84712        a default screen as the existing implementation didn't try either
84713        in case of not having a toplevel widget.
84714
84715        LayoutTests/fast/frames/crash-removed-iframe.html caused a crash.
84716
84717        * platform/gtk/PlatformScreenGtk.cpp:
84718        (WebCore::getVisual): New method to get a visual or return zero.
84719        (WebCore::screenDepth): Use getVisual.
84720        (WebCore::screenDepthPerComponent): Use getVisual.
84721        (WebCore::screenIsMonochrome): Use screenDepth which will do the null checking
84722        (WebCore::screenRect): Check for !widget.
84723        (WebCore::screenAvailableRect): Check for !widget.
84724
847252009-07-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
84726
84727        Reviewed by Simon Hausmann.
84728
84729        [Qt] Fix the include path for the Symbian port
84730        https://bugs.webkit.org/show_bug.cgi?id=27358
84731
84732        * WebCore.pro:
84733
847342009-07-17  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
84735
84736        Reviewed by Simon Hausmann.
84737
84738        Make it possible to set the plugin directories from the DRT.
84739        Part of https://bugs.webkit.org/show_bug.cgi?id=27215
84740
84741        * plugins/PluginDatabase.cpp:
84742        (WebCore::PluginDatabase::installedPlugins): Now optionally takes
84743        a populate argument, so we can avoid loading system plugins from the
84744        DRT and thus avoid their strerr errors that can make tests fail.
84745        (WebCore::PluginDatabase::clear): Make it possible to clear the
84746        database. Called from setPluginDirectories.
84747        * plugins/PluginDatabase.h:
84748        (WebCore::PluginDatabase::setPluginDirectories): Make public
84749
847502009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
84751
84752        Reviewed by Simon Hausmann.
84753
84754        PluginViewMac: Stop the plugin when loading fails
84755
84756        Also, prevent event propagation when in the stopped state
84757
84758        * plugins/mac/PluginViewMac.cpp:
84759
847602009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
84761
84762        Reviewed by Simon Hausmann.
84763
84764        PluginViewMac: Allow query and set of drawing and event models
84765
84766        We now support querying and setting of the drawing and event model,
84767        but we still only support the CoreGraphics drawing model, and the
84768        Carbon event model.
84769
84770        If unsupported drawing or event models are detected we show the
84771        missing-plugin icon.
84772
84773        * plugins/PluginView.cpp:
84774        * plugins/PluginView.h:
84775        * plugins/mac/PluginViewMac.cpp:
84776
847772009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
84778
84779        Reviewed by Simon Hausmann.
84780
84781        Initialize two PluginView members using memset
84782
84783        m_npWindow is used on all platforms, not just for XP_UNIX,
84784        so always initialize it. m_npCgContext on the other hand
84785        is only used for XP_MACOSX.
84786
84787        * plugins/PluginView.cpp:
84788
847892009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
84790
84791        Reviewed by Simon Hausmann.
84792
84793        Add more debug logging in PluginView
84794
84795        * plugins/PluginView.cpp: Add debug for setValue
84796        * plugins/gtk/PluginViewGtk.cpp: Add debug for getValue
84797        * plugins/mac/PluginViewMac.cpp: Add debug for getValue and more
84798        * plugins/qt/PluginViewQt.cpp: Add debug for getValue
84799        * plugins/win/PluginViewWin.cpp: Add debug for getValue
84800
848012009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
84802
84803        Reviewed by Holger Freyther.
84804
84805        Use same license in PluginDebug.cpp as in the original PluginDebug.h
84806
84807        * plugins/PluginDebug.cpp: Use license from PluginDebug.h
84808
848092009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
84810
84811        Reviewed by Simon Hausmann.
84812
84813        Add more debugging functionality for the WebCore NPAPI layer
84814
84815        * GNUmakefile.am: Add PluginDebug.cpp
84816        * WebCore.gypi: Add PluginDebug.cpp
84817        * WebCore.pro: Add PluginDebug.cpp
84818        * WebCore.vcproj/WebCore.vcproj: Add PluginDebug.cpp
84819        * WebCoreSources.bkl: Add PluginDebug.cpp
84820        * plugins/PluginDebug.h: Move errorStrings to PluginDebug.cpp
84821        * plugins/PluginDebug.cpp: New file
84822
848232009-07-17  Jeremy Orlow  <jorlow@chromium.org>
84824
84825        Reviewed by David Levin.
84826
84827        Fix Chromium build with DOM_STORAGE enabled.
84828        https://bugs.webkit.org/show_bug.cgi?id=27360
84829
84830        2 minor changes as noted below:
84831
84832        * bindings/v8/DerivedSourcesAllInOne.cpp: Add the generated .cpp files.
84833        * storage/StorageAreaImpl.cpp:  #include "DOMWindow.h"
84834
848352009-07-16  Fumitoshi Ukai  <ukai@chromium.org>
84836
84837        Reviewed by David Levin.
84838
84839        Add --web-sockets flag and ENABLE_WEB_SOCKETS define.
84840        https://bugs.webkit.org/show_bug.cgi?id=27206
84841        
84842        Add ENABLE_WEB_SOCKETS
84843
84844        * Configurations/FeatureDefines.xcconfig: add ENABLE_WEB_SOCKETS
84845        * GNUmakefile.am: add ENABLE_WEB_SOCKETS
84846        * WebCore.vcproj/WebCoreCommon.vsprops: add ENABLE_WEB_SOCKETS
84847        * WebCore.vcproj/build-generated-files.sh: add ENABLE_WEB_SOCKETS
84848
848492009-07-16  Maxime Simon  <simon.maxime@gmail.com>
84850
84851        Reviewed by Oliver Hunt.
84852
84853        Added a third bunch of Haiku-specific files for WebCore.
84854        https://bugs.webkit.org/show_bug.cgi?id=26952
84855
84856        Adding five files, EventLoopHaiku.cpp, FileChooserHaiku.cpp,
84857        FileSystemHaiku.cpp, KeyboardCodes.h and MIMETypeRegistryHaiku.cpp
84858
84859        * platform/haiku/EventLoopHaiku.cpp: Added.
84860        (WebCore::EventLoop::cycle):
84861        * platform/haiku/FileChooserHaiku.cpp: Added.
84862        (WebCore::FileChooser::FileChooser):
84863        (WebCore::FileChooser::basenameForWidth):
84864        * platform/haiku/FileSystemHaiku.cpp: Added.
84865        (WebCore::fileSystemRepresentation):
84866        (WebCore::homeDirectoryPath):
84867        (WebCore::openTemporaryFile):
84868        (WebCore::closeFile):
84869        (WebCore::writeToFile):
84870        (WebCore::unloadModule):
84871        (WebCore::listDirectory):
84872        * platform/haiku/KeyboardCodes.h: Added.
84873        * platform/haiku/MIMETypeRegistryHaiku.cpp: Added.
84874        (WebCore::):
84875        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
84876
848772009-07-16  Maxime Simon  <simon.maxime@gmail.com>
84878
84879        Reviewed by Oliver Hunt.
84880
84881        Added a second bunch of Haiku-specific files for WebCore.
84882        https://bugs.webkit.org/show_bug.cgi?id=26952
84883
84884        Adding four files, ContextMenuHaiku.cpp, ContextMenuItemHaiku.cpp,
84885        DragDataHaiku.cpp and DragImageHaiku.cpp
84886
84887        * platform/haiku/ContextMenuHaiku.cpp: Added.
84888        (WebCore::ContextMenuReceiver::ContextMenuReceiver):
84889        (WebCore::ContextMenuReceiver::HandleMessage):
84890        (WebCore::ContextMenuReceiver::Result):
84891        (WebCore::ContextMenu::ContextMenu):
84892        (WebCore::ContextMenu::~ContextMenu):
84893        (WebCore::ContextMenu::appendItem):
84894        (WebCore::ContextMenu::itemCount):
84895        (WebCore::ContextMenu::insertItem):
84896        (WebCore::ContextMenu::platformDescription):
84897        (WebCore::ContextMenu::setPlatformDescription):
84898        * platform/haiku/ContextMenuItemHaiku.cpp: Added.
84899        (ContextMenuItem::ContextMenuItem):
84900        (ContextMenuItem::~ContextMenuItem):
84901        (ContextMenuItem::releasePlatformDescription):
84902        (ContextMenuItem::type):
84903        (ContextMenuItem::setType):
84904        (ContextMenuItem::action):
84905        (ContextMenuItem::setAction):
84906        (ContextMenuItem::title):
84907        (ContextMenuItem::setTitle):
84908        (ContextMenuItem::platformSubMenu):
84909        (ContextMenuItem::setSubMenu):
84910        (ContextMenuItem::setChecked):
84911        (ContextMenuItem::setEnabled):
84912        (ContextMenuItem::enabled):
84913        * platform/haiku/DragDataHaiku.cpp: Added.
84914        (WebCore::DragData::canSmartReplace):
84915        (WebCore::DragData::containsColor):
84916        (WebCore::DragData::containsFiles):
84917        (WebCore::DragData::asFilenames):
84918        (WebCore::DragData::containsPlainText):
84919        (WebCore::DragData::asPlainText):
84920        (WebCore::DragData::asColor):
84921        (WebCore::DragData::createClipboard):
84922        (WebCore::DragData::containsCompatibleContent):
84923        (WebCore::DragData::containsURL):
84924        (WebCore::DragData::asURL):
84925        (WebCore::DragData::asFragment):
84926        * platform/haiku/DragImageHaiku.cpp: Added.
84927        (WebCore::dragImageSize):
84928        (WebCore::deleteDragImage):
84929        (WebCore::scaleDragImage):
84930        (WebCore::dissolveDragImageToFraction):
84931        (WebCore::createDragImageFromImage):
84932        (WebCore::createDragImageIconForCachedImage):
84933
849342009-07-16  Stephen White  <senorblanco@chromium.org>
84935
84936        Reviewed by Darin Fisher and Brett Wilson.
84937
84938        Refactor Skia implementation of gradients and patterns.
84939
84940        http://bugs.webkit.org/show_bug.cgi?id=26618
84941
84942        The following layout tests were breaking on Chromium/Linux:
84943
84944        LayoutTests/svg/custom/js-late-gradient-creation.svg (bad baseline PNG)
84945        LayoutTests/svg/custom/js-late-gradient-and-object.creation.svg
84946        LayoutTests/svg/custom/js-late-pattern-creation.svg (bad baseline PNG)
84947        LayoutTests/svg/custom/js-late-pattern-and-object-creation.svg
84948
84949        I could've fixed these the easy way, by copying the same 5
84950        lines of code we use everywhere we need patterns or gradients, but
84951        I decided to fix it the hard way:  by refactoring the code so that
84952        PlatformContextSkia::setupPaintForFilling() and
84953        PlatformContextSkia::setupPaintForStroking() do the right thing,
84954        and also handle gradients and patterns.
84955        
84956        This required pushing the gradients and patterns set in 
84957        (generic) GraphicsContext::setFillPattern() and friends down into
84958        PlatformContextSkia.  For this, I followed the setPlatformXXX()
84959        pattern used elsewhere in GraphicsContext, and stubbed them out on
84960        the other platforms with #if !PLATFORM(SKIA).  This also required
84961        pushing changes to the gradientSpaceTransform from the Gradient into 
84962        GradientSkia.
84963
84964        Since it's a Skia context, I decided to cache the values as
84965        SkShaders.  There were existing m_pattern and m_gradient SkShaders,
84966        but they were unused, and whose use was ambiguous, so I
84967        replaced them with one SkShader each for filling and stroking.
84968
84969        * platform/graphics/Gradient.cpp:
84970        (WebCore::Gradient::setGradientSpaceTransform):
84971        (WebCore::Gradient::setPlatformGradientSpaceTransform):
84972        * platform/graphics/Gradient.h:
84973        * platform/graphics/GraphicsContext.cpp:
84974        (WebCore::GraphicsContext::setStrokePattern):
84975        (WebCore::GraphicsContext::setFillPattern):
84976        (WebCore::GraphicsContext::setStrokeGradient):
84977        (WebCore::GraphicsContext::setFillGradient):
84978        (WebCore::GraphicsContext::setPlatformFillGradient):
84979        (WebCore::GraphicsContext::setPlatformFillPattern):
84980        (WebCore::GraphicsContext::setPlatformStrokeGradient):
84981        (WebCore::GraphicsContext::setPlatformStrokePattern):
84982        * platform/graphics/GraphicsContext.h:
84983        * platform/graphics/skia/GradientSkia.cpp:
84984        (WebCore::Gradient::setPlatformGradientSpaceTransform):
84985        * platform/graphics/skia/GraphicsContextSkia.cpp:
84986        (WebCore::GraphicsContext::fillPath):
84987        (WebCore::GraphicsContext::fillRect):
84988        (WebCore::GraphicsContext::setPlatformFillGradient):
84989        (WebCore::GraphicsContext::setPlatformFillPattern):
84990        (WebCore::GraphicsContext::setPlatformStrokeGradient):
84991        (WebCore::GraphicsContext::setPlatformStrokePattern):
84992        (WebCore::GraphicsContext::strokePath):
84993        (WebCore::GraphicsContext::strokeRect):
84994        * platform/graphics/skia/PlatformContextSkia.cpp:
84995        (PlatformContextSkia::State::State):
84996        (PlatformContextSkia::State::~State):
84997        (PlatformContextSkia::drawRect):
84998        (PlatformContextSkia::setupPaintCommon):
84999        (PlatformContextSkia::setupPaintForFilling):
85000        (PlatformContextSkia::setupPaintForStroking):
85001        (PlatformContextSkia::setFillColor):
85002        (PlatformContextSkia::setStrokeColor):
85003        (PlatformContextSkia::setStrokeShader):
85004        (PlatformContextSkia::setFillShader):
85005        * platform/graphics/skia/PlatformContextSkia.h:
85006        * platform/graphics/skia/SkiaFontWin.cpp:
85007        (WebCore::skiaDrawText):
85008        (WebCore::paintSkiaText):
85009        * svg/graphics/SVGPaintServer.cpp:
85010        (WebCore::SVGPaintServer::teardown):
85011
850122009-07-16  Maxime Simon  <simon.maxime@gmail.com>
85013
85014        Reviewed by Oliver Hunt.
85015
85016        Added Haiku-specific files for WebCore/platform/image-decoders/.
85017        https://bugs.webkit.org/show_bug.cgi?id=26949
85018
85019        Adding a new file, ImageDecoderHaiku.cpp.
85020
85021        * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Added.
85022        (WebCore::RGBA32Buffer::RGBA32Buffer):
85023        (WebCore::RGBA32Buffer::clear):
85024        (WebCore::RGBA32Buffer::zeroFill):
85025        (WebCore::RGBA32Buffer::copyBitmapData):
85026        (WebCore::RGBA32Buffer::setSize):
85027        (WebCore::RGBA32Buffer::asNewNativeImage):
85028        (WebCore::RGBA32Buffer::hasAlpha):
85029        (WebCore::RGBA32Buffer::setHasAlpha):
85030        (WebCore::RGBA32Buffer::setStatus):
85031        (WebCore::RGBA32Buffer::operator=):
85032        (WebCore::RGBA32Buffer::width):
85033        (WebCore::RGBA32Buffer::height):
85034
850352009-07-16  Maxime Simon  <simon.maxime@gmail.com>
85036
85037        Reviewed by Eric Seidel.
85038
85039        Added Haiku-specific files for WebCore/page/.
85040        https://bugs.webkit.org/show_bug.cgi?id=26949
85041
85042        Adding three new files, DragControllerHaiku.cpp, EventHandlerHaiku.cpp
85043        and FrameHaiku.cpp
85044
85045        * page/haiku/DragControllerHaiku.cpp: Added.
85046        (WebCore::DragController::isCopyKeyDown):
85047        (WebCore::DragController::dragOperation):
85048        (WebCore::DragController::maxDragImageSize):
85049        (WebCore::DragController::cleanupAfterSystemDrag):
85050        * page/haiku/EventHandlerHaiku.cpp: Added.
85051        (WebCore::isKeyboardOptionTab):
85052        (WebCore::EventHandler::invertSenseOfTabsToLinks):
85053        (WebCore::EventHandler::tabsToAllControls):
85054        (WebCore::EventHandler::focusDocumentView):
85055        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
85056        (WebCore::EventHandler::passMouseDownEventToWidget):
85057        (WebCore::EventHandler::eventActivatedView):
85058        (WebCore::EventHandler::passSubframeEventToSubframe):
85059        (WebCore::EventHandler::passWheelEventToWidget):
85060        (WebCore::EventHandler::createDraggingClipboard):
85061        (WebCore::EventHandler::passMousePressEventToSubframe):
85062        (WebCore::EventHandler::passMouseMoveEventToSubframe):
85063        (WebCore::EventHandler::passMouseReleaseEventToSubframe):
85064        (WebCore::EventHandler::accessKeyModifiers):
85065        * page/haiku/FrameHaiku.cpp: Added.
85066        (WebCore::Frame::dragImageForSelection):
85067
850682009-07-16  Maxime Simon  <simon.maxime@gmail.com>
85069
85070        Reviewed by Eric Seidel.
85071
85072        Added Haiku-specific files for WebCore/editing/.
85073        https://bugs.webkit.org/show_bug.cgi?id=26949
85074
85075        Adding one new file, EditorHaiku.cpp
85076
85077        * editing/haiku/EditorHaiku.cpp: Added.
85078        (WebCore::Editor::newGeneralClipboard):
85079
850802009-07-16  Maxime Simon  <simon.maxime@gmail.com>
85081
85082        Reviewed by Eric Seidel.
85083
85084        Added Haiku-specific files for WebCore/bindings/js/.
85085        https://bugs.webkit.org/show_bug.cgi?id=26949
85086
85087        Adding a new file, ScriptControllerHaiku.cpp
85088
85089        * bindings/js/ScriptControllerHaiku.cpp: Added.
85090        (WebCore::ScriptController::createScriptInstanceForWidget):
85091
850922009-07-16  Maxime Simon  <simon.maxime@gmail.com>
85093
85094        Reviewed by Eric Seidel.
85095
85096        Added Haiku-specific files for WebCore/platform/text/.
85097        https://bugs.webkit.org/show_bug.cgi?id=26949
85098
85099        Adding two new files, StringHaiku.cpp
85100        and TextBreakIteratorInternalICUHaiku.cpp
85101
85102        * platform/text/haiku/StringHaiku.cpp: Added.
85103        (WebCore::String::String):
85104        (WebCore::String::operator BString):
85105        * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp: Added.
85106        (WebCore::currentTextBreakLocaleID):
85107
851082009-07-16  Kent Tamura  <tkent@chromium.org>
85109
85110        Reviewed by Eric Seidel.
85111
85112        Sends the basename of a selected file for non-multipart form submission.
85113        <https://bugs.webkit.org/show_bug.cgi?id=26505>
85114
85115        Test: fast/forms/get-file-upload.html
85116
85117        * html/HTMLInputElement.cpp:
85118        (WebCore::HTMLInputElement::appendFormData):
85119
851202009-07-16  Adam Barth  <abarth@webkit.org>
85121
85122        Reviewed by David Levin.
85123
85124        [V8] Centralize hidden property names
85125        https://bugs.webkit.org/show_bug.cgi?id=27359
85126
85127        No behavior change.  Just moving these names to a central location.
85128        I'll move the rest of our hidden property names as I sweep though the
85129        bindings.
85130
85131        * WebCore.gypi:
85132        * bindings/v8/V8HiddenPropertyName.cpp: Added.
85133        (WebCore::V8HiddenPropertyName::objectPrototype):
85134        (WebCore::V8HiddenPropertyName::isolatedWorld):
85135        * bindings/v8/V8HiddenPropertyName.h: Added.
85136        * bindings/v8/V8IsolatedWorld.cpp:
85137        (WebCore::V8IsolatedWorld::V8IsolatedWorld):
85138        (WebCore::V8IsolatedWorld::getEntered):
85139        * bindings/v8/V8Proxy.cpp:
85140        (WebCore::V8Proxy::getHiddenObjectPrototype):
85141        (WebCore::V8Proxy::installHiddenObjectPrototype):
85142
851432009-07-16  Dan Bernstein  <mitz@apple.com>
85144
85145        Reviewed by Simon Fraser.
85146
85147        REGRESSION (r41238) Repainted portion of a scaled image does not line up with full image
85148        https://bugs.webkit.org/show_bug.cgi?id=26747
85149        rdar://problem/7009243
85150
85151        Test: fast/repaint/background-misaligned.html
85152
85153        * platform/graphics/Image.cpp:
85154        (WebCore::Image::drawTiled): Moved a variable definition closer to where
85155        it is used.
85156        * platform/graphics/cg/ImageCG.cpp:
85157        (WebCore::BitmapImage::draw): In the subimage code path, compute a
85158        pixel-aligned source rect, because the subiamge is always pixel-aligned
85159        in source space, and adjust the destination rect to preserve the
85160        source -> destination mapping. Clip to the (original) destination rect
85161        to prevent bleeding out.
85162
851632009-07-16  Jeremy Orlow  <jorlow@chromium.org>
85164
85165        Reviewed by Adam Barth.
85166
85167        Add a sessionStorageEnabled setting to the settings class.
85168        https://bugs.webkit.org/show_bug.cgi?id=27318
85169
85170        Allow LocalStorage to be enabled without enabling SessionStorage at
85171        runtime.  There is a settings class setting for localStorage, but not
85172        for sessionStorage.  We want to be able to test one of these features
85173        without necessarily enabling the other.
85174
85175        SessionStorage defaults to true so as to not change behavior and
85176        because there really aren't any security concerns around SessionStorage
85177        (unlike LocalsStorage).  The flag is needed in Chromium only because
85178        we want to enable the compile time flag in the default build, but don't
85179        want it on by default until it's been thoroughly tested.
85180
85181        * page/DOMWindow.cpp:
85182        (WebCore::DOMWindow::sessionStorage):  Check the new flag
85183        (WebCore::DOMWindow::localStorage):  A bit of cleanup
85184        * page/Settings.cpp:
85185        (WebCore::Settings::Settings):  Default the flag to true
85186        (WebCore::Settings::setSessionStorageEnabled):  Add the new flag
85187        * page/Settings.h:
85188        (WebCore::Settings::sessionStorageEnabled):  Get the new flag
85189
851902009-07-16  Adam Barth  <abarth@webkit.org>
85191
85192        Unreviewed.
85193
85194        Revert 45987.  Tests did not pass on Windows.
85195
85196        * html/HTMLInputElement.cpp:
85197        (WebCore::HTMLInputElement::appendFormData):
85198
851992009-07-16  Drew Wilson  <atwilson@google.com>
85200
85201        Reviewed by David Levin.
85202
85203        Added SHARED_WORKER flag to Windows build files, as well as associated .ccp/.h files.
85204        Added missing V8 bindings to the AllInOne file
85205
85206        https://bugs.webkit.org/show_bug.cgi?id=27321
85207
85208        * WebCore.vcproj/WebCore.vcproj:
85209        Added missing files to build.
85210        * bindings/v8/DerivedSourcesAllInOne.cpp:
85211        Added missing V8 bindings (V8AbstractWorker.cpp and V8SharedWorker.cpp)
85212        * DerivedSources.cpp
85213        Added missing JS bindings (JSAbstractWorker.cpp and JSSharedWorker.cpp)
85214
852152009-07-16  John Abd-El-Malek  <jam@chromium.org>
85216
85217        Reviewed by David Levin.
85218
85219        Add a getter in MessagePortChannel for the PlatformMessagePortChannel.
85220
85221        https://bugs.webkit.org/show_bug.cgi?id=27337
85222
85223        * dom/MessagePortChannel.h:
85224        (WebCore::MessagePortChannel::channel):
85225
852262009-07-16  Xiaomei Ji  <xji@chromium.org>
85227
85228        Reviewed by Darin Adler.
85229
85230        Fix tooltip does not get its directionality from its element's directionality.
85231        https://bugs.webkit.org/show_bug.cgi?id=24187
85232
85233        Per mitz's suggestion in comment #6, while getting the plain-text 
85234        title, we also get the directionality of the title. How to handle 
85235        the directionality is up to clients. Clients could ignore it, 
85236        or use attribute or unicode control characters to display the title
85237        as what they want.
85238
85239        WARNING: NO TEST CASES ADDED OR CHANGED
85240
85241        * WebCore.base.exp: Replace 2 names due to signature change.
85242        * loader/EmptyClients.h: 
85243        (WebCore::EmptyChromeClient::setToolTip): Add direction as 2nd parameter.
85244        * page/Chrome.cpp:
85245        (WebCore::Chrome::setToolTip): Calculate tooltip direction as well and pass it to client to take care when display tooltip.
85246        * page/ChromeClient.h: Add direction as 2nd parameter to pure virtual function setToolTip().
85247        * page/chromium/ChromeClientChromium.h:
85248        (WebCore::ChromeClientChromium::setToolTip): Add setToolTip() 
85249        temprarily to make chromium compile after pick up this webkit patch.
85250        * rendering/HitTestResult.cpp:
85251        (WebCore::HitTestResult::spellingToolTip): Besides getting the 
85252        spelling tooltip, get its directionality as well.
85253        (WebCore::HitTestResult::title): Besides getting the title, 
85254        get its directionality as well.
85255        * rendering/HitTestResult.h: Add 2 more methods.
85256
852572009-07-16  Shinichiro Hamaji  <hamaji@chromium.org>
85258
85259        Reviewed by Oliver Hunt.
85260
85261        [CAIRO] pattern of a canvas-element changes after modifications on canvas-element
85262        https://bugs.webkit.org/show_bug.cgi?id=20578
85263
85264        Copy pixel image in ImageBuffer::image() just like CG and Skia glue.
85265
85266        Test: fast/canvas/canvas-pattern-modify.html
85267
85268        * platform/graphics/cairo/ImageBufferCairo.cpp:
85269        (copySurface):
85270        (WebCore::ImageBuffer::image):
85271
852722009-07-16  David Hyatt  <hyatt@apple.com>
85273
85274        Reviewed by Beth Dakin.
85275
85276        https://bugs.webkit.org/show_bug.cgi?id=27353
85277        Images mispositioned because of bug in percentage-based relative positioning.
85278
85279        Added fast/css/nested-floating-relative-position-percentages.html
85280
85281        * rendering/RenderBoxModelObject.cpp:
85282        (WebCore::RenderBoxModelObject::relativePositionOffsetX):
85283
852842009-07-16  Kent Tamura  <tkent@chromium.org>
85285
85286        Reviewed by Eric Seidel.
85287
85288        Sends the basename of a selected file for non-multipart form submission.
85289        <https://bugs.webkit.org/show_bug.cgi?id=26505>
85290
85291        Test: fast/forms/get-file-upload.html
85292
85293        * html/HTMLInputElement.cpp:
85294        (WebCore::HTMLInputElement::appendFormData):
85295
852962009-07-16  Simon Fraser  <simon.fraser@apple.com>
85297
85298        Reviewed by Darin Adler.
85299
85300        Video size sometimes jumps just after the video starts loading
85301        https://bugs.webkit.org/show_bug.cgi?id=27352
85302
85303        Ensure that the media player is at or after the 'HaveMetadata' state so that
85304        the instrinsic size is known before we create the layer for video. This avoids
85305        a flash caused by computing the video rect using the default intrinsic size, and then
85306        re-computing it when that size changes.
85307        
85308        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
85309        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
85310        (WebCore::MediaPlayerPrivate::isReadyForRendering):
85311        (WebCore::MediaPlayerPrivate::updateStates):
85312        (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
85313
853142009-07-16  Brady Eidson  <beidson@apple.com>
85315
85316        Reviewed by Antti Koivisto.
85317        Patch by Brady Eidson and Alexey Proskuryakov.
85318
85319        https://bugs.webkit.org/show_bug.cgi?id=26496
85320        <rdar://problem/7065391> Microsoft Outlook Web Access fails because XHR stream connection blocks script loading/revalidation
85321
85322        After refreshing a page and when all CachedResources on that page are in validation mode, they got an exemption
85323        from the connection-per-host limit.  Removing that exemption makes the test case load smoothly after reloads.
85324
85325        * loader/loader.cpp:
85326        (WebCore::Loader::Host::servePendingRequests): Remove the resourceIsCacheValidator exemption to the connection-per-host limit.
85327
853282009-07-16  Adam Barth  <abarth@webkit.org>
85329
85330        Reviewed by Dimitri Glazkov.
85331
85332        [V8] V8IsolatedWorld::evaluate needs to call didCreateIsolatedScriptContext
85333        https://bugs.webkit.org/show_bug.cgi?id=27335
85334
85335        evaluateInNewContext makes this delegate call.  evaluateInNewWorld
85336        needs to make the same call.  This does not appear to be testable with
85337        our current technology.
85338
85339        * bindings/v8/V8IsolatedWorld.cpp:
85340        (WebCore::V8IsolatedWorld::evaluate):
85341
853422009-07-15  Jakub Wieczorek  <faw217@gmail.com>
85343
85344        Reviewed by Simon Hausmann.
85345
85346        Fix a typo: application/atom=xml -> application/atom+xml.
85347
85348        * dom/ProcessingInstruction.cpp:
85349        (WebCore::ProcessingInstruction::checkStyleSheet):
85350
853512009-07-16  Dean McNamee  <deanm@chromium.org>
85352
85353        Reviewed by Oliver Hunt.
85354
85355        https://bugs.webkit.org/show_bug.cgi?id=27292
85356        Improve handling of <canvas> path operations on an empty path.
85357        Implement Skia's Path::hasCurrentPoint().
85358
85359        * html/CanvasRenderingContext2D.cpp:
85360        (WebCore::CanvasRenderingContext2D::lineTo):
85361        (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
85362        (WebCore::CanvasRenderingContext2D::bezierCurveTo):
85363        * platform/graphics/skia/PathSkia.cpp:
85364        (WebCore::Path::hasCurrentPoint):
85365
853662009-07-15  Shinichiro Hamaji  <hamaji@chromium.org>
85367
85368        Reviewed by Eric Seidel.
85369
85370        Setting white-space and word-wrap via CSS in textarea doesn't override the wrap attribute
85371        https://bugs.webkit.org/show_bug.cgi?id=26254
85372
85373        Make it so that setting white-space and word-wrap via CSS
85374        overrides the wrap attribute.
85375
85376        This involves having the shadow div in the textarea inherit
85377        the CSS from its parent instead of hard-coding it in
85378        RenderTextControlMultiline.
85379        
85380        Committer note: Earlier I reverted this change because I did it incorrectly
85381        by leaving out css/html.css. In the patch, the filename was the old name
85382        css/html4.css and that led to my error.
85383
85384        * css/html.css:
85385        * html/HTMLTextAreaElement.cpp:
85386        (WebCore::HTMLTextAreaElement::parseMappedAttribute):
85387        * rendering/RenderTextControlMultiLine.cpp:
85388        (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
85389
853902009-07-15  James Hawkins  <jhawkins@google.com>
85391
85392        Reviewed by Adam Barth.
85393
85394        [V8] Remove a local variable that is shadowing a function parameter.
85395        https://bugs.webkit.org/show_bug.cgi?id=27309
85396
85397        No test required as this modification does not change the current behavior.
85398
85399        * bindings/v8/V8DOMWrapper.cpp:
85400        (WebCore::V8DOMWrapper::instantiateV8Object):
85401
854022009-07-15  Adam Langley  <agl@google.com>
85403
85404        No review: reverting previous change.
85405
85406        Revert r45959:
85407
85408        2009-07-15  Dumitru Daniliuc  <dumi@chromium.org>
85409        Reviewed by Dimitri Glazkov.
85410
85411        Adding the Win SQLite VFS implementation for Chromium.
85412
85413        https://bugs.webkit.org/show_bug.cgi?id=26940
85414
85415
85416        The Chromium side of this patch was landed in 20839, but broke the build. It
85417        was reverted in r20840. Thus, I'm reverting this side of the patch too.
85418
85419        * WebCore.gypi:
85420        * platform/chromium/ChromiumBridge.h:
85421        * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Removed.
85422        * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Removed.
85423
854242009-07-15  David Levin  <levin@chromium.org>
85425
85426        Layout test fix, reverting previous change.
85427
85428        Reverting r45962 as it caused several layout test failures.
85429
85430        * html/HTMLTextAreaElement.cpp:
85431        (WebCore::HTMLTextAreaElement::parseMappedAttribute):
85432        * rendering/RenderTextControlMultiLine.cpp:
85433        (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
85434
854352009-06-08  Shinichiro Hamaji  <hamaji@chromium.org>
85436
85437        Reviewed by Eric Seidel.
85438
85439        Setting white-space and word-wrap via CSS in textarea doesn't override the wrap attribute
85440        https://bugs.webkit.org/show_bug.cgi?id=26254
85441
85442        Make it so that setting white-space and word-wrap via CSS
85443        overrides the wrap attribute.
85444
85445        This involves having the shadow div in the textarea inherit
85446        the CSS from its parent instead of hard-coding it in
85447        RenderTextControlMultiline.
85448
85449        * css/html4.css:
85450        * html/HTMLTextAreaElement.cpp:
85451        (WebCore::HTMLTextAreaElement::parseMappedAttribute):
85452        * rendering/RenderTextControlMultiLine.cpp:
85453        (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
85454
854552009-07-15  Dumitru Daniliuc  <dumi@chromium.org>
85456
85457        Reviewed by Dimitri Glazkov.
85458
85459        Adding the Win SQLite VFS implementation for Chromium.
85460
85461        https://bugs.webkit.org/show_bug.cgi?id=26940
85462
85463        * platform/chromium/ChromiumBridge.h:
85464        * platform/sql/chromium: Added.
85465        * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added.
85466        * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added.
85467
854682009-07-15  Jian Li  <jianli@chromium.org>
85469
85470        Reviewed by David Levin.
85471
85472        Bug 25151 - workers that fail to load scripts not firing error event.
85473        https://bugs.webkit.org/show_bug.cgi?id=25151
85474
85475        This fixes the problem that an error event is not fired when the worker
85476        script fails to load. Some reasons this may occur are an invalid URL for
85477        the worker script or a cross-origin redirect.
85478
85479        We also moves the code to complete the URL and check its origin from
85480        Worker constructor to WorkerScriptLoader loading functions in order to
85481        move the exception throwing logic out of the scope of Worker constructor.
85482        Due to this change, we also remove the output ExceptionCode parameter
85483        in the worker constructor. Corresponding JS/V8 binding codes have been
85484        updated to reflect this change.
85485
85486        * bindings/js/JSWorkerConstructor.cpp:
85487        (WebCore::constructWorker):
85488        * bindings/v8/custom/V8WorkerCustom.cpp:
85489        (WebCore::CALLBACK_FUNC_DECL):
85490        * workers/Worker.cpp:
85491        (WebCore::Worker::Worker):
85492        (WebCore::Worker::notifyFinished):
85493        * workers/Worker.h:
85494        (WebCore::Worker::create):
85495        * workers/WorkerContext.cpp:
85496        (WebCore::WorkerContext::importScripts):
85497        * workers/WorkerScriptLoader.cpp:
85498        (WebCore::toCrossOriginRedirectPolicy):
85499        (WebCore::WorkerScriptLoader::loadSynchronously):
85500        (WebCore::WorkerScriptLoader::loadAsynchronously):
85501        (WebCore::notifyLoadErrorTask):
85502        (WebCore::WorkerScriptLoader::createResourceRequest):
85503        (WebCore::WorkerScriptLoader::didFail):
85504        (WebCore::WorkerScriptLoader::didFailRedirectCheck):
85505        (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
85506        (WebCore::WorkerScriptLoader::notifyError):
85507        * workers/WorkerScriptLoader.h:
85508        (WebCore::):
85509        (WebCore::WorkerScriptLoader::url):
85510
855112009-07-15  Dan Bernstein  <mitz@apple.com>
85512
85513        Reviewed by Dave Hyatt.
85514
85515        text-shadow is not drawn for text with transparent colour
85516        https://bugs.webkit.org/show_bug.cgi?id=21374
85517
85518        Test: fast/text/shadow-translucent-fill.html
85519
85520        * rendering/InlineTextBox.cpp:
85521        (WebCore::paintTextWithShadows): If the text fill color is not opaque,
85522        paint all shadows separately from the text, by casting them from
85523        clipped-out opaque text.
85524
855252009-07-15  Adam Treat  <adam.treat@torchmobile.com>
85526
85527        Fix the Qt build.
85528
85529        * html/HTMLAreaElement.cpp:
85530
855312009-07-15  Jeremy Orlow  <jorlow@chromium.org>
85532
85533        Reviewed by Darin Fisher.
85534
85535        Cleanup DOM Storage dependencies.
85536        https://bugs.webkit.org/show_bug.cgi?id=27180
85537
85538        DOM Storage had several unnecessary (and probably unintended)
85539        dependencies.  This patch replaces many includes of header files with
85540        forward declaration of classes, making some destructors explicit, and
85541        taking some factories out of the header files.
85542
85543        This will allow things like StorageAreaSync to take a StorageAreaImpl*
85544        (as it should) rather than a StorageArea* which previously weren't
85545        possible because the dependencies were such a tangled mess.
85546
85547        * storage/LocalStorageTask.cpp:
85548        (WebCore::LocalStorageTask::~LocalStorageTask):
85549        * storage/LocalStorageTask.h:
85550        * storage/Storage.cpp:
85551        (WebCore::Storage::~Storage):
85552        * storage/Storage.h:
85553        * storage/StorageArea.cpp:
85554        * storage/StorageArea.h:
85555        * storage/StorageAreaImpl.cpp:
85556        * storage/StorageAreaImpl.h:
85557        * storage/StorageAreaSync.cpp:
85558        (WebCore::StorageAreaSync::~StorageAreaSync):
85559        * storage/StorageAreaSync.h:
85560        * storage/StorageEvent.cpp:
85561        (WebCore::StorageEvent::create):
85562        (WebCore::StorageEvent::StorageEvent):
85563        * storage/StorageEvent.h:
85564        * storage/StorageNamespace.h:
85565        * storage/StorageNamespaceImpl.cpp:
85566        * storage/StorageNamespaceImpl.h:
85567        * storage/StorageSyncManager.cpp:
85568        (WebCore::StorageSyncManager::~StorageSyncManager):
85569        * storage/StorageSyncManager.h:
85570
855712009-07-15  Chris Marrin  <cmarrin@apple.com>
85572
85573        Reviewed by Simon Fraser.
85574
85575        Incorrect animation when trying to duplicate effect of transform-origin
85576        https://bugs.webkit.org/show_bug.cgi?id=27310
85577
85578        The bug is that matrix animation is being used when animating
85579        a list of transform functions that match in the from and to states.
85580        This sometimes works. But because of the way CA does matrix animation
85581        function lists like the one shown in the testcase animate incorrectly.
85582
85583        This fixes the bug by always doing component animation
85584        as long as the function lists match. This allows CA
85585        to animate the components and then recompose the result
85586        into the correct matrix.
85587
85588        Test: animations/transform-origin-vs-functions.html
85589
85590        * platform/graphics/mac/GraphicsLayerCA.mm:
85591        (WebCore::GraphicsLayerCA::animateTransform):
85592
855932009-07-15  Albert J. Wong  <ajwong@chromium.org>
85594
85595        Reviewed by David Levin.
85596
85597        Upstream the V8NPObject and NPV8Object build changes for WebCore.gypi.
85598
85599        Add upstreamed V8 bindings files into WebCore.gypi so they can be seen
85600        downstream
85601        https://bugs.webkit.org/show_bug.cgi?id=27274
85602
85603        Changes the build file for chromium.  Test built the chromium tree
85604        to verify.
85605
85606        * WebCore.gypi:
85607
856082009-07-15  Mark Rowe  <mrowe@apple.com>
85609
85610        I like it when the code compiles.
85611
85612        * WebCore.base.exp:
85613
856142009-07-15  Darin Adler  <darin@apple.com>
85615
85616        Reviewed by Sam Weinig.
85617
85618        Renamed parseURL to deprecatedParseURL.
85619
85620        * bindings/js/JSAttrCustom.cpp:
85621        (WebCore::JSAttr::setValue): Renamed.
85622        * bindings/js/JSElementCustom.cpp:
85623        (WebCore::allowSettingSrcToJavascriptURL): Renamed.
85624        * bindings/js/JSHTMLFrameElementCustom.cpp:
85625        (WebCore::allowSettingJavascriptURL): Renamed.
85626        * bindings/js/JSHTMLIFrameElementCustom.cpp:
85627        (WebCore::JSHTMLIFrameElement::setSrc): Renamed.
85628        * bindings/objc/DOM.mm:
85629        (-[DOMElement _getURLAttribute:]): Renamed.
85630        * bindings/objc/DOMHTML.mm:
85631        (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Renamed.
85632        * bindings/v8/custom/V8CustomBinding.cpp:
85633        (WebCore::allowSettingFrameSrcToJavascriptUrl): Renamed.
85634        * css/CSSHelper.cpp:
85635        (WebCore::deprecatedParseURL): Renamed.
85636        * css/CSSHelper.h: Renamed and updated comment.
85637        * html/HTMLAnchorElement.cpp:
85638        (WebCore::HTMLAnchorElement::defaultEventHandler): Renamed.
85639        (WebCore::HTMLAnchorElement::parseMappedAttribute): Renamed.
85640        * html/HTMLBaseElement.cpp:
85641        (WebCore::HTMLBaseElement::parseMappedAttribute): Renamed.
85642        * html/HTMLBodyElement.cpp:
85643        (WebCore::HTMLBodyElement::parseMappedAttribute): Renamed.
85644        * html/HTMLEmbedElement.cpp:
85645        (WebCore::HTMLEmbedElement::parseMappedAttribute): Renamed.
85646        * html/HTMLFormElement.cpp:
85647        (WebCore::HTMLFormElement::parseMappedAttribute): Renamed.
85648        * html/HTMLFrameElementBase.cpp:
85649        (WebCore::HTMLFrameElementBase::parseMappedAttribute): Renamed.
85650        * html/HTMLImageElement.cpp:
85651        (WebCore::HTMLImageElement::parseMappedAttribute): Renamed.
85652        * html/HTMLImageLoader.cpp:
85653        (WebCore::HTMLImageLoader::sourceURI): Renamed.
85654        * html/HTMLLinkElement.cpp:
85655        (WebCore::HTMLLinkElement::parseMappedAttribute): Renamed.
85656        * html/HTMLObjectElement.cpp:
85657        (WebCore::HTMLObjectElement::parseMappedAttribute): Renamed.
85658        * html/HTMLTableElement.cpp:
85659        (WebCore::HTMLTableElement::parseMappedAttribute): Renamed.
85660        * html/HTMLTablePartElement.cpp:
85661        (WebCore::HTMLTablePartElement::parseMappedAttribute): Renamed.
85662        * html/HTMLTokenizer.cpp:
85663        (WebCore::HTMLTokenizer::parseTag): Renamed.
85664        * html/PreloadScanner.cpp:
85665        (WebCore::PreloadScanner::processAttribute): Renamed.
85666        (WebCore::PreloadScanner::emitCSSRule): Renamed.
85667        * platform/chromium/ClipboardChromium.cpp:
85668        (WebCore::ClipboardChromium::declareAndWriteDragImage): Renamed.
85669        * platform/chromium/PasteboardChromium.cpp:
85670        (WebCore::Pasteboard::writeImage): Renamed.
85671        * platform/qt/ClipboardQt.cpp:
85672        (WebCore::ClipboardQt::declareAndWriteDragImage): Renamed.
85673        * platform/win/ClipboardWin.cpp:
85674        (WebCore::ClipboardWin::declareAndWriteDragImage): Renamed.
85675        * rendering/HitTestResult.cpp:
85676        (WebCore::HitTestResult::absoluteImageURL): Renamed.
85677        (WebCore::HitTestResult::absoluteMediaURL): Renamed.
85678        (WebCore::HitTestResult::absoluteLinkURL): Renamed.
85679        * svg/SVGAElement.cpp:
85680        (WebCore::SVGAElement::defaultEventHandler): Renamed.
85681        * svg/SVGImageLoader.cpp:
85682        (WebCore::SVGImageLoader::sourceURI): Renamed.
85683        * wml/WMLAElement.cpp:
85684        (WebCore::WMLAElement::defaultEventHandler): Renamed.
85685        * wml/WMLImageLoader.cpp:
85686        (WebCore::WMLImageLoader::sourceURI): Renamed.
85687
856882009-07-15  Darin Adler  <darin@apple.com>
85689
85690        Reviewed by Dan Bernstein.
85691
85692        CSSHelper.h's parseURL is a function that no one should ever call
85693        Part 1: Eliminate callers in the CSS parser.
85694        https://bugs.webkit.org/show_bug.cgi?id=26599
85695
85696        Test: fast/css/uri-token-parsing.html
85697
85698        * css/CSSHelper.h: Added a comment explaining why nobody should ever call this
85699        function. A FIXME suggests a next step, which would be to rename it deprecatedParseURL.
85700
85701        * css/CSSParser.cpp:
85702        (WebCore::CSSParser::parseValue): Removed unneeded call to parseURL;
85703        CSSParser::text already takes care of parsing the URI token syntax, and the
85704        parseURL function does no good.
85705        (WebCore::CSSParser::parseContent): Ditto.
85706        (WebCore::CSSParser::parseFillImage): Ditto.
85707        (WebCore::CSSParser::parseFontFaceSrc): Ditto.
85708        (WebCore::CSSParser::parseBorderImage): Ditto.
85709        (WebCore::isCSSWhitespace): Added. Helper function that makes the text function
85710        easier to read.
85711        (WebCore::CSSParser::text): Tweak logic so that leading and trailing whitespace
85712        are both trimmed before removing the quote marks. Changed to use the
85713        isCSSWhitespace, isASCIIHexDigit, and toASCIIHexValue functions for clarity.
85714
85715        * css/CSSParser.h: Removed stray "public:" in this header.
85716
85717        * platform/text/StringImpl.cpp:
85718        (WebCore::StringImpl::substring): Optimized the case where the substring covers
85719        the entire string, so we just share the StringImpl instead of making a new one.
85720        This case came up in earlier versions of the CSS parser changes above.
85721        (WebCore::StringImpl::substringCopy): Streamlined the logic here and made it
85722        not call substring any more. Before, this was relying on the substring function
85723        always making a copy of any non-empty substring.
85724
857252009-07-15  Darin Adler  <darin@apple.com>
85726
85727        Reviewed by John Sullivan.
85728
85729        After double-clicking a word, using Shift-arrow to select behaves unpredictably
85730        https://bugs.webkit.org/show_bug.cgi?id=27177
85731        rdar://problem/7034324
85732
85733        Test: editing/selection/extend-selection-after-double-click.html
85734
85735        The bug was due to the m_lastChangeWasHorizontalExtension flag, which was not
85736        being cleared in many cases where it should have been.
85737
85738        * editing/SelectionController.cpp:
85739        (WebCore::SelectionController::setSelection): Set m_lastChangeWasHorizontalExtension
85740        to false. This catches all sorts of cases that don't flow through the modify function.
85741        Before, the flag would reflect the last call to the modify function, which was not
85742        necessarily the last selection change.
85743        (WebCore::SelectionController::willBeModified): Rearrange function for clarity.
85744        Remove code that sets m_lastChangeWasHorizontalExtension; that is now handled elsewhere. 
85745        (WebCore::SelectionController::modify): Call setLastChangeWasHorizontalExtension after
85746        setSelection when setting up a trial selection controller, since setSelection now
85747        clears that flag. Also changed both trial selection controller cases to set the flag,
85748        although it's not strictly necessary in both cases. Added code to set
85749        m_lastChangeWasHorizontalExtension when extending the selection, which used to be
85750        handled in willBeModified. Now we need to do it after the selection change.
85751
857522009-07-15  Jeremy Orlow  <jorlow@chromium.org>
85753
85754        Reviewed by Dimitri Glazkov.
85755
85756        Need to update DOM Storage files in GYPI file.
85757        https://bugs.webkit.org/show_bug.cgi?id=27317
85758
85759        Need to update DOM Storage files in the GYPI file.  They're pretty out
85760        of date and we're on the path towards enabling them for everyone!
85761
85762        * WebCore.gypi:
85763
857642009-07-15  Kwang Yul Seo  <skyul@company100.net>
85765
85766        Reviewed by Eric Seidel.
85767
85768        https://bugs.webkit.org/show_bug.cgi?id=26794
85769        Make Yacc-generated parsers to use fastMalloc/fastFree.
85770        
85771        Define YYMALLOC and YYFREE to fastMalloc and fastFree
85772        respectively.
85773
85774        * css/CSSGrammar.y:
85775        * xml/XPathGrammar.y:
85776
857772009-07-15  David Hyatt  <hyatt@apple.com>
85778
85779        Reviewed by Adam Roben.
85780
85781        https://bugs.webkit.org/show_bug.cgi?id=27193
85782        Don't run in to anonymous blocks.  No other browsers do this, and our implementation of run-in
85783        is effectively broken as a result.
85784
85785        No new tests. Changed fast/runin/001.html and fast/runin/generated.html to match new behavior.
85786
85787        * rendering/RenderBlock.cpp:
85788        (WebCore::RenderBlock::handleRunInChild):
85789
857902009-07-15  Yuzo Fujishima  <yuzo@google.com>
85791
85792        Reviewed by Darin Adler.
85793
85794        Test: fast/js/instanceof-operator.html
85795
85796        Fix for: Bug 25205 -  XMLHttpRequest instance is not an instanceof XMLHttpRequest
85797        https://bugs.webkit.org/show_bug.cgi?id=25205
85798
85799        In addition to for XMLHttpRequest, this also fixes for:
85800        - Audio
85801        - Image
85802        - MessageChannel
85803        - Option
85804        - WebKitCSSMatrix
85805        - WebKitPoint
85806        - Worker
85807        - XSLTProcessor
85808
85809        * bindings/js/JSAudioConstructor.cpp:
85810        (WebCore::JSAudioConstructor::JSAudioConstructor):
85811        * bindings/js/JSAudioConstructor.h:
85812        * bindings/js/JSDOMBinding.h:
85813        (WebCore::DOMConstructorObject::createStructure):
85814        (WebCore::DOMConstructorObject::DOMConstructorObject):
85815        * bindings/js/JSImageConstructor.cpp:
85816        (WebCore::JSImageConstructor::JSImageConstructor):
85817        * bindings/js/JSImageConstructor.h:
85818        * bindings/js/JSMessageChannelConstructor.cpp:
85819        (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
85820        * bindings/js/JSMessageChannelConstructor.h:
85821        * bindings/js/JSOptionConstructor.cpp:
85822        (WebCore::JSOptionConstructor::JSOptionConstructor):
85823        * bindings/js/JSOptionConstructor.h:
85824        * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
85825        (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
85826        * bindings/js/JSWebKitCSSMatrixConstructor.h:
85827        * bindings/js/JSWebKitPointConstructor.cpp:
85828        (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
85829        * bindings/js/JSWebKitPointConstructor.h:
85830        * bindings/js/JSWorkerConstructor.cpp:
85831        (WebCore::JSWorkerConstructor::JSWorkerConstructor):
85832        * bindings/js/JSWorkerConstructor.h:
85833        * bindings/js/JSXMLHttpRequestConstructor.cpp:
85834        (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
85835        * bindings/js/JSXMLHttpRequestConstructor.h:
85836        * bindings/js/JSXSLTProcessorConstructor.cpp:
85837        (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
85838        * bindings/js/JSXSLTProcessorConstructor.h:
85839
858402009-07-15  Kai Br�ning  <kai@granus.net>
85841
85842        Reviewed by Dave Hyatt.
85843
85844        CSS21 attribute selectors not dynamic for xml.
85845        https://bugs.webkit.org/show_bug.cgi?id=25072
85846
85847        Moved the relevant test in StyledElement::attributeChanged()
85848        to a new function Element::recalcStyleIfNeededAfterAttributeChanged()
85849        so it can be called from both StyledElement::attributeChanged()
85850        and Element::attributeChanged().
85851        Refactored Element::attributeChanged() into
85852        Element::updateAfterAttributeChanged() and
85853        Element::recalcStyleIfNeededAfterAttributeChanged(), which are called
85854        separately from StyledElement::attributeChanged().
85855
85856        Test: fast/css/attribute-selector-dynamic.xml
85857
85858        * dom/Element.cpp:
85859        (WebCore::Element::attributeChanged):
85860        (WebCore::Element::updateAfterAttributeChanged):
85861        (WebCore::Element::recalcStyleIfNeededAfterAttributeChanged):
85862        * dom/Element.h:
85863        * dom/StyledElement.cpp:
85864        (WebCore::StyledElement::attributeChanged):
85865
858662009-07-15  Alpha Lam  <hclam@chromium.org>
85867
85868        Reviewed by David Levin.
85869
85870        [V8] Layout test failures for drawImage in Canvas
85871        https://bugs.webkit.org/show_bug.cgi?id=27311
85872
85873        Fixing several canvas layout tests failures due to a
85874        missing return statement in CanvasRenderingContext2DDrawImage() which
85875        was accidentally removed in r45929.
85876
85877        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
85878
858792009-07-15  Robert Hogan  <robert@roberthogan.net>
85880
85881        Reviewed by Eric Seidel.
85882
85883        https://bugs.webkit.org/show_bug.cgi?id=26969
85884
85885        If the httpMethod() of the request passed to SubresourceLoader::create is not
85886        supported by the client we must expect to call didFail() while m_loader is still null.
85887
85888        * loader/DocumentThreadableLoader.cpp:
85889        (DocumentThreadableLoader::didFail):Changed.
85890
858912009-07-15  Mark Rowe  <mrowe@apple.com>
85892
85893        Fix the Mac build.
85894
85895        * WebCore.base.exp:
85896        * css/MediaQueryEvaluator.cpp:
85897        * rendering/SVGRenderTreeAsText.cpp:
85898        * rendering/style/SVGRenderStyle.cpp:
85899        * svg/graphics/SVGPaintServer.cpp:
85900
859012009-07-07  Alpha Lam  <hclam@chromium.org>
85902
85903        Reviewed by Dimitri Glazkov.
85904
85905        [V8] drawImage method of HTMLCanvasElement to accept HTMLVideoElement as argument
85906        https://bugs.webkit.org/show_bug.cgi?id=27170
85907
85908        Changed CanvasRenderingContext2DDrawImage() to accept HTMLVideoElement
85909        as a parameter of drawImage() for HTMLCanvasElement.
85910
85911        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
85912
859132009-07-15  Adam Barth  <abarth@webkit.org>
85914
85915        Reviewed by Dimitri Glazkov.
85916
85917        [V8] Fix isolated world constructors
85918        https://bugs.webkit.org/show_bug.cgi?id=27287
85919
85920        Don't enter V8Proxy::m_context before creating DOM constructors.
85921        Instead, use getWrapperContext to get the right context.
85922
85923        After this patch, all my tests pass.  I'll enable the feature
85924        downstream and land the tests.
85925
85926        * bindings/scripts/CodeGeneratorV8.pm:
85927        * bindings/v8/V8DOMWrapper.cpp:
85928        (WebCore::V8DOMWrapper::getConstructor):
85929        (WebCore::V8DOMWrapper::lookupDOMWrapper):
85930        * bindings/v8/V8DOMWrapper.h:
85931        * bindings/v8/V8IsolatedWorld.cpp:
85932        (WebCore::V8IsolatedWorld::evaluate):
85933        * bindings/v8/V8Proxy.cpp:
85934        (WebCore::V8Proxy::createWrapperFromCache):
85935        (WebCore::V8Proxy::isContextInitialized):
85936        (WebCore::V8Proxy::disposeContextHandles):
85937        (WebCore::V8Proxy::installDOMWindow):
85938        (WebCore::V8Proxy::initContextIfNeeded):
85939        (WebCore::V8Proxy::getHiddenObjectPrototype):
85940        (WebCore::V8Proxy::installHiddenObjectPrototype):
85941        * bindings/v8/V8Proxy.h:
85942
859432009-07-15  Antonio Gomes   <antonio.gomes@openbossa.org>
85944
85945        Reviewed by Darin Adler.
85946
85947        useless null-check statement in visible_units.cpp@logicalStartOfLine
85948        https://bugs.webkit.org/show_bug.cgi?id=27154
85949
85950        Simple fix.
85951
85952        * editing/visible_units.cpp:
85953        (WebCore::logicalStartOfLine): Doubled honorEditableBoundaryAtOrAfter() call removed.
85954
859552009-07-15  Brady Eidson  <beidson@apple.com>
85956
85957        Reviewed by Dan Bernstein.
85958
85959        https://bugs.webkit.org/show_bug.cgi?id=27304
85960        WebKit should provide usage and eligibility information about the page cache.
85961
85962        * WebCore.base.exp:
85963
85964        * history/CachedFrame.cpp:
85965        (WebCore::CachedFrame::childFrameCount):
85966        * history/CachedFrame.h:
85967
85968        * history/PageCache.cpp:
85969        (WebCore::PageCache::frameCount):
85970        (WebCore::PageCache::autoreleasedPageCount):
85971        * history/PageCache.h:
85972        (WebCore::PageCache::pageCount):
85973
859742009-07-15  Shinichiro Hamaji  <hamaji@chromium.org>
85975
85976        Reviewed by David Levin.
85977
85978        Chromium's canvas forgets its context after fillText again
85979        https://bugs.webkit.org/show_bug.cgi?id=27293
85980
85981        No new tests because the test for this was already added in
85982        https://bugs.webkit.org/show_bug.cgi?id=26436
85983
85984        * platform/graphics/chromium/TransparencyWin.cpp:
85985        (WebCore::TransparencyWin::compositeTextComposite):
85986
859872009-07-14  David Hyatt  <hyatt@apple.com>
85988
85989        Reviewed by Simon Fraser.
85990
85991        https://bugs.webkit.org/show_bug.cgi?id=27283
85992
85993        Implement the new 'rem' unit from CSS3.
85994
85995        Added some rem-* tests in fast/css.
85996
85997        * css/CSSGrammar.y:
85998        * css/CSSParser.cpp:
85999        (WebCore::CSSParser::validUnit):
86000        (WebCore::unitFromString):
86001        (WebCore::CSSParser::parseValue):
86002        (WebCore::CSSParser::lex):
86003        * css/CSSParserValues.cpp:
86004        (WebCore::CSSParserValue::createCSSValue):
86005        * css/CSSPrimitiveValue.cpp:
86006        (WebCore::CSSPrimitiveValue::computeLengthInt):
86007        (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
86008        (WebCore::CSSPrimitiveValue::computeLengthShort):
86009        (WebCore::CSSPrimitiveValue::computeLengthFloat):
86010        (WebCore::CSSPrimitiveValue::computeLengthDouble):
86011        (WebCore::CSSPrimitiveValue::cssText):
86012        (WebCore::CSSPrimitiveValue::parserValue):
86013        * css/CSSPrimitiveValue.h:
86014        (WebCore::CSSPrimitiveValue::):
86015        (WebCore::CSSPrimitiveValue::isUnitTypeLength):
86016        * css/CSSStyleSelector.cpp:
86017        (WebCore::CSSStyleSelector::initForStyleResolve):
86018        (WebCore::convertToLength):
86019        (WebCore::CSSStyleSelector::applyProperty):
86020        (WebCore::CSSStyleSelector::mapFillSize):
86021        (WebCore::CSSStyleSelector::mapFillXPosition):
86022        (WebCore::CSSStyleSelector::mapFillYPosition):
86023        (WebCore::CSSStyleSelector::createTransformOperations):
86024        * css/CSSStyleSelector.h:
86025        * css/MediaQueryEvaluator.cpp:
86026        (WebCore::device_heightMediaFeatureEval):
86027        (WebCore::device_widthMediaFeatureEval):
86028        (WebCore::heightMediaFeatureEval):
86029        (WebCore::widthMediaFeatureEval):
86030        * css/WebKitCSSMatrix.cpp:
86031        (WebCore::WebKitCSSMatrix::setMatrixValue):
86032        * css/tokenizer.flex:
86033        * dom/Document.cpp:
86034        (WebCore::Document::Document):
86035        * dom/Document.h:
86036        (WebCore::Document::usesRemUnits):
86037        (WebCore::Document::setUsesRemUnits):
86038        * dom/Element.cpp:
86039        (WebCore::Element::recalcStyle):
86040        * rendering/SVGRenderTreeAsText.cpp:
86041        (WebCore::writeStyle):
86042        * rendering/style/SVGRenderStyle.cpp:
86043        (WebCore::SVGRenderStyle::cssPrimitiveToLength):
86044        * svg/graphics/SVGPaintServer.cpp:
86045        (WebCore::applyStrokeStyleToContext):
86046        (WebCore::dashArrayFromRenderingStyle):
86047        * svg/graphics/SVGPaintServer.h:
86048
860492009-07-15  Dimitri Glazkov  <dglazkov@chromium.org>
86050
86051        Unreviewed, build fix.
86052
86053        Remove extraneous qualifier, accidentally added in http://trac.webkit.org/changeset/45884.
86054
86055        * bindings/v8/V8DOMWrapper.h: Removed extraneous qualifier.
86056
860572009-07-15  Dimitri Glazkov  <dglazkov@chromium.org>
86058
86059        Reviewed by Darin Fisher.
86060
86061        [V8] Update bindings for ValiditeState patch.
86062        https://bugs.webkit.org/show_bug.cgi?id=19562
86063
86064        * bindings/v8/DOMObjectsInclude.h:
86065        * bindings/v8/DerivedSourcesAllInOne.cpp:
86066        * bindings/v8/V8Index.cpp:
86067        * bindings/v8/V8Index.h:
86068
860692009-07-15  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
86070
86071        Reviewed by Simon Hausmann.
86072
86073        [Qt] Cleanup - Remove obsolete code from the make system
86074        https://bugs.webkit.org/show_bug.cgi?id=27299
86075
86076        * WebCore.pro:
86077
860782009-07-15  Simon Hausmann  <simon.hausmann@nokia.com>
86079
86080        Reviewed by Ariya Hidayat.
86081
86082        Fix the build without media elements.
86083
86084        * rendering/HitTestResult.cpp:
86085        (WebCore::HitTestResult::absoluteMediaURL): Add #if ENABLE(VIDEO)
86086        markers around the body of the method.
86087
860882009-07-14  Pavel Feldman  <pfeldman@chromium.org>
86089
86090        Reviewed by Timothy Hatcher.
86091
86092        WebInspector: Move storeLastActivePanel out of the
86093        ifdef ENABLE_JAVASCRIPT_DEBUGGER section in IDL;
86094        Add default panel for the first opening of the
86095        WebInspector.
86096
86097        https://bugs.webkit.org/show_bug.cgi?id=27263
86098
86099        * inspector/InspectorController.cpp:
86100        (InspectorController::setWindowVisible):
86101        * inspector/InspectorController.idl:
86102
861032009-07-14  Darin Adler  <darin@apple.com>
86104
86105        Try to fix Windows build.
86106
86107        * bindings/scripts/CodeGeneratorCOM.pm: Add Reflect and ReflectURL support.
86108
861092009-07-14  Pierre d'Herbemont  <pdherbemont@apple.com>
86110
86111        Reviewed by Oliver Hunt.
86112
86113        HTMLMediaElement::supportsFullscreen() should return false
86114        https://bugs.webkit.org/show_bug.cgi?id=27284
86115
86116        (Reverting a part of 45875)
86117
86118        HTMLVideoElement::supportsFullscreen() will properly do the
86119        job, and check if the backend supports fullscreen.
86120
86121        HTMLVideoElement is the only subclass to support fullscreen
86122        (conditionnaly). HTMLAudioElement fullscreen is not supported
86123        and is a different kind of fullscreen, if it comes to be wanted.
86124
86125        No test can be done currently given that none of the media
86126        backends support fullscreen.
86127
86128        * html/HTMLMediaElement.cpp:
86129        * html/HTMLMediaElement.h:
86130        (WebCore::HTMLMediaElement::supportsFullscreen):
86131
861322009-07-14  Darin Adler  <darin@apple.com>
86133
86134        Reviewed by Dimitri Glazkov.
86135
86136        Next step in making DOM attribute getter/setters consistently use AtomicString
86137        https://bugs.webkit.org/show_bug.cgi?id=25425
86138
86139        This covers eight DOM classes, and for each one of the classes:
86140
86141        - Changes the IDL to use the Reflect syntax for all simple cases.
86142        - Removes unused functions in the classes, mainly newly unused ones that were
86143          used for reflection before.
86144        - Removes unneeded explicitly defined destructors.
86145        - Explicitly declares destructors as virtual.
86146        - Removes unneeded includes.
86147        - Makes members protected or private rather than public where possible.
86148        - Renames "doc" to "document".
86149        - Tweaks formatting to match our latest style in a few places.
86150        - Improves some FIXME comments.
86151
86152        Over time we'll want to do this for all HTML DOM classes.
86153
86154        * html/HTMLAnchorElement.cpp:
86155        (WebCore::HTMLAnchorElement::HTMLAnchorElement):
86156        * html/HTMLAnchorElement.h:
86157        (WebCore::HTMLAnchorElement::endTagRequirement):
86158        (WebCore::HTMLAnchorElement::tagPriority):
86159        * html/HTMLAnchorElement.idl:
86160        * html/HTMLAppletElement.cpp:
86161        * html/HTMLAppletElement.h:
86162        * html/HTMLAppletElement.idl:
86163        * html/HTMLAreaElement.cpp:
86164        (WebCore::HTMLAreaElement::parseMappedAttribute):
86165        * html/HTMLAreaElement.h:
86166        (WebCore::HTMLAreaElement::endTagRequirement):
86167        (WebCore::HTMLAreaElement::tagPriority):
86168        * html/HTMLAreaElement.idl:
86169        * html/HTMLBRElement.cpp:
86170        (WebCore::HTMLBRElement::parseMappedAttribute):
86171        * html/HTMLBRElement.h:
86172        * html/HTMLBRElement.idl:
86173        * html/HTMLBaseElement.cpp:
86174        (WebCore::HTMLBaseElement::HTMLBaseElement):
86175        (WebCore::HTMLBaseElement::removedFromDocument):
86176        (WebCore::HTMLBaseElement::process):
86177        * html/HTMLBaseElement.h:
86178        * html/HTMLBaseElement.idl:
86179        * html/HTMLBaseFontElement.cpp:
86180        (WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
86181        * html/HTMLBaseFontElement.h:
86182        (WebCore::HTMLBaseFontElement::endTagRequirement):
86183        (WebCore::HTMLBaseFontElement::tagPriority):
86184        * html/HTMLBaseFontElement.idl:
86185        * html/HTMLBlockquoteElement.cpp:
86186        (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
86187        * html/HTMLBlockquoteElement.h:
86188        (WebCore::HTMLBlockquoteElement::tagPriority):
86189        * html/HTMLBlockquoteElement.idl:
86190        * html/HTMLBodyElement.cpp:
86191        (WebCore::HTMLBodyElement::HTMLBodyElement):
86192        (WebCore::HTMLBodyElement::addSubresourceAttributeURLs):
86193        * html/HTMLBodyElement.h:
86194        (WebCore::HTMLBodyElement::endTagRequirement):
86195        (WebCore::HTMLBodyElement::tagPriority):
86196        * html/HTMLBodyElement.idl:
86197        Made changes as described above.
86198
86199        * loader/FrameLoader.cpp: Removed unneeded include of HTMLAnchorElement.h.
86200
862012009-07-14  Steve Falkenburg  <sfalken@apple.com>
86202
86203        Reorganize JavaScriptCore headers into:
86204        API: include/JavaScriptCore/
86205        Private: include/private/JavaScriptCore/
86206
86207        Reviewed by Darin Adler.
86208
86209        * WebCore.vcproj/QTMovieWin.vcproj:
86210        * WebCore.vcproj/WebCoreCommon.vsprops:
86211        * WebCore.vcproj/build-generated-files.sh:
86212
862132009-07-14  Zoltan Horvath  <hzoltan@inf.u-szeged.hu>
86214
86215        Reviewed by Darin Adler.
86216
86217        Change all Noncopyable inheriting visibility to public.
86218        https://bugs.webkit.org/show_bug.cgi?id=27225
86219
86220        Change all Noncopyable inheriting visibility to public because
86221        it is needed to the custom allocation framework (bug #20422).
86222
86223        * bindings/js/GCController.h:
86224        * bindings/js/WorkerScriptController.h:
86225        * bindings/v8/V8DOMMap.cpp:
86226        (WebCore::):
86227        * bridge/runtime.h:
86228        * css/CSSSelector.h:
86229        * css/CSSSelectorList.h:
86230        * css/CSSStyleSelector.h:
86231        * dom/ClassNames.h:
86232        * dom/MessagePortChannel.h:
86233        * dom/XMLTokenizerLibxml2.cpp:
86234        * dom/XMLTokenizerScope.h:
86235        * editing/ReplaceSelectionCommand.cpp:
86236        * editing/SelectionController.h:
86237        * editing/TextIterator.cpp:
86238        * history/PageCache.h:
86239        * html/CanvasRenderingContext2D.h:
86240        * html/HTMLParser.h:
86241        * html/HTMLParserQuirks.h:
86242        * html/PreloadScanner.h:
86243        * loader/Cache.h:
86244        * loader/CrossOriginPreflightResultCache.h:
86245        * loader/FrameLoader.h:
86246        * loader/ProgressTracker.h:
86247        * loader/ThreadableLoader.h:
86248        * loader/appcache/ApplicationCacheGroup.h:
86249        * loader/archive/ArchiveResourceCollection.h:
86250        * loader/icon/IconDatabase.h:
86251        * loader/icon/IconLoader.h:
86252        * loader/icon/PageURLRecord.h:
86253        * loader/loader.h:
86254        * page/ContextMenuController.h:
86255        * page/EventHandler.h:
86256        * page/FrameTree.h:
86257        * page/Page.h:
86258        * page/PageGroup.h:
86259        * page/PageGroupLoadDeferrer.h:
86260        * page/mac/EventHandlerMac.mm:
86261        * platform/AutodrainedPool.h:
86262        * platform/ContextMenu.h:
86263        * platform/EventLoop.h:
86264        * platform/HostWindow.h:
86265        * platform/Pasteboard.h:
86266        * platform/PurgeableBuffer.h:
86267        * platform/RunLoopTimer.h:
86268        * platform/ThreadGlobalData.h:
86269        * platform/ThreadTimers.h:
86270        * platform/Timer.h:
86271        * platform/TreeShared.h:
86272        * platform/graphics/FontData.h:
86273        * platform/graphics/GlyphWidthMap.h:
86274        * platform/graphics/GraphicsContext.h:
86275        * platform/graphics/ImageBuffer.h:
86276        * platform/graphics/ImageSource.h:
86277        * platform/graphics/MediaPlayer.h:
86278        * platform/graphics/skia/GraphicsContextPlatformPrivate.h:
86279        * platform/graphics/skia/PlatformContextSkia.h:
86280        * platform/graphics/win/QTMovieWin.cpp:
86281        * platform/mac/LocalCurrentGraphicsContext.h:
86282        * platform/network/FormDataBuilder.h:
86283        * platform/network/ResourceHandleInternal.h:
86284        * platform/network/soup/ResourceHandleSoup.cpp:
86285        * platform/text/StringBuffer.h:
86286        * platform/text/TextCodec.h:
86287        * platform/win/WindowMessageBroadcaster.h:
86288        * rendering/CounterNode.h:
86289        * rendering/LayoutState.h:
86290        * rendering/RenderFrameSet.h:
86291        * rendering/RenderView.h:
86292        * rendering/TransformState.h:
86293        * svg/SVGAnimatedProperty.h:
86294        * svg/SynchronizableTypeWrapper.h:
86295        * workers/WorkerMessagingProxy.h:
86296        * workers/WorkerRunLoop.cpp:
86297        * xml/XPathExpressionNode.h:
86298        * xml/XPathParser.h:
86299        * xml/XPathPredicate.h:
86300        * xml/XPathStep.h:
86301
863022009-07-14  Darin Fisher  <darin@chromium.org>
86303
86304        Reviewed by Darin Adler.
86305
86306        Fails to save document state when navigating away from a page with a
86307        reference fragment.
86308        https://bugs.webkit.org/show_bug.cgi?id=27281
86309
86310        Test: fast/history/saves-state-after-fragment-nav.html
86311
86312        * history/HistoryItem.cpp:
86313        (WebCore::HistoryItem::isCurrentDocument): Use equalIgnoringRef
86314        to compare URLs.
86315
863162009-07-14  Joseph Pecoraro  <joepeck02@gmail.com>
86317
86318        Reviewed by Sam Weinig.
86319
86320        Inspector: Remove Unintended Global Variables
86321        https://bugs.webkit.org/show_bug.cgi?id=27203
86322
86323        * inspector/front-end/Console.js:
86324        (WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
86325        * inspector/front-end/DatabasesPanel.js:
86326        (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
86327        * inspector/front-end/ObjectPropertiesSection.js:
86328        (WebInspector.ObjectPropertyTreeElement.prototype.update):
86329        * inspector/front-end/inspector.js:
86330        (WebInspector.animateStyle):
86331
863322009-07-14  Michelangelo De Simone  <micdesim@gmail.com>
86333
86334        Reviewed by Adele Peterson.
86335
86336        https://bugs.webkit.org/show_bug.cgi?id=19562
86337        Added build stuff and stub for the ValidityState class, part of HTML5
86338        section Forms:
86339        http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate
86340
86341        Test: fast/forms/ValidityState-001.html
86342
86343        * DerivedSources.cpp: Inclusion of ValidityState files
86344        * DerivedSources.make: ditto
86345        * GNUmakefile.am: ditto
86346        * WebCore.gypi: ditto
86347        * WebCore.pro: ditto
86348        * WebCore.vcproj/WebCore.vcproj: ditto
86349        * WebCore.xcodeproj/project.pbxproj: ditto
86350        * WebCoreSources.bkl: ditto
86351        * html/HTMLButtonElement.idl: validity attribute
86352        * html/HTMLFieldSetElement.idl: ditto
86353        * html/HTMLFormControlElement.cpp:
86354        (WebCore::HTMLFormControlElement::validity): ValidityState getter
86355        * html/HTMLFormControlElement.h: ditto
86356        * html/HTMLInputElement.idl: validity attribute
86357        * html/HTMLSelectElement.idl: ditto
86358        * html/HTMLTextAreaElement.idl: ditto
86359        * html/ValidityState.cpp: Added.
86360        (WebCore::ValidityState::ValidityState):
86361        (WebCore::ValidityState::valid): validation flag
86362        * html/ValidityState.h: Added.
86363        (WebCore::ValidityState::create): validation flag
86364        (WebCore::ValidityState::control): ditto
86365        (WebCore::ValidityState::valueMissing): ditto
86366        (WebCore::ValidityState::typeMismatch): ditto
86367        (WebCore::ValidityState::patternMismatch): ditto
86368        (WebCore::ValidityState::tooLong): ditto
86369        (WebCore::ValidityState::rangeUnderflow): ditto
86370        (WebCore::ValidityState::rangeOverflow): ditto
86371        (WebCore::ValidityState::stepMismatch): ditto
86372        (WebCore::ValidityState::customError): ditto
86373        * html/ValidityState.idl: Added.
86374
863752009-07-14  Ryosuke Niwa  <rniwa@google.com>
86376
86377        Reviewed by Eric Seidel.
86378
86379        Outdenting a line inside a blockquote tag does nothing
86380        https://bugs.webkit.org/show_bug.cgi?id=25316
86381
86382        The bug was caused by the code checking whether the blockquote is created by WebKit or not.
86383        We simply remove this code to be consistent with Firefox and Internet Explorer.
86384        Also, enclosingBlockFlow == enclosingNode in outdentParagraph isn't a sufficient condition to insert
86385        the placeholder before the enclosingNode because there could be contents before the current paragraph.
86386        Instead, we should split the enclosingNode (which is a blockquote) at the starting position of outdentation.
86387        It turned out that this solves the bug 25315 also: https://bugs.webkit.org/show_bug.cgi?id=25315
86388
86389        Test: editing/execCommand/outdent-regular-blockquote.html
86390
86391        * editing/IndentOutdentCommand.cpp:
86392        (WebCore::isIndentBlockquote): no longer checks whether a blockquote is created by WebKit or not.
86393        (WebCore::IndentOutdentCommand::outdentParagraph): takes care of the case enclosingBlockFlow == enclosingNode
86394
863952009-07-14  Adam Barth  <abarth@webkit.org>
86396
86397        Reviewed by Dimitri Glazkov.
86398
86399        [V8] Fix isolated world wrappers for Node prototypes
86400        https://bugs.webkit.org/show_bug.cgi?id=27277
86401
86402        This change does two things:
86403
86404        1) We bypass the wrapper cache in the isolated world.  This is because
86405           the wrapper template cache has prototypes that lead to the main
86406           world.  We can add a template cache for the isolated world if
86407           performance warrants.
86408
86409        2) We introduce a smarter way to grab the wrapper context for a frame
86410           that is aware that proxy <-> context do not stand in one-to-one
86411           correspondence.  This generalizes our solution for the node wrapper
86412           case to prototypes.
86413
86414        The net result is that Node wrappers get the right prototypes.  As
86415        before, tests to follow.
86416
86417        * bindings/v8/V8DOMWrapper.cpp:
86418        (WebCore::V8DOMWrapper::setHiddenWindowReference):
86419        (WebCore::V8DOMWrapper::instantiateV8Object):
86420        (WebCore::V8DOMWrapper::convertNodeToV8Object):
86421        (WebCore::V8DOMWrapper::convertWindowToV8Object):
86422        (WebCore::V8DOMWrapper::getWrapperContext):
86423        * bindings/v8/V8DOMWrapper.h:
86424
864252009-07-14  Adam Barth  <abarth@webkit.org>
86426
86427        Reviewed by Dimitri Glazkov.
86428
86429        [V8] Fix isolated world wrappers for Nodes
86430        https://bugs.webkit.org/show_bug.cgi?id=27271
86431
86432        Previously, we keepy a pointer to the DOMMap on V8Proxy, but this
86433        caused us to miss the branch in V8DOMMap.cpp for isolated worlds.
86434
86435        I have tests, but I can't land them until I get this feature under
86436        control.
86437
86438        * bindings/v8/V8DOMWrapper.cpp:
86439        (WebCore::V8DOMWrapper::convertNodeToV8Object):
86440        * bindings/v8/V8Proxy.h:
86441        (WebCore::V8Proxy::V8Proxy):
86442
864432009-07-14  Adam Barth  <abarth@webkit.org>
86444
86445        Reviewed by Dimitri Glazkov.
86446
86447        [V8] Fix isolated world crash on getting window.location
86448        https://bugs.webkit.org/show_bug.cgi?id=27268
86449
86450        I have a test for this locally, but it requires a compile-time hack to
86451        run.  Once I get the feature's stability under control, we can turn the
86452        feature on and add the tests.
86453
86454        * bindings/v8/V8DOMWrapper.cpp:
86455        (WebCore::V8DOMWrapper::setHiddenWindowReference):
86456        * bindings/v8/V8IsolatedWorld.h:
86457        (WebCore::V8IsolatedWorld::context):
86458
864592009-07-14  Brent Fulgham  <bfulgham@webkit.org>
86460
86461        Correct failing tests after r45875.  The original patch did not
86462        test the m_player member for null, causing crashes.  This will
86463        happen fairly frequently in real use.  Was this original patch
86464        ever tested?
86465        https://bugs.webkit.org/show_bug.cgi?id=27246
86466
86467        Test via existing media tests.
86468
86469        * html/HTMLMediaElement.cpp:
86470        (WebCore::HTMLMediaElement::supportsFullscreen): Check for null pointer.
86471        (WebCore::HTMLMediaElement::supportsSave): Check for null pointer.
86472
864732009-07-14  Avi Drissman  <avi@chromium.org>
86474
86475        Reviewed by Darin Fisher.
86476
86477        Explicitly mark the HTML generated for the Mac as being UTF-8 encoded.
86478        The Windows clipboard format is explicitly documented as being UTF-8,
86479        and all Linux apps assume UTF-8. On the Mac, though, unless otherwise
86480        indicated, Windows-1252 is assumed, which is wrong.
86481
86482        Bug: https://bugs.webkit.org/show_bug.cgi?id=27262
86483
86484        No new tests.
86485
86486        * platform/chromium/ClipboardChromium.cpp:
86487        (WebCore::ClipboardChromium::writeRange):
86488        * platform/chromium/PasteboardChromium.cpp:
86489        (WebCore::Pasteboard::writeSelection):
86490
864912009-07-14  Albert J. Wong  <ajwong@chromium.org>
86492
86493        Reviewed by Dimitri Glazkov.
86494
86495        Upstream V8NPObject.h and V8NPObject.cpp.
86496        https://bugs.webkit.org/show_bug.cgi?id=27103
86497
86498        This just upstreams the files from the chromium code base. Only
86499        minor changes to formatting and similar were done, so no testing
86500        is required because nothing really changed.  Code verified to compile.
86501
86502        * bindings/v8/ScriptController.cpp:
86503        (WebCore::ScriptController::bindToWindowObject):
86504        (WebCore::ScriptController::createScriptInstanceForWidget):
86505        * bindings/v8/V8NPObject.cpp: Added.
86506        (npObjectInvokeImpl):
86507        (npObjectMethodHandler):
86508        (npObjectInvokeDefaultHandler):
86509        (weakTemplateCallback):
86510        (npObjectGetProperty):
86511        (npObjectNamedPropertyGetter):
86512        (npObjectIndexedPropertyGetter):
86513        (npObjectGetNamedProperty):
86514        (npObjectGetIndexedProperty):
86515        (npObjectSetProperty):
86516        (npObjectNamedPropertySetter):
86517        (npObjectIndexedPropertySetter):
86518        (npObjectSetNamedProperty):
86519        (npObjectSetIndexedProperty):
86520        (weakNPObjectCallback):
86521        (createV8ObjectForNPObject):
86522        (forgetV8ObjectForNPObject):
86523        * bindings/v8/V8NPObject.h: Added.
86524        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
86525        (WebCore::NAMED_PROPERTY_GETTER):
86526        (WebCore::NAMED_PROPERTY_SETTER):
86527        (WebCore::CALLBACK_FUNC_DECL):
86528        (WebCore::INDEXED_PROPERTY_GETTER):
86529        (WebCore::INDEXED_PROPERTY_SETTER):
86530
86531
865322009-07-14  Albert J. Wong  <ajwong@chromium.org>
86533
86534        Reviewed by Darin Adler.
86535
86536        Add HTMLMediaElement::supportSave() and a
86537        HitTestResult::absoluteMediaURL() functions
86538        https://bugs.webkit.org/show_bug.cgi?id=27246
86539
86540        Added an implementation of supportsSave() into HTMLMediaElement
86541        that delegates to MediaPlayerPrivateImpl so that the media engine
86542        is able to signal whether or not a media source supports saving.
86543
86544        Also added a function to HitTestResult that allows for retrieval
86545        of the currentSrc associated with the "hit" media element. 
86546        
86547        These functions are just pipeing with no visible UI change so there
86548        are no related layout test changes.
86549
86550        * html/HTMLMediaElement.cpp:
86551        (WebCore::HTMLMediaElement::supportsFullscreen): 
86552        (WebCore::HTMLMediaElement::supportsSave):
86553        * html/HTMLMediaElement.h:
86554        * platform/graphics/MediaPlayer.cpp:
86555        (WebCore::MediaPlayer::supportsSave):
86556        * platform/graphics/MediaPlayer.h:
86557        * platform/graphics/MediaPlayerPrivate.h:
86558        (WebCore::MediaPlayerPrivateInterface::supportsFullscreen):
86559        (WebCore::MediaPlayerPrivateInterface::supportsSave):
86560        * rendering/HitTestResult.cpp:
86561        (WebCore::HitTestResult::altDisplayString):
86562        (WebCore::HitTestResult::absoluteMediaURL):
86563        * rendering/HitTestResult.h:
86564
865652009-07-14  Dimitri Glazkov  <dglazkov@chromium.org>
86566
86567        Reviewed by Adam Barth.
86568
86569        [V8] Implement Reflect and ReflectURL attribute support.
86570        https://bugs.webkit.org/show_bug.cgi?id=27273
86571
86572        * bindings/scripts/CodeGeneratorV8.pm: Added support for Reflect and ReflectURL attributes.
86573
865742009-07-14  Dmitry Titov  <dimich@chromium.org>
86575
86576        Reviewed by Darin Adler.
86577
86578        https://bugs.webkit.org/show_bug.cgi?id=27266
86579        Add hasCurrentPoint() to WebCore::Path.
86580        This fixes Skia-based Chromium regression caused by the fix for
86581        https://bugs.webkit.org/show_bug.cgi?id=27187.
86582        For Skia, the new method always returns 'true', pending actual implementation.
86583        This means Chromium still will differ from Gecko behavior, but at least its Canvas
86584        will not be completely broken.
86585
86586        Existing Canvas Layout Tests should pass in Chromium after this change.
86587
86588        * html/CanvasRenderingContext2D.cpp:
86589        (WebCore::CanvasRenderingContext2D::lineTo): insteand of Path::isEmpty() test for hasCurrentPoint().
86590        (WebCore::CanvasRenderingContext2D::quadraticCurveTo): ditto.
86591        (WebCore::CanvasRenderingContext2D::bezierCurveTo): ditto.
86592
86593        * platform/graphics/Path.h:
86594        * platform/graphics/cairo/PathCairo.cpp:
86595        (WebCore::Path::hasCurrentPoint):
86596        * platform/graphics/cg/PathCG.cpp:
86597        (WebCore::Path::isEmpty):
86598        (WebCore::Path::hasCurrentPoint):
86599        * platform/graphics/qt/PathQt.cpp:
86600        (WebCore::Path::hasCurrentPoint):
86601        * platform/graphics/skia/PathSkia.cpp:
86602        (WebCore::Path::hasCurrentPoint):
86603        * platform/graphics/wx/PathWx.cpp:
86604        (WebCore::Path::hasCurrentPoint):
86605        All these files add a Path::hasCurrentPoint() for various platforms.
86606
866072009-07-14  Nate Chapin  <japhet@chromium.org>
86608
86609        Reviewed by Sam Weinig.
86610
86611        Upstream RGBColor from src.chromium.org.
86612
86613        https://bugs.webkit.org/show_bug.cgi?id=27133
86614
86615        * WebCore.gypi: Add RGBColor
86616        * css/RGBColor.cpp: Added.
86617        (WebCore::RGBColor::create):
86618        (WebCore::RGBColor::red):
86619        (WebCore::RGBColor::green):
86620        (WebCore::RGBColor::blue):
86621        * css/RGBColor.h: Added.
86622        (WebCore::RGBColor::RGBColor):
86623
866242009-07-10  Matt Perry  <mpcomplete@chromium.org>
86625
86626        Reviewed by Darin Fisher.
86627
86628        [V8] Rename the didCreate/DestroyScriptContext calls to make it
86629        clear that that those refer to the frame's contxt.  Add another
86630        similar call for when creating contexts via evaluateInNewContext.
86631        https://bugs.webkit.org/show_bug.cgi?id=27104
86632
86633        * bindings/v8/V8Proxy.cpp:
86634        (WebCore::V8Proxy::evaluateInNewContext):
86635        (WebCore::V8Proxy::disposeContextHandles):
86636        (WebCore::V8Proxy::initContextIfNeeded):
86637        * loader/EmptyClients.h:
86638        (WebCore::EmptyFrameLoaderClient::didCreateScriptContextForFrame):
86639        (WebCore::EmptyFrameLoaderClient::didDestroyScriptContextForFrame):
86640        (WebCore::EmptyFrameLoaderClient::didCreateIsolatedScriptContext):
86641        * loader/FrameLoaderClient.h:
86642
866432009-07-14  Brent Fulgham  <bfulgham@webkit.org>
86644
86645        Revert http://trac.webkit.org/changeset/45864 after
86646        breaking of Windows build.
86647
86648        * storage/LocalStorageTask.cpp:
86649        * storage/LocalStorageTask.h:
86650        * storage/Storage.cpp:
86651        * storage/Storage.h:
86652        * storage/StorageArea.cpp:
86653        * storage/StorageArea.h:
86654        * storage/StorageAreaImpl.cpp:
86655        * storage/StorageAreaImpl.h:
86656        * storage/StorageAreaSync.cpp:
86657        * storage/StorageAreaSync.h:
86658        * storage/StorageEvent.cpp:
86659        * storage/StorageEvent.h:
86660        (WebCore::StorageEvent::create):
86661        (WebCore::StorageEvent::StorageEvent):
86662        * storage/StorageNamespace.h:
86663        * storage/StorageNamespaceImpl.cpp:
86664        * storage/StorageNamespaceImpl.h:
86665        * storage/StorageSyncManager.cpp:
86666        * storage/StorageSyncManager.h:
86667
866682009-07-11  Jeremy Orlow  <jorlow@chromium.org>
86669
86670        Reviewed by Darin Adler.
86671
86672        Cleanup DOM Storage dependencies.
86673        https://bugs.webkit.org/show_bug.cgi?id=27180
86674
86675        DOM Storage had several unnecessary (and probably unintended)
86676        dependencies.  This patch replaces many includes of header files with
86677        forward declaration of classes, making some destructors explicit, and
86678        taking some factories out of the header files.
86679
86680        This will allow things like StorageAreaSync to take a StorageAreaImpl*
86681        (as it should) rather than a StorageArea* which previously weren't
86682        possible because the dependencies were such a tangled mess.
86683
86684        * storage/LocalStorageTask.cpp:
86685        (WebCore::LocalStorageTask::~LocalStorageTask):
86686        * storage/LocalStorageTask.h:
86687        * storage/Storage.cpp:
86688        (WebCore::Storage::~Storage):
86689        * storage/Storage.h:
86690        * storage/StorageArea.cpp:
86691        * storage/StorageArea.h:
86692        * storage/StorageAreaImpl.cpp:
86693        * storage/StorageAreaImpl.h:
86694        * storage/StorageAreaSync.cpp:
86695        (WebCore::StorageAreaSync::~StorageAreaSync):
86696        * storage/StorageAreaSync.h:
86697        * storage/StorageEvent.cpp:
86698        (WebCore::StorageEvent::create):
86699        (WebCore::StorageEvent::StorageEvent):
86700        * storage/StorageEvent.h:
86701        * storage/StorageNamespace.h:
86702        * storage/StorageNamespaceImpl.cpp:
86703        * storage/StorageNamespaceImpl.h:
86704        * storage/StorageSyncManager.cpp:
86705        (WebCore::StorageSyncManager::~StorageSyncManager):
86706        * storage/StorageSyncManager.h:
86707
86708
867092009-07-14  Adam Treat  <adam.treat@torchmobile.com>
86710
86711        Reviewed by David Hyatt.
86712
86713        https://bugs.webkit.org/show_bug.cgi?id=26983
86714
86715        Check to make sure the view is attached to a frame() in the visibleContentsResized()
86716        method as it can be triggered before the view is attached by Frame::createView(...)
86717        setting various values such as setScrollBarModes(...) for example.  An ASSERT is
86718        triggered when a view is layout before being attached to a frame().
86719
86720        * page/FrameView.cpp:
86721        (WebCore::FrameView::visibleContentsResized):
86722        * page/FrameView.h:
86723
867242009-07-14  Pavel Feldman  <pfeldman@chromium.org>
86725
86726        Reviewed by Timothy Hatcher.
86727
86728        WebInspector: show last opened panel when invoking inspector.
86729
86730        https://bugs.webkit.org/show_bug.cgi?id=27263
86731
86732        * inspector/InspectorController.cpp:
86733        (WebCore::InspectorController::InspectorController):
86734        (WebCore::InspectorController::setWindowVisible):
86735        (WebCore::InspectorController::storeLastActivePanel):
86736        (WebCore::InspectorController::specialPanelForJSName):
86737        * inspector/InspectorController.h:
86738        (WebCore::InspectorController::Setting::Setting):
86739        * inspector/InspectorController.idl:
86740        * inspector/front-end/inspector.js:
86741        (WebInspector.set currentPanel):
86742        (WebInspector.loaded):
86743
867442009-07-14  Anton Muhin  <antonm@chromium.org>
86745
86746        Reviewed by Dimitri Glazkov.
86747
86748        Speed up access to NodeList length.
86749        https://bugs.webkit.org/show_bug.cgi?id=27264
86750
86751        That's a minimal alternation of the code.
86752
86753        * bindings/v8/custom/V8NodeListCustom.cpp:
86754        (WebCore::NAMED_PROPERTY_GETTER): 1) use AtomicString for comparison, 2) use
86755        v8::Integer::New instead of v8::Number::New.
86756
867572009-07-14  Anton Muhin  <antonm@chromium.org>
86758
86759        Reviewed by Dimitri Glazkov.
86760
86761        Do not do unnecessary conversions from v8::Handle<v8::Value> to
86762        v8::Handle<v8::Object> and accompanying changes.
86763        https://bugs.webkit.org/show_bug.cgi?id=26953
86764
86765        Three things:
86766
86767        1) do not cast from v8::Value to v8::Object if unnecessary---casts are cheap,
86768        but are not free (they check for emptiness of handle);
86769        2) inline conversion from wrapper to node;
86770        3) simplify case to an ASSERT.
86771
86772        This is just a refactoring, so no new tests are needed.
86773
86774        * bindings/scripts/CodeGeneratorV8.pm:
86775        * bindings/v8/V8Proxy.cpp:
86776        (WebCore::V8Proxy::evaluateInNewContext):
86777        (WebCore::V8Proxy::convertToSVGPODTypeImpl):
86778        * bindings/v8/V8Proxy.h:
86779        (WebCore::V8Proxy::convertDOMWrapperToNative):
86780        (WebCore::V8Proxy::convertToNativeObject):
86781        (WebCore::V8Proxy::convertToNativeEvent):
86782        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
86783        (WebCore::toCanvasStyle):
86784        (WebCore::CALLBACK_FUNC_DECL):
86785        * bindings/v8/custom/V8CustomBinding.cpp:
86786        (WebCore::V8Custom::GetTargetFrame):
86787        * bindings/v8/custom/V8DOMWindowCustom.cpp:
86788        (WebCore::CALLBACK_FUNC_DECL):
86789        (WebCore::V8Custom::ClearTimeoutImpl):
86790        (WebCore::NAMED_ACCESS_CHECK):
86791        (WebCore::INDEXED_ACCESS_CHECK):
86792        * bindings/v8/custom/V8DocumentCustom.cpp:
86793        (WebCore::CALLBACK_FUNC_DECL):
86794        * bindings/v8/custom/V8LocationCustom.cpp:
86795        (WebCore::CALLBACK_FUNC_DECL):
86796
867972009-07-14  Darin Adler  <darin@apple.com>
86798
86799        Reviewed by Dan Bernstein.
86800
86801        Straight quotes should match fancy quotes in in-page search
86802        https://bugs.webkit.org/show_bug.cgi?id=27217
86803
86804        Tests: fast/text/find-quotes.html
86805
86806        * editing/TextIterator.cpp:
86807        (WebCore::foldQuoteMark): Added.
86808        (WebCore::foldQuoteMarks): Added.
86809        (WebCore::SearchBuffer::SearchBuffer): Call foldQuoteMarks on the target string.
86810        (WebCore::SearchBuffer::append): Call foldQuoteMarks on characters as they are
86811        added to the search buffer.
86812
86813        * platform/text/CharacterNames.h: Added more quotation mark character names.
86814        Sorted character names with the sort tool.
86815
868162009-07-13  Pavel Feldman  <pfeldman@chromium.org>
86817
86818        Reviewed by Timothy Hatcher.
86819
86820        WebInspector: handle debugger shortcuts while on source frame or on
86821        script file selector.
86822
86823        https://bugs.webkit.org/show_bug.cgi?id=27224
86824
86825        * inspector/front-end/ScriptsPanel.js:
86826        (WebInspector.ScriptsPanel):
86827        * inspector/front-end/SourceFrame.js:
86828        (WebInspector.SourceFrame.prototype._loaded):
86829
868302009-07-13  Sam Weinig  <sam@webkit.org>
86831
86832        Reviewed by Darin Adler.
86833
86834        Use standard HashCountedSet instead of a hand rolled one
86835        in HTMLDocument.
86836
86837        * html/HTMLDocument.cpp:
86838        (WebCore::addItemToMap):
86839        (WebCore::removeItemFromMap):
86840        * html/HTMLDocument.h:
86841
868422009-07-13  Erik Arvidsson  <arv@chromium.org>
86843
86844        Reviewed by Darin Adler and Maciej Stachowiak.
86845
86846        Implement HTML5 draggable
86847        https://bugs.webkit.org/show_bug.cgi?id=26262
86848
86849        This adds support for the HTML5 draggable attribute and its DOM binding. It maps the draggable property
86850        to the CSS properties -webkit-user-drag and -webkit-user-select respectively.
86851
86852        Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#the-draggable-attribute
86853
86854        Test: fast/html/draggable.html
86855
86856        * css/html.css:
86857        * html/HTMLAnchorElement.cpp:
86858        (WebCore::HTMLAnchorElement::draggable):
86859        * html/HTMLAnchorElement.h:
86860        * html/HTMLAttributeNames.in:
86861        * html/HTMLElement.cpp:
86862        (WebCore::HTMLElement::draggable):
86863        (WebCore::HTMLElement::setDraggable):
86864        * html/HTMLElement.h:
86865        * html/HTMLElement.idl:
86866        * html/HTMLImageElement.cpp:
86867        (WebCore::HTMLImageElement::draggable):
86868        * html/HTMLImageElement.h:
86869
868702009-07-13  Simon Fraser  <simon.fraser@apple.com>
86871
86872        Reviewed by Dan Bernstein.
86873
86874        Image rendered as layer contents looks different from image rendered via CG.
86875        <rdar://problem/7048830> 
86876        
86877        Fix a visible color profile difference between between images rendered via Core Graphics
86878        and those rendered via a compositing layer, by assigning the GenericRGB profile to
86879        untagged images (which come through as having the DeviceRGB profile) when they are set
86880        as layer contents.
86881
86882        Test: compositing/color-matching/image-color-matching.html
86883
86884        * platform/graphics/mac/GraphicsLayerCA.mm:
86885        (WebCore::GraphicsLayerCA::setContentsToImage):
86886
868872009-07-13  Darin Adler  <darin@apple.com>
86888
86889        Reviewed by Oliver Hunt.
86890
86891        https://bugs.webkit.org/show_bug.cgi?id=27220
86892        Assertion failure in createSearcher() (usearch_open() status is U_USING_DEFAULT_WARNING)
86893
86894        * editing/TextIterator.cpp:
86895        (WebCore::createSearcher): Add U_USING_DEFAULT_WARNING as a possible status code
86896        in the assertion. Affects only the assertion.
86897
868982009-07-13  Alexey Proskuryakov  <ap@webkit.org>
86899
86900        Reviewed by Darin Adler.
86901
86902        https://bugs.webkit.org/show_bug.cgi?id=26925
86903        <rdar://problem/7027850> URL Fragment Breaks Application Cache Loads
86904
86905        Test: http/tests/appcache/main-resource-hash.html
86906
86907        * loader/appcache/ApplicationCache.cpp:
86908        (WebCore::ApplicationCache::resourceForURL):
86909        (WebCore::ApplicationCache::resourceForRequest):
86910        * loader/appcache/ApplicationCacheGroup.cpp:
86911        (WebCore::ApplicationCacheGroup::cacheForMainRequest):
86912        (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest):
86913        (WebCore::ApplicationCacheGroup::selectCache):
86914        (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
86915        (WebCore::ApplicationCacheGroup::didReceiveResponse):
86916        (WebCore::ApplicationCacheGroup::didFail):
86917        (WebCore::ApplicationCacheGroup::addEntry):
86918        Remove URL fragment at appcache code borders.
86919
86920        * loader/appcache/ApplicationCacheResource.h:
86921        (WebCore::ApplicationCacheResource::create):
86922        * loader/appcache/ApplicationCacheStorage.cpp:
86923        (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
86924        (WebCore::ApplicationCacheStorage::cacheGroupForURL):
86925        (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
86926        Assert that there is no URL fragment in URL at key points in appcache code.
86927
869282009-07-13  Darin Adler  <darin@apple.com>
86929
86930        Reviewed by Dan Bernstein.
86931
86932        https://bugs.webkit.org/show_bug.cgi?id=27166
86933        rdar://problem/7015857
86934        Find for strings composed entirely of spaces doesn't work
86935
86936        Test: fast/text/find-spaces.html
86937
86938        * editing/TextIterator.cpp:
86939        (WebCore::findPlainText): Removed unneeded special case.
86940        The empty string case already works correctly.
86941
869422009-07-13  Anders Carlsson  <andersca@apple.com>
86943
86944        Reviewed by Kevin Decker.
86945
86946        Remove NPPVpluginPrivateModeBool, it was removed from the spec.
86947        
86948        * bridge/npapi.h:
86949
869502009-07-13  Feng Qian  <feng@chromium.org>
86951
86952        Reviewed by Dimitri Glazkov.
86953
86954        Fix for https://bugs.webkit.org/show_bug.cgi?id=27237
86955
86956        Make V8DOMMap.h compiling with gcc option -Werror=non=virtual-dtor.  
86957
86958        * bindings/v8/V8DOMMap.h:
86959        (WebCore::WeakReferenceMap::WeakReferenceMap):
86960        (WebCore::WeakReferenceMap::~WeakReferenceMap):
86961
869622009-07-13  Dimitri Glazkov  <dglazkov@chromium.org>
86963
86964        Reviewed by Darin Fisher.
86965
86966        Remove an accidental add of bidi.(cpp|h) to WebCore.gypi.
86967
86968        * WebCore.gypi: Removed bidi.cpp and bidi.h
86969
869702009-07-13  Dimitri Glazkov  <dglazkov@chromium.org>
86971
86972        Reviewed by Darin Fisher.
86973
86974        Update WebCore.gyp in preparation to hooking it up.
86975
86976        * WebCore.gypi: Added files that were mid-stream while switching over.
86977
869782009-07-13  Dmitry Titov  <dimich@chromium.org>
86979
86980        Not reviewed, another small fix for Chromium build.
86981
86982        * bindings/v8/ScriptController.cpp:
86983        (WebCore::ScriptController::evaluate):
86984
869852009-07-13  Dmitry Titov  <dimich@chromium.org>
86986
86987        Not reviewed, fix Chromium build bustage.
86988
86989        * bindings/v8/ScriptController.cpp:
86990        (WebCore::ScriptController::evaluate):
86991        * bindings/v8/V8Proxy.cpp:
86992        (WebCore::JavaScriptConsoleMessage::addToPage):
86993        * bindings/v8/WorkerContextExecutionProxy.cpp:
86994        (WebCore::handleConsoleMessage):
86995
869962009-07-13  Sam Weinig  <sam@webkit.org>
86997
86998        Reviewed by Darin Adler.
86999
87000        Fix for https://bugs.webkit.org/show_bug.cgi?id=27234
87001        <rdar://problem/7054356>
87002
87003        Add null page check in HTMLDocument::hasFocus.
87004
87005        Test: fast/dom/HTMLDocument/hasFocus-frameless-crash.html
87006
87007        * html/HTMLDocument.cpp:
87008        (WebCore::HTMLDocument::hasFocus): Add page null check.
87009        (WebCore::HTMLDocument::createTokenizer): Cleanup page null check.
87010
870112009-07-13  Dan Bernstein  <mitz@apple.com>
87012
87013        Reviewed by Darin Adler.
87014
87015        Disable continuous spell checking in the inspector
87016        https://bugs.webkit.org/show_bug.cgi?id=27131
87017
87018        * inspector/front-end/inspector.html: Added spellcheck="false" to the
87019            main-panels and console-prompt containers.
87020
870212009-07-13  Adam Langley  <agl@google.com>
87022
87023        Reviewed by Eric Seidel.
87024
87025        Chromium Linux: fix assertion when rendering google.com.kh
87026
87027        https://bugs.webkit.org/show_bug.cgi?id=26924
87028
87029        Some shapers (i.e. Khmer) will produce cluster logs which report that
87030        /no/ code points contributed to certain glyphs. Because of this, we
87031        take any code point which contributed to the glyph in question, or any
87032        subsequent glyph.  If we run off the end, then we take the last code
87033        point.
87034
87035        Added LayoutTests/fast/text/international/khmar-selection.html
87036
87037        * platform/graphics/chromium/FontLinux.cpp:
87038        (WebCore::Font::offsetForPositionForComplexText):
87039
870402009-07-13  Dan Bernstein  <mitz@apple.com>
87041
87042        Reviewed by Darin Adler.
87043
87044        spellcheck="false" is ignored
87045        <rdar://problem/7054177>
87046
87047        * editing/Editor.cpp:
87048        (WebCore::markMisspellingsOrBadGrammar): Moved code to check the
87049            spellcheck attribute from here...
87050        (WebCore::Editor::spellCheckingEnabledInFocusedNode): ...to here.
87051        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Bail out
87052            if spell chcking is disabled by the spellcheck attribute.
87053        * editing/Editor.h:
87054
870552009-07-13  Brent Fulgham  <bfulgham@webkit.org>
87056
87057        Reviewed by Adam Roben.
87058
87059        Add new configuration flag for redistributable Windows build.
87060        https://bugs.webkit.org/show_bug.cgi=27087
87061        
87062        * WebCore.vcproj/WebCore.vcproj: Add new WinCairo.vsprops to
87063          Debug_Cairo and Release_Cairo builds.
87064        * config.h: Check for presence of WIN_CAIRO and select appropriate
87065          configuration.  Defaults to standard Apple build.
87066
870672009-07-13  Peter Kasting  <pkasting@google.com>
87068
87069        https://bugs.webkit.org/show_bug.cgi?id=19562
87070        Back out previous patch for this bug (too many problems).
87071
87072        * DerivedSources.cpp:
87073        * DerivedSources.make:
87074        * GNUmakefile.am:
87075        * WebCore.gypi:
87076        * WebCore.pro:
87077        * WebCore.vcproj/WebCore.vcproj:
87078        * WebCore.xcodeproj/project.pbxproj:
87079        * WebCoreSources.bkl:
87080        * html/HTMLButtonElement.idl:
87081        * html/HTMLFieldSetElement.idl:
87082        * html/HTMLFormControlElement.cpp:
87083        * html/HTMLFormControlElement.h:
87084        (WebCore::HTMLFormControlElement::form):
87085        * html/HTMLInputElement.idl:
87086        * html/HTMLSelectElement.idl:
87087        * html/HTMLTextAreaElement.idl:
87088        * html/ValidityState.cpp: Removed.
87089        * html/ValidityState.h: Removed.
87090        * html/ValidityState.idl: Removed.
87091
870922009-07-13  Nate Chapin  <japhet@chromium.org>
87093
87094        Reviewed by Dimitri Glazkov.
87095
87096        Add HTMLAllCollection to WebCore.gypi.
87097
87098        https://bugs.webkit.org/show_bug.cgi?id=27223
87099
87100        * WebCore.gypi: Add HTMLAllCollection.
87101
871022009-07-13  Dimitri Glazkov  <dglazkov@chromium.org>
87103
87104        Reviewed by Darin Fisher.
87105
87106        [V8] Add a missing check for constructor call in WebKitCSSMatrixConstructor.
87107        https://bugs.webkit.org/show_bug.cgi?id=27218
87108
87109        Test: fast/css/matrix-as-function-crash.html
87110
87111        * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
87112        (WebCore::CALLBACK_FUNC_DECL): Added a check for constructor call.
87113
871142009-07-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
87115
87116        Unreviewed make dist build fix.
87117
87118        * GNUmakefile.am:
87119
871202009-07-13  Cédric Luthi  <cedric.luthi@gmail.com>
87121
87122        Reviewed by Tor Arne Vestbø.
87123
87124        Fix NPWindow clip rect in PluginViewMac
87125
87126        The rect should be in window-coordinates. This bug can be observed
87127        with Flash 10 here: http://www.permadi.com/tutorial/cursorTracker/
87128
87129        * plugins/mac/PluginViewMac.cpp:
87130
871312009-07-13  Simon Hausmann  <hausmann@webkit.org>
87132
87133        Reviewed by Ariya Hidayat.
87134
87135        Fix Qt implementation of WebCore::directoryName to return the absolute
87136        directory name instead of the base file name.
87137
87138        * platform/qt/FileSystemQt.cpp:
87139        (WebCore::directoryName):
87140
871412009-07-13  Simon Hausmann  <hausmann@webkit.org>
87142
87143        Reviewed by Ariya Hidayat.
87144
87145        Fix WebCore::Path::isEmpty() for the Qt port to return true
87146        if there is no element in the path.
87147
87148        QPainterPath::isEmpty() returns also true if there is one single
87149        MoveTo element inside, which makes sense but doesn't patch Webcore's
87150        is-empty definition.
87151
87152        * platform/graphics/qt/PathQt.cpp:
87153        (WebCore::Path::isEmpty): Use elementCount() == 0.
87154
871552009-07-13  Albert J. Wong  <ajwong@chromium.org>
87156
87157        Reviewed by Dimitri Glazkov.
87158
87159        Upstream fixes to NPV8Object.cpp that make ~30 layout tests pass.
87160        https://bugs.webkit.org/show_bug.cgi?id=27127
87161
87162        There were a number of bugs introduced during the last upstreaming
87163        effort that broke around 30 layout tests.  This fixes those bugs.
87164        It also has compile fixes to match the recent cutting apart of
87165        V8Proxy.
87166
87167        * bindings/v8/NPV8Object.cpp:
87168        (freeV8NPObject):
87169        (npCreateV8ScriptObject):
87170        (NPN_Invoke):
87171        (NPN_InvokeDefault):
87172        (NPN_EvaluateHelper):
87173        (NPN_SetException):
87174        (NPN_Construct):
87175
871762009-07-13  Mads Ager  <ager@chromium.org>
87177
87178        Reviewed by Adam Barth.
87179
87180        Fix memory leak in the V8 binding layer. 
87181        https://bugs.webkit.org/show_bug.cgi?id=27163
87182
87183        Reinitializing the context is not necessary when clearing the proxy for navigation
87184        and it will lead us to hold on to an empty context for each frame.
87185
87186        Test for empty context instead of empty global object handle when
87187        updating the document for a context.
87188
87189        * bindings/v8/V8Proxy.cpp:
87190        (WebCore::V8Proxy::clearForNavigation):
87191        (WebCore::V8Proxy::updateDocument):
87192
871932009-07-13  John Gregg  <johnnyg@google.com>
87194
87195        Reviewed by David Levin.
87196
87197        Correct the logic to determine if a V8 callback returns a value.
87198        https://bugs.webkit.org/show_bug.cgi?id=27155
87199
87200        * bindings/v8/custom/V8CustomVoidCallback.cpp:
87201        (WebCore::invokeCallback):
87202        - Don't crash if result.IsEmpty().
87203
872042009-07-13  Drew Wilson  <atwilson@google.com>
87205
87206        Reviewed by David Levin.
87207
87208        Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs
87209        https://bugs.webkit.org/show_bug.cgi?id=26932
87210
87211        Initial IDL definition and bindings for SharedWorkers.
87212
87213        * Configurations/FeatureDefines.xcconfig:
87214        Added new files for SharedWorker support.
87215        * DerivedSources.make:
87216        Added new files for SharedWorker support.
87217        * GNUmakefile.am:
87218        Added new files for SharedWorker support.
87219        * WebCore.gypi:
87220        Added new files for SharedWorker support.
87221        * WebCore.pro:
87222        Added new files for SharedWorker support.
87223        * WebCore.xcodeproj/project.pbxproj:
87224        Added new files for SharedWorker support.
87225        * bindings/js/JSAbstractWorkerCustom.cpp: Added.
87226        (WebCore::JSAbstractWorker::mark):
87227        Custom mark handler that marks the event listeners.
87228        (WebCore::JSAbstractWorker::addEventListener):
87229        (WebCore::JSAbstractWorker::removeEventListener):
87230        (WebCore::JSAbstractWorker::toJS):
87231        Custom toJS handler which differentiates between various subclasses.
87232        * bindings/js/JSDOMWindowCustom.cpp:
87233        (WebCore::JSDOMWindow::sharedWorker):
87234        SharedWorker constructor (only enabled when SHARED_WORKERS is
87235        enabled).
87236        * bindings/js/JSEventTarget.cpp:
87237        (WebCore::toJS):
87238        (WebCore::toEventTarget):
87239        Added support for converting to/from SharedWorkers.
87240        * bindings/js/JSSharedWorkerConstructor.cpp: Added.
87241        (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
87242        (WebCore::constructSharedWorker):
87243        (WebCore::JSSharedWorkerConstructor::getConstructData):
87244        * bindings/js/JSSharedWorkerConstructor.h: Added.
87245        (WebCore::JSSharedWorkerConstructor::classInfo):
87246        * bindings/js/JSSharedWorkerCustom.cpp: Added.
87247        (WebCore::JSSharedWorker::mark):
87248        Custom mark function that marks the internal MessagePort.
87249        * bindings/v8/DOMObjectsInclude.h:
87250        Updated to include new header files.
87251        * bindings/v8/V8Index.cpp:
87252        * bindings/v8/V8Index.h:
87253        * bindings/v8/custom/V8AbstractWorkerCustom.cpp: Added.
87254        (WebCore::getEventListener):
87255        (WebCore::ACCESSOR_GETTER):
87256        (WebCore::ACCESSOR_SETTER):
87257        (WebCore::CALLBACK_FUNC_DECL):
87258        V8 handlers for add/removeEventListener().
87259        * bindings/v8/custom/V8CustomBinding.h:
87260        * bindings/v8/custom/V8SharedWorkerCustom.cpp: Added.
87261        (WebCore::CALLBACK_FUNC_DECL):
87262        Custom constructor for SharedWorker.
87263        * dom/EventTarget.cpp:
87264        (WebCore::EventTarget::toSharedWorker):
87265        * dom/EventTarget.h:
87266        * page/DOMWindow.idl:
87267        * workers/AbstractWorker.cpp: Added.
87268        (WebCore::AbstractWorker::AbstractWorker):
87269        Common base class for SharedWorker and (soon) Worker. The functions below were copied from Worker.cpp.
87270        This is the first step in refactoring Worker to derive from AbstractWorker to enable code sharing.
87271        (WebCore::AbstractWorker::~AbstractWorker):
87272        (WebCore::AbstractWorker::addEventListener):
87273        (WebCore::AbstractWorker::removeEventListener):
87274        (WebCore::AbstractWorker::dispatchEvent):
87275        (WebCore::AbstractWorker::dispatchLoadErrorEvent):
87276        (WebCore::AbstractWorker::dispatchScriptErrorEvent):
87277        * workers/AbstractWorker.h: Added.
87278        Definitions of functionality shared by Worker.h and SharedWorker.h. In a future patch, Worker will derive from AbstractWorker.
87279        (WebCore::AbstractWorker::scriptExecutionContext):
87280        (WebCore::AbstractWorker::setOnerror):
87281        (WebCore::AbstractWorker::onerror):
87282        (WebCore::AbstractWorker::eventListeners):
87283        (WebCore::AbstractWorker::refEventTarget):
87284        (WebCore::AbstractWorker::derefEventTarget):
87285        * workers/AbstractWorker.idl: Added.
87286        * workers/SharedWorker.cpp: Added.
87287        (WebCore::SharedWorker::SharedWorker):
87288        (WebCore::SharedWorker::~SharedWorker):
87289        * workers/SharedWorker.h: Added.
87290        (WebCore::SharedWorker::create):
87291        (WebCore::SharedWorker::port):
87292        (WebCore::SharedWorker::toSharedWorker):
87293        * workers/SharedWorker.idl: Added.
87294
872952009-07-13  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
87296
87297        Reviewed by Simon Hausmann.
87298
87299        [Qt] Cleanup - Remove prf install target
87300        https://bugs.webkit.org/show_bug.cgi?id=27191
87301
87302        qtwebkit.prf has been removed; this cleans up the related
87303        install target as well.
87304
87305        * WebCore.pro: Remove prf install target
87306
873072009-07-12  Adam Barth  <abarth@webkit.org>
87308
87309        Reviewed by Oliver Hunt.
87310
87311        Facebook Chat is broken due to XSS auditor
87312        https://bugs.webkit.org/show_bug.cgi?id=27179
87313
87314        Instead of just using the script's URL as to detect an XSS attack, we
87315        now use a bit of context before the URL.  In particular, we use the
87316        bytes from the beginning of the attribute name to the end of the
87317        attribute value.  In virtually all injection attacks, the attacker
87318        would need to supply the attribute name as well as the attribute value.
87319        However, in the Facebook false positive, the attribute name is not
87320        present in the URL.
87321
87322        Tests: http/tests/security/xssAuditor/script-tag-src-redirect-safe.html
87323               http/tests/security/xssAuditor/script-tag-with-source-double-quote.html
87324               http/tests/security/xssAuditor/script-tag-with-source-no-quote.html
87325
87326        * html/HTMLTokenizer.cpp:
87327        (WebCore::HTMLTokenizer::parseTag):
87328        * html/HTMLTokenizer.h:
87329        * page/XSSAuditor.cpp:
87330        (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
87331        * page/XSSAuditor.h:
87332
873332009-07-12  Keishi Hattori  <casey.hattori@gmail.com>
87334
87335        Reviewed by Timothy Hatcher.
87336
87337        Refactor ConsoleMessage to add MessageType attribute.
87338        https://bugs.webkit.org/show_bug.cgi?id=20625
87339
87340        * bindings/js/JSCustomXPathNSResolver.cpp:
87341        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
87342        * bindings/js/JSDOMWindowBase.cpp:
87343        (WebCore::JSDOMWindowBase::printErrorMessage):
87344        * dom/Document.cpp:
87345        (WebCore::Document::reportException):
87346        (WebCore::Document::addMessage):
87347        * dom/Document.h:
87348        * dom/ScriptExecutionContext.h:
87349        * html/HTMLParser.cpp:
87350        (WebCore::HTMLParser::reportErrorToConsole):
87351        * inspector/ConsoleMessage.cpp:
87352        (WebCore::ConsoleMessage::ConsoleMessage):
87353        (WebCore::ConsoleMessage::addToConsole):
87354        (WebCore::ConsoleMessage::isEqual):
87355        * inspector/ConsoleMessage.h:
87356        * inspector/InspectorController.cpp:
87357        (WebCore::InspectorController::addMessageToConsole):
87358        (WebCore::InspectorController::startGroup):
87359        (WebCore::InspectorController::endGroup):
87360        (WebCore::InspectorController::addProfileFinishedMessageToConsole):
87361        (WebCore::InspectorController::addStartProfilingMessageToConsole):
87362        (WebCore::InspectorController::count):
87363        * inspector/InspectorController.h:
87364        * inspector/front-end/Console.js:
87365        (WebInspector.Console.prototype.addMessage):
87366        (WebInspector.ConsoleMessage): Added type property.
87367        (WebInspector.ConsoleMessage.prototype.toMessageElement):
87368        (WebInspector.ConsoleMessage.prototype.toString):
87369        (WebInspector.ConsoleMessage.prototype.isEqual):
87370        (WebInspector.ConsoleCommandResult):
87371        (WebInspector.ConsoleGroup.prototype.addMessage):
87372        (WebInspector.ConsoleGroup.prototype._titleClicked):
87373        * inspector/front-end/Resource.js:
87374        (WebInspector.Resource.prototype._addTip):
87375        (WebInspector.Resource.prototype._checkWarning):
87376        * inspector/front-end/inspector.css: Changed ".console-group-title-level" to ".console-group-title"
87377        * inspector/front-end/inspector.js:
87378        (WebInspector.addMessageToConsole):
87379        * loader/DocLoader.cpp:
87380        (WebCore::DocLoader::printAccessDeniedMessage):
87381        * loader/EmptyClients.h:
87382        (WebCore::EmptyChromeClient::addMessageToConsole):
87383        * loader/FrameLoader.cpp:
87384        (WebCore::FrameLoader::reportLocalLoadFailed):
87385        (WebCore::FrameLoader::shouldAllowNavigation):
87386        * page/ChromeClient.h:
87387        * page/Console.cpp:
87388        (WebCore::printMessageSourceAndLevelPrefix):
87389        (WebCore::Console::addMessage):
87390        (WebCore::Console::error):
87391        (WebCore::Console::log):
87392        (WebCore::Console::dir):
87393        (WebCore::Console::trace):
87394        (WebCore::Console::assertCondition):
87395        (WebCore::Console::timeEnd):
87396        (WebCore::Console::warn):
87397        * page/Console.h: Added MessageType enum.
87398        (WebCore::):
87399        * page/DOMWindow.cpp:
87400        (WebCore::DOMWindow::postMessageTimerFired):
87401        * page/XSSAuditor.cpp:
87402        (WebCore::XSSAuditor::canEvaluate):
87403        (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
87404        (WebCore::XSSAuditor::canLoadObject):
87405        * svg/SVGDocumentExtensions.cpp:
87406        (WebCore::SVGDocumentExtensions::reportWarning):
87407        (WebCore::SVGDocumentExtensions::reportError):
87408        * wml/WMLErrorHandling.cpp:
87409        (WebCore::reportWMLError):
87410        * workers/GenericWorkerTask.h: Added GenericWorkerTask8 for the extra argument.
87411        (WebCore::GenericWorkerTask8::create):
87412        (WebCore::GenericWorkerTask8::GenericWorkerTask8):
87413        (WebCore::GenericWorkerTask8::performTask):
87414        (WebCore::createCallbackTask):
87415        * workers/WorkerContext.cpp:
87416        (WebCore::WorkerContext::addMessage):
87417        (WebCore::WorkerContext::importScripts):
87418        * workers/WorkerContext.h:
87419        * workers/WorkerMessagingProxy.cpp:
87420        (WebCore::postConsoleMessageTask):
87421        (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
87422        * workers/WorkerMessagingProxy.h:
87423        * workers/WorkerObjectProxy.h:
87424        * xml/XMLHttpRequest.cpp:
87425        (WebCore::reportUnsafeUsage):
87426        (WebCore::XMLHttpRequest::didFinishLoading):
87427        * xml/XSLTProcessor.cpp:
87428        (WebCore::XSLTProcessor::parseErrorFunc):
87429
874302009-07-12  Nate Chapin  <japhet@chromium.org>
87431
87432        Reviewed by Dimitri Glazkov.
87433
87434        Upstream UndetectableHTMLCollection.idl as HTMLAllCollection.idl.
87435
87436        https://bugs.webkit.org/show_bug.cgi?id=27132
87437
87438        * bindings/scripts/CodeGeneratorV8.pm:
87439        * bindings/v8/DOMObjectsInclude.h:
87440        * bindings/v8/DerivedSourcesAllInOne.cpp:
87441        * bindings/v8/V8DOMWrapper.cpp:
87442        (WebCore::V8DOMWrapper::getTemplate):
87443        (WebCore::V8DOMWrapper::instantiateV8Object):
87444        * bindings/v8/V8Index.cpp:
87445        * bindings/v8/V8Index.h:
87446        * dom/HTMLAllCollection.idl: Added.
87447
874482009-07-12  Joseph Pecoraro  <joepeck02@gmail.com>
87449
87450        Reviewed by Maciej Stachowiak.
87451
87452        Inspector: Duplicate Computation in Autocompletion
87453        https://bugs.webkit.org/show_bug.cgi?id=26778
87454
87455        * inspector/front-end/TextPrompt.js:
87456        (WebInspector.TextPrompt.prototype._completionsReady):
87457
874582009-07-12  Dan Bernstein  <mitz@apple.com>
87459
87460        Reviewed by Maciej Stachowiak.
87461
87462        https://bugs.webkit.org/show_bug.cgi?id=27196
87463        Rename bidi.cpp to RenderBlockLineLayout.cpp and remove bidi.h
87464
87465        * GNUmakefile.am: Updated.
87466        * WebCore.gypi: Updated.
87467        * WebCore.pro: Updated.
87468        * WebCore.vcproj/WebCore.vcproj: Updated.
87469        * WebCore.xcodeproj/project.pbxproj: Updated.
87470        * WebCoreSources.bkl: Updated.
87471        * rendering/RenderBlock.h: Removed unnecessary forward declaration and
87472            updated comments.
87473        * rendering/RenderBlockLineLayout.cpp: Copied from WebCore/rendering/bidi.cpp.
87474            Removed unnecessary #include statements.
87475        (WebCore::BidiRun::BidiRun): Moved here from bidi.h.
87476        (WebCore::RenderBlock::layoutInlineChildren): Removed outdated comment.
87477        * rendering/bidi.cpp: Removed.
87478        * rendering/bidi.h: Removed.
87479
874802009-07-12  Dan Bernstein  <mitz@apple.com>
87481
87482        - Windows build fix
87483
87484        * platform/graphics/cg/PDFDocumentImage.cpp:
87485        (WebCore::PDFDocumentImage::dataChanged):
87486
874872009-07-12  Dan Bernstein  <mitz@apple.com>
87488
87489        Reviewed by Sam Weinig.
87490
87491        - Image cleanup
87492
87493        * platform/graphics/BitmapImage.cpp:
87494        (WebCore::BitmapImage::destroyDecodedData): Use the data() accessor
87495        instead of the m_data member.
87496        (WebCore::BitmapImage::dataChanged): Ditto.
87497        * platform/graphics/Image.h: Re-ordered #includes and class
87498        declarations. Removed the drawPatternCallback() declaration. Made member
87499        variables private.
87500        * platform/graphics/cg/ImageCG.cpp:
87501        (WebCore::drawPatternCallback): Changed this from a member function to a
87502        static function.
87503        * platform/graphics/cg/PDFDocumentImage.cpp:
87504        (WebCore::PDFDocumentImage::dataChanged): Use the data() accessor
87505        instead of the m_data member.
87506        * svg/graphics/SVGImage.cpp:
87507        (WebCore::SVGImage::dataChanged): Ditto.
87508
875092009-07-12  Daniel Bates  <dbates@intudata.com>
87510
87511        Reviewed by Darin Adler.
87512
87513        https://bugs.webkit.org/show_bug.cgi?id=27189
87514        
87515        Fixes insufficient check in XSSAuditor::canSetBaseElementURL that caused 
87516        XSSAuditor to incorrectly block HTML Base elements whose base path coincided 
87517        with the URL of the page.
87518
87519        Test: http/tests/security/xssAuditor/base-href-safe3.html
87520
87521        * page/XSSAuditor.cpp:
87522        (WebCore::XSSAuditor::canSetBaseElementURL): Changed conditional to only call 
87523        XSSAuditor::findInRequest() if the host in the page URL disagrees with the host 
87524        in the base element URL.
87525
875262009-07-12  Darin Adler  <darin@apple.com>
87527
87528        Reviewed by Dan Bernstein.
87529
87530        Text searching with ICU should take the user's default locale into account
87531        https://bugs.webkit.org/show_bug.cgi?id=27184
87532        rdar://problem/6812121
87533
87534        No simple way to test this since it's dependent on user locale.
87535        After this, the user's default locale is used only on Mac.
87536
87537        * editing/TextIterator.cpp:
87538        (WebCore::createSearcher): Pass result of the currentSearchLocaleID
87539        function as the locale.
87540
87541        * platform/text/TextBreakIteratorInternalICU.h: Added declaration of
87542        currentSearchLocaleID function.
87543
87544        * platform/text/android/TextBreakIteratorInternalICU.cpp:
87545        (WebCore::currentSearchLocaleID): Added. Returns the empty string.
87546        * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:
87547        (WebCore::currentSearchLocaleID): Ditto.
87548        * platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp:
87549        (WebCore::currentSearchLocaleID): Ditto.
87550
87551        * platform/text/mac/TextBreakIteratorInternalICUMac.mm:
87552        (WebCore::textBreakLocalePreference): Added. Returns the value of
87553        the AppleTextBreakLocale preference.
87554        (WebCore::topLanguagePreference): Added. Returns the value of the
87555        first item in the AppleLanguages preference.
87556        (WebCore::canonicalLanguageIdentifier): Added. Cover for the
87557        CFLocaleCreateCanonicalLanguageIdentifierFromString function.
87558        (WebCore::getLocale): Added. Transfers the locale from a CFStringRef
87559        into a buffer.
87560        (WebCore::getSearchLocale): Added. Calls topLanguagePreference,
87561        canonicalLanguageIdentifier, and getLocale.
87562        (WebCore::currentSearchLocaleID): Added. Calls getSearchLocale once.
87563        (WebCore::getTextBreakLocale): Changed to call
87564        textBreakLocalePreference, topLanguagePreference,
87565        canonicalLanguageIdentifier, and getLocale.
87566
87567        * platform/text/win/TextBreakIteratorInternalICUWin.cpp:
87568        (WebCore::currentSearchLocaleID): Added. Returns the empty string.
87569        * platform/wx/TemporaryLinkStubs.cpp:
87570        (WebCore::currentSearchLocaleID): Ditto.
87571
875722009-07-12  Xan Lopez  <xlopez@igalia.com>
87573
87574        Reviewed by Gustavo Noronha.
87575
87576        https://bugs.webkit.org/show_bug.cgi?id=25415
87577        [GTK][ATK] Please implement support for get_text_at_offset
87578
87579        Create a PangoLayout that properly represents the visual
87580        appearance of the text in the web page so that the line boundary
87581        modes of getText{At,Before,After}Offset work correctly.
87582
87583        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
87584        (UTF16ToUTF8):
87585        (g_substr):
87586        (convertUniCharToUTF8):
87587        (getPangoLayoutForAtk):
87588
875892009-07-11  Oliver Hunt  <oliver@apple.com>
87590
87591        Reviewed by Simon Fraser.
87592
87593        Bug 27187 - Match Gecko behaviour for canvas path mutation APIs on an empty path
87594        <https://bugs.webkit.org/show_bug.cgi?id=27187>
87595
87596        Simple API change, check for the empty path and add appropriate point if necessary.
87597
87598        Test: fast/canvas/canvas-modify-emptyPath.html
87599
87600        * Info.plist:
87601        * WebCore.xcodeproj/project.pbxproj:
87602        * html/CanvasRenderingContext2D.cpp:
87603        (WebCore::CanvasRenderingContext2D::lineTo):
87604        (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
87605        (WebCore::CanvasRenderingContext2D::bezierCurveTo):
87606
876072009-07-11  Eric Carlson  <eric.carlson@apple.com>
87608
87609        Reviewed by Antti Koivisto.
87610
87611        HTMLMediaElement.canPlayType "maybe" and "probably" reversed
87612        https://bugs.webkit.org/show_bug.cgi?id=27186
87613
87614        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
87615        (WebCore::MediaPlayerPrivate::supportsType):
87616            Return "probably" if type has codecs parameter.
87617
87618        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
87619        (WebCore::MediaPlayerPrivate::supportsType):
87620            Ditto.
87621
87622        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
87623        (WebCore::MediaPlayerPrivate::supportsType):
87624            Ditto.
87625
876262009-07-11  Brady Eidson  <beidson@apple.com>
87627
87628        Reviewed by Mark Rowe.
87629
87630        A worker-thread inspired follow-up for:
87631        https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520>
87632        REGRESSION: XHR stream connection blocks iFrame loading and resource downloading
87633
87634        * xml/XMLHttpRequest.cpp:
87635        (WebCore::XMLHttpRequest::loadRequestAsynchronously): Don't perform the XHR compensation when the XHR
87636          is running on a worker thread. Accessing the global Cache data structures from a non-main thread is
87637          not currently supported.
87638
876392009-07-11  Simon Fraser  <simon.fraser@apple.com>
87640
87641        Enable support for accelerated compositing and 3d transforms on Leopard.
87642        <https://bugs.webkit.org/show_bug.cgi?id=20166>
87643        <rdar://problem/6120614>
87644
87645        Reviewed by Oliver Hunt.
87646
87647        * Configurations/FeatureDefines.xcconfig:
87648
876492009-07-11  Simon Hausmann  <hausmann@webkit.org>
87650
87651        Fix the Qt build after r45724.
87652
87653        * bridge/qt/qt_instance.cpp:
87654        (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp):
87655        * bridge/qt/qt_runtime.cpp:
87656        (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
87657
876582009-07-10  Daniel Bates  <dbates@intudata.com>
87659
87660        Reviewed by Adam Barth.
87661
87662        https://bugs.webkit.org/show_bug.cgi?id=26921
87663
87664        Implements support for HTML entities, so XSSAuditor can protect against attacks
87665        encoded with HTML entities.
87666
87667        Tests: http/tests/security/xssAuditor/inline-event-HTML-entities.html
87668               http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char.html
87669               http/tests/security/xssAuditor/javascript-link-HTML-entities-named.html
87670               http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char.html
87671               http/tests/security/xssAuditor/javascript-link-HTML-entities.html
87672               http/tests/security/xssAuditor/link-onclick-entities.html
87673               http/tests/security/xssAuditor/script-tag-entities.html
87674               http/tests/security/xssAuditor/script-tag-with-source-entities.html
87675
87676        * page/XSSAuditor.cpp:
87677        (WebCore::XSSAuditor::canEvaluate):
87678        (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
87679        (WebCore::XSSAuditor::decodeURL): Modified to call WebCore::XSSAuditor::decodeHTMLEntities
87680        to decode HTML entities.
87681        (WebCore::XSSAuditor::decodeHTMLEntities): Added method to decode HTML entities.
87682        (WebCore::XSSAuditor::findInRequest):
87683        * page/XSSAuditor.h:
87684
876852009-07-10  David Kilzer  <ddkilzer@apple.com>
87686
87687        Bug 27007: Build fixes when ICONDATABASE is disabled
87688
87689        <https://bugs.webkit.org/show_bug.cgi?id=27007>
87690
87691        Reviewed by Sam Weinig.
87692
87693        * WebCore.xcodeproj/project.pbxproj: Added IconDatabaseNone.cpp
87694        to the project.
87695        * loader/icon/IconDatabase.cpp: Added
87696        #if ENABLE(ICONDATABASE)/#endif macro guard.
87697        * loader/icon/IconDatabase.h: Removed three public methods from
87698        #if ENABLE(ICONDATABASE)/#endif macro so that they may be
87699        stubbed out in IconDatabaseNone.cpp.
87700        * loader/icon/IconDatabaseNone.cpp: Added
87701        #if !ENABLE(ICONDATABASE)/#endif macro guard.
87702        (WebCore::IconDatabase::importIconURLForPageURL): Added.
87703        (WebCore::IconDatabase::importIconDataForIconURL): Added.
87704        (WebCore::IconDatabase::shouldStopThreadActivity): Added.
87705
877062009-07-10  Daniel Bates  <dbates@intudata.com>
87707
87708        Reviewed by Adam Barth.
87709
87710        https://bugs.webkit.org/show_bug.cgi?id=27151
87711
87712        Fixes issue where JavaScript URLs that contain null- and non-null control characters can
87713        bypass XSSAuditor.
87714
87715        Tests: http/tests/security/xssAuditor/javascript-link-control-char.html
87716               http/tests/security/xssAuditor/javascript-link-null-char.html
87717               http/tests/security/xssAuditor/javascript-link.html
87718
87719        * bindings/js/ScriptController.cpp:
87720        (WebCore::ScriptController::evaluate): Separated out logic for JavaScript URLs from 
87721        inline scripts. For JavaScript URLs, calls XSSAuditor::canEvaluateJavaScriptURL.
87722        * bindings/v8/ScriptController.cpp:
87723        (WebCore::ScriptController::evaluate): Made similar changes to evaluate() as in
87724        bindings/js/ScriptController.cpp.
87725        * page/XSSAuditor.cpp:
87726        (WebCore::XSSAuditor::canEvaluateJavaScriptURL): Separated out logic for JavaScript URLs
87727        into its own method.
87728        * page/XSSAuditor.h:
87729
877302009-07-10  Shinichiro Hamaji  <hamaji@chromium.org>
87731
87732        Reviewed by David Kilzer.
87733
87734        WebKit needs a style linting tool
87735        https://bugs.webkit.org/show_bug.cgi?id=25884
87736
87737        Fix bunch of style issues by autofix of cpplint.
87738        This patch is created to demonstrate the autofix of cpplint.py.
87739
87740        No new testcases because it's a style fix
87741
87742        * css/CSSParser.cpp:
87743        (WebCore::CSSParser::parseMediaQuery):
87744        (WebCore::CSSParser::validUnit):
87745        (WebCore::CSSParser::parseValue):
87746        (WebCore::skipCommaInDashboardRegion):
87747        (WebCore::CSSParser::parseDashboardRegions):
87748        (WebCore::ShadowParseContext::commitValue):
87749        (WebCore::ShadowParseContext::commitLength):
87750        (WebCore::ShadowParseContext::commitColor):
87751        (WebCore::BorderImageParseContext::commitNumber):
87752        (WebCore::BorderImageParseContext::commitWidth):
87753        (WebCore::BorderImageParseContext::commitRule):
87754        (WebCore::BorderImageParseContext::commitBorderImage):
87755        (WebCore::CSSParser::lex):
87756        (WebCore::CSSParser::text):
87757        * css/CSSStyleSelector.cpp:
87758        (WebCore::CSSStyleSelector::applyProperty):
87759        * css/MediaList.cpp:
87760        (WebCore::MediaList::deleteMedium):
87761        * css/MediaQuery.h:
87762        * css/MediaQueryEvaluator.cpp:
87763        (WebCore::parseAspectRatio):
87764        * css/MediaQueryEvaluator.h:
87765        * css/MediaQueryExp.h:
87766        (WebCore::MediaQueryExp::operator==):
87767        * css/WebKitCSSMatrix.h:
87768        * dom/Comment.h:
87769        * dom/Document.cpp:
87770        (WebCore::Document::setFocusedNode):
87771        * dom/Document.h:
87772        (WebCore::Document::setHasDashboardRegions):
87773        * dom/DocumentFragment.cpp:
87774        (WebCore::DocumentFragment::nodeName):
87775        * dom/DocumentFragment.h:
87776        * dom/DynamicNodeList.h:
87777        * dom/EditingText.h:
87778        * dom/Element.cpp:
87779        (WebCore::Element::dispatchAttrAdditionEvent):
87780        * dom/NamedAttrMap.cpp:
87781        (WebCore::NamedNodeMap::item):
87782        * dom/Node.cpp:
87783        (WebCore::Node::nodeValue):
87784        (WebCore::Node::nodeIndex):
87785        * dom/NodeRareData.h:
87786        (WebCore::NodeListsNodeData::create):
87787        * dom/Notation.h:
87788        * dom/ProcessingInstruction.h:
87789        * dom/Range.cpp:
87790        (WebCore::Range::processContents):
87791        * dom/StyledElement.cpp:
87792        (WebCore::toHex):
87793        * dom/XMLTokenizerLibxml2.cpp:
87794        (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
87795        (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
87796        (WebCore::PendingCallbacks::):
87797        (WebCore::OffsetBuffer::readOutBytes):
87798        (WebCore::handleElementNamespaces):
87799        (WebCore::handleElementAttributes):
87800        (WebCore::attributesStartElementNsHandler):
87801        * dom/XMLTokenizerQt.cpp:
87802        (WebCore::attributesStartElementNsHandler):
87803        (WebCore::XMLTokenizer::parseStartElement):
87804        * editing/ApplyStyleCommand.cpp:
87805        (WebCore::ApplyStyleCommand::applyInlineStyle):
87806        * editing/DeleteSelectionCommand.cpp:
87807        (WebCore::DeleteSelectionCommand::removeNode):
87808        * editing/Editor.cpp:
87809        (WebCore::Editor::pasteAsPlainText):
87810        * editing/SelectionController.cpp:
87811        (WebCore::SelectionController::directionOfEnclosingBlock):
87812        * editing/SmartReplaceICU.cpp:
87813        (WebCore::addAllCodePoints):
87814        * history/HistoryItem.cpp:
87815        (WebCore::HistoryItem::icon):
87816        (WebCore::HistoryItem::adoptVisitCounts):
87817        * html/CanvasStyle.cpp:
87818        (WebCore::CanvasStyle::applyFillColor):
87819        * html/HTMLAnchorElement.cpp:
87820        (WebCore::HTMLAnchorElement::setActive):
87821        (WebCore::HTMLAnchorElement::isLiveLink):
87822        * html/HTMLAppletElement.h:
87823        * html/HTMLAudioElement.h:
87824        * html/HTMLBRElement.h:
87825        * html/HTMLBaseElement.h:
87826        * html/HTMLBaseFontElement.h:
87827        * html/HTMLDListElement.h:
87828        * html/HTMLDirectoryElement.h:
87829        * html/HTMLFieldSetElement.cpp:
87830        (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
87831        * html/HTMLFormElement.cpp:
87832        (WebCore::HTMLFormElement::reset):
87833        * html/HTMLHRElement.cpp:
87834        (WebCore::HTMLHRElement::parseMappedAttribute):
87835        * html/HTMLHeadElement.h:
87836        * html/HTMLHtmlElement.h:
87837        * html/HTMLImageElement.h:
87838        (WebCore::HTMLImageElement::setLoadManually):
87839        * html/HTMLInputElement.cpp:
87840        (WebCore::HTMLInputElement::selection):
87841        * html/HTMLIsIndexElement.h:
87842        * html/HTMLMarqueeElement.cpp:
87843        * html/HTMLMediaElement.h:
87844        (WebCore::HTMLMediaElement::):
87845        * html/HTMLMenuElement.h:
87846        * html/HTMLMetaElement.h:
87847        * html/HTMLModElement.h:
87848        * html/HTMLOListElement.h:
87849        * html/HTMLOptionElement.cpp:
87850        (WebCore::HTMLOptionElement::childrenChanged):
87851        * html/HTMLParamElement.h:
87852        * html/HTMLQuoteElement.h:
87853        * html/HTMLStyleElement.h:
87854        * html/HTMLTableCaptionElement.h:
87855        * html/HTMLTableCellElement.h:
87856        * html/HTMLTableColElement.h:
87857        * html/HTMLTableSectionElement.cpp:
87858        (WebCore::HTMLTableSectionElement::deleteRow):
87859        * html/HTMLTitleElement.h:
87860        * html/HTMLTokenizer.cpp:
87861        (WebCore::HTMLTokenizer::parseNonHTMLText):
87862        (WebCore::HTMLTokenizer::parseEntity):
87863        (WebCore::HTMLTokenizer::parseTag):
87864        (WebCore::HTMLTokenizer::write):
87865        * html/HTMLUListElement.h:
87866        * html/HTMLVideoElement.h:
87867        * html/TimeRanges.h:
87868        (WebCore::TimeRanges::Range::Range):
87869        * inspector/InspectorController.cpp:
87870        (WebCore::InspectorController::enableResourceTracking):
87871        (WebCore::InspectorController::disableResourceTracking):
87872        * inspector/InspectorFrontend.cpp:
87873        (WebCore::InspectorFrontend::newInspectorJSONObject):
87874        * page/Console.cpp:
87875        (WebCore::Console::addMessage):
87876        * page/EventHandler.cpp:
87877        (WebCore::EventHandler::handleMousePressEvent):
87878        (WebCore::EventHandler::selectCursor):
87879        (WebCore::EventHandler::defaultKeyboardEventHandler):
87880        * page/Frame.cpp:
87881        (WebCore::Frame::jsDefaultStatusBarText):
87882        * page/android/DragControllerAndroid.cpp:
87883        (WebCore::DragController::dragOperation):
87884        * page/android/EventHandlerAndroid.cpp:
87885        (WebCore::EventHandler::tabsToAllControls):
87886        (WebCore::EventHandler::eventActivatedView):
87887        * page/animation/AnimationController.cpp:
87888        (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
87889        * page/gtk/DragControllerGtk.cpp:
87890        (WebCore::DragController::dragOperation):
87891        * page/qt/DragControllerQt.cpp:
87892        * page/win/DragControllerWin.cpp:
87893        (WebCore::DragController::isCopyKeyDown):
87894        * page/win/FrameWin.h:
87895        * rendering/RenderSlider.cpp:
87896        (WebCore::RenderSlider::mouseEventOffsetToThumb):
87897        * rendering/style/RenderStyle.h:
87898        (WebCore::InheritedFlags::setVerticalAlignLength):
87899        (WebCore::InheritedFlags::setUnicodeBidi):
87900        (WebCore::InheritedFlags::setCursor):
87901        * rendering/style/RenderStyleConstants.h:
87902        (WebCore::):
87903        * rendering/style/SVGRenderStyleDefs.h:
87904        * rendering/style/StyleInheritedData.h:
87905        (WebCore::StyleInheritedData::operator!=):
87906        * storage/DatabaseTask.h:
87907        * svg/GradientAttributes.h:
87908        * svg/LinearGradientAttributes.h:
87909        * svg/PatternAttributes.h:
87910        * svg/RadialGradientAttributes.h:
87911        * svg/SVGAnimatedPathData.h:
87912        * svg/SVGAnimatedPoints.h:
87913        * svg/SVGAnimationElement.h:
87914        * svg/SVGClipPathElement.h:
87915        * svg/SVGElementInstance.h:
87916        * svg/SVGFEBlendElement.cpp:
87917        (WebCore::SVGFEBlendElement::build):
87918        * svg/SVGFEBlendElement.h:
87919        * svg/SVGFEColorMatrixElement.cpp:
87920        (WebCore::SVGFEColorMatrixElement::build):
87921        * svg/SVGFEComponentTransferElement.cpp:
87922        (WebCore::SVGFEComponentTransferElement::build):
87923        * svg/SVGFECompositeElement.cpp:
87924        (WebCore::SVGFECompositeElement::build):
87925        * svg/SVGFEDiffuseLightingElement.cpp:
87926        (WebCore::SVGFEDiffuseLightingElement::build):
87927        * svg/SVGFEDisplacementMapElement.cpp:
87928        (WebCore::SVGFEDisplacementMapElement::build):
87929        * svg/SVGFEDistantLightElement.h:
87930        * svg/SVGFEFloodElement.cpp:
87931        (WebCore::SVGFEFloodElement::build):
87932        * svg/SVGFEFloodElement.h:
87933        * svg/SVGFEFuncAElement.h:
87934        * svg/SVGFEFuncBElement.h:
87935        * svg/SVGFEFuncGElement.h:
87936        * svg/SVGFEFuncRElement.h:
87937        * svg/SVGFEGaussianBlurElement.cpp:
87938        (WebCore::SVGFEGaussianBlurElement::build):
87939        * svg/SVGFEImageElement.cpp:
87940        (WebCore::SVGFEImageElement::build):
87941        * svg/SVGFEMergeElement.cpp:
87942        (WebCore::SVGFEMergeElement::build):
87943        * svg/SVGFEOffsetElement.cpp:
87944        (WebCore::SVGFEOffsetElement::build):
87945        * svg/SVGFEPointLightElement.h:
87946        * svg/SVGFESpecularLightingElement.cpp:
87947        (WebCore::SVGFESpecularLightingElement::build):
87948        * svg/SVGFESpotLightElement.h:
87949        * svg/SVGFETileElement.cpp:
87950        (WebCore::SVGFETileElement::build):
87951        * svg/SVGLineElement.cpp:
87952        (WebCore::SVGLineElement::parseMappedAttribute):
87953        * svg/SVGList.h:
87954        * svg/SVGListTraits.h:
87955        (WebCore::):
87956        * svg/SVGMPathElement.h:
87957        * svg/SVGMetadataElement.h:
87958        * svg/SVGParserUtilities.cpp:
87959        (WebCore::SVGPathParser::parseSVG):
87960        (WebCore::SVGPathParser::calculateArc):
87961        * svg/SVGPathElement.h:
87962        * svg/SVGPathSegClosePath.h:
87963        * svg/SVGSVGElement.h:
87964        * svg/SVGSetElement.h:
87965        * svg/SVGSwitchElement.h:
87966        * svg/SVGTextPathElement.cpp:
87967        (WebCore::SVGTextPathElement::parseMappedAttribute):
87968        * svg/SVGTextPathElement.h:
87969        * svg/SVGTitleElement.h:
87970        * svg/SVGTransformable.cpp:
87971        (WebCore::):
87972        * svg/SVGViewSpec.cpp:
87973        (WebCore::):
87974        * svg/animation/SMILTime.cpp:
87975        (WebCore::operator+):
87976        (WebCore::operator-):
87977        (WebCore::operator*):
87978        * svg/animation/SVGSMILElement.h:
87979        * svg/graphics/SVGResource.cpp:
87980        (WebCore::clientMap):
87981        * wml/WMLPostfieldElement.cpp:
87982        (WebCore::WMLPostfieldElement::value):
87983        * wml/WMLSetvarElement.cpp:
87984        (WebCore::WMLSetvarElement::value):
87985        * workers/WorkerRunLoop.cpp:
87986        * xml/XMLHttpRequest.cpp:
87987        (WebCore::XMLHttpRequest::dropProtection):
87988        * xml/XPathPath.h:
87989
879902009-07-10  Eric Carlson  <eric.carlson@apple.com>
87991
87992        Reviewed by Simon Fraser.
87993
87994        <rdar://problem/7049066>.
87995        Update SnowLeopard media controller layout.
87996
87997        * css/mediaControlsQT.css:
87998            Update for new layout.
87999        * html/HTMLMediaElement.cpp:
88000        (WebCore::HTMLMediaElement::movieLoadType):
88001            Added to replace isStreaming.
88002        * html/HTMLMediaElement.h:
88003            Declare movieLoadType, remove isStreaming.
88004
88005        * rendering/MediaControlElements.cpp:
88006        (WebCore::MediaControlStatusDisplayElement::update):
88007            Use movieLoadType instead of isStreaming.
88008        (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
88009            MediaControlElement is the base class, not HTMLInputElement.
88010        (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded):
88011            Ditto.
88012        (WebCore::MediaControlRewindButtonElement::rendererIsNeeded):
88013            Don't display rewind button for live streams.
88014        (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded):
88015            MediaControlInputElement is the base class, not HTMLInputElement.
88016        * rendering/MediaControlElements.h:
88017
88018        * rendering/RenderThemeMac.h:
88019        * rendering/RenderThemeMac.mm:
88020        (WebCore::getMediaUIPartStateFlags):
88021            New, return wkDrawMediaUIPart flags.
88022        (WebCore::RenderThemeMac::paintMediaFullscreenButton):
88023        (WebCore::RenderThemeMac::paintMediaMuteButton):
88024        (WebCore::RenderThemeMac::paintMediaPlayButton):
88025        (WebCore::RenderThemeMac::paintMediaSeekBackButton):
88026        (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
88027        (WebCore::RenderThemeMac::paintMediaSliderTrack):
88028        (WebCore::RenderThemeMac::paintMediaSliderThumb):
88029        (WebCore::RenderThemeMac::paintMediaRewindButton):
88030        (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
88031        (WebCore::RenderThemeMac::paintMediaControlsBackground):
88032        (WebCore::RenderThemeMac::paintMediaCurrentTime):
88033        (WebCore::RenderThemeMac::paintMediaTimeRemaining):
88034            Use getMediaUIPartStateFlags.
88035
880362009-07-10  Michelangelo De Simone  <micdesim@gmail.com>
88037
88038        Reviewed by Adele Peterson.
88039
88040        https://bugs.webkit.org/show_bug.cgi?id=19562
88041        Added build stuff and stub for the ValidityState class, part of HTML5
88042        section Forms:
88043        http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate
88044
88045        Test: fast/forms/ValidityState-001.html
88046
88047        * DerivedSources.cpp: Fix aimed to include ValidityState files
88048        * DerivedSources.make: ditto
88049        * GNUmakefile.am: ditto
88050        * WebCore.gypi: ditto
88051        * WebCore.pro: ditto
88052        * WebCore.vcproj/WebCore.vcproj: ditto
88053        * WebCore.xcodeproj/project.pbxproj: ditto
88054        * WebCoreSources.bkl: ditto
88055        * html/HTMLButtonElement.idl: "validity" attribute
88056        * html/HTMLFieldSetElement.idl: ditto
88057        * html/HTMLFormControlElement.cpp: object getter
88058        (WebCore::HTMLFormControlElement::validity):
88059        * html/HTMLFormControlElement.h: ditto
88060        * html/HTMLInputElement.idl: "validity" attribute
88061        * html/HTMLSelectElement.idl: ditto
88062        * html/HTMLTextAreaElement.idl: ditto
88063        * html/ValidityState.cpp: Added.
88064        (WebCore::ValidityState::ValidityState):
88065        (WebCore::ValidityState::valid): validation flag
88066        * html/ValidityState.h: Added.
88067        (WebCore::ValidityState::create): creation routine
88068        (WebCore::ValidityState::control): ValidityState's parent getter
88069        (WebCore::ValidityState::valueMissing): validation flag
88070        (WebCore::ValidityState::typeMismatch): ditto
88071        (WebCore::ValidityState::patternMismatch): ditto
88072        (WebCore::ValidityState::tooLong): ditto
88073        (WebCore::ValidityState::rangeUnderflow): ditto
88074        (WebCore::ValidityState::rangeOverflow): ditto
88075        (WebCore::ValidityState::stepMismatch): ditto
88076        (WebCore::ValidityState::customError): ditto
88077        * html/ValidityState.idl: Added.
88078
880792009-07-10  Brady Eidson  <beidson@apple.com>
88080
88081        Style cleanup over my last patch.
88082
88083        * xml/XMLHttpRequest.cpp:
88084        (WebCore::XMLHttpRequest::~XMLHttpRequest):
88085
880862009-07-10  Kevin McCullough  <kmccullough@apple.com>
88087
88088        Reviewed by Geoffrey Garen.
88089
88090        * inspector/JavaScriptCallFrame.cpp:
88091        (WebCore::JavaScriptCallFrame::dynamicGlobalObject):
88092        * inspector/JavaScriptCallFrame.h: New helper method, used below.
88093
88094        * inspector/JavaScriptDebugServer.cpp:
88095        (WebCore::JavaScriptDebugServer::detach): In the special case
88096        where we detach from a window currently executing JavaScript,
88097        manually tear down our representation of the JavaScript
88098        call stack, since we won't get any more callbacks from JavaScriptCore
88099        to automatically tear it down. It's too bad that WebCore is
88100        responsible for this kind of tracking -- in the future, it would
88101        be nice if more of the breakpoint handling was inside of JavaScriptCore.
88102
881032009-07-10  Brady Eidson  <beidson@apple.com>
88104
88105        Reviewed by Antti Koivisto.
88106
88107        https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520>
88108        REGRESSION: XHR stream connection blocks iFrame loading and resource downloading
88109
88110        With this test we ended up going over the maximum-connections-per-host limit that CFNetwork expected.
88111        When that happened, the first request that was over the limit ended up in a bizarre state where it 
88112        wasn't fully serviced until after the long running XHR was complete.
88113
88114        Loader and Loader::Host work together to try to not exceed the max-connection limit but non-cache
88115        resources - such as XHR - could still end up causing this limit to be exceeded.
88116
88117        This fix adds a workaround specifically for XHR while we hash out a more thorough solution that will
88118        handle this at the resource handle level.
88119
88120        * loader/loader.cpp:
88121        (WebCore::Loader::nonCacheRequestInFlight):
88122        (WebCore::Loader::nonCacheRequestComplete):
88123        (WebCore::Loader::Host::Host):
88124        (WebCore::Loader::Host::nonCacheRequestInFlight):
88125        (WebCore::Loader::Host::nonCacheRequestComplete):
88126        (WebCore::Loader::Host::servePendingRequests): Take nonCacheRequestsInFlight into account.
88127        * loader/loader.h:
88128        (WebCore::Loader::Host::processingResource): Take nonCacheRequestsInFlight into account.
88129
88130        * xml/XMLHttpRequest.cpp:
88131        (WebCore::XMLHttpRequest::XMLHttpRequest):
88132        (WebCore::XMLHttpRequest::~XMLHttpRequest): 
88133        (WebCore::XMLHttpRequest::loadRequestAsynchronously): Bump the nonCacheRequestInFlight count.
88134        (WebCore::XMLHttpRequest::didFail): Decrement that count if the Loader was notified.
88135        (WebCore::XMLHttpRequest::didFinishLoading): Ditto.
88136
881372009-07-10  Antti Koivisto  <antti@apple.com>
88138
88139        Try to unbreak non-Mac build.
88140
88141        * page/ChromeClient.h:
88142        (WebCore::ChromeClient::formDidFocus):
88143        (WebCore::ChromeClient::formDidBlur):
88144
881452009-07-10  Beth Dakin  <bdakin@apple.com>
88146
88147        Reviewed by Anders Carlsson.
88148
88149        The rest of the fix for <rdar://problem/7038831> REGRESSION (TOT): 
88150        In Mail, a crash occurs at WebCore::Widget::afterMouseDown() after 
88151        clicking To Do's close box
88152
88153        Make the Widget* in passMouseDownEventToWidget() a RefPtr.
88154
88155        * page/mac/EventHandlerMac.mm:
88156        (WebCore::EventHandler::passMouseDownEventToWidget):
88157
881582009-07-10  Eric Seidel  <eric@webkit.org>
88159
88160        Reviewed by Adam Barth.
88161
88162        rename getDOMStructure calls w/o JSGlobalObject* to deprecatedGetDOMStructure
88163        https://bugs.webkit.org/show_bug.cgi?id=27157
88164
88165        This is the first step to fixing
88166        https://bugs.webkit.org/show_bug.cgi?id=27088
88167
88168        * WebCore.xcodeproj/project.pbxproj:
88169        * bindings/js/JSDOMBinding.h:
88170        (WebCore::deprecatedGetDOMStructure):
88171        (WebCore::createDOMObjectWrapper):
88172        (WebCore::createDOMNodeWrapper):
88173        * bindings/js/JSNamedNodesCollection.cpp:
88174        (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
88175        * bindings/js/JSRGBColor.cpp:
88176        (WebCore::JSRGBColor::JSRGBColor):
88177        * bridge/objc/objc_runtime.mm:
88178        (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
88179        * bridge/runtime_array.cpp:
88180        (JSC::RuntimeArray::RuntimeArray):
88181        * bridge/runtime_method.cpp:
88182        (JSC::RuntimeMethod::RuntimeMethod):
88183        * bridge/runtime_object.cpp:
88184        (JSC::RuntimeObjectImp::RuntimeObjectImp):
88185
881862009-07-10  Greg Bolsinga  <bolsinga@apple.com>
88187
88188        Reviewed by Antti Koivisto.
88189
88190        Add delegate methods about focus and blur and state change
88191        https://bugs.webkit.org/show_bug.cgi?id=27153
88192
88193        Call the appropriate new ChromeClient methods for focus and blur.
88194
88195        * html/HTMLFormControlElement.cpp:
88196        (WebCore::HTMLFormControlElement::dispatchFocusEvent):
88197        (WebCore::HTMLFormControlElement::dispatchBlurEvent):
88198        * html/HTMLFormControlElement.h:
88199        * loader/EmptyClients.h:
88200        (WebCore::EmptyChromeClient::formDidFocus):
88201        (WebCore::EmptyChromeClient::formDidBlur):
88202        * page/ChromeClient.h:
88203
882042009-07-10  Steve Falkenburg  <sfalken@apple.com>
88205
88206        <rdar://problem/7048741> REGRESSION: Error about missing SwMenuX.dll opening pages with Shockwave
88207        
88208        Use altered search path while loading plug-ins. This modifies the DLL search order
88209        to look in the directory containing the plug-in even if a call to SetDllDirectory
88210        was previously made. Use of SetDllDirectory removes the current directory from the search path,
88211        breaking the previous strategy for locating any dependent DLLs of the plug-in.
88212        
88213        Reviewed by Jon Honeycutt.
88214
88215        * plugins/win/PluginPackageWin.cpp:
88216        (WebCore::PluginPackage::load): Use LoadLibraryEx with LOAD_WITH_ALTERED_SEARCH_PATH
88217
882182009-07-10  Adam Roben  <aroben@apple.com>
88219
88220        Sort all our Xcode projects
88221
88222        Accomplished using sort-Xcode-project-file.
88223
88224        Requested by Dave Kilzer.
88225
88226        * WebCore.xcodeproj/project.pbxproj:
88227
882282009-07-10  Adam Langley  <agl@google.com>
88229
88230        Reviewed by Darin Fisher.
88231
88232        Chromium Linux: use disabled images for disabled widgets.
88233
88234        https://bugs.webkit.org/show_bug.cgi?id=27106
88235
88236        Previously, checkboxes and radio controls rendered the same even if disabled.
88237        The Chromium side of this change is r20224.
88238
88239        * rendering/RenderThemeChromiumSkia.cpp:
88240        (WebCore::RenderThemeChromiumSkia::paintCheckbox):
88241        (WebCore::RenderThemeChromiumSkia::paintRadio):
88242
882432009-07-10  Simon Fraser  <simon.fraser@apple.com>
88244
88245        Reviewed by John Sullivan.
88246
88247        Fix crash when changing the zoom level in http://iphone.akamai.com/
88248        <rdar://problem/7029077>
88249
88250        RenderLayerBacking's paintIntoLayer() method called updateLayerListsIfNeeded(),
88251        which could potentially destroy that compositing layer, causing a crash.
88252        Prevent this from happening by not doing a compositing update from paintIntoLayer().
88253
88254        The existing updateLayerListsIfNeeded() was renamed to updateCompositingAndLayerListsIfNeeded(),
88255        and still does the compositing update. The new updateLayerListsIfNeeded() does not touch
88256        compositing layers, and is still called from paintIntoLayer().
88257        
88258        * rendering/RenderLayer.cpp:
88259        (WebCore::RenderLayer::paintLayer):
88260        (WebCore::RenderLayer::hitTestLayer):
88261        (WebCore::RenderLayer::updateLayerListsIfNeeded):
88262        (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
88263        * rendering/RenderLayer.h:
88264
882652009-07-10  Drew Wilson  <atwilson@google.com>
88266
88267        Reviewed by Darin Adler.
88268
88269        Need to remove UsesManualToJSImplementation() in favor of CustomToJS.
88270        https://bugs.webkit.org/show_bug.cgi?id=27010
88271
88272        Added support for CustomToJS IDL attribute to replace the hard-coded class list in UsesManualToJSImplementation().
88273
88274        This is just a cleanup of existing functionality, so existing LayoutTests adequately cover this patch.
88275
88276        * bindings/scripts/CodeGeneratorJS.pm:
88277        Removed UsesManualToJSImplementation(), added support for CustomToJS attribute.
88278        * css/CSSRule.idl:
88279        * css/CSSValue.idl:
88280        * css/StyleSheet.idl:
88281        * dom/Document.idl:
88282        * dom/Event.idl:
88283        * dom/Node.idl:
88284        * html/ImageData.idl:
88285        * svg/SVGElementInstance.idl:
88286        * svg/SVGPathSeg.idl:
88287        Added CustomToJS attribute to all the above IDL files.
88288
882892009-07-10  Dan Bernstein  <mitz@apple.com>
88290
88291        - fix the build by reverting the ill-advised r45711
88292
88293        * page/FrameView.cpp:
88294        (WebCore::FrameView::scrollToAnchor):
88295
882962009-07-09  Brian Weinstein  <bweinstein@apple.com>
88297
88298        Reviewed by Tim Hatcher.
88299
88300        Updated WebCore.base.exp to add some needed functions.
88301
88302        * WebCore.base.exp:
88303
883042009-07-10  Dan Bernstein  <mitz@apple.com>
88305
88306        - address a review comment from Simon Fraser which I forgot to include
88307          in the last check-in
88308
88309        * page/FrameView.cpp:
88310        (WebCore::FrameView::scrollToAnchor): Pass true to getRect() for
88311        maximum transform friendliness!
88312
883132009-07-10  Dan Bernstein  <mitz@apple.com>
88314
88315        Reviewed by Simon Fraser.
88316
88317        - fix https://bugs.webkit.org/show_bug.cgi?id=27137
88318          <rdar://problem/7043124> REGRESSION (r44311): Reproducible crash due
88319          to infinite recursion into FrameLoader::gotoAnchor() ->
88320          FrameView::layout()
88321
88322        Test: fast/loader/goto-anchor-infinite-layout.html
88323
88324        * loader/FrameLoader.cpp:
88325        (WebCore::FrameLoader::gotoAnchor): Moved the code to update layout,
88326        find the renderer to scroll to, and scroll from here to methods on
88327        FrameView, and replaced it with a call to
88328        FrameView::maintainScrollPositionAtAnchor().
88329        (WebCore::FrameLoader::completed): Call maintainScrollPositionAtAnchor()
88330        instead of setLockedToAnchor().
88331
88332        * page/FrameView.cpp:
88333        (WebCore::FrameView::FrameView): Removed initialization of
88334        m_lockedToAnchor.
88335        (WebCore::FrameView::reset): Reset m_maintainScrollPositionAnchor instead
88336        of m_lockedToAnchor.
88337        (WebCore::FrameView::layout): Removed the code related to scrolling to
88338        the anchor from here, because scrolling can trigger events which
88339        invalidate the layout, and as such, belongs with the post-layout tasks.
88340        (WebCore::FrameView::maintainScrollPositionAtAnchor): Added. When called
88341        with a node scrolls the view to the top of that node and maintains it
88342        scrolled to the top of the node during subsequent layouts, until
88343        this function is called with 0 or other things trigger scrolling.
88344        (WebCore::FrameView::scrollRectIntoViewRecursively): Reset
88345        m_maintainScrollPositionAnchor.
88346        (WebCore::FrameView::setScrollPosition): Ditto.
88347        (WebCore::FrameView::scrollToAnchor): Added. Scrolls to the top of
88348        m_maintainScrollPositionAnchor, if it is set.
88349        (WebCore::FrameView::performPostLayoutTasks): Call scrollToAnchor().
88350        (WebCore::FrameView::setWasScrolledByUser): Reset
88351        m_maintainScrollPositionAnchor.
88352
88353        * page/FrameView.h: Removed lockedToAnchor(), setLockedToAnchor(),
88354        and m_lockedToAnchor. Added maintainScrollPositionAtAnchor() and
88355        m_maintainScrollPositionAnchor.
88356
883572009-07-04  Sriram Yadavalli  <sriram.yadavalli@nokia.com>
88358
88359        Reviewed by Simon Hausmann.
88360
88361        https://bugs.webkit.org/show_bug.cgi?id=26439
88362
88363        QtWebKit fails in loading www.nytimes.com in Windows/Linux
88364
88365        QNetworkReplyHandler is ignoring content associated with 401 error.
88366        This causes the XHR response handling to fail.
88367
88368        Simon: Added also ProxyAuthenticationRequiredError, to handle the same
88369        case when going through proxies, as suggested by Prasanth.
88370
88371        * platform/network/qt/QNetworkReplyHandler.cpp:
88372        (WebCore::QNetworkReplyHandler::finish):
88373
883742009-07-10  Simon Hausmann  <simon.hausmann@nokia.com>
88375
88376        Reviewed by Holger Freyther.
88377
88378        Enable HTML 5 Messaging to fix message channel Qt DRT failures in
88379        fast/events.
88380
88381        * WebCore.pro:
88382
883832009-07-09  Roland Steiner  <rolandsteiner@google.com>
88384
88385        Reviewed by Maciej Stachowiak.
88386
88387        added InlineBox::isLeaf()
88388        firstLeafChild()/lastLeafChild() not virtual and not callable on InlineBox anymore.
88389        firstLeafChild()/lastLeafChild() will no longer return a node outside of the given subtree.   
88390        Removed firstLeafChildAfterBox()/lastLeafChildBeforeBox()
88391        Removed potentially quadratic behavior if all nodes before/after a given box are empty InlineFlowBoxes
88392
88393        Currently, these methods are called on RootInlineBox objects only, so above changes should not have
88394        any observable effect (only the removal of the square performance behavior could apply, 
88395        but the conditions for that are probably of a rather theoretical nature).
88396
88397        * rendering/InlineBox.cpp:
88398        (WebCore::InlineBox::nextLeafChild):
88399        (WebCore::InlineBox::prevLeafChild):
88400        * rendering/InlineBox.h:
88401        (WebCore::InlineBox::isLeaf):
88402        * rendering/InlineFlowBox.cpp:
88403        (WebCore::InlineFlowBox::firstLeafChild):
88404        (WebCore::InlineFlowBox::lastLeafChild):
88405        * rendering/InlineFlowBox.h:
88406        (WebCore::InlineFlowBox::firstChild):
88407        (WebCore::InlineFlowBox::lastChild):
88408        (WebCore::InlineFlowBox::isLeaf):
88409        * rendering/RootInlineBox.cpp:
88410        (WebCore::RootInlineBox::closestLeafChildForXPos):
88411
884122009-07-09  Roland Steiner  <rolandsteiner@google.com>
88413
88414        Reviewed by Maciej Stachowiak.
88415
88416        Added InlineBox::baselinePosition() and lineHeight() methods
88417        (adapted remaining code accordingly to use those methods)
88418
88419        No change in functionality.
88420
88421        * rendering/InlineBox.h:
88422        (WebCore::InlineBox::baselinePosition):
88423        (WebCore::InlineBox::lineHeight):
88424        * rendering/InlineFlowBox.cpp:
88425        (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
88426        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
88427        (WebCore::InlineFlowBox::placeBoxesVertically):
88428
884292009-07-09  Oliver Hunt  <oliver@apple.com>
88430
88431        Reviewed by Maciej Stachowiak.
88432
88433        Bug 27142 - canPlayType() should return empty string for unsupported content
88434        <https://bugs.webkit.org/show_bug.cgi?id=27142>
88435
88436        Return "" instead of "no" for unsupport media types. 
88437
88438        * html/HTMLMediaElement.cpp:
88439        (WebCore::HTMLMediaElement::canPlayType):
88440
884412009-07-09  Roland Steiner  <rolandsteiner@google.com>
88442
88443        Reviewed by Maciej Stachowiak.
88444
88445        Implement the part of HTML5 spec that deals with parsing of <rp> and <rt> tags
88446        in that their end tags are optional if followed by <rp>/<rt>.
88447
88448        Also specify a new accessibility role "annotation" for <rp> and <rt>.
88449
88450        Affected code parts are not enclosed in #IF ENABLE(RUBY), since the parsing
88451        is not affected by whether ruby is rendered properly or not (in fact, it may 
88452        be more profound without ruby layouting, since the contents of <rp> are not hidden).
88453
88454        Test: fast/ruby/parse-rp.html
88455
88456        * accessibility/AccessibilityObject.h:
88457        (WebCore::):
88458        * accessibility/AccessibilityRenderObject.cpp:
88459        (WebCore::AccessibilityRenderObject::roleValue):
88460        * html/HTMLElement.cpp:
88461        (WebCore::HTMLElement::endTagRequirement):
88462        (WebCore::HTMLElement::tagPriority):
88463        (WebCore::inlineTagList):
88464        * html/HTMLParser.cpp:
88465        (WebCore::HTMLParser::rpCreateErrorCheck):
88466        (WebCore::HTMLParser::rtCreateErrorCheck):
88467        (WebCore::HTMLParser::getNode):
88468        * html/HTMLParser.h:
88469        * html/HTMLTagNames.in:
88470
884712009-07-09  Dmitry Titov  <dimich@chromium.org>
88472
88473        Not reviewed, fix for previous commit.
88474
88475        The change http://trac.webkit.org/changeset/45695 did not correctly
88476        enabled GTL and QT build flags. This caused layout tests failure.
88477        This is speculative fix for those failures.
88478
88479        * GNUmakefile.am: added ENABLE_CHANNEL_MESSAGING flag.
88480        * WebCore.pro: ditto.
88481        * page/DOMWindow.idl: touched to cause recompile.
88482        * workers/WorkerContext.idl: ditto.
88483
884842009-07-09  Drew Wilson  <atwilson@google.com>
88485
88486        Reviewed by Alexey Proskuryakov.
88487
88488        https://bugs.webkit.org/show_bug.cgi?id=26903
88489
88490        Turned on CHANNEL_MESSAGING by default because the MessageChannel API
88491        is now implemented for Web Workers and is reasonably stable.
88492
88493        Tests: fast/events/message-channel-gc-2.html
88494               fast/events/message-channel-gc-3.html
88495               fast/events/message-channel-gc-4.html
88496               fast/events/message-channel-gc.html
88497               fast/events/message-channel-listener-circular-ownership.html
88498               fast/events/message-port-clone.html
88499               fast/events/message-port-constructor-for-deleted-document.html
88500               fast/events/message-port-deleted-document.html
88501               fast/events/message-port-deleted-frame.html
88502               fast/events/message-port-inactive-document.html
88503               fast/events/message-port-no-wrapper.html
88504               fast/events/message-port.html
88505               fast/workers/worker-cloneport.html
88506               fast/workers/worker-messageport-gc.html
88507               fast/workers/worker-messageport.html
88508
88509        * Configurations/FeatureDefines.xcconfig: Turned on ENABLE_CHANNEL_MESSAGING.
88510        * WebCore/WebCore.vcproj/WebCoreCommon.vsprops: ditto.
88511        * WebCore/WebCore.vcproj/build-generated-files.sh: ditto.
88512        * WebCore/page/DOMWindow.idl: touch the file to cause re-generation of headers.
88513        * WebCore/workers/WorkerContext.idl: ditto.
88514
88515
885162009-07-09  Pierre d'Herbemont  <pdherbemont@apple.com>
88517
88518        Reviewed by Simon Fraser.
88519
88520        Full page zoom breaks remaining and elapsed time display in the <video> controller.
88521        https://bugs.webkit.org/show_bug.cgi?id=27123
88522
88523        We are changing the size of the time remaining and time elapsed field, to
88524        automatically hide them, when the controller is too short.
88525
88526        Because we toggle the size between 0 and the previous value of the
88527        controller, we miss any width change that may occur during full page zoom,
88528        and we fail to restore a correct width.
88529
88530        This change fixes that problem by using a cloned style on which we
88531        set the width to 0, and restoring the previous style when going back to
88532        the normal width.
88533
88534        We take care about properly using the cloned style or the pseudo style,
88535        by overriding styleForElement().
88536
88537        * rendering/MediaControlElements.cpp:
88538        (WebCore::MediaControlElement::styleForElement):
88539        (WebCore::MediaControlElement::attach):
88540        (WebCore::MediaControlElement::updateStyle):
88541        (WebCore::MediaControlInputElement::styleForElement):
88542        (WebCore::MediaControlInputElement::attach):
88543        (WebCore::MediaControlInputElement::updateStyle):
88544        (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
88545        (WebCore::MediaControlTimeDisplayElement::styleForElement):
88546        (WebCore::MediaControlTimeDisplayElement::setVisible):
88547        * rendering/MediaControlElements.h:
88548        * rendering/RenderMedia.cpp:
88549        (WebCore::RenderMedia::shouldShowTimeDisplayControls): Make sure
88550        we take in account the zoom level when deciding if we should hide the 
88551        ellapsed and remaining time.
88552
885532009-07-09  Michael Nordman  <michaeln@google.com>
88554
88555        Reviewed by Darin Adler.
88556
88557        Fix chromium build bustage due to Widget being a RefCounted class.
88558        https://bugs.webkit.org/show_bug.cgi?id=27139
88559
88560        * platform/chromium/PopupMenuChromium.cpp:
88561        * platform/chromium/PopupMenuChromium.h:
88562
885632009-07-09  Chris Fleizach  <cfleizach@apple.com>
88564
88565        Reviewed by Darin Adler.
88566
88567        Bug 27130 - Need to implement ARIA role="toolbar"
88568        https://bugs.webkit.org/show_bug.cgi?id=27130
88569
88570        Test: platform/mac/accessibility/aria-toolbar.html
88571
88572        * accessibility/AccessibilityRenderObject.cpp:
88573        (WebCore::RoleEntry::):
88574        * accessibility/mac/AccessibilityObjectWrapper.mm:
88575        (-[AccessibilityObjectWrapper roleDescription]):
88576
885772009-07-09  Dimitri Glazkov  <dglazkov@chromium.org>
88578
88579        Reviewed by Darin Fisher.
88580
88581        [Chromium] Upstream WebCore.gypi, the project file for Chromium build.
88582        https://bugs.webkit.org/show_bug.cgi?id=27135
88583
88584        * WebCore.gypi: Added.
88585
885862009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>
88587
88588        A more robust fix for <rdar://problem/6930280> Reproducible crash at
88589        USA Today photo gallery
88590
88591        Reviewed by Steve Falkenburg.
88592
88593        * plugins/win/PluginMessageThrottlerWin.cpp:
88594        (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
88595        Protect the PluginView from destruction before calling its window proc.
88596
885972009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>
88598
88599        <rdar://problem/6978804> WER #16: Repro Access Violation in
88600        WebCore::PluginView::bindingInstance (1310178023)
88601
88602        Reviewed by Darin Adler.
88603
88604        * plugins/PluginView.cpp:
88605        (WebCore::PluginView::bindingInstance):
88606        Protect the PluginView from destruction before calling NPN_GetValue. If
88607        the renderer for the PluginView was destroyed during the call, and the
88608        PluginView's ref count is now 1, return null.
88609
886102009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>
88611
88612        Speculative fix for <rdar://problem/6991251> WER #13: Crash in
88613        WebKit!WebCore::PluginView::performRequest+203 (1311461169)
88614
88615        Reviewed by Darin Adler.
88616
88617        * plugins/PluginView.cpp:
88618        (WebCore::PluginView::performRequest):
88619        Protect the PluginView from destruction before performing a load.
88620        Removed some trailing whitespace.
88621
886222009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>
88623
88624        Build fix.
88625
88626        * inspector/JavaScriptDebugServer.cpp:
88627        (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
88628
886292009-07-09  Beth Dakin and Jon Honeycutt <bdakin@apple.com>
88630
88631        Reviewed by Dave Hyatt.
88632
88633        Make Widget RefCounted to fix or make fixable:
88634
88635        <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs 
88636        at WebCore::Widget::afterMouseDown() after clicking To Do's close 
88637        box
88638        <rdar://problem/6978804> WER #16: Repro Access Violation in 
88639        WebCore::PluginView::bindingInstance (1310178023)
88640        -and-
88641        <rdar://problem/6991251> WER #13: Crash in WebKit!
88642        WebCore::PluginView::performRequest+203 (1311461169) 
88643
88644        * loader/EmptyClients.h:
88645        (WebCore::EmptyFrameLoaderClient::createPlugin):
88646        Changed to return PassRefPtr
88647        (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
88648        Ditto.
88649
88650        * loader/FrameLoader.cpp:
88651        (WebCore::FrameLoader::loadSubframe):
88652        (WebCore::FrameLoader::loadPlugin):
88653        Make the widget variable a RefPtr. Use .get() when passing it to
88654        RenderPart::setWidget().
88655        (WebCore::FrameLoader::createJavaAppletWidget):
88656        Make the widget variable a RefPtr.
88657
88658        * loader/FrameLoader.h:
88659        Changed the return type of createJavaAppletWidget().
88660
88661        * loader/FrameLoaderClient.h:
88662        Change the return types of createPlugin() and 
88663        createJavaAppletWidget().
88664
88665        * page/Frame.cpp:
88666        (WebCore::Frame::createView):
88667        No need to call .get() since setWidget() takes a RefPtr.
88668
88669        * page/FrameView.cpp:
88670        (WebCore::FrameView::layoutIfNeededRecursive):
88671        children() now returns a HashSet of RefPtrs.
88672
88673        * page/FrameView.h:
88674        Remove inheritance from RefCounted; we pick this up from ScrollView
88675        through Widget.
88676
88677        * platform/ScrollView.cpp:
88678        (WebCore::ScrollView::addChild):
88679        addChild() now takes a PassRefPtr and m_children now keeps a 
88680        HashSet of RefPtrs.
88681
88682        * platform/ScrollView.h:
88683        ScrollView constructor is now protected.
88684        (WebCore::ScrollView::children):
88685        m_children is now a HashSet of RefPtrs.
88686
88687        * platform/Scrollbar.h:
88688        Remove inheritance from RefCounted; we pick this up from ScrollView
88689        through Widget.
88690
88691        * platform/Widget.h:
88692        Inherit from RefCounted. Cleaned up some whitespace. Make m_widget 
88693        a RefPtr.
88694
88695        * plugins/PluginView.cpp:
88696        (WebCore::PluginView::create):
88697        Adopt the PluginView when returning it.
88698
88699        * plugins/PluginView.h:
88700        Changed create() to return a PassRefPtr.
88701
88702        * rendering/RenderApplet.cpp:
88703        Receive result in a RefPtr when calling createJavaAppletWidget().
88704
88705        * rendering/RenderPart.cpp:
88706        (WebCore::RenderPart::setWidget): 
88707        setWidget() now takes a PassRefPtr. Also removed the manual ref of 
88708        FrameViews. This is handled by having m_widget be a RefPtr. Removed 
88709        deleteWidget().
88710
88711        * rendering/RenderPart.h:
88712        Removed override of deleteWidget().
88713
88714        * rendering/RenderWidget.cpp:
88715        (WebCore::RenderWidget::destroy):
88716        (WebCore::RenderWidget::setWidget):
88717        (WebCore::RenderWidget::paint):
88718        (WebCore::RenderWidget::setOverlapTestResult):
88719        (WebCore::RenderWidget::updateWidgetPosition):
88720        Use .get().
88721        (WebCore::RenderWidget::clearWidget):
88722        Don't call deleteWidget(). It was removed. 
88723
88724        * rendering/RenderWidget.h:
88725        Removed deleteWidget(). Made m_widget a RefPtr.
88726        (WebCore::RenderWidget::widget):
88727        Use .get().
88728
887292009-07-09  Chris Fleizach  <cfleizach@apple.com>
88730
88731        Reviewed by Darin Adler.
88732
88733        Bug 27129 - AX: possible assertion for a non-native image in accessibility
88734        https://bugs.webkit.org/show_bug.cgi?id=27129 
88735
88736        It's possible for an image that is not really an image to assert, because its renderer
88737        is turned into a RenderImage.
88738
88739        Test: accessibility/non-native-image-crash.html
88740
88741        * accessibility/AccessibilityRenderObject.cpp:
88742        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
88743        (WebCore::RoleEntry::):
88744        * accessibility/mac/AccessibilityObjectWrapper.mm:
88745        (-[AccessibilityObjectWrapper roleDescription]):
88746
887472009-07-09  Simon Fraser  <simon.fraser@apple.com>
88748
88749        Build fix for SnowLeopard.
88750        
88751        Avoid using the contentsTransform methods if not on Leopard, because
88752        we don't need to call them.
88753
88754        * platform/graphics/mac/GraphicsLayerCA.mm:
88755        (WebCore::GraphicsLayerCA::updateContentsTransform):
88756        * platform/graphics/mac/WebLayer.mm:
88757        (-[WebLayer setNeedsDisplayInRect:]):
88758        * platform/graphics/mac/WebTiledLayer.mm:
88759        (-[WebTiledLayer setNeedsDisplayInRect:]):
88760
887612009-07-09  Simon Fraser  <simon.fraser@apple.com>
88762
88763        Reviewed by Dave Hyatt
88764
88765        Improve the appearance of text in compositing layers when -[CALayer geometryFlipped]
88766        is not available.
88767        <rdar://problem/6120614>
88768
88769        * platform/graphics/GraphicsLayer.h:
88770        (WebCore::GraphicsLayer::setContentsOrientation):
88771        (WebCore::GraphicsLayer::contentsOrientation):
88772        * platform/graphics/GraphicsLayer.cpp:
88773        (WebCore::GraphicsLayer::GraphicsLayer):
88774        Add a m_contentsOrientation member and getter/setter to control whether
88775        the contents of this layer have a transform applied to them before display.
88776
88777        * platform/graphics/mac/GraphicsLayerCA.h:
88778        New method to return the default contents orientation.
88779
88780        * platform/graphics/mac/GraphicsLayerCA.mm:
88781        (WebCore::flipTransform):
88782        Convenience method to return a transform with a Y flip.
88783
88784        (WebCore::GraphicsLayerCA::GraphicsLayerCA):
88785        (WebCore::GraphicsLayerCA::setSize):
88786        After the size changes we have to update the contentsTransform.
88787
88788        (WebCore::GraphicsLayerCA::setGeometryOrientation):
88789        (WebCore::GraphicsLayerCA::geometryOrientation):
88790        If -setGeometryFlipped: is not available, use a children transform.
88791        
88792        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
88793        Tiled layers have issues with flipped contentsTransform, so just use
88794        top-down drawing for them. Call updateContentsTransform() to set the
88795        new contents transform after swapping layers.
88796        
88797        (WebCore::GraphicsLayerCA::defaultContentsOrientation):
88798        Use bottom-up when -geometryFlipped is not available, otherwise top-down.
88799        
88800        (WebCore::GraphicsLayerCA::updateContentsTransform):
88801        Set the layer contents transform based on contentsOrientation().
88802
88803        (WebCore::GraphicsLayerCA::setContentsLayer):
88804        We have to manually flip contents layers if we're not using -geometryFlipped.
88805        
88806        * platform/graphics/mac/WebLayer.h:
88807        * platform/graphics/mac/WebLayer.mm:
88808        Do early return if layerContents is nil. Flip the CTM if the layer has
88809        bottom-up coordinates, so that CG sees a CTM with no flip.
88810        Do the CGContextRestoreGState() after drawing the debug indicator.
88811        
88812        (-[WebLayer setNeedsDisplayInRect:]):
88813        * platform/graphics/mac/WebTiledLayer.mm:
88814        (-[WebTiledLayer setNeedsDisplayInRect:]):
88815        Need to map the dirty rect through the contentsTransform.
88816
888172009-07-09  Alexey Proskuryakov  <ap@webkit.org>
88818
88819        Reviewed by Geoff Garen.
88820
88821        <rdar://problem/6921671> Visit counter shouldn't be incremented by redirects.
88822
88823        Can't test this functionality with layout tests.
88824
88825        * WebCore.base.exp:
88826        * history/HistoryItem.cpp:
88827        (WebCore::HistoryItem::recordVisitAtTime):
88828        (WebCore::HistoryItem::visited):
88829        * history/HistoryItem.h:
88830        Only increase visit count if explicitly told to. Now, some visits change last access time,
88831        but do not increase visit count.
88832
888332009-07-09  Eric Carlson  <eric.carlson@apple.com>
88834
88835        Reviewed by Simon Fraser.
88836
88837        <rdar://problem/7046098> MediaControllerThemeQT requires QuickTime 7.6.3
88838
88839        Require QuickTime 7.6.3 or higher to enable the new media controller UI.
88840
88841        * rendering/RenderThemeMac.mm:
88842        (WebCore::mediaControllerTheme):
88843
888442009-07-09  Sam Weinig  <sam@webkit.org>
88845
88846        Reviewed by Beth Dakin.
88847
88848        Remove incorrect comment.
88849
88850        * page/MouseEventWithHitTestResults.h:
88851
888522009-07-09  Mads Ager  <ager@chromium.org>
88853
88854        Reviewed by Dimitri Glazkov.
88855
88856        Update the V8 bindings codegenerator to use the RGBColor::create
88857        method to handle refcounts for RGBColor objects correctly.
88858        
88859       * bindings/scripts/CodeGeneratorV8.pm: Use RGBColor::create to create RGBColor objects.
88860
888612009-07-09  Eric Carlson  <eric.carlson@apple.com>
88862
88863        Reviewed by Adele Peterson.
88864
88865        Crash in RenderMedia::styleDidChange.
88866        <rdar://problem/7044313> CrashTracer: quicklook crashed generating thumbnail for page with 
88867        media element (RenderMedia::styleDidChange 115)
88868
88869        Speculative fix for crash in styleDidChange. Null check controller elements before tell
88870        them to update style.
88871
88872        * rendering/RenderMedia.cpp:
88873        (WebCore::RenderMedia::styleDidChange):
88874
888752009-07-09  Adam Barth  <abarth@webkit.org>
88876
88877        Reviewed by Dimitri Glazkov.
88878
88879        [V8] Move V8DOMWrapper to its own file
88880        https://bugs.webkit.org/show_bug.cgi?id=27121
88881
88882        * bindings/v8/V8DOMWrapper.cpp: Added.
88883        (WebCore::GetToStringName):
88884        (WebCore::ConstructorToString):
88885        (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
88886        (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
88887        (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
88888        (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
88889        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
88890        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
88891        (WebCore::V8DOMWrapper::getTemplate):
88892        (WebCore::V8DOMWrapper::convertToV8Object):
88893        (WebCore::V8DOMWrapper::setHiddenWindowReference):
88894        (WebCore::V8DOMWrapper::domWrapperType):
88895        (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
88896        (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
88897        (WebCore::V8DOMWrapper::lookupDOMWrapper):
88898        (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
88899        (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
88900        (WebCore::V8DOMWrapper::instantiateV8Object):
88901        (WebCore::V8DOMWrapper::setDOMWrapper):
88902        (WebCore::V8DOMWrapper::maybeDOMWrapper):
88903        (WebCore::V8DOMWrapper::isDOMEventWrapper):
88904        (WebCore::V8DOMWrapper::isWrapperOfType):
88905        (WebCore::V8DOMWrapper::htmlElementType):
88906        (WebCore::V8DOMWrapper::svgElementType):
88907        (WebCore::V8DOMWrapper::convertEventToV8Object):
88908        (WebCore::):
88909        (WebCore::V8DOMWrapper::convertNodeToV8Object):
88910        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
88911        (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
88912        (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
88913        (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
88914        (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
88915        (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
88916        (WebCore::V8DOMWrapper::convertWindowToV8Object):
88917        * bindings/v8/V8DOMWrapper.h: Added.
88918        (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
88919        (WebCore::V8DOMWrapper::wrapCPointer):
88920        (WebCore::V8DOMWrapper::extractCPointer):
88921        (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
88922        (WebCore::V8DOMWrapper::convertToV8Object):
88923        (WebCore::V8DOMWrapper::convertToNativeObject):
88924        (WebCore::V8DOMWrapper::convertToNativeEvent):
88925        (WebCore::V8DOMWrapper::extractCPointerImpl):
88926        (WebCore::V8DOMWrapper::instantiateV8Object):
88927        * bindings/v8/V8Proxy.cpp:
88928        * bindings/v8/V8Proxy.h:
88929
889302009-07-09  David Hyatt  <hyatt@apple.com>
88931
88932        Reviewed by Adele Peterson.
88933
88934        Crash in setFocusedFrame.
88935        <rdar://7032869> Crashing in setFocusedFrame on blogger.com.
88936
88937        Speculative fix for crasher in setFocusedFrame.  Make sure to ref both frames and fire
88938        the events only after the local member has been updated.
88939
88940        * page/FocusController.cpp:
88941        (WebCore::FocusController::setFocusedFrame):
88942
889432009-07-09  Eric Carlson  <eric.carlson@apple.com>
88944
88945        Reviewed by Adele Peterson.
88946
88947        Possible crashes when mouse clicks not dispatched because range input destroyed while 
88948        thumb is being dragged (e.g. scrub to end of movie)
88949        <rdar://problem/7037494> 
88950        https://bugs.webkit.org/show_bug.cgi?id=27101
88951
88952        Some shadow nodes "capture" all mouse events from mouseDown to mouseUp so they continue to 
88953        get mouse events even when the mouse is moved outside of the node. This is done by putting
88954        EventHandler into a mode where it sends all mouse events to the node regardless of the
88955        actual mouse position. The mode is set on mouseDown and cleared on mouseUp but if the
88956        node is deleted while in this mode, the mouseUp is never sent and EventHandler continues
88957        to try to send events to the deleted node. This sometimes results in a crash, and sometimes
88958        in a page that doesn't respond to click events.
88959
88960        Tests: fast/forms/search-delete-while-cancel-button-clicked.html
88961               fast/forms/slider-delete-while-dragging-thumb.html
88962               media/audio-delete-while-slider-thumb-clicked.html
88963               media/audio-delete-while-step-button-clicked.html
88964
88965        * rendering/MediaControlElements.cpp:
88966        (WebCore::MediaControlSeekButtonElement::detach):
88967            New, call setCapturingMouseEventsNode if capturing mouse events.
88968        * rendering/MediaControlElements.h:
88969            Declare detach().
88970
88971        * rendering/RenderSlider.cpp:
88972        (WebCore::SliderThumbElement::detach):
88973            New, call setCapturingMouseEventsNode if capturing mouse events.
88974
88975        * rendering/TextControlInnerElements.cpp:
88976        (WebCore::SearchFieldCancelButtonElement::detach):
88977            New, call setCapturingMouseEventsNode if capturing mouse events.
88978        * rendering/TextControlInnerElements.h:
88979            Declare detach().
88980
889812009-07-09  Yury Semikhatsky  <yurys@chromium.org>
88982
88983        Reviewed by Dimitri Glazkov.
88984
88985        Enter the Frame's context before creating new objects in setContextDebugId.
88986
88987        https://bugs.webkit.org/show_bug.cgi?id=27112
88988
88989        * bindings/v8/V8Proxy.cpp:
88990        (WebCore::V8Proxy::setContextDebugId):
88991
889922009-07-09  Simon Hausmann  <hausmann@webkit.org>
88993
88994        Fix the Qt build.
88995
88996        * WebCore.pro: Add new storage impl files to the build.
88997
889982009-07-08  Adam Barth  <abarth@webkit.org>
88999
89000        Rubber stamped by Eric Seidel.
89001
89002        [V8] Move DOM wrapper functions in V8Proxy to V8DOMWrapper
89003        https://bugs.webkit.org/show_bug.cgi?id=27107
89004
89005        This patch is just renaming.  Code motion will occur next.
89006
89007        * bindings/scripts/CodeGeneratorV8.pm:
89008        * bindings/v8/ScriptController.cpp:
89009        (WebCore::ScriptController::processingUserGesture):
89010        (WebCore::createScriptObject):
89011        (WebCore::ScriptController::createScriptObjectForPluginElement):
89012        * bindings/v8/ScriptObject.cpp:
89013        (WebCore::ScriptGlobalObject::set):
89014        * bindings/v8/ScriptObjectQuarantine.cpp:
89015        (WebCore::getQuarantinedScriptObject):
89016        * bindings/v8/V8AbstractEventListener.cpp:
89017        (WebCore::V8AbstractEventListener::handleEvent):
89018        (WebCore::V8AbstractEventListener::getReceiverObject):
89019        * bindings/v8/V8Collection.cpp:
89020        (WebCore::toOptionsCollectionSetter):
89021        * bindings/v8/V8Collection.h:
89022        (WebCore::getV8Object):
89023        (WebCore::getNamedPropertyOfCollection):
89024        (WebCore::nodeCollectionNamedPropertyGetter):
89025        (WebCore::getIndexedPropertyOfCollection):
89026        (WebCore::nodeCollectionIndexedPropertyGetter):
89027        (WebCore::nodeCollectionIndexedPropertyEnumerator):
89028        (WebCore::collectionIndexedPropertyEnumerator):
89029        (WebCore::collectionStringOrNullIndexedPropertyGetter):
89030        * bindings/v8/V8DOMMap.cpp:
89031        (WebCore::DOMData::handleWeakObject):
89032        (WebCore::DOMData::removeObjectsFromWrapperMap):
89033        * bindings/v8/V8GCController.cpp:
89034        (WebCore::enumerateDOMObjectMap):
89035        (WebCore::DOMObjectVisitor::visitDOMWrapper):
89036        (WebCore::GCPrologueVisitor::visitDOMWrapper):
89037        (WebCore::GCEpilogueVisitor::visitDOMWrapper):
89038        * bindings/v8/V8Helpers.cpp:
89039        (WebCore::wrapNPObject):
89040        * bindings/v8/V8NodeFilterCondition.cpp:
89041        (WebCore::V8NodeFilterCondition::acceptNode):
89042        * bindings/v8/V8Proxy.cpp:
89043        (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
89044        (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
89045        (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
89046        (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
89047        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
89048        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
89049        (WebCore::V8Proxy::evaluateInNewContext):
89050        (WebCore::V8Proxy::getConstructor):
89051        (WebCore::V8DOMWrapper::getTemplate):
89052        (WebCore::V8Proxy::retrieveWindow):
89053        (WebCore::V8Proxy::updateDocumentWrapperCache):
89054        (WebCore::V8Proxy::clearForNavigation):
89055        (WebCore::V8Proxy::installDOMWindow):
89056        (WebCore::setDOMExceptionHelper):
89057        (WebCore::V8DOMWrapper::convertToV8Object):
89058        (WebCore::V8DOMWrapper::setHiddenWindowReference):
89059        (WebCore::V8DOMWrapper::domWrapperType):
89060        (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
89061        (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
89062        (WebCore::V8DOMWrapper::lookupDOMWrapper):
89063        (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
89064        (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
89065        (WebCore::V8DOMWrapper::instantiateV8Object):
89066        (WebCore::V8DOMWrapper::setDOMWrapper):
89067        (WebCore::V8DOMWrapper::maybeDOMWrapper):
89068        (WebCore::V8DOMWrapper::isDOMEventWrapper):
89069        (WebCore::V8DOMWrapper::isWrapperOfType):
89070        (WebCore::V8DOMWrapper::htmlElementType):
89071        (WebCore::V8DOMWrapper::svgElementType):
89072        (WebCore::V8DOMWrapper::convertEventToV8Object):
89073        (WebCore::V8DOMWrapper::convertNodeToV8Object):
89074        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
89075        (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
89076        (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
89077        (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
89078        (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
89079        (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
89080        (WebCore::V8DOMWrapper::convertWindowToV8Object):
89081        (WebCore::V8Proxy::bindJsObjectToWindow):
89082        * bindings/v8/V8Proxy.h:
89083        (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
89084        (WebCore::V8DOMWrapper::wrapCPointer):
89085        (WebCore::V8DOMWrapper::extractCPointer):
89086        (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
89087        (WebCore::V8DOMWrapper::convertToV8Object):
89088        (WebCore::V8DOMWrapper::convertToNativeObject):
89089        (WebCore::V8DOMWrapper::convertToNativeEvent):
89090        (WebCore::V8DOMWrapper::extractCPointerImpl):
89091        (WebCore::V8DOMWrapper::instantiateV8Object):
89092        (WebCore::V8Proxy::constructDOMObject):
89093        (WebCore::toV8):
89094        * bindings/v8/V8SVGPODTypeWrapper.h:
89095        (WebCore::V8SVGPODTypeUtil::toSVGPODType):
89096        * bindings/v8/WorkerContextExecutionProxy.cpp:
89097        (WebCore::WorkerContextExecutionProxy::retrieve):
89098        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
89099        (WebCore::WorkerContextExecutionProxy::GetConstructor):
89100        (WebCore::WorkerContextExecutionProxy::ToV8Object):
89101        (WebCore::WorkerContextExecutionProxy::EventToV8Object):
89102        (WebCore::WorkerContextExecutionProxy::toV8):
89103        * bindings/v8/custom/V8AttrCustom.cpp:
89104        (WebCore::ACCESSOR_SETTER):
89105        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
89106        (WebCore::NAMED_PROPERTY_GETTER):
89107        (WebCore::NAMED_PROPERTY_SETTER):
89108        * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
89109        (WebCore::INDEXED_PROPERTY_GETTER):
89110        (WebCore::INDEXED_PROPERTY_SETTER):
89111        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
89112        (WebCore::toV8):
89113        (WebCore::toCanvasStyle):
89114        (WebCore::ACCESSOR_GETTER):
89115        (WebCore::ACCESSOR_SETTER):
89116        (WebCore::CALLBACK_FUNC_DECL):
89117        * bindings/v8/custom/V8ClientRectListCustom.cpp:
89118        (WebCore::INDEXED_PROPERTY_GETTER):
89119        * bindings/v8/custom/V8ClipboardCustom.cpp:
89120        (WebCore::ACCESSOR_GETTER):
89121        (WebCore::CALLBACK_FUNC_DECL):
89122        * bindings/v8/custom/V8CustomBinding.cpp:
89123        (WebCore::ACCESSOR_GETTER):
89124        (WebCore::INDEXED_ACCESS_CHECK):
89125        (WebCore::NAMED_ACCESS_CHECK):
89126        (WebCore::V8Custom::GetTargetFrame):
89127        * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
89128        (WebCore::V8CustomSQLStatementCallback::handleEvent):
89129        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
89130        (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
89131        * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
89132        (WebCore::V8CustomSQLTransactionCallback::handleEvent):
89133        * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
89134        (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
89135        * bindings/v8/custom/V8DOMWindowCustom.cpp:
89136        (WebCore::V8Custom::WindowSetTimeoutImpl):
89137        (WebCore::ACCESSOR_SETTER):
89138        (WebCore::CALLBACK_FUNC_DECL):
89139        (WebCore::ACCESSOR_GETTER):
89140        (WebCore::INDEXED_PROPERTY_GETTER):
89141        (WebCore::NAMED_PROPERTY_GETTER):
89142        (WebCore::V8Custom::ClearTimeoutImpl):
89143        (WebCore::NAMED_ACCESS_CHECK):
89144        (WebCore::INDEXED_ACCESS_CHECK):
89145        * bindings/v8/custom/V8DatabaseCustom.cpp:
89146        (WebCore::CALLBACK_FUNC_DECL):
89147        * bindings/v8/custom/V8DocumentCustom.cpp:
89148        (WebCore::CALLBACK_FUNC_DECL):
89149        * bindings/v8/custom/V8DocumentLocationCustom.cpp:
89150        (WebCore::ACCESSOR_GETTER):
89151        (WebCore::ACCESSOR_SETTER):
89152        * bindings/v8/custom/V8ElementCustom.cpp:
89153        (WebCore::CALLBACK_FUNC_DECL):
89154        (WebCore::ACCESSOR_SETTER):
89155        (WebCore::ACCESSOR_GETTER):
89156        * bindings/v8/custom/V8EventCustom.cpp:
89157        (WebCore::ACCESSOR_SETTER):
89158        (WebCore::ACCESSOR_GETTER):
89159        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
89160        (WebCore::CALLBACK_FUNC_DECL):
89161        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
89162        (WebCore::CALLBACK_FUNC_DECL):
89163        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
89164        (WebCore::getNamedItems):
89165        (WebCore::getItem):
89166        (WebCore::NAMED_PROPERTY_GETTER):
89167        (WebCore::CALLBACK_FUNC_DECL):
89168        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
89169        (WebCore::NAMED_PROPERTY_GETTER):
89170        (WebCore::CALLBACK_FUNC_DECL):
89171        (WebCore::ACCESSOR_GETTER):
89172        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
89173        (WebCore::INDEXED_PROPERTY_GETTER):
89174        (WebCore::NAMED_PROPERTY_GETTER):
89175        (WebCore::CALLBACK_FUNC_DECL):
89176        * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
89177        (WebCore::ACCESSOR_SETTER):
89178        * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
89179        (WebCore::NAMED_PROPERTY_GETTER):
89180        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
89181        (WebCore::ACCESSOR_SETTER):
89182        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
89183        (WebCore::CALLBACK_FUNC_DECL):
89184        * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
89185        (WebCore::ACCESSOR_GETTER):
89186        (WebCore::ACCESSOR_SETTER):
89187        (WebCore::CALLBACK_FUNC_DECL):
89188        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
89189        (WebCore::CALLBACK_FUNC_DECL):
89190        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
89191        (WebCore::CALLBACK_FUNC_DECL):
89192        (WebCore::ACCESSOR_GETTER):
89193        (WebCore::ACCESSOR_SETTER):
89194        (WebCore::INDEXED_PROPERTY_GETTER):
89195        (WebCore::INDEXED_PROPERTY_SETTER):
89196        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
89197        (WebCore::NAMED_PROPERTY_GETTER):
89198        (WebCore::NAMED_PROPERTY_SETTER):
89199        (WebCore::INDEXED_PROPERTY_GETTER):
89200        (WebCore::INDEXED_PROPERTY_SETTER):
89201        * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
89202        (WebCore::NAMED_PROPERTY_GETTER):
89203        (WebCore::INDEXED_PROPERTY_SETTER):
89204        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
89205        (WebCore::CALLBACK_FUNC_DECL):
89206        (WebCore::removeElement):
89207        * bindings/v8/custom/V8InspectorControllerCustom.cpp:
89208        (WebCore::CALLBACK_FUNC_DECL):
89209        * bindings/v8/custom/V8LocationCustom.cpp:
89210        (WebCore::ACCESSOR_SETTER):
89211        (WebCore::ACCESSOR_GETTER):
89212        (WebCore::CALLBACK_FUNC_DECL):
89213        (WebCore::INDEXED_ACCESS_CHECK):
89214        (WebCore::NAMED_ACCESS_CHECK):
89215        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
89216        (WebCore::CALLBACK_FUNC_DECL):
89217        * bindings/v8/custom/V8MessagePortCustom.cpp:
89218        (WebCore::ACCESSOR_GETTER):
89219        (WebCore::ACCESSOR_SETTER):
89220        (WebCore::CALLBACK_FUNC_DECL):
89221        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
89222        (WebCore::INDEXED_PROPERTY_GETTER):
89223        (WebCore::NAMED_PROPERTY_GETTER):
89224        * bindings/v8/custom/V8NavigatorCustom.cpp:
89225        (WebCore::ACCESSOR_GETTER):
89226        * bindings/v8/custom/V8NodeCustom.cpp:
89227        (WebCore::CALLBACK_FUNC_DECL):
89228        * bindings/v8/custom/V8NodeIteratorCustom.cpp:
89229        (WebCore::toV8):
89230        (WebCore::CALLBACK_FUNC_DECL):
89231        * bindings/v8/custom/V8NodeListCustom.cpp:
89232        (WebCore::NAMED_PROPERTY_GETTER):
89233        * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
89234        (WebCore::CALLBACK_FUNC_DECL):
89235        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
89236        (WebCore::CALLBACK_FUNC_DECL):
89237        * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
89238        (WebCore::CALLBACK_FUNC_DECL):
89239        * bindings/v8/custom/V8SVGLengthCustom.cpp:
89240        (WebCore::ACCESSOR_GETTER):
89241        (WebCore::CALLBACK_FUNC_DECL):
89242        * bindings/v8/custom/V8SVGMatrixCustom.cpp:
89243        (WebCore::CALLBACK_FUNC_DECL):
89244        * bindings/v8/custom/V8StorageCustom.cpp:
89245        (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
89246        (WebCore::storageGetter):
89247        (WebCore::storageSetter):
89248        (WebCore::storageDeleter):
89249        * bindings/v8/custom/V8StyleSheetListCustom.cpp:
89250        (WebCore::NAMED_PROPERTY_GETTER):
89251        * bindings/v8/custom/V8TreeWalkerCustom.cpp:
89252        (WebCore::toV8):
89253        (WebCore::CALLBACK_FUNC_DECL):
89254        * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
89255        (WebCore::CALLBACK_FUNC_DECL):
89256        * bindings/v8/custom/V8WorkerContextCustom.cpp:
89257        (WebCore::ACCESSOR_GETTER):
89258        (WebCore::ACCESSOR_SETTER):
89259        (WebCore::SetTimeoutOrInterval):
89260        (WebCore::CALLBACK_FUNC_DECL):
89261        * bindings/v8/custom/V8WorkerCustom.cpp:
89262        (WebCore::CALLBACK_FUNC_DECL):
89263        (WebCore::ACCESSOR_GETTER):
89264        (WebCore::ACCESSOR_SETTER):
89265        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
89266        (WebCore::CALLBACK_FUNC_DECL):
89267        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
89268        (WebCore::ACCESSOR_GETTER):
89269        (WebCore::ACCESSOR_SETTER):
89270        (WebCore::CALLBACK_FUNC_DECL):
89271        * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
89272        (WebCore::ACCESSOR_GETTER):
89273        (WebCore::ACCESSOR_SETTER):
89274        (WebCore::CALLBACK_FUNC_DECL):
89275        * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
89276        (WebCore::CALLBACK_FUNC_DECL):
89277
892782009-07-08  Pierre d'Herbemont  <pdherbemont@apple.com>
89279
89280        Reviewed by Simon Fraser.
89281
89282        Make sure we can click outside the slider thumb and start dragging.
89283        https://bugs.webkit.org/show_bug.cgi?id=26229
89284
89285        Previously we were assuming that if the thumb hasn't been clicked, we
89286        wouldn't issue any value change upon dragging.
89287
89288        We need to handle the two different cases:
89289        - Clicked in the thumb, we need to make sure the cursor is always pointing
89290        the same slider thumb point.
89291        - Clicked outside, the cursor should always be pointing to the center of
89292        the thumb.
89293
89294        For simplicity, we don't remember the original point of the mouse down,
89295        but a vector between that point and the thumb.
89296
89297        * rendering/RenderSlider.cpp:
89298        (WebCore::SliderThumbElement::SliderThumbElement):
89299        (WebCore::SliderThumbElement::defaultEventHandler):
89300        (WebCore::RenderSlider::mouseEventVectorToThumb): Utility function.
89301        * rendering/RenderSlider.h:
89302
893032009-07-08  Pierre d'Herbemont  <pdherbemont@apple.com>
89304
89305        Reviewed by Simon Fraser.
89306
89307        https://bugs.webkit.org/show_bug.cgi?id=27100
89308        <rdar://problem/7042621>
89309
89310        Don't display "loading" in the <video> controller when
89311        there is no src specified.
89312
89313        * rendering/MediaControlElements.cpp:
89314        (WebCore::MediaControlStatusDisplayElement::update): The only
89315        way to find out if we have an element is currentSrc(). networkState()
89316        will always report LOADING according to the spec.
89317
893182009-07-08  Adam Barth  <abarth@webkit.org>
89319
89320        Reviewed by Eric Seidel.
89321
89322        [V8] Move V8GCController functions to their own file
89323        https://bugs.webkit.org/show_bug.cgi?id=27102
89324
89325        * bindings/v8/V8GCController.cpp: Added.
89326        * bindings/v8/V8GCController.h: Added.
89327        * bindings/v8/V8Proxy.cpp:
89328        * bindings/v8/V8Proxy.h:
89329
893302009-07-08  Jeremy Orlow  <jorlow@chromium.org>
89331
89332        Reviewed by Darin Fisher.
89333
89334        Split StorageArea and StorageNamespace into an interface and implementation.
89335        https://bugs.webkit.org/show_bug.cgi?id=27072
89336
89337        I need to split StorageNamespace and StorageArea into an interface and
89338        implementation.  In a later patch, I'll implement a proxy interface
89339        that'll run inside the Chromium renderer process.
89340
89341        Additionally, fix the alphabetical ordering of files I recently added
89342        in the project files.
89343
89344        This is a continuation of other refactoring work:
89345        https://bugs.webkit.org/show_bug.cgi?id=25376
89346
89347        * GNUmakefile.am:
89348        * WebCore.vcproj/WebCore.vcproj:
89349        * WebCore.xcodeproj/project.pbxproj:
89350        * WebCoreSources.bkl:
89351        * storage/StorageArea.cpp:
89352        (WebCore::StorageArea::create):
89353        * storage/StorageArea.h:
89354        (WebCore::StorageArea::~StorageArea):
89355        * storage/StorageAreaImpl.cpp: Copied from WebCore/storage/StorageArea.cpp.
89356        (WebCore::StorageAreaImpl::create):
89357        (WebCore::StorageAreaImpl::~StorageAreaImpl):
89358        (WebCore::StorageAreaImpl::StorageAreaImpl):
89359        (WebCore::StorageAreaImpl::copy):
89360        (WebCore::StorageAreaImpl::length):
89361        (WebCore::StorageAreaImpl::key):
89362        (WebCore::StorageAreaImpl::getItem):
89363        (WebCore::StorageAreaImpl::setItem):
89364        (WebCore::StorageAreaImpl::removeItem):
89365        (WebCore::StorageAreaImpl::clear):
89366        (WebCore::StorageAreaImpl::contains):
89367        (WebCore::StorageAreaImpl::importItem):
89368        (WebCore::StorageAreaImpl::securityOrigin):
89369        (WebCore::StorageAreaImpl::close):
89370        (WebCore::StorageAreaImpl::blockUntilImportComplete):
89371        (WebCore::StorageAreaImpl::dispatchStorageEvent):
89372        * storage/StorageAreaImpl.h: Copied from WebCore/storage/StorageArea.h.
89373        * storage/StorageAreaSync.h:
89374        * storage/StorageNamespace.cpp:
89375        (WebCore::StorageNamespace::localStorageNamespace):
89376        (WebCore::StorageNamespace::sessionStorageNamespace):
89377        * storage/StorageNamespace.h:
89378        (WebCore::StorageNamespace::~StorageNamespace):
89379        * storage/StorageNamespaceImpl.cpp: Copied from WebCore/storage/StorageNamespace.cpp.
89380        (WebCore::StorageNamespaceImpl::localStorageNamespace):
89381        (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
89382        (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
89383        (WebCore::StorageNamespaceImpl::~StorageNamespaceImpl):
89384        (WebCore::StorageNamespaceImpl::copy):
89385        (WebCore::StorageNamespaceImpl::storageArea):
89386        (WebCore::StorageNamespaceImpl::close):
89387        * storage/StorageNamespaceImpl.h: Copied from WebCore/storage/StorageNamespace.h.
89388
893892009-07-08  Adam Barth  <abarth@webkit.org>
89390
89391        Reviewed by Eric Seidel.
89392
89393        [V8] Move garbage collector related functions from V8Proxy to V8GCController
89394        https://bugs.webkit.org/show_bug.cgi?id=26967
89395
89396        This patch just moves the functions around in V8Proxy.  We'll actually
89397        move them to a separate file in another patch.
89398
89399        * bindings/v8/NPV8Object.cpp:
89400        (freeV8NPObject):
89401        * bindings/v8/ScheduledAction.cpp:
89402        (WebCore::ScheduledAction::ScheduledAction):
89403        (WebCore::ScheduledAction::~ScheduledAction):
89404        * bindings/v8/ScriptController.cpp:
89405        (WebCore::ScriptController::gcProtectJSWrapper):
89406        (WebCore::ScriptController::gcUnprotectJSWrapper):
89407        * bindings/v8/ScriptInstance.cpp:
89408        (WebCore::V8ScriptInstance::clear):
89409        (WebCore::V8ScriptInstance::set):
89410        * bindings/v8/ScriptValue.h:
89411        (WebCore::ScriptValue::ScriptValue):
89412        (WebCore::ScriptValue::operator=):
89413        (WebCore::ScriptValue::clear):
89414        * bindings/v8/V8AbstractEventListener.cpp:
89415        (WebCore::V8AbstractEventListener::disposeListenerObject):
89416        * bindings/v8/V8LazyEventListener.cpp:
89417        (WebCore::V8LazyEventListener::~V8LazyEventListener):
89418        (WebCore::V8LazyEventListener::getListenerFunction):
89419        (WebCore::V8LazyEventListener::getWrappedListenerFunction):
89420        * bindings/v8/V8NodeFilterCondition.cpp:
89421        (WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
89422        (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition):
89423        * bindings/v8/V8Proxy.cpp:
89424        (WebCore::V8GCController::registerGlobalHandle):
89425        (WebCore::V8GCController::unregisterGlobalHandle):
89426        (WebCore::V8GCController::gcProtect):
89427        (WebCore::V8GCController::gcUnprotect):
89428        (WebCore::V8Proxy::destroyGlobal):
89429        (WebCore::V8Proxy::updateDocumentWrapper):
89430        (WebCore::V8Proxy::clearDocumentWrapper):
89431        (WebCore::V8Proxy::disposeContextHandles):
89432        (WebCore::V8Proxy::initContextIfNeeded):
89433        * bindings/v8/V8Proxy.h:
89434        (WebCore::):
89435        (WebCore::GlobalHandleInfo::GlobalHandleInfo):
89436        * bindings/v8/custom/V8CustomEventListener.cpp:
89437        (WebCore::V8EventListener::V8EventListener):
89438
894392009-07-08  Daniel Bates  <dbates@intudata.com>
89440
89441        Reviewed by Adam Barth.
89442        
89443        https://bugs.webkit.org/show_bug.cgi?id=26918
89444        
89445        Prevents injection of HTML Base tag.
89446
89447        Tests: http/tests/security/xssAuditor/base-href-control-char.html
89448               http/tests/security/xssAuditor/base-href-null-char.html
89449               http/tests/security/xssAuditor/base-href-safe.html
89450               http/tests/security/xssAuditor/base-href-safe2.html
89451               http/tests/security/xssAuditor/base-href-scheme-relative.html
89452               http/tests/security/xssAuditor/base-href.html
89453
89454        * html/HTMLBaseElement.cpp:
89455        (WebCore::HTMLBaseElement::parseMappedAttribute):
89456        (WebCore::HTMLBaseElement::process): Modified to call XSSAuditor::canSetBaseElementURL
89457        to determine if it is safe to use base element URL.
89458        * html/HTMLBaseElement.h: Added field m_hrefAttrValue to store unparsed base element URL.
89459        * page/XSSAuditor.cpp:
89460        (WebCore::XSSAuditor::canSetBaseElementURL):
89461        * page/XSSAuditor.h:
89462
894632009-07-08  Nate Chapin  <japhet@chromium.org>
89464
89465        Reviewed by Dimitri Glazkov.
89466
89467        Upstream V8 npruntime bindings.
89468
89469        https://bugs.webkit.org/show_bug.cgi?id=27094
89470
89471        * bindings/v8/npruntime.cpp: Upstreamed from src.chromium.org.
89472        (StringKey::operator==):
89473        (StringKey::StringKeyHash::hash):
89474        (StringKey::StringKeyHash::equal):
89475        (StringKeyHashTraits::constructDeletedValue):
89476        (StringKeyHashTraits::isDeletedValue):
89477        (getStringIdentifierMap):
89478        (getIntIdentifierMap):
89479        * bindings/v8/npruntime_impl.h: Upstreamed from src.chromium.org.
89480        * bindings/v8/npruntime_internal.h: Upstreamed from src.chromium.org.
89481        * bindings/v8/npruntime_priv.h: Upstreamed from src.chromium.org.
89482
894832009-07-08  Dumitru Daniliuc  <dumi@chromium.org>
89484
89485        Reviewed by Darin Fisher.
89486
89487        Extending the PlatformFileHandle definition from PLATFORM(WIN) to
89488        PLATFORM(WIN_OS)
89489
89490        https://bugs.webkit.org/show_bug.cgi?id=27013
89491
89492        * platform/FileSystem.h:
89493
894942009-07-08  Daniel Bates  <dbates@intudata.com>
89495
89496        Reviewed by Adam Barth.
89497        
89498        https://bugs.webkit.org/show_bug.cgi?id=27071
89499        
89500        Resolves issue when HTTP parameters contain null- and  non-null-control- characters.
89501
89502        Tests: http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html
89503               http/tests/security/xssAuditor/embed-tag-control-char.html
89504               http/tests/security/xssAuditor/embed-tag-null-char.html
89505               http/tests/security/xssAuditor/embed-tag.html
89506               http/tests/security/xssAuditor/link-onclick-control-char.html
89507               http/tests/security/xssAuditor/link-onclick-null-char.html
89508               http/tests/security/xssAuditor/object-embed-tag-control-char.html
89509               http/tests/security/xssAuditor/object-embed-tag-null-char.html
89510               http/tests/security/xssAuditor/object-embed-tag.html
89511               http/tests/security/xssAuditor/object-tag.html
89512               http/tests/security/xssAuditor/script-tag-post-control-char.html
89513               http/tests/security/xssAuditor/script-tag-post-null-char.html
89514               http/tests/security/xssAuditor/script-tag-with-source-control-char.html
89515               http/tests/security/xssAuditor/script-tag-with-source-null-char.html
89516
89517        * page/XSSAuditor.cpp:
89518        (WebCore::isNonNullControlCharacter): Called by XSSAuditor::decodeURL.
89519        (WebCore::XSSAuditor::canEvaluate):
89520        (WebCore::XSSAuditor::canCreateInlineEventListener):
89521        (WebCore::XSSAuditor::canLoadObject):
89522        (WebCore::XSSAuditor::decodeURL): Added parameters matchNullCharacters,
89523        and matchNonNullControlCharacters.
89524        (WebCore::XSSAuditor::findInRequest): Added parameters matchNullCharacters,
89525        and matchNonNullControlCharacters.
89526        * page/XSSAuditor.h:
89527
895282009-07-08  Marc-Antoine Ruel  <maruel@chromium.org>
89529
89530        Reviewed by Dimitri Glazkov.
89531
89532        Add DerivesSourcesAllInOne.cpp to help with release windows compilation.
89533        https://bugs.webkit.org/show_bug.cgi?id=27093
89534
89535        This is specific for v8, no change in behavior.
89536
89537        * bindings/v8/DerivedSourcesAllInOne.cpp: Added.
89538
895392009-07-08  Pierre d'Herbemont  <pdherbemont@apple.com>
89540
89541        Reviewed by Simon Fraser.
89542
89543        https://bugs.webkit.org/show_bug.cgi?id=27086
89544
89545        Make sure the Media controller doesn't fade in for no reason.
89546        This is happening because a update() call to the controller
89547        panel may reset the opacity to 1.0, given that it reloads the
89548        style.
89549
89550        We also add a different fade in and fade out time to soften
89551        the fade out effect.
89552
89553        No test case because this depends on how the movie is loaded.
89554
89555        * rendering/RenderMedia.cpp:
89556        (WebCore::RenderMedia::RenderMedia):
89557        (WebCore::RenderMedia::updateControls):
89558        (WebCore::RenderMedia::updateControlVisibility): Simplify
89559        , and make sure we stop the timer if there is no animation
89560        to do.
89561        (WebCore::RenderMedia::opacityAnimationTimerFired): 
89562        * rendering/RenderMedia.h:
89563
895642009-07-08  David Kilzer  <ddkilzer@apple.com>
89565
89566        Bug 27081: Wrap RunLoopTimerCF.cpp in PLATFORM(MAC) && HAVE(RUNLOOP_TIMER)
89567
89568        <https://bugs.webkit.org/show_bug.cgi?id=27081>
89569
89570        Reviewed by Timothy Hatcher.
89571
89572        * platform/cf/RunLoopTimerCF.cpp: This code is only used on
89573        Mac OS X when HAVE(RUNLOOP_TIMER) is enabled, so wrap the code
89574        in that macro as well.
89575
895762009-07-08  Greg Bolsinga  <bolsinga@apple.com>
89577
89578        Reviewed by Darin Adler.
89579
89580        Add -[WebView _isProcessingUserGesture]
89581        https://bugs.webkit.org/show_bug.cgi?id=27084
89582
89583        Rename FrameLoader::userGestureHint() to FrameLoader::isProcessingUserGesture()
89584        for clarity.
89585
89586        * WebCore.base.exp: Add WebCore::FrameLoader::isProcessingUserGesture()
89587        * html/HTMLMediaElement.cpp:
89588        (WebCore::HTMLMediaElement::processingUserGesture):
89589        * loader/FrameLoader.cpp: 
89590        (WebCore::FrameLoader::requestFrame):
89591        (WebCore::FrameLoader::isProcessingUserGesture):
89592        * loader/FrameLoader.h:
89593
895942009-07-08  Alexey Proskuryakov  <ap@webkit.org>
89595
89596        Reviewed (an earlier version) by Geoff Garen.
89597
89598        https://bugs.webkit.org/show_bug.cgi?id=27090
89599        Remove lockBackForwardList argument from HTMLFormElement::submit()
89600
89601        No change in behavior, so no tests.
89602
89603        * bindings/js/JSHTMLFormElementCustom.cpp:
89604        (WebCore::JSHTMLFormElement::submit):
89605        * html/HTMLFormElement.cpp:
89606        (WebCore::HTMLFormElement::submit):
89607        * html/HTMLFormElement.h:
89608        * loader/FrameLoader.cpp:
89609        (WebCore::FrameLoader::submitForm):
89610        (WebCore::FrameLoader::scheduleFormSubmission):
89611        * loader/FrameLoader.h:
89612        Don't pass lockBackForwardList around when it's known to be false.
89613
896142009-07-08  Marc-Antoine Ruel  <maruel@chromium.org>
89615
89616        Reviewed by Adam Barth.
89617
89618        Fix V8 idl codegen to use unique constant names
89619        <https://bugs.webkit.org/show_bug.cgi?id=27089>
89620
89621        Embed the interface name in the global constant names so coagulating all
89622        the .cc files into one compile unit works with V8 bindings.
89623
89624        Nothing added; Still compiles and pass tests.
89625
89626        * bindings/scripts/CodeGeneratorV8.pm:
89627
896282009-07-08  Brent Fulgham  <bfulgham@webkit.org>
89629
89630        Build fix: Add missing #includes for Windows (cURL) build.
89631        The <winsock2.h> and <windows.h> headers were not being
89632        included in Windows cURL builds.
89633
89634        * platform/network/ResourceHandleInternal.h:
89635        * platform/network/curl/ResourceHandleManager.h:
89636
896372009-07-08  Shinichiro Hamaji  <hamaji@chromium.org>
89638
89639        Reviewed by David Kilzer.
89640
89641        WebKit needs a style linting tool
89642        https://bugs.webkit.org/show_bug.cgi?id=25884
89643
89644        Fix bunch of style issues in WebCore/rendering.
89645        This patch is created to demonstrate cpplint.py.
89646
89647        No testcase because it's just a style fixes.
89648
89649        * rendering/AutoTableLayout.cpp:
89650        (WebCore::AutoTableLayout::recalcColumn):
89651        (WebCore::AutoTableLayout::layout):
89652        * rendering/InlineFlowBox.cpp:
89653        (WebCore::InlineFlowBox::placeEllipsisBox):
89654        * rendering/InlineTextBox.cpp:
89655        (WebCore::InlineTextBox::paintTextMatchMarker):
89656        * rendering/MediaControlElements.cpp:
89657        (WebCore::MediaControlTimelineElement::defaultEventHandler):
89658        * rendering/MediaControlElements.h:
89659        * rendering/RenderArena.cpp:
89660        * rendering/RenderBlock.cpp:
89661        (WebCore::RenderBlock::startDelayUpdateScrollInfo):
89662        (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
89663        (WebCore::RenderBlock::updateScrollInfoAfterLayout):
89664        (WebCore::RenderBlock::positionNewFloats):
89665        (WebCore::RenderBlock::newLine):
89666        (WebCore::RenderBlock::floatBottom):
89667        (WebCore::RenderBlock::leftBottom):
89668        (WebCore::RenderBlock::rightBottom):
89669        * rendering/RenderBox.cpp:
89670        (WebCore::RenderBox::calcReplacedWidthUsing):
89671        * rendering/RenderFieldset.cpp:
89672        (WebCore::RenderFieldset::layoutLegend):
89673        * rendering/RenderFlexibleBox.cpp:
89674        (WebCore::FlexBoxIterator::FlexBoxIterator):
89675        (WebCore::FlexBoxIterator::reset):
89676        (WebCore::FlexBoxIterator::first):
89677        (WebCore::FlexBoxIterator::next):
89678        (WebCore::RenderFlexibleBox::layoutVerticalBox):
89679        * rendering/RenderFrameSet.cpp:
89680        (WebCore::borderStartEdgeColor):
89681        * rendering/RenderFrameSet.h:
89682        * rendering/RenderImage.cpp:
89683        * rendering/RenderLayer.cpp:
89684        (WebCore::RenderLayer::updateVisibilityStatus):
89685        (WebCore::RenderLayer::calculateClipRects):
89686        (WebCore::RenderLayer::calculateRects):
89687        * rendering/RenderListBox.cpp:
89688        (WebCore::RenderListBox::panScroll):
89689        * rendering/RenderMarquee.cpp:
89690        (WebCore::RenderMarquee::updateMarqueeStyle):
89691        * rendering/RenderMedia.cpp:
89692        (WebCore::RenderMedia::updateControls):
89693        * rendering/RenderObject.cpp:
89694        (WebCore::RenderObject::drawLineForBoxSide):
89695        (WebCore::RenderObject::localCaretRect):
89696        * rendering/RenderSVGImage.cpp:
89697        (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
89698        * rendering/RenderSlider.h:
89699        * rendering/RenderTable.cpp:
89700        (WebCore::RenderTable::outerBorderBottom):
89701        * rendering/RenderTableCol.h:
89702        * rendering/RenderTextControlSingleLine.cpp:
89703        (WebCore::RenderTextControlSingleLine::itemIsSeparator):
89704        * rendering/RenderThemeChromiumSkia.cpp:
89705        (WebCore::RenderThemeChromiumSkia::supportsHover):
89706        * rendering/RenderThemeChromiumWin.cpp:
89707        (WebCore::RenderThemeChromiumWin::supportsFocusRing):
89708        * rendering/SVGCharacterLayoutInfo.cpp:
89709        (WebCore::SVGCharacterLayoutInfo::addStackContent):
89710        * rendering/SVGCharacterLayoutInfo.h:
89711        * rendering/TextControlInnerElements.h:
89712        * rendering/bidi.cpp:
89713        (WebCore::RenderBlock::computeHorizontalPositionsForLine):
89714
897152009-07-07  Oliver Hunt  <oliver@apple.com>
89716
89717        Reviewed by Maciej Stachowiak.
89718
89719        Reduce complexity of lifetime management in DynamicNodeList caches
89720        <https://bugs.webkit.org/show_bug.cgi?id=27068>
89721
89722        Switch the Cache object used by DynamicNodeList into a normal
89723        refcounted object rather than having a weird flag controlled
89724        refcounting system, where positive refcount did not automatically
89725        imply the cache object would actually still be live.
89726
89727        * dom/DynamicNodeList.cpp:
89728        (WebCore::DynamicNodeList::DynamicNodeList):
89729        (WebCore::DynamicNodeList::~DynamicNodeList):
89730        (WebCore::DynamicNodeList::Caches::Caches):
89731        (WebCore::DynamicNodeList::Caches::create):
89732        * dom/DynamicNodeList.h:
89733        * dom/Node.cpp:
89734        (WebCore::Node::childNodes):
89735        (WebCore::Node::getElementsByTagNameNS):
89736        (WebCore::Node::getElementsByName):
89737        (WebCore::Node::getElementsByClassName):
89738        (WebCore::NodeListsNodeData::invalidateCaches):
89739        (WebCore::NodeListsNodeData::isEmpty):
89740        * dom/NodeRareData.h:
89741        (WebCore::NodeListsNodeData::NodeListsNodeData):
89742
897432009-07-07  Simon Fraser  <simon.fraser@apple.com>
89744
89745        Reviewed by Dan Bernstein.
89746        
89747        -webkit-perspective should be a Length
89748        https://bugs.webkit.org/show_bug.cgi?id=27066
89749        
89750        -webkit-perspective should not take a magic valueless number, but should
89751        be a normal Length value which responds to zooming. Treat valueless numbers
89752        as pixels for backward compatibility.
89753        
89754        Test: transforms/3d/general/perspective-units.html
89755
89756        * css/CSSParser.cpp:
89757        (WebCore::CSSParser::parseValue):
89758        * css/CSSStyleSelector.cpp:
89759        (WebCore::CSSStyleSelector::applyProperty):
89760
897612009-07-07  Pierre d'Herbemont  <pdherbemont@apple.com>
89762
89763        Reviewed by Simon Fraser.
89764
89765        https://bugs.webkit.org/show_bug.cgi?id=27047
89766
89767        We need to make sure that when we reattach, we also reattach
89768        the children in every MediaControlElement. Else we may end up
89769        having no remaining or elapsed time.
89770
89771        We have to handle that, because we are using a special shadow
89772        tree in the DOM, and that we are ourselves handling
89773        attaching/detaching the renderer.
89774
89775        The strategy here is to try to implement ::attach(), and try
89776        to reuse as much code as we can from the super class, including
89777        children attachement.
89778
89779        Test: media/controls-after-reload.html
89780
89781        * rendering/MediaControlElements.cpp:
89782        (WebCore::MediaControlElement::styleForElement): Code factoring.
89783        (WebCore::MediaControlElement::rendererIsNeeded): Code factoring.
89784        (WebCore::MediaControlElement::attach): Implement attach
89785        and call super class so that children are also attached.
89786        (WebCore::MediaControlElement::updateStyle): Use attach()
89787        (WebCore::MediaControlInputElement::styleForElement): Code factoring.
89788        (WebCore::MediaControlInputElement::rendererIsNeeded): Code factoring.
89789        (WebCore::MediaControlInputElement::attach): See above.
89790        (WebCore::MediaControlInputElement::updateStyle): Use attach()
89791        * rendering/MediaControlElements.h:
89792        * rendering/RenderMedia.cpp:
89793        (WebCore::RenderMedia::updateControls): Directly run attach() on
89794        the m_panel, which is a root node for our shadow tree.
89795
897962009-07-07  Simon Fraser  <simon.fraser@apple.com>
89797
89798        Reviewed by Dan Bernstein.
89799
89800        Repaint issue after layer drops out of composited mode.
89801        <https://bugs.webkit.org/show_bug.cgi?id=27022>
89802
89803        RenderLayers cache repaint rects in the form of m_repaintRect and m_outlineBox,
89804        and expect these to stay valid from one style change to the next. These rects
89805        are relative to the repaint container, so if a layer stops being composited,
89806        we need to recompute them.
89807        
89808        Test: compositing/repaint/layer-repaint-rects.html
89809
89810        * rendering/RenderLayer.cpp:
89811        (WebCore::RenderLayer::computeRepaintRects):
89812        * rendering/RenderLayer.h:
89813        * rendering/RenderLayerCompositor.cpp:
89814        (WebCore::RenderLayerCompositor::updateBacking):
89815
898162009-07-07  Dan Bernstein  <mitz@apple.com>
89817
89818        Reviewed by Dave Hyatt and Darin Adler.
89819
89820        - fix https://bugs.webkit.org/show_bug.cgi?id=26963
89821          <rdar://problem/7030998> Reproducible crash at
89822          FontCache::getFontData() when a custom font is used in a pseudo-style
89823
89824        Test: fast/css/pseudo-cache-stale.html
89825
89826        * dom/Element.cpp:
89827        (WebCore::Element::pseudoStyleCacheIsInvalid): Added. Given the old
89828        style and the new style, goes over cached pseudo-styles in the old
89829        style and re-resolves the same style types off the new style. If any of
89830        the new pseudo-styles is different from the currently cached
89831        corresponding style, returns true. Otherwise, returns false.
89832        (WebCore::Element::recalcStyle): Validate the pseudo-style cache before
89833        deciding to keep the existing style.
89834        * dom/Element.h:
89835        * rendering/RenderObject.cpp:
89836        (WebCore::RenderObject::uncachedFirstLineStyle): Added this version that
89837        returns an uncached first-line style based off the given style.
89838        (WebCore::RenderObject::getUncachedPseudoStyle): Added the 'ownStyle'
89839        parameter.
89840        * rendering/RenderObject.h:
89841        * rendering/style/RenderStyle.cpp:
89842        (WebCore::RenderStyle::getPseudoStyleCache): Added. Returns the cached
89843        pseudo-styles in the passed-in vector.
89844        * rendering/style/RenderStyle.h:
89845
898462009-07-07  Dan Bernstein  <mitz@apple.com>
89847
89848        Reviewed by Simon Fraser.
89849
89850        - fix https://bugs.webkit.org/show_bug.cgi?id=27042
89851          <rdar://problem/7010981> Incomplete painting of newly created floats
89852
89853        Tests: fast/repaint/float-in-new-block-with-layout-delta.html
89854               fast/repaint/float-new-in-block.html
89855
89856        * rendering/RenderBlock.cpp:
89857        (WebCore::RenderBlock::layoutBlockChildren): If the child has never been
89858        laid out before, paint its overhanging floats in addition to itself.
89859        * rendering/RenderBlock.h:
89860        (WebCore::RenderBlock::FloatWithRect::FloatWithRect): Added and
89861        initialized a boolean everHadLayout member.
89862        * rendering/bidi.cpp:
89863        (WebCore::RenderBlock::layoutInlineChildren): Paint floats that have
89864        never been laid out before and did not move from (0, 0).
89865
898662009-07-07  Brady Eidson  <beidson@apple.com>
89867
89868        Contributions from both Darin Adler and Brady Eidson.
89869        Reviewed by Darin Adler.
89870
89871        <rdar://problem/7024039> REGRESSION (r42158): Back-forward navigation does not work correctly on nytimes.com
89872
89873        In r42158 we lost some exclusions to making back/forward items for subframe navigations when a main frame
89874        navigation was still in progress.
89875
89876        This patch makes things even better than it used to be by:
89877        - Locking back/forward history at the time the navigation is scheduled, not after the load has committed.
89878        - Locking back/forward history if *any* ancestor frame is still loading instead of just the main frame.
89879
89880        Test: fast/loader/subframe-navigate-during-main-frame-load.html
89881
89882        * loader/FrameLoader.cpp:
89883        (WebCore::FrameLoader::submitForm): Move out the history locking logic into a standalone function so it can be
89884          used from multiple sites.
89885        (WebCore::mustLockBackForwardList): Returns true if any ancestor frame is still loading.
89886        (WebCore::FrameLoader::scheduleLocationChange): Respect mustLockBackForwardList() in addition to the passed in
89887          lockBackForwardList flag.
89888        (WebCore::FrameLoader::scheduleFormSubmission): Ditto.
89889
898902009-07-07  Nate Chapin  <japhet@chromium.org>
89891
89892        Reviewed by Darin Fisher.
89893
89894        Upstream DOMObjectsInclude.h from src.chromium.org.
89895
89896        https://bugs.webkit.org/show_bug.cgi?id=27035
89897
89898        * bindings/v8/DOMObjectsInclude.h: Added.
89899
899002009-07-07  Nate Chapin  <japhet@chromium.org>
89901
89902        Reviewed by David Levin.
89903
89904        Relanding r45559, which was rolled back at r45574.
89905
89906        https://bugs.webkit.org/show_bug.cgi?id=26857
89907
89908        * bindings/scripts/CodeGeneratorV8.pm: Updated a function name in auto-generated bindings.
89909        * bindings/v8/V8Binding.cpp: Moved from src.chromium.org.
89910        * bindings/v8/V8Binding.h: Contents moved from src.chromium.org.
89911        * bindings/v8/V8LazyEventListener.cpp:
89912        (WebCore::V8LazyEventListener::getListenerFunction):
89913        * bindings/v8/V8Proxy.cpp:
89914        (WebCore::handleConsoleMessage):
89915        (WebCore::V8Proxy::compileScript):
89916        (WebCore::V8Proxy::sourceName):
89917        * bindings/v8/WorkerContextExecutionProxy.cpp:
89918        (WebCore::handleConsoleMessage):
89919        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
89920        (WebCore::NAMED_PROPERTY_SETTER):
89921        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
89922        (WebCore::CALLBACK_FUNC_DECL):
89923        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
89924        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
89925        * bindings/v8/custom/V8DOMWindowCustom.cpp:
89926        (WebCore::CALLBACK_FUNC_DECL):
89927        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
89928        (WebCore::CALLBACK_FUNC_DECL):
89929        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
89930        (WebCore::ACCESSOR_SETTER):
89931        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
89932        (WebCore::CALLBACK_FUNC_DECL):
89933        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
89934        (WebCore::removeElement):
89935        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
89936        (WebCore::CALLBACK_FUNC_DECL):
89937        * bindings/v8/custom/V8WorkerContextCustom.cpp:
89938        (WebCore::SetTimeoutOrInterval):
89939        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
89940        (WebCore::CALLBACK_FUNC_DECL):
89941
899422009-07-07  Gregory Hughes  <gfhughesVO+webkit@gmail.com>
89943
89944        Reviewed by Darin Adler.
89945
89946        AX: Some webpages do not send AXLoadComplete
89947        https://bugs.webkit.org/show_bug.cgi?id=26995
89948
89949        When sending the AXLayoutComplete notification it is possible
89950        that the AXObjectCache was cleared, resulting in no valid
89951        object to send the notification to. This fix ensures that an
89952        AX object is created and cached if one does not already exist.
89953
89954        Not able to add a test because notifications get sent after the layout test is completed.
89955
89956        * dom/Document.cpp:
89957        (WebCore::Document::implicitClose):
89958
899592009-07-06  Pierre d'Herbemont  <pdherbemont@apple.com>
89960
89961        Reviewed by Simon Fraser.
89962
89963        https://bugs.webkit.org/show_bug.cgi?id=27015
89964
89965        Make sure that the CSS properties letter-spacing, word-spacing,
89966        line-height, text-transform, text-indent, text-shadow,
89967        text-decoration and color do not affect the media element controls,
89968        that display text.
89969
89970        Controls that display text are only present in when the theme
89971        MediaControllerThemeQT is being used.
89972
89973        Test: media/controls-styling.html
89974
89975        * css/mediaControlsQT.css:
89976        * rendering/MediaControlElements.cpp:
89977        (WebCore::MediaControlElement::updateStyle): Special case for
89978        text-decoration. text-decoration can't be overriden from CSS, because
89979        text-decoration is additive for historical reasons.
89980
899812009-07-07  Albert Wong  <ajwong@chromium.org>
89982
89983        Not reviewed, Chromium build fix.
89984
89985        Add in missing header fix syntax issue that crept into last patch.
89986        https://bugs.webkit.org/show_bug.cgi?id=27027
89987
89988        * rendering/RenderThemeChromiumMac.mm:
89989        (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
89990
899912009-07-07  Simon Fraser  <simon.fraser@apple.com>
89992
89993        Reviewed by Dave Hyatt.
89994
89995        Make use of geometry information to decide which layers become composited.
89996
89997        <rdar://problem/7011947>
89998        <https://bugs.webkit.org/show_bug.cgi?id=27021>
89999        
90000        In addition to looking at painting order, also, optionally, take layer
90001        overlap into account when deciding which RenderLayers need to be composited.
90002
90003        No testcase because DRT doesn't dump which layers are composited.
90004        
90005        * page/FrameView.h:
90006        * page/FrameView.cpp:
90007        (WebCore::FrameView::updateCompositingLayers):
90008        Removed the unused CompositingUpdate parameter, and just do an early return
90009        when there is no view.
90010        
90011        * rendering/RenderLayer.h:
90012        * rendering/RenderLayer.cpp:
90013        (WebCore::RenderLayer::rendererContentChanged):
90014        (WebCore::RenderLayer::dirtyZOrderLists):
90015        (WebCore::RenderLayer::dirtyNormalFlowList):
90016        (WebCore::RenderLayer::styleChanged):
90017        (WebCore::RenderLayer::mustOverlapCompositedLayers):
90018        (WebCore::RenderLayer::setMustOverlapCompositedLayers):
90019        Change "overlay" to "overlap" for consistency with the use of "overlap"
90020        elsewhere.
90021
90022        * rendering/RenderLayerBacking.cpp:
90023        (WebCore::RenderLayerBacking::updateAfterLayout):
90024        compositingLayersNeedUpdate() renamed to compositingLayersNeedRebuild().
90025        
90026        (WebCore::RenderLayerBacking::startAnimation):
90027        (WebCore::RenderLayerBacking::startTransition):
90028        Tell the compositor that we started an accelerated animation or transition.
90029        
90030        * rendering/RenderLayerCompositor.h:
90031        (WebCore::RenderLayerCompositor::compositingLayersNeedRebuild):
90032        Renamed, since it's explicitly about changes in hierarchy now.
90033        
90034        (WebCore::RenderLayerCompositor::setCompositingConsultsOverlap):
90035        (WebCore::RenderLayerCompositor::compositingConsultsOverlap):
90036        New getter and setter for whether compositing should take overlap into account.
90037
90038        * rendering/RenderLayerCompositor.cpp:
90039        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
90040        Add m_compositingConsultsOverlap, re-order some member variables.
90041        
90042        (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingEnabledFlag):
90043        Whitespace cleanup and method rename.
90044        
90045        (WebCore::RenderLayerCompositor::setCompositingLayersNeedRebuild):
90046        Method and variable renaming.
90047        
90048        (WebCore::RenderLayerCompositor::updateCompositingLayers):
90049        Now we have to run through the layer hierarchy every time if looking
90050        at overlap, because changes in layout can now alter compositing behavior.
90051        We minimize work by tracking whether we actually need to change the layer
90052        hierarchy via needLayerRebuild.
90053        
90054        (WebCore::RenderLayerCompositor::updateBacking):
90055        3D transforms turn off overlap mode.
90056        
90057        (WebCore::RenderLayerCompositor::layerWasAdded):
90058        (WebCore::RenderLayerCompositor::layerWillBeRemoved):
90059        Method rename.
90060        
90061        (WebCore::RenderLayerCompositor::addToOverlapMap):
90062        (WebCore::RenderLayerCompositor::overlapsCompositedLayers):
90063        Utility methods to add a layer to the overlapMap (computing the absolute
90064        bounding box only if we haven't already done so), and testing the map
90065        entries.
90066        
90067        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
90068        If a layer would composite only because it comes after other compositing
90069        layers in the painting order, then consult the overlap map to determine whether
90070        it overlaps, and thus actually needs to composite.
90071        
90072        Add layers to the map when they must be composited.
90073        
90074        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
90075        Only do re-parenting work if the updateHierarchy flag is set.
90076        
90077        (WebCore::RenderLayerCompositor::didStartAcceleratedAnimation):
90078        When we start an accelerated transition or animation, we stop looking at
90079        overlap because we can no longer guarantee correct front-to-back ordering while the
90080        accelerated animation is running.
90081
90082        (WebCore::RenderLayerCompositor::needsToBeComposited):
90083        Method renames.
90084        
90085        * rendering/RenderView.cpp:
90086        (WebCore::RenderView::setMaximalOutlineSize):
90087        Add comment indicating that this could be optimized.
90088
900892009-07-14  Anton Muhin  <antonm@chromium.org>
90090
90091        Reviewed by Darin Fisher.
90092
90093        Speed up creation of V8 wrappers for DOM nodes.
90094
90095        https://bugs.webkit.org/show_bug.cgi?id=26882
90096
90097        This patch doesn't require new tests as it a set of refactorings
90098        to speed up wrapper creation.  
90099
90100        * bindings/v8/V8Proxy.cpp:
90101        * bindings/v8/V8Proxy.h:
90102
901032009-07-07  Jan Michael Alonzo  <jmalonzo@webkit.org>
90104
90105        Reviewed by Gustavo Noronha.
90106
90107        [GTK] textarea height property works only if other property are defined
90108        https://bugs.webkit.org/show_bug.cgi?id=18984
90109
90110        Let WebCore handle textarea's metrics instead of readjusting it RenderthemeGtk.
90111
90112        Test: fast/forms/textarea-metrics.html
90113
90114        * platform/gtk/RenderThemeGtk.cpp:
90115        * platform/gtk/RenderThemeGtk.h:
90116
901172009-07-07  Ben Murdoch  <benm@google.com>
90118
90119        Reviewed by Antti Koivisto.
90120
90121        HTML5 Database becomes locked if a transaction is in progress when the page is refreshed.
90122        https://bugs.webkit.org/show_bug.cgi?id=25711
90123
90124        Fix for https://bugs.webkit.org/show_bug.cgi?id=25711 where web
90125        storage databases could become locked until the browser is shut
90126        down if the page is refreshed whilst a transaction is in progress.
90127
90128        Test: storage/database-lock-after-reload.html
90129
90130        * storage/Database.cpp:
90131        (WebCore::Database::Database):
90132        (WebCore::Database::close): add code to inform the database thread we've closed the database.
90133        (WebCore::Database::performOpenAndVerify): add code to inform the database thread we've opened a database.
90134        * storage/Database.h:
90135        (WebCore::Database::opened): return true iff the underlying sqlite database has been opened but not closed.
90136        * storage/DatabaseThread.cpp:
90137        (WebCore::DatabaseThread::databaseThread): Before the database thread terminates, close any databases that ran transactions in this thread.
90138        (WebCore::DatabaseThread::recordDatabaseOpen): Records a database that executed a transaction in this thread.
90139        (WebCore::DatabaseThread::recordDatabaseClosed): Removes a database from the set of open databases.
90140        * storage/DatabaseThread.h:
90141        (WebCore::DatabaseThread::getThreadID): return the thread id for the database thread.
90142
901432009-07-07  Jiahua Huang  <jhuangjiahua@gmail.com>
90144
90145        Reviewed by Jan Alonzo.
90146
90147        [Gtk] Paste of rich text from firefox results garbled markup
90148        https://bugs.webkit.org/show_bug.cgi?id=26791
90149
90150        Fix problem with UTF-16 clipboard pasted.
90151
90152        * manual-tests/gtk/paste-richtext-from-firefox.html: Added.
90153        * platform/gtk/PasteboardGtk.cpp:
90154        (WebCore::Pasteboard::documentFragment):
90155
901562009-07-07  Yury Semikhatsky  <yurys@chromium.org>
90157
90158        Reviewed by Timothy Hatcher.
90159
90160        Change 'Continue debug' shortcut from F5 to F8 for consistency with Firebug.
90161
90162        https://bugs.webkit.org/show_bug.cgi?id=23849
90163
90164        * inspector/front-end/ScriptsPanel.js:
90165        (WebInspector.ScriptsPanel):
90166
901672009-07-06  Albert J. Wong  <ajwong@chromium.org>
90168
90169        Reviewed by Maciej Stachowiak.
90170
90171        Update RenderThemeChromiumMac for wkDrawMediaUIPart and wkDrawMediaSlider API
90172        change.
90173
90174        Fix compile RenderThemeChromiumMac.mm due to API changes from r45572
90175        https://bugs.webkit.org/show_bug.cgi?id=27018
90176
90177        This is mainly an API change update to fix the chromium compile.  It
90178        also has a small fix of a typo in RenderThemeMac.mm.
90179
90180        Compilation against the head of chromium trunk passed.  Since this is
90181        a compile fix, that should be sufficient.
90182
90183        * rendering/RenderThemeChromiumMac.mm:
90184        (WebCore::):
90185        (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
90186        (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
90187        (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
90188        (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton):
90189        (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton):
90190        (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
90191        (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
90192        * rendering/RenderThemeMac.mm:
90193        (WebCore::):
90194
901952009-07-06  David Kilzer  <ddkilzer@apple.com>
90196
90197        Bug 27002: Build fix when DASHBOARD_SUPPORT is disabled with -Wunused-parameter
90198
90199        <https://bugs.webkit.org/show_bug.cgi?id=27002>
90200
90201        Reviewed by Geoff Garen.
90202
90203        * html/CanvasRenderingContext2D.cpp:
90204        (WebCore::CanvasRenderingContext2D::prepareGradientForDashboard):
90205        Mark gradient as an unused parameter when DASHBOARD_SUPPORT is
90206        disabled.
90207
902082009-07-06  David Kilzer  <ddkilzer@apple.com>
90209
90210        Bug 27001: Fix improper use of PassRefPtr<Node> to RefPtr<Node>
90211
90212        <https://bugs.webkit.org/show_bug.cgi?id=27001>
90213
90214        Reviewed by Geoff Garen.
90215
90216        PassRefPtr<> should only be used for arguments to functions that
90217        take ownership of the object, or as return values from functions
90218        that relinquish ownership of the object.
90219
90220        * editing/Editor.cpp:
90221        (WebCore::Editor::increaseSelectionListLevelOrdered): Changed
90222        stack-allocated PassRefPtr<Node> to RefPtr<Node> and call
90223        release() on returned object.
90224        (WebCore::Editor::increaseSelectionListLevelUnordered): Ditto.
90225
902262009-07-06  Eric Carlson  <eric.carlson@apple.com>
90227
90228        Reviewed by Simon Fraser.
90229
90230        <rdar://problem/7035474> Make new media controller UI default on SnowLeopard
90231
90232        * rendering/RenderThemeMac.mm:
90233        (WebCore::mediaControllerTheme):
90234            New media controller UI is enabled by default on SnowLeopard.
90235
902362009-07-06  Nate Chapin  <japhet@chromium.org>
90237
90238        Unreviewed, build fix.
90239
90240        Roll out r45559 to fix Chromium canary.
90241
90242        https://bugs.webkit.org/show_bug.cgi?id=26857
90243
90244        * bindings/scripts/CodeGeneratorV8.pm:
90245        * bindings/v8/V8Binding.cpp: Removed.
90246        * bindings/v8/V8Binding.h:
90247        (WebCore::toInt32):
90248        (WebCore::toWebCoreString):
90249        (WebCore::fromWebCoreString):
90250        (WebCore::toWebCoreStringWithNullCheck):
90251        (WebCore::isUndefinedOrNull):
90252        (WebCore::v8Boolean):
90253        * bindings/v8/V8LazyEventListener.cpp:
90254        (WebCore::V8LazyEventListener::getListenerFunction):
90255        * bindings/v8/V8Proxy.cpp:
90256        (WebCore::handleConsoleMessage):
90257        (WebCore::V8Proxy::compileScript):
90258        (WebCore::V8Proxy::sourceName):
90259        * bindings/v8/WorkerContextExecutionProxy.cpp:
90260        (WebCore::handleConsoleMessage):
90261        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
90262        (WebCore::NAMED_PROPERTY_SETTER):
90263        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
90264        (WebCore::CALLBACK_FUNC_DECL):
90265        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
90266        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
90267        * bindings/v8/custom/V8DOMWindowCustom.cpp:
90268        (WebCore::CALLBACK_FUNC_DECL):
90269        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
90270        (WebCore::CALLBACK_FUNC_DECL):
90271        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
90272        (WebCore::ACCESSOR_SETTER):
90273        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
90274        (WebCore::CALLBACK_FUNC_DECL):
90275        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
90276        (WebCore::removeElement):
90277        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
90278        (WebCore::CALLBACK_FUNC_DECL):
90279        * bindings/v8/custom/V8WorkerContextCustom.cpp:
90280        (WebCore::SetTimeoutOrInterval):
90281        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
90282        (WebCore::CALLBACK_FUNC_DECL):
90283
902842009-07-06  Eric Carlson  <eric.carlson@apple.com>
90285
90286        Reviewed by Darin Adler.
90287
90288        <rdar://problem/7008093> Media controller can’t be used to scrub when movie is 
90289        narrow — track is too narrow
90290
90291        Do not show media controller time display elements when the a movie is too narrow.
90292
90293        * platform/mac/WebCoreSystemInterface.h:
90294        * platform/mac/WebCoreSystemInterface.mm:
90295            The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield.
90296
90297        * rendering/MediaControlElements.cpp:
90298        (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
90299            Give current time and time remaining controls a common base class.
90300        (WebCore::MediaControlTimeDisplayElement::setVisible):
90301            New method, hide and show the element.
90302        * rendering/MediaControlElements.h:
90303
90304        * rendering/RenderMedia.cpp:
90305        (WebCore::RenderMedia::RenderMedia):
90306            Initialize m_previousVisible.
90307        (WebCore::RenderMedia::layout):
90308            Show/hide the time display elements as the movie width changes.
90309        (WebCore::RenderMedia::createCurrentTimeDisplay):
90310        (WebCore::RenderMedia::createTimeRemainingDisplay):
90311            Base class is now MediaControlTimeDisplayElement, not MediaControlElement.
90312        (WebCore::RenderMedia::shouldShowTimeDisplayControls):
90313            New, decide if time display elements should be visible or not.
90314        * rendering/RenderMedia.h:
90315
90316        * rendering/RenderThemeMac.mm:
90317        (WebCore::):
90318        (WebCore::RenderThemeMac::paintMediaFullscreenButton):
90319        (WebCore::RenderThemeMac::paintMediaMuteButton):
90320        (WebCore::RenderThemeMac::paintMediaPlayButton):
90321        (WebCore::RenderThemeMac::paintMediaSeekBackButton):
90322        (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
90323        (WebCore::RenderThemeMac::paintMediaSliderTrack):
90324        (WebCore::RenderThemeMac::paintMediaSliderThumb):
90325        (WebCore::RenderThemeMac::paintMediaRewindButton):
90326        (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
90327        (WebCore::RenderThemeMac::paintMediaControlsBackground):
90328        (WebCore::RenderThemeMac::paintMediaCurrentTime):
90329        (WebCore::RenderThemeMac::paintMediaTimeRemaining):
90330            The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield.
90331
903322009-07-06  David Kilzer  <ddkilzer@apple.com>
90333
90334        Bug 27000: Minor clean up to runtime_root.{cpp|h}
90335
90336        <https://bugs.webkit.org/show_bug.cgi?id=27000>
90337
90338        Reviewed by Geoff Garen.
90339
90340        * bridge/runtime_root.cpp: Added blank line between license and
90341        the first #include statement.
90342        * bridge/runtime_root.h: Added comment to #endif.
90343
903442009-07-06  Roland Steiner  <rolandsteiner@google.com>
90345
90346        Reviewed by Maciej Stachowiak.
90347
90348        generalize the special height treatment for SVG (to be re-used for ruby):
90349            renamed InlineBox::m_isSVG to m_hasVirtualHeight
90350            renamed InlineBox::isSVG() to hasVirtualHeight()
90351            renamed InlineBox::setIsSVG() to setHasVirtualHeight()
90352
90353        * rendering/InlineBox.cpp:
90354        (WebCore::InlineBox::height):
90355        * rendering/InlineBox.h:
90356        (WebCore::InlineBox::InlineBox):
90357        (WebCore::InlineBox::isText):
90358        (WebCore::InlineBox::setIsText):
90359        (WebCore::InlineBox::isSVGRootInlineBox):
90360        (WebCore::InlineBox::hasVirtualHeight):
90361        (WebCore::InlineBox::setHasVirtualHeight):
90362        (WebCore::InlineBox::virtualHeight):
90363        * rendering/RenderSVGInline.cpp:
90364        (WebCore::RenderSVGInline::createFlowBox):
90365        * rendering/RenderSVGInlineText.cpp:
90366        (WebCore::RenderSVGInlineText::createTextBox):
90367        * rendering/RenderSVGText.cpp:
90368        (WebCore::RenderSVGText::createRootBox):
90369        * rendering/SVGInlineFlowBox.h:
90370        (WebCore::SVGInlineFlowBox::virtualHeight):
90371        * rendering/SVGInlineTextBox.h:
90372        (WebCore::SVGInlineTextBox::virtualHeight):
90373        * rendering/SVGRootInlineBox.h:
90374        (WebCore::SVGRootInlineBox::virtualHeight):
90375
903762009-07-06  Alice Liu  <alice.liu@apple.com>
90377
90378        Reviewed by Darin Adler.
90379
90380        REGRESSION(r45285): focus rings are black on windows safari
90381        https://bugs.webkit.org/show_bug.cgi?id=26821
90382        <rdar://problem/7018252>
90383
90384        Add a mechanism for setting a custom focus ring color, and relocate the 
90385        determination of focus ring color to base class RenderTheme.
90386
90387        No new tests.  Already-existing tests run in pixel mode would have caught this regression
90388
90389        * css/CSSStyleSelector.cpp:
90390        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Move the responsibility
90391        of determining focus color to base class RenderTheme.
90392        * rendering/RenderTheme.cpp:
90393        (WebCore::customFocusRingColor): Added static local.
90394        (WebCore::RenderTheme::setCustomFocusRingColor): Added
90395        (WebCore::RenderTheme::focusRingColor): Use custom color over platform color.
90396        * rendering/RenderTheme.h:
90397        (WebCore::RenderTheme::platformFocusRingColor): default implementation, black color
90398        * rendering/RenderThemeSafari.cpp:
90399        (WebCore::RenderTheme::themeForPage): Circumstances that lead to returning the RenderThemeWin
90400        are the same under which we want to use the focus ring color from SafariTheme.
90401        (WebCore::RenderThemeSafari::platformFocusRingColor): Renamed from focusRingColor
90402        * rendering/RenderThemeSafari.h:
90403
90404        Renaming focusRingColor to platformFocusRingColor in these files:
90405        * rendering/RenderThemeChromiumMac.h:
90406        * rendering/RenderThemeChromiumMac.mm:
90407        (WebCore::RenderThemeChromiumMac::platformFocusRingColor):
90408        * rendering/RenderThemeChromiumSkia.cpp:
90409        (WebCore::RenderThemeChromiumSkia::platformFocusRingColor):
90410        * rendering/RenderThemeChromiumSkia.h:
90411        * rendering/RenderThemeMac.h:
90412        * rendering/RenderThemeMac.mm:
90413        (WebCore::RenderThemeMac::platformFocusRingColor):
90414
90415        Cleanup leftover from removal of WebCore::Color in r45285 in these files:
90416        * WebCore.order:
90417        * platform/graphics/Color.h:
90418
904192009-07-06  Shinichiro Hamaji  <hamaji@chromium.org>
90420
90421        Reviewed by David Hyatt.
90422
90423        Bug 15135: REGRESSION (r19843-r19850): Changing a flexbox's
90424        contents makes its container scroll to the top
90425        https://bugs.webkit.org/show_bug.cgi?id=15135
90426
90427        Delay updateing scroll bar of descendants of flexbox until their
90428        positions are determined.  In this way we can prevent descendants
90429        of flexible boxes from changing positions of their scrollbars
90430        using tentative positions.
90431
90432        Test: fast/flexbox/repaint-scrollbar.html
90433
90434        * rendering/RenderBlock.cpp:
90435        (WebCore::RenderBlock::startDelayUpdateScrollInfo):
90436        (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
90437        (WebCore::RenderBlock::updateScrollInfoAfterLayout):
90438        (WebCore::RenderBlock::layoutBlock):
90439        (WebCore::RenderBlock::layoutOnlyPositionedObjects):
90440        * rendering/RenderBlock.h:
90441        * rendering/RenderFlexibleBox.cpp:
90442        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
90443        (WebCore::RenderFlexibleBox::layoutVerticalBox):
90444
904452009-07-06  Hironori Bono  <hbono@chromium.org>
90446
90447        Reviewed by Maciej Stachowiak.
90448
90449        Make unconfirmed IME text affect textarea's value.
90450        This matches input and contentEditable elements as well
90451        IE and Firefox.
90452
90453        This fixes https://bugs.webkit.org/show_bug.cgi?id=25061.
90454
90455        Input elements would go down this code path because it
90456        would always get a null compositionNode from frame->editor().
90457        Special casing compositionNodes is wrong because we explicitly
90458        want unconfirmed IME input in the textarea's value (assuming we
90459        want to match IE and Firefox here).
90460
90461        This change is originally created by Ojan Vafai <ojan@chromium.org> and
90462        I just changed its manual tests with an automated test on his behalf.
90463
90464        Test: platform/mac/editing/input/text-control-ime-input.html
90465
90466        * rendering/RenderTextControl.cpp:
90467        (WebCore::RenderTextControl::text):
90468        (WebCore::RenderTextControl::textWithHardLineBreaks):
90469
904702009-07-06  Anders Carlsson  <andersca@apple.com>
90471
90472        Reviewed by Adele Peterson.
90473
90474        Add the ability for wheel events to latch to a node.
90475        
90476        * WebCore.base.exp:
90477        * page/EventHandler.cpp:
90478        (WebCore::EventHandler::EventHandler):
90479        (WebCore::EventHandler::clear):
90480        (WebCore::EventHandler::handleWheelEvent):
90481        * page/EventHandler.h:
90482        * page/mac/EventHandlerMac.mm:
90483        (WebCore::EventHandler::wheelEvent):
90484        * platform/mac/WebCoreSystemInterface.h:
90485        * platform/mac/WebCoreSystemInterface.mm:
90486
904872009-07-06  Nate Chapin  <japhet@chromium.org>
90488
90489        Reviewed by Dimitri Glazkov.
90490
90491        Fix a bunch of layout test crahses in Chromium caused by a bad usage of DEFINE_STATIC_LOCAL.
90492
90493        https://bugs.webkit.org/show_bug.cgi?id=26997
90494
90495        * bindings/v8/V8Binding.cpp:
90496        (WebCore::v8ValueToWebCoreString): Use a regular static declaration instead of DEFINE_STATIC_LOCAL.
90497
904982009-07-06  Pavel Feldman  <pfeldman@chromium.org>
90499
90500        Reviewed by Timothy Hatcher.
90501
90502        WebInspector: suggest global properties based on async evaluation.
90503
90504        https://bugs.webkit.org/show_bug.cgi?id=26976
90505
90506        Before this change, empty string was evaluated to the global object
90507        (or scope chain object) synchronously. This is now fixed and global
90508        object is evaluated using the same control flow.
90509
90510        * inspector/front-end/Console.js:
90511        (WebInspector.Console.prototype.completions):
90512        (WebInspector.Console.prototype._evalInInspectedWindow):
90513        * inspector/front-end/ScriptsPanel.js:
90514        (WebInspector.ScriptsPanel.prototype._variablesInScope):
90515
905162009-07-06  Ojan Vafai  <ojan@chromium.org>
90517
90518        Reviewed by Eric Seidel.
90519
90520        Fix crash when indenting in an empty table cell.
90521        https://bugs.webkit.org/show_bug.cgi?id=26872
90522
90523        The crash is that we would call splitTreeToNode where the node
90524        and the nodeToSplitTo were the same node.
90525
90526        Test: editing/execCommand/indent-empty-table-cell.html
90527
90528        * editing/CompositeEditCommand.cpp:
90529        (WebCore::CompositeEditCommand::splitTreeToNode):
90530        Added an assert in that node and nodeToSplitTo
90531        are different nodes to make this assumption explicit.
90532
90533        * editing/IndentOutdentCommand.cpp:
90534        (WebCore::IndentOutdentCommand::isAtUnsplittableElement):
90535        (WebCore::IndentOutdentCommand::indentRegion):
90536        * editing/IndentOutdentCommand.h:
90537
905382009-07-06  Nate Chapin  <japhet@chromium.org>
90539
90540        Reviewed by David Levin.
90541
90542        Upstream V8Binding and update some function names.
90543
90544        https://bugs.webkit.org/show_bug.cgi?id=26857
90545
90546        * bindings/scripts/CodeGeneratorV8.pm: Update function names in auto-generated files.
90547        * bindings/v8/V8Binding.cpp: Upstreamed from src.chromium.org.
90548        * bindings/v8/V8Binding.h: Upstreamed from src.chromium.org.
90549        * bindings/v8/V8LazyEventListener.cpp:
90550        (WebCore::V8LazyEventListener::getListenerFunction):
90551        * bindings/v8/V8Proxy.cpp:
90552        (WebCore::handleConsoleMessage):
90553        (WebCore::V8Proxy::compileScript):
90554        (WebCore::V8Proxy::sourceName):
90555        * bindings/v8/WorkerContextExecutionProxy.cpp:
90556        (WebCore::handleConsoleMessage):
90557        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
90558        (WebCore::NAMED_PROPERTY_SETTER):
90559        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
90560        (WebCore::CALLBACK_FUNC_DECL):
90561        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
90562        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
90563        * bindings/v8/custom/V8DOMWindowCustom.cpp:
90564        (WebCore::CALLBACK_FUNC_DECL):
90565        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
90566        (WebCore::CALLBACK_FUNC_DECL):
90567        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
90568        (WebCore::ACCESSOR_SETTER):
90569        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
90570        (WebCore::CALLBACK_FUNC_DECL):
90571        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
90572        (WebCore::removeElement):
90573        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
90574        (WebCore::CALLBACK_FUNC_DECL):
90575        * bindings/v8/custom/V8WorkerContextCustom.cpp:
90576        (WebCore::SetTimeoutOrInterval):
90577        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
90578        (WebCore::CALLBACK_FUNC_DECL):
90579
905802009-07-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
90581
90582        Reviewed by Jan Alonzo.
90583
90584        Use soup's content sniffing
90585        https://bugs.webkit.org/show_bug.cgi?id=26982
90586
90587        Drop our hackish content sniffing code, and use the new libsoup
90588        feature to do that job for us.
90589
90590        Testing this is in a cross-platform way is not obvious or possible
90591        while we are using platform-specific code for sniffing.
90592
90593        * platform/network/ResourceHandleInternal.h:
90594        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
90595        * platform/network/soup/ResourceHandleSoup.cpp:
90596        (WebCore::gotHeadersCallback):
90597        (WebCore::contentSniffedCallback):
90598        (WebCore::gotChunkCallback):
90599        (WebCore::ResourceHandle::startHttp):
90600
906012009-07-05  Antonio Gomes  <antonio.gomes@openbossa.org>
90602
90603        Reviewed by Darin Adler.
90604
90605        REGRESSION (r40499): fast/dom/cssTarget-crash.html fails
90606        https://bugs.webkit.org/show_bug.cgi?id=20342
90607
90608        Re-added code removed by commit r40499.
90609        Without this, both Qt and Mac were crashing while running the test.
90610
90611        Note that this does not entirely fix the bug. It fixes the WebCore
90612        crash, but the test no longer seems to work due to loader changes.
90613        So this patch does not reenable the test. The test probably has to
90614        be rewritten.
90615
90616        * dom/ContainerNode.cpp:
90617        (WebCore::ContainerNode::removedFromDocument): Re-added code to
90618        set the CSS target of the document to 0.
90619
906202009-07-05  Chris Marrin  <cmarrin@apple.com>
90621
90622        Reviewed by Simon Fraser.
90623
90624        https://bugs.webkit.org/show_bug.cgi?id=26943
90625
90626        When one transition finishes slightly before another the longer
90627        one will fire a second time. This is because the second
90628        ImplicitAnmation object is culled too early, before its final
90629        RenderStyle is in place. This is done by cleanupFinishedAnimations()
90630        so I got rid of that method completely and now cleanup each
90631        transition or animation at the point where I am setting the final
90632        style, or when I detect that the transition or animation has been
90633        terminated early (which happens when you remove it from the style).
90634
90635        Test: transitions/extra-transition.html
90636
90637        * page/animation/AnimationController.cpp:
90638        (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
90639        * page/animation/CompositeAnimation.cpp:
90640        (WebCore::CompositeAnimation::updateTransitions):
90641        (WebCore::CompositeAnimation::updateKeyframeAnimations):
90642        (WebCore::CompositeAnimation::animate):
90643        * page/animation/CompositeAnimation.h:
90644
90645        * page/animation/AnimationBase.cpp:
90646        (WebCore::AnimationBase::getTimeToNextEvent):
90647        Avoid a divide by zero if m_animation->duration() is zero, which can happen
90648        if the duration is changed to zero while the animation is running.
90649
906502009-07-05  Simon Fraser  <simon.fraser@apple.com>
90651
90652        Revert the previous commit because it broke the
90653        animations/transition-and-animation-1.html
90654        testcase.
90655
90656        * page/animation/AnimationBase.cpp:
90657        (WebCore::AnimationBase::getTimeToNextEvent):
90658        * page/animation/AnimationController.cpp:
90659        (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
90660        * page/animation/CompositeAnimation.cpp:
90661        (WebCore::CompositeAnimation::updateTransitions):
90662        (WebCore::CompositeAnimation::updateKeyframeAnimations):
90663        (WebCore::CompositeAnimation::animate):
90664        (WebCore::CompositeAnimation::cleanupFinishedAnimations):
90665        * page/animation/CompositeAnimation.h:
90666
906672009-07-05  Chris Marrin  <cmarrin@apple.com>
90668
90669        Reviewed by Simon Fraser.
90670
90671        https://bugs.webkit.org/show_bug.cgi?id=26943
90672
90673        When one transition finishes slightly before another the longer
90674        one will fire a second time. This is because the second 
90675        ImplicitAnmation object is culled too early, before its final
90676        RenderStyle is in place. This is done by cleanupFinishedAnimations()
90677        so I got rid of that method completely and now cleanup each 
90678        transition or animation at the point where I am setting the final
90679        style, or when I detect that the transition or animation has been
90680        terminated early (which happens when you remove it from the style).
90681
90682        Test: transitions/extra-transition.html
90683
90684        * page/animation/AnimationController.cpp:
90685        (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
90686        * page/animation/CompositeAnimation.cpp:
90687        (WebCore::CompositeAnimation::updateTransitions):
90688        (WebCore::CompositeAnimation::updateKeyframeAnimations):
90689        (WebCore::CompositeAnimation::animate):
90690        * page/animation/CompositeAnimation.h:
90691
90692        * page/animation/AnimationBase.cpp:
90693        (WebCore::AnimationBase::getTimeToNextEvent):
90694        Avoid a divide by zero if m_animation->duration() is zero, which can happen
90695        if the duration is changed to zero while the animation is running.
90696
906972009-07-05  Lars Knoll  <lars.knoll@nokia.com>
90698
90699        Reviewed by Maciej Stachowiak.
90700
90701        https://bugs.webkit.org/show_bug.cgi?id=26843
90702
90703        Fix run-time crashes in JavaScriptCore with the Metrowerks compiler on Symbian.
90704
90705        The Metrowerks compiler on the Symbian platform moves the globally
90706        defined Hashtables into read-only memory, despite one of the members
90707        being mutable. This causes crashes at run-time due to write access to
90708        read-only memory.
90709
90710        Avoid the use of const with this compiler by introducing the
90711        JSC_CONST_HASHTABLE macro.
90712
90713        Based on idea by Norbert Leser.
90714
90715        * bindings/scripts/CodeGeneratorJS.pm: Use JSC_CONST_HASHTABLE for hash tables
90716        define in the bindings.
90717
907182009-07-05  Rob Buis  <rwlbuis@gmail.com>
90719
90720        Reviewed by Maciej Stachowiak.
90721
90722        Bug 26897 - Dynamic SVG images do not display correctly
90723        https://bugs.webkit.org/show_bug.cgi?id=26897
90724
90725        Use repaint() to fix a rendering problem with a SVG image embedded in xhtml.
90726
90727        Test: svg/custom/createImageElement2.xhtml
90728
90729        * rendering/RenderSVGImage.cpp:
90730        (WebCore::RenderSVGImage::imageChanged):
90731
907322009-07-05  Xan Lopez  <xlopez@igalia.com>
90733
90734        Reviewed by Jan Alonzo.
90735
90736        https://bugs.webkit.org/show_bug.cgi?id=26960
90737        [Gtk] caret offset not updated when selecting text
90738
90739        Report the caret offset from the end of the selection so it works
90740        correctly for multi-char selections too (ie, anything that is not
90741        the zero width caret).
90742
90743        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
90744        (webkit_accessible_text_get_caret_offset):
90745
907462009-07-05  Holger Hans Peter Freyther  <zecke@selfish.org>
90747
90748        Unreviewed link fix for Qt.
90749
90750        Fix Qt link error by adding two new localized strings
90751
90752        In r45474 two new strings got added to LocalizedStrings.h add
90753        the definition of them to Qt.
90754
90755        * platform/qt/Localizations.cpp:
90756        (WebCore::mediaElementLoadingStateText):
90757        (WebCore::mediaElementLiveBroadcastStateText):
90758
907592009-07-03  Darin Adler  <darin@apple.com>
90760
90761        Reviewed by Adele Peterson.
90762
90763        REGRESSION (r44670-r44680): Typing is suprisingly slow in password field on reddit.com
90764        https://bugs.webkit.org/show_bug.cgi?id=26959
90765        rdar://problem/7029882
90766
90767        The code to handle iteration boundaries was malfunctioning when the boundary was
90768        at the edge of a shadow tree. This happens all the time with <input> elements.
90769
90770        It's not immediately obvious how to make a regression test for this since the
90771        symptom was a performance problem, not incorrect behavior. I'll add a test if I
90772        figure out a way to make one.
90773
90774        * editing/TextIterator.cpp:
90775        (WebCore::parentCrossingShadowBoundaries): Renamed from parentOrShadowParent.
90776        (WebCore::depthCrossingShadowBoundaries): Updated for name change.
90777        (WebCore::nextInPreOrderCrossingShadowBoundaries): Added.
90778        (WebCore::previousInPostOrderCrossingShadowBoundaries): Added.
90779        (WebCore::setUpFullyClippedStack): Updated for name change.
90780        (WebCore::TextIterator::TextIterator): Updated for name change. Use
90781        nextInPreOrderCrossingShadowBoundaries instead of Range::pastLastNode to fix the bug.
90782        (WebCore::TextIterator::advance): Updated for name change.
90783        (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
90784        Tweaked formatting.
90785        (WebCore::SimplifiedBackwardsTextIterator::advance): Ditto. Changed code that
90786        initializes m_pastStartNode to use previousInPostOrderCrossingShadowBoundaries.
90787        (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode): Tweaked formatting.
90788        (WebCore::SimplifiedBackwardsTextIterator::exitNode): Ditto.
90789
907902009-07-03  Simon Fraser  <simon.fraser@apple.com>
90791
90792        Reviewed by Sam Weinig.
90793
90794        Background audio stops playing when JS GC runs
90795        https://bugs.webkit.org/show_bug.cgi?id=26956
90796        
90797        Ensure we keep the Audio object around while it is playing, so that it
90798        doesn't get collected.
90799        
90800        Not testable because there's no way to know whether the audio keeps
90801        playing without holding a reference to it.
90802
90803        * bindings/js/JSDOMBinding.cpp:
90804        (WebCore::isObservableThroughDOM):
90805
908062009-07-02  Xan Lopez  <xlopez@igalia.com>
90807
90808        Reviewed by Jan Alonzo.
90809
90810        https://bugs.webkit.org/show_bug.cgi?id=26814
90811        [Gtk] Caret-moved events are not issued for the correct offset
90812        when text is selected forward
90813
90814        Report the caret offset from the end of the selection, otherwise
90815        we'll report the same offset when moving the caret while
90816        modififying the selection (eg, with Shift Right).
90817
90818        * editing/gtk/SelectionControllerGtk.cpp:
90819        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
90820
908212009-07-02  Xan Lopez  <xlopez@igalia.com>
90822
90823        Reviewed by Jan Alonzo.
90824
90825        https://bugs.webkit.org/show_bug.cgi?id=26815
90826        [Gtk] text-selection-changed events are not issued for the correct
90827        object when the selection spans multiple objects
90828
90829        Get the focused node from the end of the selection, not the start,
90830        so we can detect when we cross object boundaries.
90831
90832        * editing/gtk/SelectionControllerGtk.cpp:
90833        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
90834
908352009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
90836
90837        Reviewed by Simon Fraser.
90838
90839        https://bugs.webkit.org/show_bug.cgi?id=26947
90840
90841        Fix the media controls hit tests. They may lose click events.
90842
90843        Test cases already covered in the video-controls-zoomed tests.
90844
90845        Don't trust wkHitTestMediaUIPart for the tests. We are accurate enough.
90846
90847        * rendering/RenderThemeMac.h: Remove hitTestMediaControlPart.
90848        * rendering/RenderThemeMac.mm: Remove hitTestMediaControlPart.
90849
908502009-07-02  Roland Steiner  <rolandsteiner@google.com>
90851
90852        Reviewed by Eric Seidel.
90853
90854        RenderBlock and RenderInline have confusingly named object creation methods:
90855        RenderBlock::createRootBox/createRootInlineBox
90856        RenderInline::createFlowBox/createInlineFlowBox
90857        where the 2nd method in both cases just calls the first and then appends the created object.
90858        I therefore renamed those methods to something IMHO more informative:
90859        
90860        createRootBox()         -> createRootInlineBox()
90861        createRootInlineBox()   -> createAndAppendRootInlineBox();
90862        createFlowBox()         -> createInlineFlowBox();
90863        createInlineFlowBox()   -> createAndAppendInlineFlowBox();
90864
90865        https://bugs.webkit.org/show_bug.cgi?id=26828
90866
90867        * rendering/RenderBlock.cpp:
90868        (WebCore::RenderBlock::createRootInlineBox):
90869        (WebCore::RenderBlock::createAndAppendRootInlineBox):
90870        * rendering/RenderBlock.h:
90871        * rendering/RenderInline.cpp:
90872        (WebCore::RenderInline::createInlineFlowBox):
90873        (WebCore::RenderInline::createAndAppendInlineFlowBox):
90874        * rendering/RenderInline.h:
90875        * rendering/RenderSVGInline.cpp:
90876        (WebCore::RenderSVGInline::createInlineFlowBox):
90877        * rendering/RenderSVGInline.h:
90878        * rendering/RenderSVGText.cpp:
90879        (WebCore::RenderSVGText::createRootInlineBox):
90880        * rendering/RenderSVGText.h:
90881        * rendering/bidi.cpp:
90882        (WebCore::createInlineBoxForRenderer):
90883
908842009-07-02  Pavel Feldman  <pfeldman@chromium.org>
90885
90886        Reviewed by Timothy Hatcher.
90887
90888        WebInspector: Fix typo in the resource panel enabler caption.
90889
90890        https://bugs.webkit.org/show_bug.cgi?id=26753
90891
90892        * English.lproj/localizedStrings.js:
90893        * inspector/front-end/ResourcesPanel.js:
90894        (WebInspector.ResourcesPanel):
90895
908962009-07-02  Erik Arvidsson  <arv@chromium.org>
90897
90898        Reviewed by Adam Roben.
90899
90900        [Win] HTML5 Drag and drop, dragend is not fired when pressing Esc
90901        https://bugs.webkit.org/show_bug.cgi?id=26699
90902
90903        * manual-tests/drag-escape.html: Added.
90904        * page/EventHandler.cpp:
90905        (WebCore::EventHandler::dragSourceEndedAt):
90906
909072009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
90908
90909        Reviewed by Simon Fraser. 
90910        
90911        https://bugs.webkit.org/show_bug.cgi?id=26944
90912
90913        Make sure we support full page zoom in video controls.
90914
90915        This is tracked by a the video-controls-zoom test case.
90916
90917        * css/mediaControlsQT.css: Make sure we don't have any inherited margin.
90918        * rendering/MediaControlElements.cpp:
90919        (WebCore::MediaControlElement::updateStyle): Propagate the style to the innertext.
90920        * rendering/RenderThemeMac.mm: Adjust the painting rect.
90921        (WebCore::getUnzoomedRectAndAdjustCurrentContext):
90922        (WebCore::RenderThemeMac::paintMediaSliderTrack):
90923        (WebCore::RenderThemeMac::paintMediaCurrentTime):
90924        (WebCore::RenderThemeMac::paintMediaTimeRemaining):
90925
909262009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
90927
90928        Fix the Gtk build after r45474. The localized strings should
90929        have been added there.
90930
90931        * platform/gtk/LocalizedStringsGtk.cpp:
90932        (WebCore::mediaElementLoadingStateText):
90933        (WebCore::mediaElementLiveBroadcastStateText):
90934
909352009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
90936
90937        Reviewed by Simon Fraser.
90938
90939        https://bugs.webkit.org/show_bug.cgi?id=26939
90940
90941        Media controller is rendered badly at http://www.mozilla.com/en-US/firefox/video/firefox-3.5.html
90942
90943        We fix two things:
90944        - We use px instead of em, because px is used everywhere else
90945        and because 0.09em hit the font size limit.
90946        - We use -webkit-box instead of inline-block because in strict mode
90947        inline-block has a different behavior.
90948
90949        Test: media/controls-strict.html
90950
90951        * css/mediaControlsQT.css:
90952
909532009-07-02  David Hyatt  <hyatt@apple.com>
90954
90955        Reviewed by Dan Bernstein.
90956
90957        TextIterator should use hasOverflowClip when checking for overflow instead of looking at the style.
90958        https://bugs.webkit.org/show_bug.cgi?id=26942
90959
90960        * editing/TextIterator.cpp:
90961        (WebCore::fullyClipsContents):
90962
909632009-07-02  Sam Weinig  <sam@webkit.org>
90964
90965        Reviewed by Dave Hyatt.
90966
90967        Fix for <rdar://problem/5230700>
90968        Remove local .xhtml file workaround
90969
90970        * platform/network/mac/ResourceResponseMac.mm:
90971        (WebCore::ResourceResponse::platformLazyInit): Work around is no longer necessary.
90972
909732009-07-02  Anders Carlsson  <andersca@apple.com>
90974
90975        Reviewed by Dan Bernstein.
90976
90977        Sort, add functions used by WebKit.
90978        
90979        * WebCore.base.exp:
90980
909812009-07-02  Brady Eidson  <beidson@apple.com>
90982
90983        Rubberstamped by Sam Weinig.
90984
90985        More of <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown.
90986
90987        * platform/network/mac/WebCoreURLResponse.mm:
90988        (webNSURLResponseMIMEType): Give Tiger a chance to query the UTI machinery.
90989
909902009-07-02  Adam Langley  <agl@google.com>
90991
90992        Reviewed by Eric Seidel.
90993
90994        Chromium Linux: fix complex text rendering with line break characters.
90995
90996        https://bugs.webkit.org/show_bug.cgi?id=26935
90997
90998        If the CSS white-space property is inhibiting line breaking, we might
90999        find end-of-line characters rendered via the complex text path. Fonts
91000        don't provide glyphs for these code points so, if we find one, we
91001        simulate the space glyph being interposed in this case.  Because the
91002        input is variable-length per code point, we walk the input in step
91003        with the output.
91004
91005        Covered by:
91006            LayoutTests/fast/text/international/bidi-linebreak-002.html
91007            LayoutTests/fast/text/international/bidi-linebreak-003.html
91008            LayoutTests/fast/text/international/hindi-whitespace.html
91009
91010        * platform/graphics/chromium/HarfbuzzSkia.cpp:
91011        (WebCore::stringToGlyphs):
91012
910132009-07-02  Victor Wang  <victorw@chromium.org>
91014
91015        Reviewed by Darin Fisher.
91016
91017        https://bugs.webkit.org/show_bug.cgi?id=26521
91018        Expose file size to chromium.
91019
91020        Implement getFileSize() for Chromium.
91021
91022        * platform/chromium/ChromiumBridge.h:
91023        * platform/chromium/FileSystemChromium.cpp:
91024        (WebCore::getFileSize):
91025
910262009-07-02  Nate Chapin  <japhet@chromium.org>
91027
91028        Unreviewed, build fix.
91029
91030        * bindings/v8/V8SVGPODTypeWrapper.h: Lost a space in nested template argument list.
91031
910322009-07-02  Simon Fraser  <simon.fraser@apple.com>
91033
91034        Build fix: add missing #include.
91035
91036        * platform/mac/ThemeMac.mm:
91037
910382009-07-02  Simon Fraser  <simon.fraser@apple.com>
91039
91040        Reviewed by Dave Hyatt.
91041
91042        <rdar://problem/7028682> ThemeMac::paintRadio() throws Obj-C exceptions when zoomed
91043
91044        Add BEGIN_BLOCK_OBJC_EXCEPTIONS/END_BLOCK_OBJC_EXCEPTIONS guards around code
91045        that can possibly throw Objective-C exceptions when drawing Mac form controls.
91046
91047        * platform/mac/ThemeMac.mm:
91048        (WebCore::paintCheckbox):
91049        (WebCore::paintRadio):
91050        (WebCore::paintButton):
91051        (WebCore::ThemeMac::inflateControlPaintRect):
91052
910532009-07-02  Nate Chapin  <japhet@chromium.org>
91054
91055        Reviewed by David Levin.
91056
91057        Upstream V8SVGPODTypeWrapper.
91058
91059        https://bugs.webkit.org/show_bug.cgi?id=26907
91060
91061        * bindings/scripts/CodeGeneratorV8.pm: Update function being renamed in V8SVGPODTypeWrapper.h.
91062        * bindings/v8/V8SVGPODTypeWrapper.h: Upstreamed from src.chromium.org.
91063
910642009-07-02  Dumitru Daniliuc  <dumi@chromium.org>
91065
91066        Reviewed by Dimitri Glazkov.
91067
91068        Adds an abstraction layer between the DB classes and the file
91069        system, which allows us to add our own logic for storing, opening,
91070        deleting, etc. databases.
91071
91072        The patch was tested using the tests in WebCore/storage.
91073
91074        https://bugs.webkit.org/show_bug.cgi?id=26054
91075
91076        * GNUmakefile.am:
91077        * WebCore.pro:
91078        * WebCore.vcproj/WebCore.vcproj:
91079        * WebCore.xcodeproj/project.pbxproj:
91080        * platform/sql/SQLiteDatabase.cpp:
91081        (WebCore::SQLiteDatabase::open): Delegating the job of opening DB files to SQLiteFileSystem to allow use of custom VFSs.
91082        * platform/sql/SQLiteFileSystem.cpp: Added.
91083        * platform/sql/SQLiteFileSystem.h: Added.
91084        * platform/win/FileSystemWin.cpp:
91085        (WebCore::directoryName): Implemented.
91086        * storage/Database.cpp:
91087        (WebCore::Database::databaseSize): The code that returns the size of a DB file moved to SQLiteFileSystem.
91088        * storage/DatabaseTracker.cpp:
91089        (WebCore::DatabaseTracker::DatabaseTracker): Added the ability to register a custom SQLite VFS.
91090        (WebCore::DatabaseTracker::trackerDatabasePath): DB file-related operations moved to SQLiteFileSystem.
91091        (WebCore::DatabaseTracker::openTrackerDatabase): DB file-related operations moved to SQLiteFileSystem.
91092        (WebCore::DatabaseTracker::originPath): DB file-related operations moved to SQLiteFileSystem.
91093        (WebCore::DatabaseTracker::fullPathForDatabase): DB file-related operations moved to SQLiteFileSystem.
91094        (WebCore::DatabaseTracker::usageForDatabase): DB file-related operations moved to SQLiteFileSystem.
91095        (WebCore::DatabaseTracker::deleteOrigin): DB file-related operations moved to SQLiteFileSystem.
91096        (WebCore::DatabaseTracker::deleteDatabaseFile): DB file-related operations moved to SQLiteFileSystem.
91097        * storage/OriginUsageRecord.cpp:
91098        (WebCore::OriginUsageRecord::diskUsage): DB file-related operations moved to SQLiteFileSystem.
91099
911002009-07-02  David Hyatt  <hyatt@apple.com>
91101
91102        Reviewed by Simon Fraser.
91103
91104        Always clip replaced elements to border radii.
91105        https://bugs.webkit.org/show_bug.cgi?id=26933
91106
91107        Make sure to always clip replaced elements to border radii, even when overflow is visible.
91108        Stop defaulting those elements to overflow:hidden in the UA sheet, since it is now no longer
91109        necessary.
91110
91111        Covered by existing tests (since the UA default changing keeps the behavior exactly the same).
91112
91113        * css/html.css:
91114        * rendering/RenderReplaced.cpp:
91115        (WebCore::RenderReplaced::paint):
91116        * rendering/RenderWidget.cpp:
91117        (WebCore::RenderWidget::paint):
91118
911192009-07-02  Jeremy Orlow  <jorlow@chromium.org>
91120
91121        Reviewed by Simon Fraser.
91122
91123        convertFromScrollbarToContainingView and friends should be in ScrollView
91124        https://bugs.webkit.org/show_bug.cgi?id=26929
91125
91126        This is breaking Chromium's build because PopupMenuChromium inherits
91127        from ScrollView, but these functions are pure virtual in it.  I could
91128        put it directly in PopupMenuChromium, but that seems a bit silly since
91129        the functions are fairly generic.
91130
91131        Passes existing layout tests.
91132
91133        * page/FrameView.cpp:  Remove the 4 functions Hyatt just added
91134        (IntRect WebCore::FrameView::convertFromScrollbarToContainingView):
91135        (IntRect WebCore::FrameView::convertFromContainingViewToScrollBar):
91136        (IntPoint WebCore::FrameView::convertFromScrollbarToContainingView):
91137        (IntPoint WebCore::FrameView::convertFromContainingViewToScrollBar):
91138        * page/FrameView.h: ditto
91139        * platform/ScrollView.cpp:  Move the 4 functions from FrameView here
91140        (IntRect WebCore::ScrollView::convertFromScrollbarToContainingView):
91141        (IntRect WebCore::ScrollView::convertFromContainingViewToScrollBar):
91142        (IntPoint WebCore::ScrollView::convertFromScrollbarToContainingView):
91143        (IntPoint WebCore::ScrollView::convertFromContainingViewToScrollBar):
91144        * platform/ScrollView.h: ditto
91145
911462009-07-02  Dirk Pranke  <dpranke@chromium.org>
91147
91148        Reviewed by Darin Fisher.
91149
91150        Fix https://bugs.webkit.org/show_bug.cgi?id=26088 - TransparencyWin 
91151        doesn't handle errors well at all; revise it to fail silently 
91152        (drawing nothing), and bulletproof FontChromiumWin to handle the
91153        failure accordingly.
91154
91155        Tests: fast/text/text-large-negative-letter-spacing-with-opacity.html
91156               fast/text/text-letter-spacing.html
91157
91158        * platform/graphics/chromium/FontChromiumWin.cpp:
91159        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
91160        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
91161        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
91162        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
91163        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
91164        (WebCore::Font::drawGlyphs):
91165        (WebCore::Font::drawComplexText):
91166        * platform/graphics/chromium/TransparencyWin.cpp:
91167        (WebCore::TransparencyWin::TransparencyWin):
91168        (WebCore::TransparencyWin::setupLayerForNoLayer):
91169        (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
91170        (WebCore::TransparencyWin::setupLayerForWhiteLayer):
91171        (WebCore::TransparencyWin::setupTransformForKeepTransform):
91172        (WebCore::TransparencyWin::setupTransformForScaleTransform):
91173        (WebCore::TransparencyWin::initializeNewContext):
91174        (WebCore::TransparencyWin::compositeOpaqueComposite):
91175        (WebCore::TransparencyWin::compositeTextComposite):
91176        (WebCore::TransparencyWin::makeLayerOpaque):
91177        * platform/graphics/chromium/TransparencyWin.h:
91178        (WebCore::TransparencyWin::platformContext):
91179
911802009-07-02  Eric Carlson  <eric.carlson@apple.com>
91181
91182        Change #import to #include to fix non-ObjC builds.
91183
91184        * rendering/MediaControlElements.cpp:
91185
911862009-07-02  Anders Carlsson  <andersca@apple.com>
91187
91188        Build fix.
91189        
91190        * platform/network/mac/WebCoreURLResponse.mm:
91191        (mimeTypeFromUTITree):
91192
911932009-07-02  David Hyatt  <hyatt@apple.com>
91194
91195        Reviewed by Simon Fraser.
91196
91197        Fix for bug 22119, clicks in the scrollbars of transformed content don't work.  Add new
91198        conversion methods for going across parent/child widget boundaries that can be implemented
91199        by the FrameView and ScrollbarClient to be transform-aware.
91200
91201        Test cases added in platform/mac/fast/forms and platform/mac/fast/overflow.
91202
91203        * WebCore.base.exp:
91204        * page/EventHandler.cpp:
91205        (WebCore::EventHandler::handleMouseMoveEvent):
91206        * page/FrameView.cpp:
91207        (WebCore::FrameView::convertFromScrollbarToContainingView):
91208        (WebCore::FrameView::convertFromContainingViewToScrollbar):
91209        (WebCore::FrameView::convertFromRenderer):
91210        (WebCore::FrameView::convertToRenderer):
91211        (WebCore::FrameView::convertToContainingView):
91212        (WebCore::FrameView::convertFromContainingView):
91213        * page/FrameView.h:
91214        * platform/ScrollView.h:
91215        * platform/Scrollbar.cpp:
91216        (WebCore::Scrollbar::convertToContainingView):
91217        (WebCore::Scrollbar::convertFromContainingView):
91218        * platform/Scrollbar.h:
91219        * platform/ScrollbarClient.h:
91220        (WebCore::ScrollbarClient::convertFromScrollbarToContainingView):
91221        (WebCore::ScrollbarClient::convertFromContainingViewToScrollbar):
91222        * platform/Widget.cpp:
91223        (WebCore::Widget::convertFromContainingWindow):
91224        (WebCore::Widget::convertToContainingWindow):
91225        (WebCore::Widget::convertFromRootToContainingWindow):
91226        (WebCore::Widget::convertFromContainingWindowToRoot):
91227        (WebCore::Widget::convertToContainingView):
91228        (WebCore::Widget::convertFromContainingView):
91229        * platform/Widget.h:
91230        * platform/graphics/IntPoint.h:
91231        (WebCore::IntPoint::move):
91232        * platform/mac/WidgetMac.mm:
91233        (WebCore::Widget::convertFromRootToContainingWindow):
91234        (WebCore::Widget::convertFromContainingWindowToRoot):
91235        * rendering/RenderBlock.cpp:
91236        (WebCore::RenderBlock::isPointInOverflowControl):
91237        * rendering/RenderDataGrid.cpp:
91238        (WebCore::RenderDataGrid::convertFromScrollbarToContainingView):
91239        (WebCore::RenderDataGrid::convertFromContainingViewToScrollbar):
91240        * rendering/RenderDataGrid.h:
91241        * rendering/RenderLayer.cpp:
91242        (WebCore::RenderLayer::convertFromScrollbarToContainingView):
91243        (WebCore::RenderLayer::convertFromContainingViewToScrollbar):
91244        (WebCore::RenderLayer::scrollbarOffset):
91245        (WebCore::RenderLayer::hitTestOverflowControls):
91246        * rendering/RenderLayer.h:
91247        * rendering/RenderListBox.cpp:
91248        (WebCore::RenderListBox::isPointInOverflowControl):
91249        (WebCore::RenderListBox::convertFromScrollbarToContainingView):
91250        (WebCore::RenderListBox::convertFromContainingViewToScrollbar):
91251        * rendering/RenderListBox.h:
91252
912532009-07-02  Dan Bernstein  <mitz@apple.com>
91254
91255        Reviewed by Dave Hyatt and Simon Fraser.
91256
91257        - fix <rdar://problem/6933052> SPOD playing video in a div with a box
91258          shadow
91259
91260        Test: fast/box-shadow/transform-fringing.html
91261
91262        * rendering/RenderBoxModelObject.cpp:
91263        (WebCore::RenderBoxModelObject::paintBoxShadow): Clip out the
91264        box even if it has an opaque background, but in that case, inset the
91265        clip path by 1 pixel, to avoid antialiasing artifacts.
91266        Do not inset the clip rect by 1 pixel if the CTM is purely a
91267        translation.
91268        Move the shadow-casting path away in the non-rounded-rect case (it
91269        was already being done in the rounded-rect case), to avoid a black
91270        fringe when the CTM is not purely a translation.
91271
912722009-07-02  Brady Eidson  <beidson@apple.com>
91273
91274        Reviewed by Sam Weinig.
91275
91276        <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown.
91277
91278        Walk the CoreTypes UTI tree for extensions with unknown MIME types, using the first MIME type found.
91279
91280        For many types of text files (such as source code files) this ends up being text/plain.
91281
91282        * platform/network/mac/ResourceHandleMac.mm:
91283        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Tweak the logging output.
91284
91285        * platform/network/mac/WebCoreURLResponse.h:
91286        * platform/network/mac/WebCoreURLResponse.mm:
91287        (mimeTypeFromUTITree): 
91288        (webNSURLResponseMIMEType): Use mimeTypeFromUTITree() to find a UTI-based MIME type for this file's extension.
91289        (-[NSURLResponse _webcore_reportedMIMEType]): Return the actual MIME type that CFNetwork gave us.
91290
912912009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
91292
91293        Reviewed by Simon Fraser.
91294
91295        <rdar://problem/6518119>
91296
91297        Add a rewind button and hide the timeline for live broadcasts when
91298        in MediaUI mode.
91299
91300        * css/CSSPrimitiveValueMappings.h: 
91301        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Add the new pseudo element.
91302
91303        * css/CSSSelector.cpp:
91304        (WebCore::CSSSelector::extractPseudoType): Ditto.
91305        * css/CSSSelector.h: 
91306
91307        * css/CSSStyleSelector.cpp:
91308        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
91309
91310        * css/CSSValueKeywords.in: Ditto.
91311        * css/mediaControls.css: Ditto.
91312        * css/mediaControlsQT.css: Ditto.
91313
91314        * html/HTMLMediaElement.cpp:
91315        (WebCore::HTMLMediaElement::rewind): New.
91316        (WebCore::HTMLMediaElement::returnToRealTime): New.
91317        (WebCore::HTMLMediaElement::isStreaming): New.
91318        * html/HTMLMediaElement.h:
91319
91320        * page/mac/WebCoreViewFactory.h: Declare mediaElementLoadingStateText and mediaElementLiveBroadcastStateText.
91321
91322        * platform/LocalizedStrings.h: Add localized media state messages.
91323
91324        * platform/ThemeTypes.h: Add the new pseudo element.
91325
91326        * platform/mac/LocalizedStringsMac.mm: 
91327        (WebCore::mediaElementLoadingStateText): Add localized media state.
91328        (WebCore::mediaElementLiveBroadcastStateText): Ditto.
91329
91330        * platform/mac/WebCoreSystemInterface.h: Change BOOL param wkDrawMediaUIPart to an int to support
91331           multiple states.
91332        * platform/mac/WebCoreSystemInterface.mm: Ditto.
91333
91334        * rendering/MediaControlElements.cpp: 
91335        (WebCore::MediaControlElement::MediaControlElement): Deal with new elements.
91336        (WebCore::MediaControlElement::attachToParent): Ditto.
91337        (WebCore::MediaControlElement::update): Ditto.
91338        (WebCore::MediaControlElement::updateStyle): Ditto.
91339        (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement): Ditto.
91340        (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded): Ditto.
91341        (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement): Ditto.
91342        (WebCore::MediaControlStatusDisplayElement::update): Ditto.
91343        (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded): Ditto.
91344        (WebCore::MediaControlInputElement::MediaControlInputElement): Ditto.
91345        (WebCore::MediaControlInputElement::attachToParent): Ditto.
91346        (WebCore::MediaControlInputElement::updateStyle): Ditto.
91347        (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Ditto.
91348        (WebCore::MediaControlRewindButtonElement::defaultEventHandler): Ditto.
91349        (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Ditto.
91350        (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler): Ditto.
91351        (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded): Ditto.
91352        (WebCore::MediaControlTimelineElement::defaultEventHandler): Ditto.
91353        (WebCore::MediaControlTimelineElement::update): Ditto.
91354        (WebCore::MediaControlFullscreenButtonElement::rendererIsNeeded): Ditto.
91355        * rendering/MediaControlElements.h: Ditto.
91356
91357        * rendering/RenderMedia.cpp: 
91358        (WebCore::RenderMedia::styleDidChange): Deal with the new elements.
91359        (WebCore::RenderMedia::createPanel): Ditto.
91360        (WebCore::RenderMedia::createRewindButton): Ditto.
91361        (WebCore::RenderMedia::createReturnToRealtimeButton): Ditto.
91362        (WebCore::RenderMedia::createStatusDisplay): Ditto.
91363        (WebCore::RenderMedia::createTimelineContainer): Ditto.
91364        (WebCore::RenderMedia::createCurrentTimeDisplay): Ditto.
91365        (WebCore::RenderMedia::createTimeRemainingDisplay): Ditto.
91366        (WebCore::RenderMedia::updateControls): Ditto.
91367        (WebCore::RenderMedia::forwardEvent): Ditto.
91368        * rendering/RenderMedia.h:
91369
91370        * rendering/RenderTheme.cpp:
91371        (WebCore::RenderTheme::paint): Deal with the new elements.
91372
91373        * rendering/RenderTheme.h:
91374        (WebCore::RenderTheme::paintMediaRewindButton): Deal with the new elements.
91375        (WebCore::RenderTheme::paintMediaReturnToRealtimeButton): Ditto.
91376        (WebCore::RenderTheme::paintMediaControlsBackground): Ditto.
91377
91378        * rendering/RenderThemeMac.h:
91379        * rendering/RenderThemeMac.mm:
91380        (WebCore::RenderThemeMac::paintMediaRewindButton): Deal with the new elements.
91381        (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton): Ditto.
91382        (WebCore::RenderThemeMac::paintMediaControlsBackground): Ditto.
91383
91384        * rendering/style/RenderStyleConstants.h: Add constants for the new elements.
91385
913862009-07-01  John Abd-El-Malek  <jam@chromium.org>
91387
91388        Reviewed by Darin Fisher.
91389
91390        Small refactoring of MessagePortChannel so that PlatformMessagePortChannel
91391        may be defined at the WebKit layer.
91392
91393        https://bugs.webkit.org/show_bug.cgi?id=26905
91394
91395        * dom/MessageChannel.cpp:
91396        (WebCore::MessageChannel::MessageChannel):
91397        * dom/MessagePortChannel.cpp:
91398        * dom/MessagePortChannel.h:
91399        * dom/default/PlatformMessagePortChannel.cpp:
91400        (WebCore::MessagePortChannel::createChannel):
91401        (WebCore::MessagePortChannel::create):
91402        (WebCore::MessagePortChannel::MessagePortChannel):
91403        (WebCore::MessagePortChannel::~MessagePortChannel):
91404
914052009-07-01  Simon Fraser  <simon.fraser@apple.com>
91406
91407        Reviewed by Dan Bernstein.
91408
91409        <video> fails to show on http://camendesign.com/code/video_for_everybody
91410        <rdar://problem/7026010>
91411        https://bugs.webkit.org/show_bug.cgi?id=26919
91412
91413        Fix an issue introduced in r44961. In that revision we changed to only update
91414        compositing layer geometry when all siblings had been laid out (i.e. we pushed
91415        the updates one level down). However, that left out the root layer, so this
91416        fix ensures that the root layer geometry gets updated at the end.
91417
91418        Test: compositing/geometry/root-layer-update.html
91419
91420        * rendering/RenderLayerBacking.cpp:
91421        (WebCore::RenderLayerBacking::updateAfterLayout):
91422
914232009-07-01  Simon Fraser  <simon.fraser@apple.com>
91424
91425        Reviewed by Dan Bernstein
91426        
91427        <rdar://problem/7026010> <video> fails to show on http://camendesign.com/code/video_for_everybody
91428
91429        First part of fix: when outline width changes, don't to a synchronous
91430        layer update right away, but just set the flag to say that compositing
91431        layers need updating. The synchronous layer update left the layer geometries
91432        out of whack when it happened in the middle of layout (e.g. when inside ::first-letter).
91433        
91434        Test: compositing/geometry/outline-change.html
91435
91436        * rendering/RenderView.cpp:
91437        (WebCore::RenderView::setMaximalOutlineSize):
91438
914392009-07-01  Kwang Yul Seo  <skyul@company100.net>
91440
91441        Reviewed by Eric Seidel.
91442
91443        https://bugs.webkit.org/show_bug.cgi?id=26842
91444        Build fix when ENABLE_DATABASE is off
91445
91446        Move Database.h into ENABLE(DATABASE) guard so toggling ENABLE_DATABASE
91447        off does not break builds.
91448
91449        * bindings/js/ScriptObjectQuarantine.cpp:
91450
914512009-07-01  Daniel Bates  <dbates@intudata.com>
91452
91453        Reviewed by Adam Barth.
91454        
91455        https://bugs.webkit.org/show_bug.cgi?id=26899
91456        
91457        Modified XSSAuditor::decodeURL to only remove null characters so that 
91458        it is consistent with the behavior of HTMLTokenizer and prevents 
91459        injected scripts that contain control characters. 
91460
91461        Tests: http/tests/security/xssAuditor/script-tag-control-char.html
91462               http/tests/security/xssAuditor/script-tag-null-char.html
91463
91464        * page/XSSAuditor.cpp:
91465        (WebCore::XSSAuditor::decodeURL): Modified to only remove null characters. 
91466        * page/XSSAuditor.h: Reverted naming of third argument of method XSSAuditor::decodeURL
91467        from allowControlCharacters back to allowNullCharacters.
91468        * platform/network/ResourceResponseBase.cpp: Reverted back to rev #45003.
91469        (WebCore::isControlCharacter):
91470        * platform/network/ResourceResponseBase.h: Reverted back to rev #45003.  
91471
914722009-07-01  Yury Semikhatsky  <yurys@chromium.org>
91473
91474        Reviewed by Timothy Hatcher.
91475
91476        - supported keyboard shortcuts compatible with Firebug in Scripts Debugger:
91477        F5, Ctrl+/ (win,lin), Command+/ (mac) - continue
91478        F10, Ctrl+' (win, lin), Command+' (mac) - step over
91479        F11, Ctrl+; (win, lin), Command+; (mac) - step into
91480        Shift+F11, Ctrl+Shift+; (win, lin), Command+Shift+; (mac) - step out
91481
91482        - added call stack navigation shortcuts:
91483        Ctrl+. - next call frame
91484        Ctrl+, - previouse call frame
91485
91486        https://bugs.webkit.org/show_bug.cgi?id=23849
91487
91488        * inspector/front-end/CallStackSidebarPane.js:
91489        (WebInspector.CallStackSidebarPane):
91490        (WebInspector.CallStackSidebarPane.prototype.handleKeyEvent):
91491        (WebInspector.CallStackSidebarPane.prototype._selectNextCallFrameOnStack):
91492        (WebInspector.CallStackSidebarPane.prototype._selectPreviousCallFrameOnStack):
91493        (WebInspector.CallStackSidebarPane.prototype._selectedPlacardByIndex):
91494        (WebInspector.CallStackSidebarPane.prototype._selectedCallFrameIndex):
91495        * inspector/front-end/KeyboardShortcut.js: Added.
91496        (WebInspector.KeyboardShortcut):
91497        (WebInspector.KeyboardShortcut.makeKey):
91498        (WebInspector.KeyboardShortcut.makeKeyFromEvent):
91499        (WebInspector.KeyboardShortcut.makeKeyFromCodeAndModifiers_):
91500        * inspector/front-end/ScriptsPanel.js:
91501        (WebInspector.ScriptsPanel):
91502        (WebInspector.ScriptsPanel.prototype.handleKeyEvent):
91503        * inspector/front-end/WebKit.qrc:
91504        * inspector/front-end/inspector.html:
91505
915062009-07-01  Daniel Erat  <derat@google.com>
91507
91508        Reviewed by David Levin.
91509
91510        Chromium Linux: Move the scrollbar thumb on middle-click.
91511
91512        https://bugs.webkit.org/show_bug.cgi?id=26910
91513        http://code.google.com/p/chromium/issues/detail?id=11976
91514
91515        Tested by building Chrome and checking that the scrollbar moves as expected.
91516
91517        * platform/chromium/ScrollbarThemeChromium.cpp:
91518        * platform/chromium/ScrollbarThemeChromium.h:
91519        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
91520        * platform/chromium/ScrollbarThemeChromiumLinux.h:
91521        * platform/chromium/ScrollbarThemeChromiumWin.cpp:
91522        * platform/chromium/ScrollbarThemeChromiumWin.h:
91523
915242009-07-01  Brady Eidson  <beidson@apple.com>
91525
91526        Reviewed by Sam Weinig.
91527
91528        Add a preference/setting to toggle whether content sniffing is enabled for file URLs.
91529
91530        * WebCore.base.exp:
91531
91532        * page/Settings.cpp:
91533        (WebCore::Settings::setLocalFileContentSniffingEnabled):
91534        * page/Settings.h:
91535        (WebCore::Settings::localFileContentSniffingEnabled):
91536
91537        * platform/network/mac/ResourceHandleMac.mm:
91538        (WebCore::ResourceHandle::start):
91539        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
91540
915412009-07-01  Chris Fleizach  <cfleizach@apple.com>
91542
91543        Reviewed by Oliver Hunt.
91544
91545        Bug 26909: aria-label needs to be supported
91546        https://bugs.webkit.org/show_bug.cgi?id=26909
91547
91548        Test: accessibility/aria-label.html
91549
91550        * accessibility/AccessibilityRenderObject.cpp:
91551        (WebCore::AccessibilityRenderObject::accessibilityDescription):
91552        * html/HTMLAttributeNames.in:
91553
915542009-07-01  David Hyatt  <hyatt@apple.com>
91555
91556        Reviewed by Oliver Hunt.
91557
91558        More datagrid columns work.  Make sure columns cache both a style for the column header as well
91559        as a style for the column background (behind the cells).
91560
91561        Hook up to CSSStyleSelector methods for obtaining the pseudo styles for columns (stubbed out and
91562        unimplemented).
91563
91564        * css/CSSStyleSelector.cpp:
91565        (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumn):
91566        (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumnHeader):
91567        * css/CSSStyleSelector.h:
91568        * html/DataGridColumn.h:
91569        (WebCore::DataGridColumn::setColumnList):
91570        (WebCore::DataGridColumn::columnStyle):
91571        (WebCore::DataGridColumn::setColumnStyle):
91572        (WebCore::DataGridColumn::headerStyle):
91573        (WebCore::DataGridColumn::setHeaderStyle):
91574        * rendering/RenderDataGrid.cpp:
91575        (WebCore::RenderDataGrid::recalcStyleForColumn):
91576        (WebCore::RenderDataGrid::columnStyle):
91577        (WebCore::RenderDataGrid::headerStyle):
91578        (WebCore::RenderDataGrid::paintColumnHeaders):
91579        * rendering/RenderDataGrid.h:
91580
915812009-07-01  Eric Carlson  <eric.carlson@apple.com>
91582
91583        Reviewed by Oliver Hunt.
91584        
91585        <rdar://problem/7009870> After <audio> movie finishes playing, Pause button fails to change 
91586        back to Play button
91587
91588        Grab onto the current time when QTKit "ended" notification fires and use it as 
91589        duration from that point on as QuickTime sometimes refuses to play all the way to
91590        the time it reports for duration and buffered. HTMLMediaElement assumes that there
91591        more to play in this situation and tries to restart playback, endlessly.
91592
91593        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
91594            Rename m_duration to m_reportedDuration. Declare m_cachedDuration.
91595        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
91596        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
91597            Rename m_duration to m_reportedDuration. Initialize m_cachedDuration.
91598        (WebCore::MediaPlayerPrivate::duration):
91599            Return m_cachedDuration once it has been set.
91600        (WebCore::MediaPlayerPrivate::updateStates):
91601            Rename m_duration to m_reportedDuration.
91602        (WebCore::MediaPlayerPrivate::didEnd):
91603            Set m_cachedDuration to currentTime().
91604
916052009-07-01  Chris Fleizach  <cfleizach@apple.com>
91606
91607        Reviewed by Beth Dakin.
91608
91609        Bug 26900: AX: Manual spell check with Command-; does not bring up suggestions
91610        https://bugs.webkit.org/show_bug.cgi?id=26900
91611
91612        Editable web areas should have a clickpoint that uses where the selection is.
91613
91614        Test: accessibility/editable-webarea-context-menu-point.html
91615
91616        * accessibility/AccessibilityObject.h:
91617        * accessibility/AccessibilityRenderObject.cpp:
91618        (WebCore::AccessibilityRenderObject::clickPoint):
91619        * accessibility/AccessibilityRenderObject.h:
91620        * accessibility/mac/AccessibilityObjectWrapper.mm:
91621        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
91622
916232009-07-01  David Levin  <levin@chromium.org>
91624
91625        Reviewed by Eric Seidel.
91626
91627        Remove unused code in SVGTransformList and SVGTransformDistance
91628        <https://bugs.webkit.org/show_bug.cgi?id=26891>
91629
91630        * svg/SVGTransformDistance.cpp:
91631        (WebCore::SVGTransformDistance::SVGTransformDistance):
91632        * svg/SVGTransformList.cpp:
91633        * svg/SVGTransformList.h:
91634
916352009-07-01  David Hyatt  <hyatt@apple.com>
91636
91637        Reviewed by Anders Carlsson.
91638
91639        Begin stubbing out functions for layout, painting and style/geometry caching on columns.  Not enough
91640        is implemented for this to do much of anything yet, but it should help keep patch sizes down. :)
91641
91642        * html/DataGridColumn.cpp:
91643        (WebCore::DataGridColumn::columnChanged):
91644        * html/DataGridColumn.h:
91645        (WebCore::DataGridColumn::setId):
91646        (WebCore::DataGridColumn::setLabel):
91647        (WebCore::DataGridColumn::setType):
91648        (WebCore::DataGridColumn::setSortable):
91649        (WebCore::DataGridColumn::setSortDirection):
91650        (WebCore::DataGridColumn::setColumnList):
91651        (WebCore::DataGridColumn::style):
91652        (WebCore::DataGridColumn::setStyle):
91653        (WebCore::DataGridColumn::rect):
91654        (WebCore::DataGridColumn::setRect):
91655        * html/DataGridColumnList.cpp:
91656        (WebCore::DataGridColumnList::DataGridColumnList):
91657        (WebCore::DataGridColumnList::setDataGridNeedsLayout):
91658        (WebCore::DataGridColumnList::add):
91659        (WebCore::DataGridColumnList::remove):
91660        (WebCore::DataGridColumnList::move):
91661        (WebCore::DataGridColumnList::clear):
91662        (WebCore::DataGridColumnList::primaryColumnChanged):
91663        * html/DataGridColumnList.h:
91664        (WebCore::DataGridColumnList::create):
91665        (WebCore::DataGridColumnList::dataGrid):
91666        (WebCore::DataGridColumnList::clearDataGrid):
91667        * html/HTMLDataGridColElement.cpp:
91668        (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
91669        (WebCore::HTMLDataGridColElement::findDataGridAncestor):
91670        (WebCore::HTMLDataGridColElement::insertedIntoTree):
91671        (WebCore::HTMLDataGridColElement::removedFromTree):
91672        * html/HTMLDataGridColElement.h:
91673        (WebCore::HTMLDataGridColElement::dataGrid):
91674        * html/HTMLDataGridElement.cpp:
91675        (WebCore::HTMLDataGridElement::HTMLDataGridElement):
91676        (WebCore::HTMLDataGridElement::~HTMLDataGridElement):
91677        * rendering/RenderDataGrid.cpp:
91678        (WebCore::RenderDataGrid::styleDidChange):
91679        (WebCore::RenderDataGrid::recalcStyleForColumns):
91680        (WebCore::RenderDataGrid::recalcStyleForColumn):
91681        (WebCore::RenderDataGrid::styleForColumn):
91682        (WebCore::RenderDataGrid::layout):
91683        (WebCore::RenderDataGrid::layoutColumns):
91684        (WebCore::RenderDataGrid::paintColumnHeaders):
91685        (WebCore::RenderDataGrid::paintColumnHeader):
91686        * rendering/RenderDataGrid.h:
91687        (WebCore::RenderDataGrid::renderName):
91688        (WebCore::RenderDataGrid::canHaveChildren):
91689
916902009-07-01  Daniel Bates  <dbates@intudata.com>
91691
91692        Reviewed by Adam Barth.
91693
91694        https://bugs.webkit.org/show_bug.cgi?id=26807
91695        
91696        Fixes this address by checking whether frame->document()->decoder() is null. 
91697
91698        * page/XSSAuditor.cpp:
91699        (WebCore::XSSAuditor::findInRequest):
91700
917012009-07-01  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
91702
91703        Reviewed by George Staikos.
91704
91705        Fixes: https://bugs.webkit.org/show_bug.cgi?id=26885
91706
91707        Correctly reset history length to '0', not '1'. Old relict from early WML days.
91708        Add some new WML testcases covering the use of history length (by onenterforward event handling)
91709
91710        Tests: wml/onenterforward-event.html
91711               wml/onenterforward-inline-event.html
91712               wml/ontimer-event.html
91713 
91714        * wml/WMLPageState.cpp:
91715        (WebCore::WMLPageState::reset):
91716
917172009-07-01  David Hyatt  <hyatt@apple.com>
91718
91719        Reviewed by Simon Fraser.
91720
91721        Make sure setting attributes on dcol elements properly updates the corresponding DataGridColumn object.
91722
91723        Added new test in fast/dom/HTMLDataGridElement.
91724
91725        * html/HTMLDataGridColElement.cpp:
91726        (WebCore::HTMLDataGridColElement::parseMappedAttribute):
91727        * html/HTMLDataGridColElement.h:
91728
917292009-07-01  David Hyatt  <hyatt@apple.com>
91730
91731        Reviewed by Tim Hatcher.
91732
91733        <rdar://problem/6998524> REGRESSION (r44474): Form text field has focus ring, looks focused,
91734        even though the field is not actually focused for keyboard input
91735        
91736        Add the concept of whether or not the Page is focused by adding a boolean to the focusController.  This allows the
91737        focused frame and focused node to both be cached and changed programmatically even when the Page itself doesn't
91738        actually happen to have focus at that time.
91739
91740        * WebCore.base.exp:
91741        * page/FocusController.cpp:
91742        (WebCore::FocusController::FocusController):
91743        (WebCore::FocusController::setFocusedFrame):
91744        (WebCore::FocusController::setFocused):
91745        (WebCore::FocusController::setActive):
91746        * page/FocusController.h:
91747        (WebCore::FocusController::isFocused):
91748
917492009-07-01  Jakub Wieczorek  <faw217@gmail.com>
91750
91751        Reviewed by Simon Hausmann.
91752
91753        [Qt] Move some API headers from WebCore.pro to headers.pri so that they
91754        get installed when running make install from the build directory.
91755
91756        * WebCore.pro:
91757
917582009-07-01  Simon Hausmann  <simon.hausmann@nokia.com>
91759
91760        Rubber-stamped by Ariya Hidayat.
91761
91762        Ran WebKitTools/Scripts/generate-qt-inspector-resource to update the
91763        qrc file with new png files from the web inspector.
91764
91765        * inspector/front-end/WebKit.qrc:
91766
917672009-06-30  Mark Rowe  <mrowe@apple.com>
91768
91769        Land some code that has a hope of compiling.
91770
91771        * platform/graphics/cg/ImageSourceCG.cpp:
91772        (WebCore::imageSourceOptions):
91773
917742009-06-30  Stephanie Lewis  <slewis@apple.com>
91775
91776        Reviewed by Simon Fraser.
91777
91778        Flip back on block caching. Throwing away block data, while 
91779        a perceived memory win, is a performance hit in cases where we 
91780        are repainting large images (i.e. backgrounds) frequently 
91781        (i.e. a flash video playing on top).  
91782        <rdar://problem/6933515> REGRESSION(L-SL): Large JPEG images are 
91783        decoded on drawing, slowing down painting of sites that frequently 
91784        repaint e.g. because of Flash (pandora.com, Starcraft 2)
91785
91786        * platform/graphics/cg/ImageSourceCG.cpp:
91787        (WebCore::imageSourceOptions):
91788
917892009-06-30  Maciej Stachowiak  <mjs@apple.com>
91790
91791        Reviewed by Sam Weinig.
91792
91793        - Rename html4.css to html.css, since we target HTML5 now
91794        https://bugs.webkit.org/show_bug.cgi?id=26873
91795
91796        * DerivedSources.make:
91797        * GNUmakefile.am:
91798        * WebCore.pro:
91799        * WebCore.vcproj/WebCore.vcproj:
91800        * WebCore.xcodeproj/project.pbxproj:
91801        * css/CSSStyleSelector.cpp:
91802        (WebCore::loadFullDefaultStyle):
91803        * css/html.css: Copied from css/html4.css.
91804        * css/html4.css: Removed.
91805        * css/themeWin.css:
91806        * platform/Theme.h:
91807        * platform/qt/RenderThemeQt.cpp:
91808        (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
91809        * rendering/RenderTheme.h:
91810
918112009-06-30  Zan Dobersek  <zandobersek@gmail.com>
91812
91813        Reviewed by Gustavo Noronha.
91814
91815        [GTK] Drag and drop support
91816        https://bugs.webkit.org/show_bug.cgi?id=23642
91817
91818        Define DragImageRef as GdkPixbuf and implement essential
91819        functions which manipulate drag images.
91820
91821        * platform/DragImage.h:
91822        * platform/gtk/DragImageGtk.cpp:
91823        (WebCore::dragImageSize):
91824        (WebCore::deleteDragImage):
91825        (WebCore::scaleDragImage):
91826        (WebCore::createDragImageFromImage):
91827
918282009-06-30  Maxime Simon  <simon.maxime@gmail.com>
91829
91830        Reviewed by Eric Seidel.
91831
91832        StorageNamespace.cpp build issue
91833        https://bugs.webkit.org/show_bug.cgi?id=26859
91834
91835        Moved #endif //ENABLE(DOM_STORAGE) position
91836        so that the build doesn't fail.
91837        The namespace WebCore was started after the #if ENABLE(DOM_STORAGE)
91838        but closed after the #endif.
91839
91840        * storage/StorageNamespace.cpp:
91841
918422009-06-30  Eric Carlson  <eric.carlson@apple.com>
91843
91844        Reviewed by Oliver Hunt.
91845
91846        <rdar://problem/7020825> HTMLMediaElement should not assume seeking is only possible in 
91847        buffered time ranges
91848
91849        * html/HTMLMediaElement.cpp:
91850            Don't ASSERT if the network state goes to Idle when when the ready state is 
91851            HaveEnoughData or higher, it is perfectly legal.
91852        (WebCore::HTMLMediaElement::setReadyState): 
91853            Don't clear m_seeking after posting a 'seeking' event.
91854
91855        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
91856        (WebCore::MediaPlayerPrivate::seek):
91857            Do nothing when asked to seek to the same time we are already seeking to. Check requested
91858            seek time against maxTimeSeekable, not maxTimeLoaded.
91859        (WebCore::MediaPlayerPrivate::doSeek):
91860            Don't bother stopping a movie that isn't playing. Minor cleanup to make the code more readable.
91861        (WebCore::MediaPlayerPrivate::seekTimerFired):
91862            Check requested seek time against maxTimeSeekable, not maxTimeLoaded.
91863        (WebCore::MediaPlayerPrivate::updateStates):
91864            A streaming movie has as much data as it needs once it reaches "playable", so 
91865            set the ready state to HaveFutureData. A movie with metadata doesn't drop back 
91866            to "have nothing" when seeking. A streaming movie doesn't use the network when paused.
91867        (WebCore::MediaPlayerPrivate::timeChanged):
91868            It may not be possible to seek to a specific time in a streamed movie but when seeking 
91869            in a streaming movie QuickTime sets the time to closest time possible and posts a  
91870            timechanged notification, so update m_seekTo so we can detect when the seek completes.
91871
918722009-06-30  Steve Falkenburg  <sfalken@apple.com>
91873
91874        https://bugs.webkit.org/show_bug.cgi?id=26860
91875
91876        Reviewed by Sam Weinig.
91877
91878        Blacklist Yahoo Application State plug-in for versions prior to 1.0.0.6.
91879        Earlier versions cause corruption crashes.
91880
91881        * plugins/win/PluginPackageWin.cpp:
91882        (WebCore::PluginPackage::isPluginBlacklisted):
91883
918842009-06-30  Dean Jackson  <dino@apple.com>
91885
91886        Reviewed by Simon Fraser.
91887
91888        <rdar://problem/7005207> <video> in canvas broken with ACCEL_COMPOSITING
91889        
91890        Fix drawImage of video in CanvasRenderingContext2D when
91891        accelerated compositing is enabled. This is done by
91892        adding a new paint method to HTMLVideoElement that
91893        is only called from canvas, which will create the software
91894        renderer if necessary, but otherwise calls the regular
91895        paint method. Meanwhile, add logic to the software video
91896        renderer so that it can be created without calling repaint
91897        every time it sees a new frame.
91898        
91899        * html/CanvasRenderingContext2D.cpp:
91900        (WebCore::CanvasRenderingContext2D::drawImage):
91901        * html/HTMLVideoElement.cpp:
91902        (WebCore::HTMLVideoElement::paintCurrentFrameInContext):
91903        * html/HTMLVideoElement.h:
91904        * platform/graphics/MediaPlayer.cpp:
91905        (WebCore::MediaPlayer::paintCurrentFrameInContext):
91906        * platform/graphics/MediaPlayer.h:
91907        * platform/graphics/MediaPlayerPrivate.h:
91908        (WebCore::MediaPlayerPrivateInterface::paintCurrentFrameInContext):
91909        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
91910        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
91911        (WebCore::MediaPlayerPrivate::createQTMovie):
91912        (WebCore::MediaPlayerPrivate::createQTVideoRenderer):
91913        (WebCore::MediaPlayerPrivate::currentRenderingMode):
91914        (WebCore::MediaPlayerPrivate::setUpVideoRendering):
91915        (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
91916        (WebCore::MediaPlayerPrivate::paintCurrentFrameInContext):
91917
919182009-06-30  David Hyatt  <hyatt@apple.com>
91919
91920        Reviewed by Beth Dakin.
91921
91922        https://bugs.webkit.org/show_bug.cgi?id=26858
91923
91924        Get <dcol> elements reflected into the datagrid's column list.  Make sure columns get added/removed
91925        properly.  (Attribute changes are still not caught.  That is coming in a separate patch.)
91926
91927        Added fast/dom/HTMLDataGridElement/DataGridColumns-dom.html
91928
91929        * html/DataGridColumn.h:
91930        (WebCore::DataGridColumn::create):
91931        (WebCore::DataGridColumn::setColumnList):
91932        (WebCore::DataGridColumn::DataGridColumn):
91933        * html/DataGridColumnList.cpp:
91934        (WebCore::DataGridColumnList::add):
91935        (WebCore::DataGridColumnList::remove):
91936        (WebCore::DataGridColumnList::clear):
91937        * html/DataGridColumnList.h:
91938        * html/HTMLDataGridColElement.cpp:
91939        (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
91940        (WebCore::HTMLDataGridColElement::findDatagridAncestor):
91941        (WebCore::HTMLDataGridColElement::ensureColumn):
91942        (WebCore::HTMLDataGridColElement::insertedIntoTree):
91943        (WebCore::HTMLDataGridColElement::removedFromTree):
91944        (WebCore::HTMLDataGridColElement::sortable):
91945        (WebCore::HTMLDataGridColElement::setSortable):
91946        * html/HTMLDataGridColElement.h:
91947        (WebCore::HTMLDataGridColElement::column):
91948        (WebCore::HTMLDataGridColElement::setColumn):
91949        (WebCore::HTMLDataGridColElement::datagrid):
91950        * html/HTMLDataGridElement.cpp:
91951        (WebCore::HTMLDataGridElement::setDataSource):
91952        (WebCore::HTMLDataGridElement::dataSource):
91953
919542009-06-30  Jeremy Orlow (jorlow@chromium.org)
91955
91956        Reviewed by David Levin.
91957
91958        https://bugs.webkit.org/show_bug.cgi?id=26852
91959
91960        Fix some minor build issues in the v8 bindings.
91961
91962        * bindings/v8/custom/V8StorageCustom.cpp:
91963        (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
91964        (WebCore::storageGetter):
91965        (WebCore::storageSetter):
91966        (WebCore::storageDeleter):
91967        * storage/StorageArea.cpp:
91968
919692009-06-30  Adam Langley  <agl@google.com>
91970
91971        Reviewed by Eric Seidel.
91972
91973        Chromium Linux: use different fonts for each script run.
91974
91975        https://bugs.webkit.org/show_bug.cgi?id=26853
91976
91977        Previously, when rendering complex text, we picked a single font which
91978        could render all the glyphs needed for the run. However, this meant
91979        that sometimes lines were rendered with, for example, [LATIN, THAI,
91980        LATIN] and we could end up with a different font for the Latin parts
91981        than for lines without Thai in them.
91982
91983        With this patch, we pick a font for each script run.
91984
91985        This change is covered by existing layout tests.
91986
91987        * platform/graphics/chromium/FontLinux.cpp:
91988        (WebCore::Font::drawGlyphs):
91989        (WebCore::TextRunWalker::TextRunWalker):
91990        (WebCore::TextRunWalker::~TextRunWalker):
91991        (WebCore::TextRunWalker::nextScriptRun):
91992        (WebCore::TextRunWalker::fontPlatformDataForScriptRun):
91993        (WebCore::TextRunWalker::setupFontForScriptRun):
91994        (WebCore::TextRunWalker::allocHarfbuzzFont):
91995        (WebCore::setupForTextPainting):
91996        (WebCore::Font::drawComplexText):
91997        (WebCore::Font::floatWidthForComplexText):
91998        (WebCore::Font::offsetForPositionForComplexText):
91999        (WebCore::Font::selectionRectForComplexText):
92000        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
92001        (WebCore::FontPlatformData::setupPaint):
92002
920032009-06-30  Simon Fraser  <simon.fraser@apple.com>
92004
92005        Reviewed by Dave Hyatt, Dan Bernstein.
92006        
92007        <rdar://problem/6191676> Redraw issues scrolling overflow:scroll div with compositing
92008
92009        There are two parts to this fix. First, if a compositing layer has overflow clipping
92010        or a mask, then the compositing layer does not need to be sized to encompass all
92011        non-composited children.
92012        
92013        Second, when scrolling, we have to back up to the compositing ancestor and have
92014        it reposition descendant compositing layers, because overflow doesn't follow
92015        the z-order tree.
92016        
92017        Test: compositing/overflow/overflow-scroll.html
92018
92019        * page/FrameView.cpp:
92020        (WebCore::FrameView::layout):
92021        Pass the UpdateCompositingLayers flag when updating layers after layout, so that
92022        we can reposition compositing layers if we're not about to do a layer rebuild.
92023        
92024        * rendering/RenderLayer.cpp:
92025        (WebCore::RenderLayer::updateLayerPositions):
92026        Only update compositing layers if the flag is set.
92027        
92028        (WebCore::RenderLayer::scrollToOffset):
92029        Do compositing layer updates from the compositing ancestor in one fell swoop.
92030
92031        * rendering/RenderLayer.h:
92032        Replace the unused FullUpdate flag with one that allows us to specify whether
92033        compositing layers should be updated.
92034        
92035        * rendering/RenderLayerBacking.cpp:
92036        (WebCore::RenderLayerBacking::updateAfterLayout):
92037        * rendering/RenderLayerBacking.h:
92038        New param that we can pass to updateCompositingDescendantGeometry to control
92039        whether the update goes deep.
92040
92041        * rendering/RenderLayerCompositor.cpp:
92042        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
92043        We can return earlier if this is not a self-painting layer.
92044        If the layer has overflow clip or a mask, then the composited bounds are just the
92045        local bounds, excluding descendants.
92046        
92047        (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
92048        * rendering/RenderLayerCompositor.h:
92049        Renamed from updateCompositingChildrenGeometry, and added a flag that allows
92050        us to do a deep update.
92051
920522009-06-30  Alexey Proskuryakov  <ap@webkit.org>
92053
92054        Reviewed by Dan Bernstein.
92055
92056        https://bugs.webkit.org/show_bug.cgi?id=26764
92057        Uncaught NOT_FOUND_ERR: DOMException 8 loading empty text file
92058
92059        Test: fast/parser/empty-text-resource.html
92060
92061        * loader/TextDocument.cpp: (WebCore::TextTokenizer::finish): Create document tree if it
92062        hasn't been created yet.
92063
920642009-06-30  Brian Weinstein  <bweinstein@apple.com>
92065
92066        Reviewed by Adam Roben.
92067
92068        Renamed scrollbarUnderPoint to scrollbarAtPoint.
92069
92070        * page/EventHandler.cpp:
92071        (WebCore::EventHandler::hitTestResultAtPoint):
92072        (WebCore::EventHandler::handleMousePressEvent):
92073        (WebCore::EventHandler::handleMouseMoveEvent):
92074        * platform/ScrollView.cpp:
92075        (WebCore::ScrollView::scrollbarAtPoint):
92076        * platform/ScrollView.h:
92077        * platform/chromium/PopupMenuChromium.cpp:
92078        (WebCore::PopupListBox::handleMouseDownEvent):
92079        (WebCore::PopupListBox::handleMouseMoveEvent):
92080
920812009-06-30  Oliver Hunt  <oliver@apple.com>
92082
92083        Reviewed by Geoff Garen.
92084
92085        <rdar://problem/6960286> CrashTracer: [REGRESSION] 1120 crashes in Safari at com.apple.WebCore WebCore::JSLazyEventListener::parseCode const 62
92086
92087        <select> elements and other elements the produce popups can keep their popups
92088        live across a page load.  If this occurs and the <select> element has an
92089        onchange handler it is possible to get into a state where we try to execute
92090        JS on a page that no longer has an execution context. 
92091
92092        * bindings/js/JSLazyEventListener.cpp:
92093        (WebCore::JSLazyEventListener::parseCode):
92094          Be paranoid and add a null check, but assert as well because we shouldn't
92095          actually get to this point.
92096        * rendering/RenderMenuList.cpp:
92097        (WebCore::RenderMenuList::valueChanged):
92098
920992009-06-30  Drew Wilson  <atwilson@google.com>
92100
92101        Reviewed by David Levin.
92102
92103        <https://bugs.webkit.org/show_bug.cgi?id=25435>
92104
92105        Added support for sending MessagePorts to/from Workers via postMessage().
92106
92107        * bindings/js/JSWorkerContextCustom.cpp:
92108        (WebCore::JSWorkerContext::messageChannel):
92109        Exposes MessageChannel constructor WorkerContext.
92110        * bindings/js/JSWorkerCustom.cpp:
92111        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
92112        (WebCore::CALLBACK_FUNC_DECL):
92113        Now correctly handles being instantiated from within a Worker.
92114       * platform/CrossThreadCopier.h:
92115        (WebCore::GenericWorkerTaskTraits<PassOwnPtr>):
92116        Added support for passing PassOwnPtr as argument to GenericWorkerTask
92117       * workers/GenericWorkerTask.h:
92118        (WebCore::):
92119        * workers/Worker.cpp:
92120        (WebCore::Worker::postMessage):
92121        Now handles disentangling/entangling MessagePorts sent to/from via postMessage.
92122        (WebCore::Worker::dispatchMessage):
92123        * workers/Worker.h:
92124        * workers/Worker.idl:
92125        Added an optional MessagePort argument to postMessage()
92126        * workers/WorkerContext.cpp:
92127        (WebCore::WorkerContext::hasPendingActivity):
92128        Workers now report pending activity whenever there are remotely entangled ports.
92129        (WebCore::WorkerContext::postMessage):
92130        Now handles disentangling/entangling MessagePorts sent to/from via postMessage.
92131        (WebCore::WorkerContext::dispatchMessage):
92132        * workers/WorkerContext.h:
92133        * workers/WorkerContext.idl:
92134        Added an optional MessagePort argument to postMessage()
92135        * workers/WorkerContextProxy.h:
92136        * workers/WorkerMessagingProxy.cpp:
92137        Updated messaging infrastructure to transport an optional MessagePort/MessagePortChannel.
92138        (WebCore::MessageWorkerContextTask::create):
92139        (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
92140        (WebCore::MessageWorkerContextTask::performTask):
92141        (WebCore::MessageWorkerTask::create):
92142        (WebCore::MessageWorkerTask::MessageWorkerTask):
92143        (WebCore::MessageWorkerTask::performTask):
92144        (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
92145        (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
92146        * workers/WorkerMessagingProxy.h:
92147        Added additional postMessage() API that accepts a MessagePort
92148        * workers/WorkerObjectProxy.h:
92149        Added additional postMessage() API that accepts a MessagePort
92150
921512009-06-30  Adam Langley  <agl@google.com>
92152
92153        Reviewed by Eric Seidel.
92154
92155        Chromium: Add complex text support on Linux.
92156
92157        https://bugs.webkit.org/show_bug.cgi?id=25068
92158
92159        This patch adds complex text support on Linux using Harfbuzz. It's not
92160        the fastest code possible: some caching of font tables will certainly
92161        be required. However, it's probably the simplest code that works.
92162
92163        This will require checking in new baselines in the Chromium tree for
92164        those layout tests which now pass.
92165
92166        * platform/graphics/chromium/FontLinux.cpp:
92167        (WebCore::Font::drawGlyphs):
92168        (WebCore::truncateFixedPointToInteger):
92169        (WebCore::TextRunWalker::TextRunWalker):
92170        (WebCore::TextRunWalker::~TextRunWalker):
92171        (WebCore::TextRunWalker::reset):
92172        (WebCore::TextRunWalker::setXOffsetToZero):
92173        (WebCore::TextRunWalker::rtl):
92174        (WebCore::TextRunWalker::setBackwardsIteration):
92175        (WebCore::TextRunWalker::nextScriptRun):
92176        (WebCore::TextRunWalker::glyphs):
92177        (WebCore::TextRunWalker::length):
92178        (WebCore::TextRunWalker::xPositions):
92179        (WebCore::TextRunWalker::advances):
92180        (WebCore::TextRunWalker::width):
92181        (WebCore::TextRunWalker::logClusters):
92182        (WebCore::TextRunWalker::numCodePoints):
92183        (WebCore::TextRunWalker::widthOfFullRun):
92184        (WebCore::TextRunWalker::allocHarfbuzzFont):
92185        (WebCore::TextRunWalker::deleteGlyphArrays):
92186        (WebCore::TextRunWalker::createGlyphArrays):
92187        (WebCore::TextRunWalker::expandGlyphArrays):
92188        (WebCore::TextRunWalker::shapeGlyphs):
92189        (WebCore::TextRunWalker::setGlyphXPositions):
92190        (WebCore::setupForTextPainting):
92191        (WebCore::fontPlatformDataForTextRun):
92192        (WebCore::Font::drawComplexText):
92193        (WebCore::Font::floatWidthForComplexText):
92194        (WebCore::glyphIndexForXPositionInScriptRun):
92195        (WebCore::Font::offsetForPositionForComplexText):
92196        (WebCore::Font::selectionRectForComplexText):
92197        * platform/graphics/chromium/HarfbuzzSkia.cpp: Added.
92198        (WebCore::SkiaScalarToHarfbuzzFixed):
92199        (WebCore::stringToGlyphs):
92200        (WebCore::glyphsToAdvances):
92201        (WebCore::canRender):
92202        (WebCore::getOutlinePoint):
92203        (WebCore::getGlyphMetrics):
92204        (WebCore::getFontMetric):
92205        (WebCore::harfbuzzSkiaGetTable):
92206
922072009-06-30  Eric Carlson  <eric.carlson@apple.com>
92208
92209        Reviewed by Simon Fraser.
92210
92211        <rdar://problem/7019799> Slow loading MediaDocument can fall back to plug-in unnecessarily
92212
92213        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
92214        (WebCore::MediaPlayerPrivate::updateStates):
92215            Always fall back to a plug-in if m_hasUnsupportedTracks is set.
92216        (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
92217            Set m_hasUnsupportedTracks if we disable a track.
92218
922192009-06-30  Nate Chapin  <japhet@chromium.org>
92220
92221        Reviewed by Dimitri Glazkov.
92222
92223        Fix inverted if/else that's causing a layout test in src.chromium.org to fail.
92224
92225        https://bugs.webkit.org/show_bug.cgi?id=26820
92226
92227        * bindings/v8/V8Proxy.cpp:
92228        (WebCore::GCPrologueVisitor::visitDOMWrapper): if (port2), not if (!port2).
92229
922302009-06-30  Dan Bernstein  <mitz@apple.com>
92231
92232        Reviewed by Dave Hyatt.
92233
92234        - fix <rdar://problem/6946611> REGRESSION (r30673): Shade10:" D_Snap
92235          to Grid" window is clipping
92236
92237        Added an app-specific quirk to revert the behavior of <link> elements
92238        to the way it was before r30673, namely that if the rel attribute
92239        is not "stylesheet" but the type attribute contains "text/css", the
92240        link behaves as a stylesheet link.
92241
92242        * WebCore.base.exp: Exported setTreatsAnyTextCSSLinkAsStylesheet().
92243        * html/HTMLLinkElement.cpp:
92244        (WebCore::HTMLLinkElement::process): Check
92245            Settings::treatsAnyTextCSSLinkAsStylesheet() and if true, allow a
92246            style sheet link if the type contains "text/css".
92247        * page/Settings.cpp:
92248        (WebCore::Settings::Settings):
92249            Initialize m_treatsAnyTextCSSLinkAsStylesheet.
92250        (WebCore::Settings::setTreatsAnyTextCSSLinkAsStylesheet): Added.
92251        * page/Settings.h:
92252        (WebCore::Settings::treatsAnyTextCSSLinkAsStylesheet): Added.
92253
922542009-06-30  Adrien Nader  <camaradetux@gmail.com>
92255
92256        Reviewed by Xan Lopez.
92257
92258        Fix typo in GNUMakefile.am: it reads WebCOre instead of WebCore.
92259
92260        * GNUmakefile.am:
92261
922622009-06-30  Jan Michael Alonzo  <jmalonzo@webkit.org>
92263
92264        Reviewed by Xan Lopez.
92265
92266        [Gtk] Turn on ENABLE_DATAGRID so we can run the layout tests.
92267
92268        * GNUmakefile.am:
92269
922702009-06-30  Raju Kunnath  <raju.kunnath@nokia.com>
92271
92272        Reviewed by Simon Hausmann.
92273
92274        <https://bugs.webkit.org/show_bug.cgi?id=26752>
92275
92276        [Qt] Windows release build issue with Qt4.5 due to -GL flag on msvc2005 and msvc2008. 
92277
92278        * WebCore.pro: Removed -GL compiler option for win32-msvc2005|win32-msvc2008.
92279
922802009-06-30  Xan Lopez  <xlopez@igalia.com>
92281
92282        Reviewed by Jan Alonzo.
92283
92284        Initialize member variables in the right order. Fixes compiler
92285        warning.
92286
92287        * platform/image-decoders/bmp/BMPImageReader.cpp:
92288        (WebCore::BMPImageReader::BMPImageReader):
92289
922902009-06-29  Xan Lopez  <xlopez@igalia.com>
92291
92292        Reviewed by David Levin.
92293
92294        https://bugs.webkit.org/show_bug.cgi?id=26831
92295        Fix compiler warning in WorkerLoaderProxy.h
92296
92297        Forward declaration of a class within a class is not allowed,
92298        since the compiler can't know if the declaration is legal at that
92299        point. This gives the following compiler warning:
92300
92301        ../../WebCore/workers/WorkerLoaderProxy.h:40: warning: declaration
92302        "class WebCore::ScriptExecutionContext::Task" does not declare
92303        anything
92304
92305        Include the full ScriptExecutionHeader header instead.
92306
92307        * workers/WorkerLoaderProxy.h:
92308
923092009-06-29  Xan Lopez  <xlopez@igalia.com>
92310
92311        Reviewed by Jan Alonzo.
92312
92313        Remove unused function.
92314
92315        * plugins/gtk/PluginPackageGtk.cpp:
92316
923172009-06-29  Simon Fraser  <simon.fraser@apple.com>
92318
92319        Reviewed by Dan Bernstein.
92320
92321        Change RenderLayer::updateLayerPositions() to use a bitmask instead of two
92322        boolean arguments. FullUpdate is unused at present, but will be used soon.
92323
92324        * page/FrameView.cpp:
92325        (WebCore::FrameView::layout):
92326        * rendering/RenderLayer.cpp:
92327        (WebCore::RenderLayer::updateLayerPositions):
92328        (WebCore::RenderLayer::scrollToOffset):
92329        * rendering/RenderLayer.h:
92330        (WebCore::RenderLayer::):
92331
923322009-06-29  Nate Chapin  <japhet@chromium.org>
92333
92334        Reviewed by Dimitri Glazkov.
92335
92336        Fix one more bad merge in V8Proxy.
92337
92338        https://bugs.webkit.org/show_bug.cgi?id=26819
92339
92340        * bindings/v8/V8Proxy.cpp:
92341        (WebCore::V8Proxy::setDOMException): setDOMExceptionHelper() instead of convertToV8Object().
92342
923432009-06-29  Sam Weinig  <sam@webkit.org>
92344
92345        Reviewed by Mark Rowe.
92346
92347        Remove more unused scons support.
92348
92349        * SConstruct: Removed.
92350
923512009-06-29  Sam Weinig  <sam@webkit.org>
92352
92353        Reviewed by Dave Hyatt.
92354
92355        Fix some incorrect create functions.
92356
92357        * html/DataGridColumn.h:
92358        (WebCore::DataGridColumn::create):
92359        * html/DataGridColumnList.h:
92360        (WebCore::DataGridColumnList::create):
92361
923622009-06-29  Sam Weinig  <sam@webkit.org>
92363
92364        Reviewed by Dave Hyatt.
92365
92366        Remove initialize method from DataGridDataSource and add
92367        DOMDataGridDataSource.
92368
92369        * GNUmakefile.am:
92370        * WebCore.pro:
92371        * WebCore.vcproj/WebCore.vcproj:
92372        * WebCore.xcodeproj/project.pbxproj:
92373        * WebCoreSources.bkl:
92374        * bindings/js/JSDataGridDataSource.cpp:
92375        * bindings/js/JSDataGridDataSource.h:
92376        * bindings/js/JSHTMLDataGridElementCustom.cpp:
92377        (WebCore::JSHTMLDataGridElement::setDataSource):
92378        * html/DOMDataGridDataSource.cpp: Added.
92379        (WebCore::DOMDataGridDataSource::DOMDataGridDataSource):
92380        (WebCore::DOMDataGridDataSource::~DOMDataGridDataSource):
92381        * html/DOMDataGridDataSource.h: Added.
92382        (WebCore::DOMDataGridDataSource::create):
92383        (WebCore::DOMDataGridDataSource::isDOMDataGridDataSource):
92384        (WebCore::asDOMDataGridDataSource):
92385        * html/DataGridDataSource.h:
92386        (WebCore::DataGridDataSource::isDOMDataGridDataSource):
92387        (WebCore::DataGridDataSource::isJSDataGridDataSource):
92388        * html/HTMLDataGridElement.cpp:
92389        (WebCore::HTMLDataGridElement::HTMLDataGridElement):
92390        (WebCore::HTMLDataGridElement::setDataSource):
92391        (WebCore::HTMLDataGridElement::dataSource):
92392        * html/HTMLDataGridElement.h:
92393
923942009-06-29  Nate Chapin  <japhet@chromium.org>
92395
92396        Reviewed by Dimitri Glazkov.
92397
92398        Fix a couple of bad merge items from my previous V8Proxy patch.
92399
92400        https://bugs.webkit.org/show_bug.cgi?id=26813
92401
92402        * bindings/v8/V8Collection.h:
92403        (WebCore::nodeCollectionNamedPropertyGetter):  Fix a bad function name that slipped through.
92404        * bindings/v8/V8Proxy.cpp:
92405        (WebCore::V8Proxy::setDOMException):  Fix a bad merge that caused a couple of lines of extraneous, breaking code to get in.
92406
924072009-06-29  Chris Marrin  <cmarrin@apple.com>
92408
92409        Reviewed by Simon Fraser  <simon.fraser@apple.com>.
92410
92411        https://bugs.webkit.org/show_bug.cgi?id=26706
92412
92413        Fixed crash due to dereference of m_toStyle
92414
92415        * page/animation/ImplicitAnimation.cpp:
92416        (WebCore::ImplicitAnimation::isTargetPropertyEqual):
92417
924182009-06-29  Eric Carlson  <eric.carlson@apple.com>
92419
92420        Reviewed by Simon Fraser.
92421
92422        <rdar://problem/7014813> Ask media engine if a movie is streamed or downloaded.
92423
92424        * WebCore.base.exp: 
92425            Export _wkQTMovieGetType
92426
92427        * platform/graphics/MediaPlayer.cpp:
92428        (WebCore::MediaPlayer::hasSingleSecurityOrigin):
92429            Move to keep with other non-callback functions.
92430        (WebCore::MediaPlayer::movieLoadType):
92431            New, returns the movie type.
92432        * platform/graphics/MediaPlayer.h:
92433            Declare MovieLoadType enum and movieLoadType method.
92434
92435        * platform/graphics/MediaPlayerPrivate.h:
92436        (WebCore::MediaPlayerPrivateInterface::movieLoadType):
92437            Default implementation of movieLoadType
92438
92439        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
92440        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
92441        (WebCore::MediaPlayerPrivate::createQTMovie):
92442            Don't base m_isStreaming on protocol, there are other types of streaming movies.
92443        (WebCore::MediaPlayerPrivate::maxTimeBuffered):
92444            Don't assume all streams are unbuffered.
92445        (WebCore::MediaPlayerPrivate::updateStates):
92446            Update m_isStreaming once we have metadata.
92447        (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
92448            Tracks that are disabled to begin with shouldn't be included in m_enabledTrackCount.
92449        (WebCore::MediaPlayerPrivate::movieLoadType):
92450            New, return movie type.
92451
92452        * platform/mac/WebCoreSystemInterface.h:
92453        * platform/mac/WebCoreSystemInterface.mm:
92454            Add wkQTMovieGetType.
92455
924562009-06-29  Alice Liu  <alice.liu@apple.com>
92457
92458        Fixed <rdar://problem/6930280> Reproducible crash at USA Today photo gallery
92459
92460        Reviewed by Anders Carlsson.
92461
92462        No test added because the crash requires a flash plugin
92463
92464        * plugins/win/PluginMessageThrottlerWin.cpp:
92465        Rely on the hWnd of the plugin to tell us whether the PluginView has 
92466        been deleted during execution of its wndProc.
92467        (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
92468
924692009-06-29  Dmitry Titov  <dimich@chromium.org>
92470
92471        Reviewed by David Levin.
92472
92473        https://bugs.webkit.org/show_bug.cgi?id=26811
92474         [Chromium] Remove a flag and functions used to enable workers in runtime.
92475
92476        * bindings/v8/WorkerContextExecutionProxy.cpp:
92477        * bindings/v8/WorkerContextExecutionProxy.h:
92478
924792009-06-29  Simon Fraser  <simon.fraser@apple.com>
92480
92481        Reviewed by Dave Hyatt.
92482        
92483        <rdar://problem/6976712> Text antialiasing problems when rendering into compositing layers.
92484        
92485        Improve the appearance of text in compositing layers by making use of
92486        CA's layer geometry flipping, rather that doing it ourselves with a flip
92487        transform. This allows CG to use font autohinting in the layer text.
92488
92489        * platform/graphics/GraphicsLayer.h:
92490        (WebCore::GraphicsLayer::setGeometryOrientation):
92491        (WebCore::GraphicsLayer::geometryOrientation):
92492        New methods to set whether this layer uses flipped geometry.
92493        
92494        * platform/graphics/mac/GraphicsLayerCA.h:
92495        * platform/graphics/mac/GraphicsLayerCA.mm:
92496        (WebCore::GraphicsLayerCA::setGeometryOrientation):
92497        (WebCore::GraphicsLayerCA::geometryOrientation):
92498        Subclass in order to call into CA
92499        
92500        (WebCore::GraphicsLayerCA::setContentsLayer):
92501        Now that CA is doing the geometry flipping, we no longer need to flip the content
92502        layers for image and video manually
92503        
92504        * rendering/RenderLayerCompositor.cpp:
92505        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
92506        Turn on flipping on the root layer.
92507
925082009-06-29  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
92509
92510        Reviewed by Adam Treat.
92511
92512        Fixes: https://bugs.webkit.org/show_bug.cgi?id=26246
92513
92514        Implement most WML specific <select> element features.
92515        Add 'iname' / 'ivalue' support and support variable references.
92516
92517        Add two tests covering most select/variable related functionality.
92518        Needs more tests when adding full 'iname' / 'ivalue' support (used in conjuction with onpick).
92519
92520        Tests: http/tests/wml/post-data-to-server.html
92521               wml/select-element-variables.html
92522
92523        * dom/SelectElement.cpp:
92524        (WebCore::SelectElement::optionCount): Refactored from HTMLSelectElement::length() for use within HTML & WML.
92525        * dom/SelectElement.h:
92526        * html/HTMLSelectElement.cpp:
92527        (WebCore::HTMLSelectElement::length): Use new SelectElement::optionCount() function. (no functional changes for HTML).
92528        * wml/WMLCardElement.cpp:
92529        (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): Activated commented code taking care of WMLSelectElement initialization.
92530        * wml/WMLSelectElement.cpp: Add a bunch of new code handling WML specific feature processing.
92531        (WebCore::WMLSelectElement::title):
92532        (WebCore::WMLSelectElement::formControlName):
92533        (WebCore::WMLSelectElement::defaultEventHandler):
92534        (WebCore::WMLSelectElement::selectInitialOptions):
92535        (WebCore::WMLSelectElement::calculateDefaultOptionIndices):
92536        (WebCore::WMLSelectElement::selectDefaultOptions):
92537        (WebCore::WMLSelectElement::initializeVariables):
92538        (WebCore::WMLSelectElement::updateVariables):
92539        (WebCore::WMLSelectElement::parseIndexValueString):
92540        (WebCore::WMLSelectElement::valueStringToOptionIndices):
92541        (WebCore::WMLSelectElement::optionIndicesToValueString):
92542        (WebCore::WMLSelectElement::optionIndicesToString):
92543        (WebCore::WMLSelectElement::name):
92544        (WebCore::WMLSelectElement::value):
92545        (WebCore::WMLSelectElement::iname):
92546        (WebCore::WMLSelectElement::ivalue):
92547        * wml/WMLSelectElement.h:
92548
925492009-06-29  David Hyatt  <hyatt@apple.com>
92550
92551        Reviewed by Adam Roben.
92552
92553        Put <datagrid> behind an ifdef.
92554
92555        * Configurations/FeatureDefines.xcconfig:
92556        * bindings/js/JSDataGridColumnListCustom.cpp:
92557        * bindings/js/JSDataGridDataSource.cpp:
92558        * bindings/js/JSDataGridDataSource.h:
92559        * bindings/js/JSHTMLDataGridElementCustom.cpp:
92560        * html/DataGridColumn.cpp:
92561        * html/DataGridColumn.h:
92562        * html/DataGridColumn.idl:
92563        * html/DataGridColumnList.cpp:
92564        * html/DataGridColumnList.h:
92565        * html/DataGridColumnList.idl:
92566        * html/DataGridDataSource.h:
92567        * html/HTMLDataGridCellElement.cpp:
92568        * html/HTMLDataGridCellElement.h:
92569        * html/HTMLDataGridCellElement.idl:
92570        * html/HTMLDataGridColElement.cpp:
92571        * html/HTMLDataGridColElement.h:
92572        * html/HTMLDataGridColElement.idl:
92573        * html/HTMLDataGridElement.cpp:
92574        * html/HTMLDataGridElement.h:
92575        * html/HTMLDataGridElement.idl:
92576        * html/HTMLDataGridRowElement.cpp:
92577        * html/HTMLDataGridRowElement.h:
92578        * html/HTMLDataGridRowElement.idl:
92579        * html/HTMLTagNames.in:
92580        * page/DOMWindow.idl:
92581        * rendering/RenderDataGrid.cpp:
92582        * rendering/RenderDataGrid.h:
92583
925842009-06-29  Simon Hausmann  <simon.hausmann@nokia.com>
92585
92586        Reviewed by Ariya Hidayat and Adam Roben.
92587
92588        Fix compilation with MINGW. Ported MSVC inline assembly to
92589        GNU inline assembly. Also fixed casting errors where gcc
92590        refused to cast a pointer-to-function to a pointer-to-object,
92591        without an intermediate cast to a non-pointer type.
92592
92593        * plugins/win/PluginViewWin.cpp:
92594        (WebCore::PluginView::hookedBeginPaint):
92595        (WebCore::PluginView::hookedEndPaint):
92596        (WebCore::hook):
92597        (WebCore::setUpOffscreenPaintingHooks):
92598
925992009-06-26  John Sullivan  <sullivan@apple.com>
92600
92601        Added Speech submenu to context menu on Mac when there's a non-editable selection
92602        (it was already present when there's an editable selection). 
92603        Also added support for disabling "Stop Speaking" when there is no speaking to stop.
92604
92605        Reviewed by Tim Hatcher.
92606
92607        * loader/EmptyClients.h:
92608        (WebCore::EmptyContextMenuClient::isSpeaking):
92609        implemented this new virtual function to return false
92610        
92611        * page/ContextMenuClient.h:
92612        declared this new pure virtual function
92613        
92614        * platform/ContextMenu.cpp:
92615        (WebCore::ContextMenu::populate):
92616        insert Speech item (after a separator) on Mac when there's selected non-editable text
92617        (WebCore::ContextMenu::checkOrEnableIfNeeded):
92618        enable Stop Speaking item only if the context menu client returns true for isSpeaking()
92619
926202009-06-28  Dan Bernstein  <mitz@apple.com>
92621
92622        Reviewed by Simon Fraser.
92623
92624        - fix https://bugs.webkit.org/show_bug.cgi?id=26783
92625          <rdar://problem/7014543> REGRESSION (r45296): Subfolders not displayed
92626          in MobileMe iDisk Web App
92627
92628        Test: added a case to fast/dom/Element/scrollWidth.html
92629
92630        Ensure that scroll{Width, Height} is greater or equal to
92631        client{Width, Height}.
92632
92633        * rendering/RenderBox.cpp:
92634        (WebCore::RenderBox::scrollWidth):
92635        (WebCore::RenderBox::scrollHeight):
92636
926372009-06-27  Simon Fraser  <simon.fraser@apple.com>
92638
92639        Reviewed by Eric Seidel.
92640
92641        https://bugs.webkit.org/show_bug.cgi?id=26780
92642        
92643        Do not make compositing layers for non-self-painting RenderLayers,
92644        since these exist only to push a clip onto the clipping stack. If such
92645        a layer gets compositied for some other reason, it should not paint.
92646        
92647        Also ensure that we update composited layer positions correctly
92648        inside overflow:scroll layers. We can't assume that the contents
92649        are child layers, so we have to go up to the compositing ancestor,
92650        and tell it to update all its child layer positions as we do 
92651        after layout.
92652
92653        Tests: compositing/layers-inside-overflow-scroll.html
92654               compositing/self-painting-layers.html
92655
92656        * rendering/RenderLayer.cpp:
92657        (WebCore::RenderLayer::scrollToOffset):
92658        * rendering/RenderLayerBacking.cpp:
92659        (WebCore::RenderLayerBacking::paintIntoLayer):
92660        * rendering/RenderLayerCompositor.cpp:
92661        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
92662        (WebCore::RenderLayerCompositor::needsToBeComposited):
92663
926642009-06-28  Luke Kenneth Casson Leighton  <lkcl@lkcl.net>
92665
92666        Reviewed by Eric Seidel.
92667
92668        PurgeableBuffer #defines leave out functions on gtk MacOSX 10.4 build
92669        https://bugs.webkit.org/show_bug.cgi?id=23057
92670
92671        Define these functions for Gtk as well.
92672
92673        * platform/PurgeableBuffer.h:
92674
926752009-06-28  Nate Chapin  <japhet@chromium.org>
92676
92677        Reviewed by Dimitri Glazkov.
92678
92679        Update CodeGeneratorV8.pm to match the new api for V8Proxy.
92680
92681        https://bugs.webkit.org/show_bug.cgi?id=26765
92682
92683        * bindings/scripts/CodeGeneratorV8.pm: Match the current version of V8Proxy.
92684
926852009-06-28  Nicolas Sylvain  <nsylvain@chromium.org>
92686
92687        Reviewed by Dimitri Glazkov.
92688
92689        If loading a font fails because of the sandbox, we ask the browser process to 
92690        try to load it by calling ensureFontLoaded. If it still fails after 
92691        ensureFontLoaded, we hit a ASSERT_NOT_REACHED. 
92692
92693        This case happens once in a while during browser shutdown. The browser will 
92694        queue a message to the renderer to shutdown, and will then stop answering sync 
92695        messages from the renderer. If the renderer is still loading a page during this 
92696        time, it might try to call the browser process to ask to load a font. The 
92697        browser process will ignore the request, and the font will fail to load, even 
92698        after the second try. 
92699
92700        This is unfortunate, but there is no real risk here, since the renderer will be 
92701        going away as soon as it processes another message. 
92702
92703        This can't be layout tested as it depends on the sandbox. 
92704
92705        https://bugs.webkit.org/show_bug.cgi?id=26743 
92706
92707        * platform/graphics/chromium/FontChromiumWin.cpp:
92708        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
92709        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
92710        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
92711
927122009-06-28  John Abd-El-Malek  <jam@chromium.org>
92713
92714        Reviewed by Eric Seidel.
92715
92716        https://bugs.webkit.org/show_bug.cgi?id=15457
92717
92718        Test: plugins/netscape-plugin-map-data-to-src.html
92719
92720        Fix problems with Real or WMP plugins not displaying because "data" was set
92721        on the OBJECT tag instead of "src".  This is based on what Firefox does, see
92722        http://mxr.mozilla.org/mozilla-central/source/layout/generic/nsObjectFrame.cpp#3045
92723
92724        * rendering/RenderPartObject.cpp:
92725        (WebCore::mapDataParamToSrc):
92726        (WebCore::RenderPartObject::updateWidget):
92727
927282009-06-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
92729
92730        Reviewed by Jan Alonzo.
92731
92732        [Qt] Build fix after r45290
92733        https://bugs.webkit.org/show_bug.cgi?id=26769
92734
92735        * WebCore.pro:
92736
927372009-06-27  Emilio Pozuelo Monfort  <pochu27@gmail.com>
92738
92739        Reviewed by Jan Alonzo.
92740
92741        [GTK] Don't use deprecated GTKsymbols.
92742        https://bugs.webkit.org/show_bug.cgi?id=26583
92743
92744        * plugins/gtk/gtk2xtbin.c:
92745        (gtk_xtbin_class_init):
92746        (gtk_xtbin_new):
92747        (gtk_xtbin_destroy):
92748
927492009-06-27  Simon Fraser  <simon.fraser@apple.com>
92750
92751        Reviewed by Dan Bernstein.
92752
92753        https://bugs.webkit.org/show_bug.cgi?id=26780
92754        
92755        Fix up previous change. When computeCompositingRequirements() determines
92756        that the current layer is composited, it needs to inform its parent
92757        by setting compositingState.m_subtreeIsCompositing() to true. That didn't
92758        always happen after the previous patch. Clarified the logic here.
92759        
92760        * rendering/RenderLayerCompositor.cpp:
92761        (WebCore::CompositingState::CompositingState):
92762        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
92763
927642009-06-27  Simon Fraser  <simon.fraser@apple.com>
92765
92766        Reviewed by Dan Bernstein.
92767
92768        https://bugs.webkit.org/show_bug.cgi?id=26780
92769        
92770        First part: fix the RenderLayer::hasCompositingDescendant() flag to be set
92771        correctly.
92772
92773        * rendering/RenderLayerCompositor.cpp:
92774        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
92775        Do not unconditionally set compositingState.m_subtreeIsCompositing, because
92776        that can clobber the value from an earlier sibling. Add some more comments.
92777        
92778        Remove a final use of Vector iterators.
92779        
92780        (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
92781        Move the normalFlowList() processing outside the test for isStackingContext().
92782
927832009-06-27  Dan Bernstein  <mitz@apple.com>
92784
92785        Reviewed by Simon Fraser and Antti Koivisto.
92786
92787        - make paintFillLayerExtended() non-virtual and remove its clipY and
92788          clipH parameters
92789
92790        These parameters were computed and passed along to
92791        paintFillLayerExtended in order to vertically constrain the rect fill to
92792        the damage rect, because Qt cannot paint tall rectangles (see
92793        <http://websvn.kde.org/?view=rev&revision=42721>). Since the damage rect
92794        is passed along in the PaintInfo, the extra parameters are redundant,
92795        and the intersection can just take place in paintFillLayerExtended().
92796
92797        * rendering/InlineFlowBox.cpp:
92798        (WebCore::InlineFlowBox::paintFillLayers):
92799        (WebCore::InlineFlowBox::paintFillLayer):
92800        (WebCore::InlineFlowBox::paintBoxDecorations):
92801        (WebCore::InlineFlowBox::paintMask):
92802        * rendering/InlineFlowBox.h:
92803        * rendering/RenderBox.cpp:
92804        (WebCore::RenderBox::paintRootBoxDecorations):
92805        (WebCore::RenderBox::paintBoxDecorations):
92806        (WebCore::RenderBox::paintMask):
92807        (WebCore::RenderBox::paintMaskImages):
92808        (WebCore::RenderBox::paintFillLayers):
92809        (WebCore::RenderBox::paintFillLayer):
92810        * rendering/RenderBox.h:
92811        * rendering/RenderBoxModelObject.cpp:
92812        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
92813        * rendering/RenderBoxModelObject.h:
92814        * rendering/RenderFieldset.cpp:
92815        (WebCore::RenderFieldset::paintBoxDecorations):
92816        (WebCore::RenderFieldset::paintMask):
92817        * rendering/RenderTable.cpp:
92818        (WebCore::RenderTable::paintBoxDecorations):
92819        (WebCore::RenderTable::paintMask):
92820        * rendering/RenderTableCell.cpp:
92821        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
92822        (WebCore::RenderTableCell::paintMask):
92823
928242009-06-27  Ryosuke Niwa  <rniwa@google.com>
92825
92826        Reviewed by Eric Seidel.
92827
92828        https://bugs.webkit.org/show_bug.cgi?id=26762
92829
92830        Clean up for IndentOutdentCommand::indentRegion, and solved most of problems related to the bug 21712.
92831        https://bugs.webkit.org/show_bug.cgi?id=21712
92832
92833        Added few utility functions to htmlediting.h/cpp
92834
92835        isVisibilyAdjacent checks whether the first position is visibly next to the second position.
92836        i.e. there is no visible node between the first and second positions
92837
92838        canMergeLists checks whether two lists can be merged.
92839        It checks the type of list, the editing boundary, and adjacency of the lists.
92840
92841        Tests: editing/execCommand/indent-nested-lists-1.html
92842               editing/execCommand/indent-nested-lists-2.html
92843               editing/execCommand/indent-nested-lists-3.html
92844               editing/execCommand/indent-nested-lists-4.html
92845               editing/execCommand/indent-nested-lists-5.html
92846               editing/execCommand/indent-nested-lists-6.html
92847               editing/execCommand/indent-nested-lists-7.html
92848               editing/execCommand/outdent-nested-lists-1.html
92849               editing/execCommand/outdent-nested-lists-2.html
92850               editing/execCommand/outdent-nested-lists-3.html
92851               editing/execCommand/outdent-nested-lists-4.html
92852
92853        * editing/IndentOutdentCommand.cpp:
92854        (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion):
92855        (WebCore::IndentOutdentCommand::tryIndentingAsListItem):
92856        (WebCore::IndentOutdentCommand::indentIntoBlockquote):
92857        (WebCore::IndentOutdentCommand::indentRegion):
92858        * editing/IndentOutdentCommand.h:
92859        * editing/htmlediting.cpp:
92860        (WebCore::enclosingListChild):
92861        (WebCore::canMergeLists):
92862        (WebCore::isVisibilyAdjacent):
92863        * editing/htmlediting.h:
92864
928652009-06-27  Pavel Feldman  <pfeldman@chromium.org>
92866
92867        Reviewed by Timothy Hatcher.
92868
92869        WebInspector: Fix completion when iterating options using Tab.
92870
92871        https://bugs.webkit.org/show_bug.cgi?id=26722
92872
92873        * inspector/front-end/TextPrompt.js:
92874        (WebInspector.TextPrompt.prototype._completionsReady):
92875
928762009-06-27  Gustavo Noronha Silva  <gns@gnome.org>
92877
92878        Reviewed by Holger Freyther.
92879
92880        https://bugs.webkit.org/show_bug.cgi?id=25889
92881        [GTK] scrollbar policy for main frame is not implementable
92882
92883        Override visibleContentRect to handle GTK+'s case, in which
92884        scrollbars or equivalent decoration are painted by the parent
92885        widget.
92886
92887        * platform/ScrollView.cpp:
92888        * platform/gtk/ScrollViewGtk.cpp:
92889        (WebCore::ScrollView::visibleContentRect):
92890
928912009-06-27  Daniel Bates  <dbates@intudata.com>
92892
92893        Reviewed by Adam Barth.
92894
92895        https://bugs.webkit.org/show_bug.cgi?id=26708
92896        
92897        Fix addresses false negatives with respect to scheme relative paths, iFrame JavaScript URLs,
92898        and UTF-7 encoded payloads.   
92899
92900        Tests: http/tests/security/xssAuditor/http-equiv-utf-7-encoded.html
92901               http/tests/security/xssAuditor/iframe-javascript-url.html
92902               http/tests/security/xssAuditor/script-tag-utf-7-encoded.html
92903               http/tests/security/xssAuditor/script-tag-with-source-relative-scheme.html
92904
92905        * html/HTMLTokenizer.cpp:
92906        (WebCore::HTMLTokenizer::scriptHandler): Moved XSSAuditor check to HTMLTokenizer::parseTag.
92907        (WebCore::HTMLTokenizer::parseTag):
92908        * loader/FrameLoader.cpp:
92909        (WebCore::FrameLoader::loadSubframe): Modified to inform XSSAuditor of parent frame so
92910        as to compare against iFrame javascript URL.
92911        * page/XSSAuditor.cpp: Removed method XSSAuditor::isControlCharacter. Instead, exposed method
92912        isControlCharacter in ResourceResponseBase.cpp.
92913        (WebCore::XSSAuditor::XSSAuditor):
92914        (WebCore::XSSAuditor::decodeURL): Modified to decode string using specified encoder.
92915        (WebCore::XSSAuditor::findInRequest): Generalized to arbitrary frame so as to prevent execution
92916        of iFrame javascript URL.
92917        * page/XSSAuditor.h: Added field m_parentFrame.
92918        * platform/network/ResourceResponseBase.cpp:
92919        (WebCore::isControlCharacter):
92920        * platform/network/ResourceResponseBase.h:
92921
929222009-06-27  Oliver Hunt  <oliver@apple.com>
92923
92924        Reviewed by Maciej Stachowiak.
92925
92926        Bug 26771: Canvas is incorrectly tainted when drawing from a video element that uses <source> elements
92927
92928        The drawImage(<video>) logic naively assumes that it just needs
92929        to check the src attribute of the video element when in fact it
92930        needs to look at the url that is being played instead.  Failure
92931        to do this means that video provided through source elements 
92932        taints the canvas.
92933
92934        Test: media/video-canvas-source.html
92935
92936        * html/CanvasRenderingContext2D.cpp:
92937        (WebCore::CanvasRenderingContext2D::checkOrigin):
92938        (WebCore::CanvasRenderingContext2D::drawImage):
92939        * html/CanvasRenderingContext2D.h:
92940
929412009-06-26  Brian Weinstein  <bweinstein@apple.com>
92942
92943        Reviewed by Simon Fraser.
92944
92945        https://bugs.webkit.org/show_bug.cgi?id=26695
92946        
92947        Added the ability to do scrollbar hit testing in EventHandler, changed the
92948        signature of a PlatformWheelEvent constructor, and changed scrollbarUnderMouse
92949        to scrollbarUnderPoint, and updated all calls to that function.        
92950
92951        * page/EventHandler.cpp:
92952        (WebCore::EventHandler::hitTestResultAtPoint):
92953        (WebCore::EventHandler::handleMousePressEvent):
92954        (WebCore::EventHandler::handleMouseMoveEvent):
92955        * page/EventHandler.h:
92956        (WebCore::):
92957        * platform/PlatformWheelEvent.h:
92958        * platform/ScrollView.cpp:
92959        (WebCore::ScrollView::scrollbarUnderPoint):
92960        * platform/ScrollView.h:
92961        * platform/chromium/PopupMenuChromium.cpp:
92962        (WebCore::PopupListBox::handleMouseDownEvent):
92963        (WebCore::PopupListBox::handleMouseMoveEvent):
92964        * platform/win/WheelEventWin.cpp:
92965        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
92966
92967
929682009-06-26  Simon Fraser  <simon.fraser@apple.com>
92969
92970        Reviewed by Dan Bernstein.
92971
92972        <rdar://problem/7011924> Opacity transitions should not trigger hardware compositing mode
92973        
92974        Don't go into compositing mode just for opacity transitions, but they will be
92975        hardware acclerated if we're already compositing.
92976
92977        * rendering/RenderLayerCompositor.cpp:
92978        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
92979        (WebCore::RenderLayerCompositor::requiresCompositingForTransform):
92980        (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
92981        * rendering/RenderLayerCompositor.h:
92982
929832009-06-26  Simon Fraser  <simon.fraser@apple.com>
92984
92985        Rubber-stamped by Dave Levin
92986
92987        Rename ioCompState to compositingState to better match WebCore coding style.
92988        
92989        * rendering/RenderLayerCompositor.cpp:
92990        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
92991        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
92992
929932009-06-26  Dan Bernstein  <mitz@apple.com>
92994
92995        Reviewed by Mark Rowe.
92996
92997        - revert unintentional project changes from r45277
92998
92999        * WebCore.xcodeproj/project.pbxproj:
93000
930012009-06-26  Mark Rowe  <mrowe@apple.com>
93002
93003        Fix the Windows build.
93004
93005        * WebCore.vcproj/WebCore.vcproj: Remove ColorSafari.cpp as
93006        the file was deleted from SVN.
93007
930082009-06-26  Simon Fraser  <simon.fraser@apple.com>
93009
93010        Reviewed by Dan Bernstein.
93011
93012        https://bugs.webkit.org/show_bug.cgi?id=26766
93013
93014        Change to use array indexing rather than Vector enumerators; the former
93015        are preferred style.
93016
93017        * rendering/RenderLayerBacking.cpp:
93018        (WebCore::RenderLayerBacking::hasNonCompositingContent):
93019        * rendering/RenderLayerCompositor.cpp:
93020        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
93021        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
93022        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
93023        (WebCore::RenderLayerCompositor::updateCompositingChildrenGeometry):
93024        (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
93025        (WebCore::RenderLayerCompositor::layerHas3DContent):
93026
930272009-06-26  Dan Bernstein  <mitz@apple.com>
93028
93029        Reviewed by Oliver Hunt.
93030
93031        - fix <rdar://problem/6961476> REGRESSION (r42043): scrollWidth reported
93032          as 1 px
93033
93034        Test: fast/dom/Element/scrollWidth.html
93035
93036        Changed scrollWidth and scrollHeight to use the same logic for
93037        visible overflow boxes that is used for clipped overflow boxes. In
93038        particular, borders are not included and
93039        {leftmost,rightmost,lowest}Position() are used. This logic matches IE8.
93040
93041        * rendering/RenderBox.cpp:
93042        (WebCore::RenderBox::scrollWidth):
93043        (WebCore::RenderBox::scrollHeight):
93044
930452009-06-26  Chris Fleizach  <cfleizach@apple.com>
93046
93047        Reviewed by Oliver Hunt.
93048
93049        Bug 26725: aria-hidden, aria-disabled, aria-readonly need to be implemented
93050        https://bugs.webkit.org/show_bug.cgi?id=26725
93051
93052        Tests: accessibility/aria-disabled.html
93053               accessibility/aria-hidden.html
93054               accessibility/aria-readonly.html
93055
93056        * accessibility/AccessibilityRenderObject.cpp:
93057        (WebCore::AccessibilityRenderObject::ariaIsHidden):
93058        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
93059        (WebCore::AccessibilityRenderObject::isEnabled):
93060        (WebCore::AccessibilityRenderObject::canSetValueAttribute):
93061        * accessibility/AccessibilityRenderObject.h:
93062        * html/HTMLAttributeNames.in:
93063
930642009-06-26  Brett Wilson  <brettw@chromium.org>
93065
93066        Reviewed by David Levin.
93067
93068        https://bugs.webkit.org/show_bug.cgi?id=26759
93069
93070        GIFImageDecoder is broken.
93071
93072        Make the GIFImageDecoder.repetitionCount function const to match the
93073        base class. The mismatched definitions were causing the function to not
93074        get called.
93075
93076        * platform/image-decoders/gif/GIFImageDecoder.cpp:
93077        (WebCore::GIFImageDecoder::repetitionCount):
93078        * platform/image-decoders/gif/GIFImageDecoder.h:
93079
930802009-06-26  Chris Marrin  <cmarrin@apple.com>
93081
93082        Reviewed by Simon Fraser  <simon.fraser@apple.com>.
93083
93084        Additional fix for https://bugs.webkit.org/show_bug.cgi?id=26651
93085
93086        The flag should always default to true to avoid it getting set
93087        to false in a build with accelerated compositing turned off
93088        and then disabling accelerated compositing when subsequently
93089        running a build with it turned on.
93090
93091        * page/Settings.cpp:
93092        (WebCore::Settings::Settings):
93093
930942009-06-26  Brady Eidson  <beidson@apple.com>
93095
93096        Reviewed by Sam Weinig.
93097
93098        Followup for the fix for <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails
93099
93100        Now that other MIME type correction stuff is in our swizzled method, Tiger needs it too!
93101
93102        * platform/network/mac/ResourceHandleMac.mm:
93103        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
93104        * platform/network/mac/WebCoreURLResponse.h:
93105
931062009-06-26  Jeremy Orlow  <jorlow@chromium.org>
93107
93108        Reviewed by Darin Fisher.
93109
93110        https://bugs.webkit.org/show_bug.cgi?id=26732
93111
93112        For the final step of https://bugs.webkit.org/show_bug.cgi?id=25376,
93113        combine LocalStorage and SessionStorage into StorageNamespace. The
93114        synching code (for LocalStorage) has already been removed, so these
93115        classes are now very similar.  All they do is essentially contain a
93116        logical grouping of origins that are attached to specific contexts
93117        (be it PageGroups for LocalStorage and Page for SessionStorage).
93118
93119        * GNUmakefile.am:
93120        * WebCore.vcproj/WebCore.vcproj:
93121        * WebCore.xcodeproj/project.pbxproj:
93122        * WebCoreSources.bkl:
93123        * page/Chrome.cpp:
93124        (WebCore::Chrome::createWindow):
93125        * page/DOMWindow.cpp:
93126        (WebCore::DOMWindow::localStorage):
93127        * page/DOMWindow.h:
93128        * page/Page.cpp:
93129        (WebCore::Page::sessionStorage):
93130        (WebCore::Page::setSessionStorage):
93131        * page/Page.h:
93132        * page/PageGroup.cpp:
93133        (WebCore::PageGroup::localStorage):
93134        * page/PageGroup.h:
93135        * storage/LocalStorage.cpp: Removed.
93136        * storage/LocalStorage.h: Removed.
93137        * storage/LocalStorageTask.cpp:
93138        * storage/LocalStorageThread.cpp:
93139        * storage/SessionStorage.cpp: Removed.
93140        * storage/SessionStorage.h: Removed.
93141        * storage/StorageArea.cpp:
93142        (WebCore::StorageArea::create):
93143        (WebCore::StorageArea::StorageArea):
93144        (WebCore::StorageArea::copy):
93145        (WebCore::StorageArea::length):
93146        (WebCore::StorageArea::key):
93147        (WebCore::StorageArea::getItem):
93148        (WebCore::StorageArea::setItem):
93149        (WebCore::StorageArea::removeItem):
93150        (WebCore::StorageArea::clear):
93151        (WebCore::StorageArea::contains):
93152        (WebCore::StorageArea::importItem):
93153        (WebCore::StorageArea::close):
93154        (WebCore::StorageArea::dispatchStorageEvent):
93155        * storage/StorageArea.h:
93156        (WebCore::):
93157        * storage/StorageAreaSync.cpp:
93158        (WebCore::StorageAreaSync::scheduleFinalSync):
93159        * storage/StorageNamespace.cpp: Copied from WebCore/storage/LocalStorage.cpp.
93160        (WebCore::localStorageNamespaceMap):
93161        (WebCore::StorageNamespace::localStorageNamespace):
93162        (WebCore::StorageNamespace::sessionStorageNamespace):
93163        (WebCore::StorageNamespace::StorageNamespace):
93164        (WebCore::StorageNamespace::~StorageNamespace):
93165        (WebCore::StorageNamespace::copy):
93166        (WebCore::StorageNamespace::storageArea):
93167        (WebCore::StorageNamespace::close):
93168        * storage/StorageNamespace.h: Copied from WebCore/storage/LocalStorage.h.
93169
931702009-06-26  Nate Chapin  <japhet@chromium.org>
93171
93172        Reviewed by David Levin.
93173
93174        Upstream V8Proxy.  This involved updating a lot of function and variable names to match WebKit style, hence the large size.
93175
93176        https://bugs.webkit.org/show_bug.cgi?id=26623
93177
93178        * bindings/v8/ScheduledAction.cpp:
93179        (WebCore::ScheduledAction::ScheduledAction):
93180        (WebCore::ScheduledAction::~ScheduledAction):
93181        (WebCore::ScheduledAction::execute):
93182        * bindings/v8/ScriptCallStack.cpp:
93183        (WebCore::ScriptCallStack::ScriptCallStack):
93184        * bindings/v8/ScriptController.cpp:
93185        (WebCore::ScriptController::isSafeScript):
93186        (WebCore::ScriptController::gcProtectJSWrapper):
93187        (WebCore::ScriptController::gcUnprotectJSWrapper):
93188        (WebCore::ScriptController::processingUserGesture):
93189        (WebCore::ScriptController::evaluate):
93190        (WebCore::ScriptController::setEventHandlerLineNumber):
93191        (WebCore::ScriptController::bindToWindowObject):
93192        (WebCore::ScriptController::collectGarbage):
93193        (WebCore::ScriptController::haveInterpreter):
93194        (WebCore::createScriptObject):
93195        (WebCore::ScriptController::createScriptObjectForPluginElement):
93196        * bindings/v8/ScriptInstance.cpp:
93197        (WebCore::V8ScriptInstance::clear):
93198        (WebCore::V8ScriptInstance::set):
93199        * bindings/v8/ScriptObject.cpp:
93200        (WebCore::ScriptGlobalObject::set):
93201        * bindings/v8/ScriptObjectQuarantine.cpp:
93202        (WebCore::getQuarantinedScriptObject):
93203        * bindings/v8/ScriptScope.cpp:
93204        (WebCore::ScriptScope::ScriptScope):
93205        * bindings/v8/ScriptValue.h:
93206        (WebCore::ScriptValue::ScriptValue):
93207        (WebCore::ScriptValue::operator=):
93208        (WebCore::ScriptValue::clear):
93209        * bindings/v8/V8AbstractEventListener.cpp:
93210        (WebCore::V8AbstractEventListener::invokeEventHandler):
93211        (WebCore::V8AbstractEventListener::handleEvent):
93212        (WebCore::V8AbstractEventListener::disposeListenerObject):
93213        (WebCore::V8AbstractEventListener::getReceiverObject):
93214        * bindings/v8/V8Collection.cpp:
93215        (WebCore::toOptionsCollectionSetter):
93216        * bindings/v8/V8Collection.h:
93217        (WebCore::getV8Object):
93218        (WebCore::getNamedPropertyOfCollection):
93219        (WebCore::nodeCollectionNamedPropertyGetter):
93220        (WebCore::getIndexedPropertyOfCollection):
93221        (WebCore::nodeCollectionIndexedPropertyGetter):
93222        (WebCore::nodeCollectionIndexedPropertyEnumerator):
93223        (WebCore::collectionIndexedPropertyEnumerator):
93224        (WebCore::collectionStringOrNullIndexedPropertyGetter):
93225        * bindings/v8/V8DOMMap.cpp:
93226        (WebCore::weakDOMObjectCallback):
93227        (WebCore::DOMData::removeObjectsFromWrapperMap):
93228        * bindings/v8/V8Helpers.cpp:
93229        (WebCore::wrapNPObject):
93230        (WebCore::toV8Context):
93231        * bindings/v8/V8LazyEventListener.cpp:
93232        (WebCore::V8LazyEventListener::~V8LazyEventListener):
93233        (WebCore::V8LazyEventListener::getListenerFunction):
93234        (WebCore::V8LazyEventListener::callListenerFunction):
93235        (WebCore::V8LazyEventListener::getWrappedListenerFunction):
93236        * bindings/v8/V8NodeFilterCondition.cpp:
93237        (WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
93238        (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition):
93239        (WebCore::V8NodeFilterCondition::acceptNode):
93240        * bindings/v8/V8ObjectEventListener.cpp:
93241        (WebCore::weakObjectEventListenerCallback):
93242        (WebCore::V8ObjectEventListener::~V8ObjectEventListener):
93243        * bindings/v8/V8Proxy.cpp: Added.
93244        * bindings/v8/V8Proxy.h:
93245        (WebCore::):
93246        (WebCore::GlobalHandleInfo::GlobalHandleInfo):
93247        (WebCore::V8Proxy::):
93248        (WebCore::V8Proxy::V8Proxy):
93249        (WebCore::V8Proxy::frame):
93250        (WebCore::V8Proxy::inlineCode):
93251        (WebCore::V8Proxy::setInlineCode):
93252        (WebCore::V8Proxy::timerCallback):
93253        (WebCore::V8Proxy::setTimerCallback):
93254        (WebCore::V8Proxy::setEventHandlerLineNumber):
93255        (WebCore::V8Proxy::finishedWithEvent):
93256        (WebCore::V8Proxy::wrapCPointer):
93257        (WebCore::V8Proxy::extractCPointer):
93258        (WebCore::V8Proxy::convertDOMWrapperToNative):
93259        (WebCore::V8Proxy::convertDOMWrapperToNode):
93260        (WebCore::V8Proxy::convertToV8Object):
93261        (WebCore::V8Proxy::convertToNativeObject):
93262        (WebCore::V8Proxy::convertToNativeEvent):
93263        (WebCore::V8Proxy::context):
93264        (WebCore::V8Proxy::extractCPointerImpl):
93265        (WebCore::V8Proxy::utilityContext):
93266        (WebCore::V8Proxy::constructDOMObject):
93267        (WebCore::throwError):
93268        (WebCore::toV8):
93269        * bindings/v8/V8Utilities.h:
93270        * bindings/v8/WorkerContextExecutionProxy.cpp:
93271        (WebCore::WorkerContextExecutionProxy::retrieve):
93272        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
93273        (WebCore::WorkerContextExecutionProxy::GetConstructor):
93274        (WebCore::WorkerContextExecutionProxy::ToV8Object):
93275        (WebCore::WorkerContextExecutionProxy::EventToV8Object):
93276        (WebCore::WorkerContextExecutionProxy::toV8):
93277        (WebCore::WorkerContextExecutionProxy::forgetV8EventObject):
93278        (WebCore::WorkerContextExecutionProxy::evaluate):
93279        (WebCore::WorkerContextExecutionProxy::runScript):
93280        * bindings/v8/custom/V8AttrCustom.cpp:
93281        (WebCore::ACCESSOR_SETTER):
93282        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
93283        (WebCore::NAMED_PROPERTY_GETTER):
93284        (WebCore::NAMED_PROPERTY_SETTER):
93285        * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
93286        (WebCore::INDEXED_PROPERTY_GETTER):
93287        (WebCore::INDEXED_PROPERTY_SETTER):
93288        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
93289        (WebCore::toV8):
93290        (WebCore::toCanvasStyle):
93291        (WebCore::ACCESSOR_GETTER):
93292        (WebCore::ACCESSOR_SETTER):
93293        (WebCore::CALLBACK_FUNC_DECL):
93294        * bindings/v8/custom/V8ClientRectListCustom.cpp:
93295        (WebCore::INDEXED_PROPERTY_GETTER):
93296        * bindings/v8/custom/V8ClipboardCustom.cpp:
93297        (WebCore::ACCESSOR_GETTER):
93298        (WebCore::CALLBACK_FUNC_DECL):
93299        * bindings/v8/custom/V8CustomBinding.cpp:
93300        (WebCore::allowSettingFrameSrcToJavascriptUrl):
93301        (WebCore::ACCESSOR_GETTER):
93302        (WebCore::INDEXED_ACCESS_CHECK):
93303        (WebCore::NAMED_ACCESS_CHECK):
93304        (WebCore::V8Custom::GetTargetFrame):
93305        * bindings/v8/custom/V8CustomEventListener.cpp:
93306        (WebCore::V8EventListener::V8EventListener):
93307        (WebCore::V8EventListener::~V8EventListener):
93308        (WebCore::V8EventListener::callListenerFunction):
93309        * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
93310        (WebCore::V8CustomSQLStatementCallback::handleEvent):
93311        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
93312        (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
93313        * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
93314        (WebCore::V8CustomSQLTransactionCallback::handleEvent):
93315        * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
93316        (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
93317        * bindings/v8/custom/V8CustomVoidCallback.cpp:
93318        (WebCore::V8CustomVoidCallback::handleEvent):
93319        (WebCore::invokeCallback):
93320        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
93321        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
93322        * bindings/v8/custom/V8DOMParserConstructor.cpp:
93323        (WebCore::CALLBACK_FUNC_DECL):
93324        * bindings/v8/custom/V8DOMWindowCustom.cpp:
93325        (WebCore::V8Custom::WindowSetTimeoutImpl):
93326        (WebCore::convertBase64):
93327        (WebCore::ACCESSOR_SETTER):
93328        (WebCore::CALLBACK_FUNC_DECL):
93329        (WebCore::ACCESSOR_GETTER):
93330        (WebCore::createWindow):
93331        (WebCore::INDEXED_PROPERTY_GETTER):
93332        (WebCore::NAMED_PROPERTY_GETTER):
93333        (WebCore::V8Custom::ClearTimeoutImpl):
93334        (WebCore::NAMED_ACCESS_CHECK):
93335        (WebCore::INDEXED_ACCESS_CHECK):
93336        * bindings/v8/custom/V8DatabaseCustom.cpp:
93337        (WebCore::CALLBACK_FUNC_DECL):
93338        * bindings/v8/custom/V8DocumentCustom.cpp:
93339        (WebCore::CALLBACK_FUNC_DECL):
93340        * bindings/v8/custom/V8DocumentLocationCustom.cpp:
93341        (WebCore::ACCESSOR_GETTER):
93342        (WebCore::ACCESSOR_SETTER):
93343        * bindings/v8/custom/V8ElementCustom.cpp:
93344        (WebCore::CALLBACK_FUNC_DECL):
93345        (WebCore::ACCESSOR_SETTER):
93346        (WebCore::ACCESSOR_GETTER):
93347        * bindings/v8/custom/V8EventCustom.cpp:
93348        (WebCore::ACCESSOR_SETTER):
93349        (WebCore::ACCESSOR_GETTER):
93350        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
93351        (WebCore::CALLBACK_FUNC_DECL):
93352        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
93353        (WebCore::getNamedItems):
93354        (WebCore::getItem):
93355        (WebCore::NAMED_PROPERTY_GETTER):
93356        (WebCore::CALLBACK_FUNC_DECL):
93357        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
93358        (WebCore::NAMED_PROPERTY_GETTER):
93359        (WebCore::CALLBACK_FUNC_DECL):
93360        (WebCore::ACCESSOR_GETTER):
93361        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
93362        (WebCore::INDEXED_PROPERTY_GETTER):
93363        (WebCore::NAMED_PROPERTY_GETTER):
93364        (WebCore::CALLBACK_FUNC_DECL):
93365        * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
93366        (WebCore::ACCESSOR_SETTER):
93367        * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
93368        (WebCore::NAMED_PROPERTY_GETTER):
93369        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
93370        (WebCore::ACCESSOR_SETTER):
93371        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
93372        (WebCore::CALLBACK_FUNC_DECL):
93373        * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
93374        (WebCore::ACCESSOR_GETTER):
93375        (WebCore::ACCESSOR_SETTER):
93376        (WebCore::CALLBACK_FUNC_DECL):
93377        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
93378        (WebCore::CALLBACK_FUNC_DECL):
93379        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
93380        (WebCore::CALLBACK_FUNC_DECL):
93381        (WebCore::ACCESSOR_GETTER):
93382        (WebCore::ACCESSOR_SETTER):
93383        (WebCore::INDEXED_PROPERTY_GETTER):
93384        (WebCore::INDEXED_PROPERTY_SETTER):
93385        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
93386        (WebCore::NAMED_PROPERTY_GETTER):
93387        (WebCore::NAMED_PROPERTY_SETTER):
93388        (WebCore::INDEXED_PROPERTY_GETTER):
93389        (WebCore::INDEXED_PROPERTY_SETTER):
93390        * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
93391        (WebCore::NAMED_PROPERTY_GETTER):
93392        (WebCore::INDEXED_PROPERTY_SETTER):
93393        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
93394        (WebCore::CALLBACK_FUNC_DECL):
93395        (WebCore::removeElement):
93396        * bindings/v8/custom/V8InspectorControllerCustom.cpp:
93397        (WebCore::CALLBACK_FUNC_DECL):
93398        * bindings/v8/custom/V8LocationCustom.cpp:
93399        (WebCore::ACCESSOR_SETTER):
93400        (WebCore::ACCESSOR_GETTER):
93401        (WebCore::CALLBACK_FUNC_DECL):
93402        (WebCore::INDEXED_ACCESS_CHECK):
93403        (WebCore::NAMED_ACCESS_CHECK):
93404        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
93405        (WebCore::CALLBACK_FUNC_DECL):
93406        * bindings/v8/custom/V8MessagePortCustom.cpp:
93407        (WebCore::ACCESSOR_GETTER):
93408        (WebCore::ACCESSOR_SETTER):
93409        (WebCore::CALLBACK_FUNC_DECL):
93410        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
93411        (WebCore::INDEXED_PROPERTY_GETTER):
93412        (WebCore::NAMED_PROPERTY_GETTER):
93413        * bindings/v8/custom/V8NavigatorCustom.cpp:
93414        (WebCore::ACCESSOR_GETTER):
93415        * bindings/v8/custom/V8NodeCustom.cpp:
93416        (WebCore::CALLBACK_FUNC_DECL):
93417        * bindings/v8/custom/V8NodeIteratorCustom.cpp:
93418        (WebCore::toV8):
93419        (WebCore::CALLBACK_FUNC_DECL):
93420        * bindings/v8/custom/V8NodeListCustom.cpp:
93421        (WebCore::NAMED_PROPERTY_GETTER):
93422        * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
93423        (WebCore::CALLBACK_FUNC_DECL):
93424        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
93425        (WebCore::CALLBACK_FUNC_DECL):
93426        * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
93427        (WebCore::CALLBACK_FUNC_DECL):
93428        * bindings/v8/custom/V8SVGLengthCustom.cpp:
93429        (WebCore::ACCESSOR_GETTER):
93430        (WebCore::CALLBACK_FUNC_DECL):
93431        * bindings/v8/custom/V8SVGMatrixCustom.cpp:
93432        (WebCore::CALLBACK_FUNC_DECL):
93433        * bindings/v8/custom/V8StyleSheetListCustom.cpp:
93434        (WebCore::NAMED_PROPERTY_GETTER):
93435        * bindings/v8/custom/V8TreeWalkerCustom.cpp:
93436        (WebCore::toV8):
93437        (WebCore::CALLBACK_FUNC_DECL):
93438        * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
93439        (WebCore::CALLBACK_FUNC_DECL):
93440        * bindings/v8/custom/V8WebKitPointConstructor.cpp:
93441        (WebCore::CALLBACK_FUNC_DECL):
93442        * bindings/v8/custom/V8WorkerContextCustom.cpp:
93443        (WebCore::ACCESSOR_GETTER):
93444        (WebCore::ACCESSOR_SETTER):
93445        (WebCore::SetTimeoutOrInterval):
93446        (WebCore::CALLBACK_FUNC_DECL):
93447        * bindings/v8/custom/V8WorkerCustom.cpp:
93448        (WebCore::CALLBACK_FUNC_DECL):
93449        (WebCore::getEventListener):
93450        (WebCore::ACCESSOR_GETTER):
93451        (WebCore::ACCESSOR_SETTER):
93452        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
93453        (WebCore::CALLBACK_FUNC_DECL):
93454        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
93455        (WebCore::getEventListener):
93456        (WebCore::ACCESSOR_GETTER):
93457        (WebCore::ACCESSOR_SETTER):
93458        (WebCore::CALLBACK_FUNC_DECL):
93459        * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
93460        (WebCore::ACCESSOR_GETTER):
93461        (WebCore::ACCESSOR_SETTER):
93462        (WebCore::CALLBACK_FUNC_DECL):
93463        * bindings/v8/custom/V8XMLSerializerConstructor.cpp:
93464        (WebCore::CALLBACK_FUNC_DECL):
93465        * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp:
93466        (WebCore::CALLBACK_FUNC_DECL):
93467        * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
93468        (WebCore::CALLBACK_FUNC_DECL):
93469
934702009-06-26  Kevin McCullough  <kmccullough@apple.com>
93471
93472        Reviewed by Tim Hatcher.
93473
93474        <rdar://problem/7011047> Profiler shows the record button 'on' even
93475        though it's finished
93476
93477        I consolidated the creation of the user initiated profile name into
93478        its own function and then called it from console::profile instead of
93479        calling startUserInitiatedProfiling().  This way we don't call
93480        toggleRecordButton() which turns on the record button.
93481
93482        * inspector/InspectorController.cpp:
93483        (WebCore::InspectorController::didCommitLoad):
93484        (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
93485        (WebCore::InspectorController::startUserInitiatedProfiling):
93486        (WebCore::InspectorController::stopUserInitiatedProfiling):
93487        * inspector/InspectorController.h:
93488        * page/Console.cpp:
93489        (WebCore::Console::profile):
93490        (WebCore::Console::profileEnd):
93491
934922009-06-26  Jeremy Moskovich  <jeremy@chromium.org>
93493
93494        Reviewed by Eric Seidel.
93495
93496        https://bugs.webkit.org/show_bug.cgi?id=26691
93497
93498        Cleanup: Move focusRingColor to RenderTheme.
93499
93500        Most of this CL involves deleting files and removing dead code.
93501
93502        focusRingColor() is now defined in RenderTheme rather than in
93503        misc. places on each port.  The default color is specified as
93504        black in renderTheme and ports can override it in their own
93505        custom renderThemes.
93506
93507        Behavior should be identical except for the following cases,
93508        this lists platform and what the focus ring color used to be
93509        before this cl and the file where it used to be defined:
93510
93511        Android - red
93512        WebCore/platform/android/TemporaryLinkStubs.cpp
93513
93514        Cairo - aqua focus ring color - 0xFF7DADD9
93515        WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp
93516
93517        wx - red
93518        WebCore/platform/wx/TemporaryLinkStubs.cpp
93519
93520        QT - black
93521        WebCore/platform/graphics/qt/GraphicsContextQt.cpp
93522
93523        Manual test: manual-tests/focusringcolor-change-on-theme-change.html
93524
93525        * css/CSSStyleSelector.cpp:
93526        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
93527        * manual-tests/focusringcolor-change-on-theme-change.html: Added.
93528        * platform/android/TemporaryLinkStubs.cpp:
93529        * platform/graphics/cairo/GraphicsContextCairo.cpp:
93530        * platform/graphics/chromium/ColorChromium.cpp: Removed.
93531        * platform/graphics/chromium/ColorChromiumMac.mm: Removed.
93532        * platform/graphics/mac/ColorMac.h:
93533        * platform/graphics/mac/ColorMac.mm:
93534        (WebCore::oldAquaFocusRingColor):
93535        (WebCore::setUsesTestModeFocusRingColor):
93536        (WebCore::usesTestModeFocusRingColor):
93537        * platform/graphics/qt/GraphicsContextQt.cpp:
93538        * platform/graphics/skia/GraphicsContextSkia.cpp:
93539        (WebCore::GraphicsContext::drawFocusRing):
93540        * platform/graphics/win/ColorSafari.cpp: Removed.
93541        * platform/wx/TemporaryLinkStubs.cpp:
93542        * rendering/RenderTheme.cpp:
93543        (WebCore::RenderTheme::focusRingColor):
93544        * rendering/RenderTheme.h:
93545        * rendering/RenderThemeChromiumMac.h:
93546        * rendering/RenderThemeChromiumMac.mm:
93547        (WebCore::RenderThemeChromiumMac::focusRingColor):
93548        (WebCore::RenderThemeChromiumMac::systemColor):
93549        * rendering/RenderThemeChromiumSkia.cpp:
93550        (WebCore::RenderThemeChromiumSkia::focusRingColor):
93551        * rendering/RenderThemeChromiumSkia.h:
93552        * rendering/RenderThemeMac.h:
93553        * rendering/RenderThemeMac.mm:
93554        (WebCore::RenderThemeMac::focusRingColor):
93555        (WebCore::RenderThemeMac::systemColor):
93556        * rendering/RenderThemeSafari.cpp:
93557        (WebCore::makeRGBAFromCGColor):
93558        (WebCore::RenderThemeSafari::focusRingColor):
93559        * rendering/RenderThemeSafari.h:
93560
935612009-06-26  Dmitry Titov  <dimich@chromium.org>
93562
93563        Reviewed by David Levin.
93564
93565        https://bugs.webkit.org/show_bug.cgi?id=26761
93566        [Chromium] Enable Dedicated Workers in Chromium.
93567
93568        * bindings/v8/custom/V8WorkerCustom.cpp:
93569        (WebCore::CALLBACK_FUNC_DECL):
93570        Remove the check that prevented workers from being created w/o a command-line switch.
93571        The flag itself and methods will be removed in a subsequent patch, after
93572        corresponding change in Chromium.
93573
935742009-06-26  Jessie Berlin  <jberlin@apple.com>
93575
93576        Reviewed by Mark Rowe.
93577        
93578        Fix: https://bugs.webkit.org/show_bug.cgi?id=26723
93579        Where the m_mouseDown event was never being set on windows, so the
93580        client X and Y coordinates were always being reported as zero in a
93581        dragstart handler.
93582
93583        Test: editing/selection/drag-start-event-client-x-y.html
93584
93585        * page/EventHandler.cpp:
93586        (WebCore::EventHandler::handleMousePressEvent):
93587        Set the m_mouseDown event when the mouse press is handled.
93588        * page/mac/EventHandlerMac.mm:
93589        (WebCore::EventHandler::mouseDown):
93590        Removed now redundant setting of m_mouseDown.
93591
935922009-06-26  Brady Eidson  <beidson@apple.com>
93593
93594        Tiger build fix
93595
93596        * WebCore.xcodeproj/project.pbxproj:
93597        * platform/network/mac/WebCoreURLResponse.mm:
93598        (swizzleMIMETypeMethodIfNecessary):
93599
936002009-06-26  Alexey Proskuryakov  <ap@webkit.org>
93601
93602        Reviewed by Sam Weinig.
93603
93604        https://bugs.webkit.org/show_bug.cgi?id=26681
93605        Problem updating applicationCache when server returns 304
93606        
93607        Improve the fix, make the test pass on Tiger.
93608
93609        * loader/appcache/ApplicationCacheGroup.cpp:
93610        (WebCore::ApplicationCacheGroup::didReceiveResponse): Fix another code path to remove the
93611        current item from list.
93612
93613        * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::start): On Tiger,
93614        conditional requests that cannot be cached by network layer cause errors with default cache
93615        policy.
93616
936172009-06-26  Brady Eidson  <beidson@apple.com>
93618
93619        Reviewed by Sam Weinig
93620
93621        <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails
93622
93623        When we disabled content sniffing for file urls we lost knowledge of many file extensions that we
93624        didn't intend to lose.  Turns out the CoreTypes UTI database doesn't know about every extension Gatekeeper
93625        knew about.
93626
93627        By comparing CoreTypes' database to Gatekeepers, this patch adds a hardcoded list of file extension to MIME
93628        type mappings that are missing in CoreType's database.
93629
93630        Test: platform/mac/fast/loader/file-url-mimetypes.html
93631
93632        * platform/network/mac/ResourceHandleMac.mm:
93633        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Move the MIME Type swizzling code to
93634          WebCoreURLResponse.
93635
93636        * platform/network/mac/ResourceResponseMac.mm:
93637        (WebCore::ResourceResponse::platformLazyInit): _webcore_MIMEType -> MIMEType, as we now have only one place
93638          where we do all MIMEType correction.
93639
93640        * platform/network/mac/WebCoreURLResponse.h: Remove _webcore_MIMEType, as it is now folded into the swizzled
93641          implementation of MIMEType.
93642        * platform/network/mac/WebCoreURLResponse.mm:
93643        (createBinaryExtensionsSet):
93644        (createExtensionToMIMETypeMap):
93645        (swizzleMIMETypeMethodIfNecessary):
93646        (webNSURLResponseMIMEType): If it's a file URL and there's no MIME type, see if the extension exists in the 
93647          extension -> MIME type map before turning to the default MIME type.  Also roll in what was previously
93648          implemented in _webcore_MIMEType.
93649
93650        * svg/graphics/SVGImage.cpp:
93651        (WebCore::SVGImage::~SVGImage): Tweak this ASSERT - SVGImages might get destroyed without ever having a client.
93652
936532009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>
93654
93655        Reviewed by Simon Fraser.
93656
93657        Show the fullscreen button only if the backend has support for it.
93658
93659        https://bugs.webkit.org/show_bug.cgi?id=26661
93660
93661        No test since this is not reachable via the DOM.
93662
93663        * html/HTMLMediaElement.h:
93664        (WebCore::HTMLMediaElement::supportsFullscreen): new
93665        * html/HTMLVideoElement.h:
93666        (WebCore::HTMLVideoElement::supportsFullscreen): new
93667        * platform/graphics/MediaPlayer.cpp:
93668        (WebCore::NullMediaPlayerPrivate::supportsFullscreen): new
93669        (WebCore::MediaPlayer::supportsFullscreen): new
93670        * platform/graphics/MediaPlayer.h: new
93671        * platform/graphics/MediaPlayerPrivate.h: new
93672        (WebCore::MediaPlayerPrivateInterface::supportsFullscreen): new
93673        * rendering/MediaControlElements.cpp:
93674        (WebCore::MediaControlFullscreenButtonElement::rendererIsNeeded): new
93675        * rendering/MediaControlElements.h:
93676
936772009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>
93678
93679        Reviewed by Simon Fraser.
93680
93681        <rdar://problem/7007776> Controller doesn't automatically update counters when file
93682        is playing ( http://www.jazzguitar.be/mp3/Michael%20Lewis%20-%20SSSJ.mp3 )
93683
93684        Update the time display when the movie time changes.
93685
93686        * rendering/RenderMedia.cpp:
93687        (WebCore::RenderMedia::updateControls):
93688
936892009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>
93690
93691        Reviewed by Simon Fraser.
93692
93693        https://bugs.webkit.org/show_bug.cgi?id=26659
93694
93695        Support hidding a control bar element from the Media element controller.
93696
93697        Update layout tests since the fullscreen button no longer has a renderer.
93698
93699        * rendering/MediaControlElements.cpp:
93700        (WebCore::MediaTextDisplayElement::update): call updateStyle() so everything
93701        is updated properly.
93702        (WebCore::MediaControlInputElement::MediaControlInputElement):
93703        (WebCore::MediaControlInputElement::update): call updateStyle()
93704        (WebCore::MediaControlInputElement::updateStyle): create the renderer properly
93705        or not depending on what rendererIsNeeded() return.
93706        * rendering/MediaControlElements.h:
93707
937082009-06-26  Kevin McCullough  <kmccullough@apple.com>
93709
93710        Reviewed by Oliver Hunt.
93711
93712        <rdar://problem/6968137> Profiler title numbers increment even after a
93713        reload.
93714
93715        - Now the numbers are reset when the profiles are.
93716
93717        * inspector/InspectorController.cpp:
93718        (WebCore::InspectorController::didCommitLoad):
93719
937202009-06-26  Adele Peterson  <adele@apple.com>
93721
93722        Reviewed by Darin Adler.
93723
93724        Fix for <rdar://problem/7000796>
93725        REGRESSION(34681): Breaking up quoted text makes new, unquoted text blue after certain steps; repros with some messages
93726
93727        Test: editing/inserting/break-blockquote-after-delete.html
93728
93729        Keep track of whether the typing style should be preserved after the TypingCommand is applied.  When adding onto an open
93730        typing command, keep that flag up to date.
93731
93732        In this case, an InsertParagraphSeparatorInQuotedContent command, which should not preserve typing style, 
93733        was following an open Delete command, which does preserve the typing style.  So we were applying the original
93734        typing style (from before the delete, so blue text) to the cursor in the unquoted area after breaking up the blockquote.
93735
93736        * editing/TypingCommand.cpp:
93737        (WebCore::TypingCommand::TypingCommand):
93738        (WebCore::TypingCommand::typingAddedToOpenCommand):
93739        (WebCore::TypingCommand::insertTextRunWithoutNewlines):
93740        (WebCore::TypingCommand::insertLineBreak):
93741        (WebCore::TypingCommand::insertParagraphSeparator):
93742        (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
93743        (WebCore::TypingCommand::deleteKeyPressed):
93744        (WebCore::TypingCommand::forwardDeleteKeyPressed):
93745        (WebCore::TypingCommand::deleteSelection):
93746        (WebCore::TypingCommand::updatePreservesTypingStyle):
93747        * editing/TypingCommand.h: (WebCore::TypingCommand::preservesTypingStyle):
93748
937492009-06-26  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
93750
93751        Reviewed by Simon Hausmann.
93752
93753        Add support for saving and loading of QWebHistory to and from a QByteArray.
93754
93755        This includes streaming operators for QWebHistory. for convenience.
93756
93757        New autotests that test QWebHistory and QWebHistoryItem serialization.
93758
93759        * WebCore.pro:
93760        * history/HistoryItem.h:
93761        (WebCore::HistoryItem::dailyVisitCounts):
93762        (WebCore::HistoryItem::weeklyVisitCounts):
93763        * history/qt/HistoryItemQt.cpp: Added.
93764        (WebCore::HistoryItem::restoreState):
93765        (WebCore::HistoryItem::saveState):
93766
937672009-06-26  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
93768
93769        Reviewed by Simon Hausmann.
93770
93771        Add support for QDataStream operators to String and IntPoint.
93772
93773        * platform/graphics/IntPoint.h:
93774        (WebCore::operator<<):
93775        (WebCore::operator>>):
93776        * platform/text/PlatformString.h:
93777        * platform/text/qt/StringQt.cpp:
93778        (WebCore::operator<<):
93779        (WebCore::operator>>):
93780
937812009-06-26  Ben Murdoch  <benm@google.com>
93782
93783        Reviewed by Darin Fisher.
93784
93785        Add #if ENABLE(DOM_STORAGE) to the V8 custom bindings for local/session storage.
93786        https://bugs.webkit.org/show_bug.cgi?id=26757
93787
93788        * bindings/v8/custom/V8StorageCustom.cpp
93789
937902009-06-26  Yongjun Zhang  <yongjun.zhang@nokia.com>
93791
93792        Reviewed by Eric Seidel.
93793
93794        Test: platform/qt/fast/events/event-sender-keydown-frame.html
93795
93796        Bug 20303: [Qt] Key events are not working in frames.
93797
93798        Merge scrolling handling code in qt and win port, move it to
93799        EventHandler.
93800
93801        * page/EventHandler.cpp:
93802        (WebCore::EventHandler::scrollRecursively):
93803        * page/EventHandler.h:
93804
938052009-06-26  Rob Buis  <rwlbuis@gmail.com>
93806
93807        Reviewed by Eric Seidel.
93808
93809        https://bugs.webkit.org/show_bug.cgi?id=26682
93810        Bug 26682: It should be possible to add image to SVG DOM programmatically (using JavaScript)
93811
93812        Make sure the xlink:href animated property setting syncs the corresponding attribute with the right namespace.
93813
93814        Test: svg/custom/createImageElement.svg
93815
93816        * svg/SVGAnimatedProperty.h:
93817        (WebCore::synchronizeProperty):
93818
938192009-06-26  Takeshi Yoshino  <tyoshino@google.com>
93820
93821        Reviewed by Timothy Hatcher.
93822
93823        Bug 26156: In view-source mode, always render the contents using HTMLViewSourceDocument
93824        https://bugs.webkit.org/show_bug.cgi?id=26156
93825
93826        When in view-source mode, render the contents using HTMLViewSourceDocument
93827        regardless it's applicable for any plugin or not.
93828
93829        Chromium tells WebCore to render the contents of specified URL when
93830        view-source: prefix is added to the URL. But currently, DOMImplementation
93831        ignores inViewSourceMode() when the MIME type is indicating that the contents
93832        are neither texts nor HTML family documents.
93833
93834        For example, we can check the contents of asf file without launching media
93835        player. Rendering contents for view-source:-specified input is not what user
93836        expects.
93837
93838        http://code.google.com/p/chromium/issues/detail?id=10545
93839
93840        I want to fix this issue by this patch. IMHO, regardless of this Chromium
93841        specific issue, I think we should force use of HTMLViewSourceDocument when
93842        inViewSourceMode() is specified.
93843
93844        Test: fast/frames/viewsource-on-image-file.html
93845
93846        * dom/DOMImplementation.cpp:
93847        (WebCore::DOMImplementation::createDocument):
93848        * html/HTMLViewSourceDocument.cpp:
93849        (WebCore::HTMLViewSourceDocument::createTokenizer):
93850        * html/HTMLViewSourceDocument.h:
93851
938522009-06-26  Xan Lopez  <xlopez@igalia.com>
93853
93854        Reviewed by Jan Alonzo.
93855
93856        https://bugs.webkit.org/show_bug.cgi?id=25529
93857        [Gtk] Expected states not exposed to assistive technologies
93858
93859        Add support for VISIBLE, EDITABLE and SENSITIVE states.
93860
93861        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
93862        (setAtkStateSetFromCoreObject):
93863
938642009-06-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
93865
93866        Reviewed by Darin Adler.
93867
93868        "Pointer to incomplete class type is not allowed" error with RVCT
93869        https://bugs.webkit.org/show_bug.cgi?id=26721
93870
93871        Based on Norbert Leser's work.
93872
93873        * dom/Document.cpp:
93874        (WebCore::Document::setFocusedNode):
93875        * dom/Node.cpp:
93876        (WebCore::Node::dispatchMouseEvent):
93877        * dom/Node.h: Remove the default value for PassRefPtr<Event> args,
93878        to eliminate dependency on the Event class definition
93879
938802009-06-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
93881
93882        Reviewed by Maciej Stachowiak.
93883
93884        [Qt] Build fix after r45183
93885        https://bugs.webkit.org/show_bug.cgi?id=26748
93886
93887        * WebCore.pro:
93888
938892009-06-25  Alexey Proskuryakov  <ap@webkit.org>
93890
93891        Reviewed by Darin Adler.
93892
93893        https://bugs.webkit.org/show_bug.cgi?id=26681
93894        <rdar://problem/7003461> Problem updating applicationCache when server returns 304
93895
93896        Test: http/tests/appcache/update-cache.html
93897
93898        * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::didReceiveResponse):
93899        We're already done with the resource, don't try to load it again.
93900
939012009-06-25  Simon Fraser  <simon.fraser@apple.com>
93902
93903        Reviewed by Oliver Hunt.
93904        
93905        <rdar://problem/6990481>
93906        
93907        Handle perspective computation on non-layer objects.
93908
93909        Test: transforms/3d/general/perspective-non-layer.html
93910
93911        * rendering/RenderObject.cpp:
93912        (WebCore::RenderObject::getTransformFromContainer):
93913
939142009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>
93915
93916        Reviewed by Eric Seidel.
93917
93918        https://bugs.webkit.org/show_bug.cgi?id=26653
93919
93920        Use flex box in the mediaControls.css style, to nicely scale if a button gets
93921        dynamically added or removed.
93922
93923        Media tests results are affected by this changes.
93924
93925        * css/mediaControls.css:
93926        * css/mediaControlsQT.css:
93927
939282009-06-25  Albert J. Wong  <ajwong@chromium.org>
93929
93930        Reviewed by Darin Fisher.
93931
93932        https://bugs.webkit.org/show_bug.cgi?id=26724
93933
93934        Move relavent part of setDefaultFontSize from RenderThemeChromiumWin
93935        up into RenderThemeChromiumSkia.
93936
93937        * rendering/RenderThemeChromiumSkia.cpp:
93938        (WebCore::RenderThemeChromiumSkia::setDefaultFontSize):
93939        * rendering/RenderThemeChromiumSkia.h:
93940        * rendering/RenderThemeChromiumWin.cpp:
93941        (WebCore::RenderThemeChromiumWin::setDefaultFontSize):
93942        * rendering/RenderThemeChromiumWin.h:
93943
939442009-06-25  Matt Perry  <mpcomplete@chromium.org>
93945
93946        Reviewed by Darin Fisher.
93947
93948        https://bugs.webkit.org/show_bug.cgi?id=26733
93949
93950        Add V8-only methods to FrameLoaderClient that V8 can use to send
93951        out notifications when it creates/destroys a script context.
93952
93953        * loader/EmptyClients.h:
93954        (WebCore::EmptyFrameLoaderClient::didCreateScriptContext):
93955        (WebCore::EmptyFrameLoaderClient::didDestroyScriptContext):
93956        * loader/FrameLoaderClient.h:
93957        (WebCore::FrameLoaderClient::didCreateScriptContext):
93958        (WebCore::FrameLoaderClient::didDestroyScriptContext):
93959
939602009-06-25  Dimitri Glazkov  <dglazkov@chromium.org>
93961
93962        Reviewed by David Levin.
93963
93964        Correct a few typos that snuck in when I was reformatting CodeGeneratorV8.pm
93965        to match WebKit style.
93966
93967        * bindings/scripts/CodeGeneratorV8.pm: Corrected lots of typos.
93968
939692009-06-25  Adam Langley  <agl@google.com>
93970
93971        TBRed: fix for Chromium tree.
93972
93973        Add missing include for r45199.
93974
93975        https://bugs.webkit.org/show_bug.cgi?id=26736
93976
93977        r45199 added a reference to throwError without including V8Proxy.h
93978
93979        * bindings/v8/WorkerScriptController.cpp:
93980
939812009-06-25  Adam Langley  <agl@google.com>
93982
93983        TBRed: fix for Chromium tree.
93984
93985        https://bugs.webkit.org/show_bug.cgi?id=26735
93986
93987        Fix V8IsolatedWorld to point to the correct include file.
93988
93989        The deprecated v8_index.h was removed from the Chromium tree in r19291
93990        and upstreamed into WebKit with r45193. However V8IsolatedWorld
93991        slipped in between the cracks and broke the build.
93992
93993        * bindings/v8/V8IsolatedWorld.h: update with new header location.
93994
939952009-06-25  Chris Marrin  <cmarrin@apple.com>
93996
93997        Reviewed by Simon Fraser  <simon.fraser@apple.com>.
93998
93999        https://bugs.webkit.org/show_bug.cgi?id=26651
94000        
94001        Preference is named "WebKitAcceleratedCompositingEnabled"
94002        and is a boolean value. When false, prevents compositing layers from
94003        being created, which prevents hardware animation from running.
94004        Also forces video to do software rendering. Added a cache for
94005        the flag in RenderLayerCompositing and made it all work
94006        on-the-fly when the flag is changed while a page is loaded.
94007
94008        * WebCore.base.exp:
94009        * page/FrameView.cpp:
94010        (WebCore::FrameView::updateCompositingLayers):
94011        * page/Settings.cpp:
94012        (WebCore::setNeedsReapplyStylesInAllFrames):
94013        (WebCore::Settings::Settings):
94014        (WebCore::Settings::setAcceleratedCompositingEnabled):
94015        * page/Settings.h:
94016        (WebCore::Settings::acceleratedCompositingEnabled):
94017        * rendering/RenderLayer.cpp:
94018        (WebCore::RenderLayer::hasAcceleratedCompositing):
94019        (WebCore::RenderLayer::updateTransform):
94020        (WebCore::RenderLayer::currentTransform):
94021        * rendering/RenderLayer.h:
94022        * rendering/RenderLayerBacking.cpp:
94023        (WebCore::RenderLayerBacking::updateLayerTransform):
94024        * rendering/RenderLayerCompositor.cpp:
94025        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
94026        (WebCore::RenderLayerCompositor::enableCompositingMode):
94027        (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingEnabledFlag):
94028        (WebCore::RenderLayerCompositor::updateCompositingLayers):
94029        (WebCore::RenderLayerCompositor::canAccelerateVideoRendering):
94030        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
94031        (WebCore::RenderLayerCompositor::needsToBeComposited):
94032        (WebCore::RenderLayerCompositor::destroyRootPlatformLayer):
94033        * rendering/RenderLayerCompositor.h:
94034        (WebCore::RenderLayerCompositor::hasAcceleratedCompositing):
94035        * rendering/RenderObject.h:
94036        (WebCore::makeMatrixRenderable):
94037
940382009-06-25  Jian Li  <jianli@chromium.org>
94039
94040        Reviewed by Dimitri Glazkov.
94041
94042        Bug 26701: Implement the missing code for "FIXME: Need to return an
94043        exception" in WorkerScriptController::evaluate for v8 bindings.
94044        https://bugs.webkit.org/show_bug.cgi?id=26701
94045
94046        * bindings/v8/WorkerScriptController.cpp:
94047        (WebCore::WorkerScriptController::evaluate):
94048
940492009-06-25  Nate Chapin  <japhet@chromium.org>
94050
94051        Reviewed by Dimitri Glazkov.
94052
94053        Upstream V8Index.
94054
94055        https://bugs.webkit.org/show_bug.cgi?id=26495
94056
94057        * bindings/v8/V8Index.cpp: Added.
94058        (WebCore::V8ClassIndex::GetFactory): Moved from src.chromium.org.
94059        (WebCore::V8ClassIndex::GetCache): Moved from src.chromium.org.
94060        * bindings/v8/V8Index.h:
94061        (WebCore::V8ClassIndex::): Moved from src.chromium.org.
94062        (WebCore::V8ClassIndex::ToInt): Moved from src.chromium.org.
94063        (WebCore::V8ClassIndex::FromInt): Moved from src.chromium.org.
94064
940652009-06-25  Adam Langley  <agl@google.com>
94066
94067        Reviewed by Darin Fisher.
94068
94069        https://bugs.webkit.org/show_bug.cgi?id=26529
94070
94071        This is hopefully the last step before our renderers can run
94072        cleanly in a chroot.
94073
94074        WebKit needs to be able to ask for the correct font to use in
94075        the case that the current font doesn't include glyphs for
94076        certain code points. Currently we make a fontconfig call in our
94077        WebKit port to handle this.
94078
94079        This patch changes this so that the call is sent our via
94080        ChromiumBridge.
94081
94082        http://codereview.chromium.org/132007
94083
94084        This should not affect any layout tests.
94085
94086        * platform/chromium/ChromiumBridge.h:
94087        * platform/graphics/chromium/FontCacheLinux.cpp:
94088        (WebCore::FontCache::getFontDataForCharacters):
94089
940902009-06-25  Albert J. Wong  <ajwong@chromium.org>
94091
94092        Reviewed by David Levin.
94093
94094        https://bugs.webkit.org/show_bug.cgi?id=26566
94095        Upstream these files from the chromium v8 code.  No tests were
94096        affected because this is essentially a code move.
94097
94098        * bindings/v8/NPV8Object.cpp: Added.
94099        (allocV8NPObject):
94100        (freeV8NPObject):
94101        (listFromVariantArgs):
94102        (npIdentifierToV8Identifier):
94103        (npCreateV8ScriptObject):
94104        (NPN_Invoke):
94105        (NPN_InvokeDefault):
94106        (NPN_Evaluate):
94107        (NPN_EvaluateHelper):
94108        (NPN_GetProperty):
94109        (NPN_SetProperty):
94110        (NPN_RemoveProperty):
94111        (NPN_HasProperty):
94112        (NPN_HasMethod):
94113        (NPN_SetException):
94114        (NPN_Enumerate):
94115        (NPN_Construct):
94116        * bindings/v8/NPV8Object.h: Added.
94117        (PrivateIdentifier::):
94118        * bindings/v8/V8NPUtils.cpp: Added.
94119        (convertV8ObjectToNPVariant):
94120        (convertNPVariantToV8Object):
94121        (getStringIdentifier):
94122        * bindings/v8/V8NPUtils.h: Added.
94123
941242009-06-25  Shinichiro Hamaji  <hamaji@chromium.org>
94125
94126        Reviewed by Dimitri Glazkov.
94127
94128        https://bugs.webkit.org/show_bug.cgi?id=26436
94129
94130        Windows Chromium bug fix: save context of destination canvas in
94131        TransparencyWin::compositeTextComposite() before the function
94132        modifies the context.
94133
94134        Test: fast/canvas/translate-text.html
94135
94136        * platform/graphics/chromium/TransparencyWin.cpp:
94137        (WebCore::TransparencyWin::compositeTextComposite):
94138
941392009-06-25  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
94140
94141        Reviewed by Timothy Hatcher.
94142
94143        Show the filename and first line for "(program)" in the Profiler/Debugger
94144        https://bugs.webkit.org/show_bug.cgi?id=25475
94145
94146        Add support to associate a sourceURL with an eval()'d string
94147        via a @sourceURL comment.  Currently the sourceURL is only available
94148        in the script debugger, not in the console or profiler, but it's
94149        most needed in the script debugger.
94150
94151        * English.lproj/localizedStrings.js: added new "(program): %s" string
94152        * inspector/front-end/Script.js:
94153        (WebInspector.Script): if no sourceURL is available for the Script,
94154        search for a comment of the form //@ sourceURL=(url) to use
94155        as the sourceURL instead.
94156        * manual-tests/inspector/named-evals.html: Added.
94157
941582009-06-25  John Gregg  <johnnyg@google.com>
94159
94160        Reviewed by Sam Weinig.
94161
94162        Bug 23721: Changing dropdown's selectedIndex within onchange handler fires another onchange
94163        https://bugs.webkit.org/show_bug.cgi?id=23721
94164
94165        onchange events fire when a SELECT element has
94166        focus and the selectedIndex is updated by script in some way--either
94167        during another onchange, onkeypress, onfocus, or timer--and then
94168        focus is lost. 
94169
94170        Fixed by making a separate method for user-driven selectedIndex 
94171        changes, leaving scripts to use one which doesn't cause onchange to
94172        be queued.
94173        
94174        Test: fast/forms/select-script-onchange.html
94175
94176        * dom/SelectElement.cpp: check if the pending change is user driven
94177        before calling onchange
94178        (WebCore::SelectElement::menuListOnChange):
94179        (WebCore::SelectElement::setSelectedIndex):
94180        * dom/SelectElement.h: store whether the pending change is user driven
94181        (WebCore::SelectElementData::userDrivenChange):
94182        (WebCore::SelectElementData::setUserDrivenChange):
94183        * html/HTMLSelectElement.cpp: split into two methods -- script version
94184        [non-user-driven] corresponds to IDL defined property name
94185        (WebCore::HTMLSelectElement::setSelectedIndex):
94186        (WebCore::HTMLSelectElement::setSelectedIndexByUser):
94187        * html/HTMLSelectElement.h: 
94188        * rendering/RenderMenuList.cpp: use ByUser method when coming through
94189        the renderer
94190        (WebCore::RenderMenuList::valueChanged):
94191
941922009-06-25  Jeremy Orlow  <jorlow@chromium.org>
94193
94194        Reviewed by Darin Fisher.
94195
94196        https://bugs.webkit.org/show_bug.cgi?id=26698
94197
94198        Combined LocalStorageArea and SessionStorageArea into StorageArea since
94199        (after my other refactorings) there are no longer substantial
94200        differences between the two.
94201
94202        * GNUmakefile.am:
94203        * WebCore.vcproj/WebCore.vcproj:
94204        * WebCore.xcodeproj/project.pbxproj:
94205        * WebCoreSources.bkl:
94206        * storage/LocalStorage.cpp:
94207        (WebCore::LocalStorage::storageArea):
94208        * storage/LocalStorage.h:
94209        * storage/LocalStorageArea.cpp: Removed.
94210        * storage/LocalStorageArea.h: Removed.
94211        * storage/SessionStorage.cpp:
94212        (WebCore::SessionStorage::copy):
94213        (WebCore::SessionStorage::storageArea):
94214        * storage/SessionStorage.h:
94215        * storage/SessionStorageArea.cpp: Removed.
94216        * storage/SessionStorageArea.h: Removed.
94217        * storage/StorageArea.cpp:
94218        (WebCore::StorageArea::createLocalStorage):
94219        (WebCore::StorageArea::StorageArea):
94220        (WebCore::StorageArea::createSessionStorage):
94221        (WebCore::StorageArea::copy):
94222        (WebCore::StorageArea::setItem):
94223        (WebCore::StorageArea::removeItem):
94224        (WebCore::StorageArea::clear):
94225        (WebCore::StorageArea::scheduleFinalSync):
94226        (WebCore::StorageArea::blockUntilImportComplete):
94227        (WebCore::StorageArea::dispatchStorageEvent):
94228        * storage/StorageArea.h:
94229        * storage/StorageAreaSync.cpp:
94230        (WebCore::StorageAreaSync::StorageAreaSync):
94231        (WebCore::StorageAreaSync::scheduleFinalSync):
94232        (WebCore::StorageAreaSync::syncTimerFired):
94233        (WebCore::StorageAreaSync::performImport):
94234        * storage/StorageAreaSync.h:
94235        * storage/StorageSyncManager.h:
94236
942372009-06-25  Dan Bernstein  <mitz@apple.com>
94238
94239        Reviewed by Darin Adler.
94240
94241        - fix https://bugs.webkit.org/show_bug.cgi?id=26671
94242          <rdar://problem/7001880> Safari 4.0 crashes in
94243          WebCore::DOMTimer::fired()
94244
94245        Test: fast/dom/style-sheet-candidate-remove-unrendered-document.html
94246
94247        When a "style sheet candidate" element is removed from a document,
94248        call Document::removeStyleSheetCandidateNode() regardless of whether
94249        the document is rendered. Otherwise, the document's style sheet
94250        candidate set can end up containing stale references.
94251
94252        * dom/ProcessingInstruction.cpp:
94253        (WebCore::ProcessingInstruction::removedFromDocument):
94254        * html/HTMLLinkElement.cpp:
94255        (WebCore::HTMLLinkElement::removedFromDocument):
94256        * html/HTMLStyleElement.cpp:
94257        (WebCore::HTMLStyleElement::removedFromDocument):
94258
942592009-06-25  Dimitri Glazkov  <dglazkov@chromium.org>
94260
94261        Reviewed by Darin Fisher.
94262
94263        Update CodeGeneratorV8.pm to sync up with the changes downstream.
94264
94265        * bindings/scripts/CodeGeneratorV8.pm: Added HTMLFrameSetElement check,
94266          FileList as a ref-counted type, and DataGridColumn as typeCanFailConversion.
94267
942682009-06-25  Dimitri Glazkov  <dglazkov@chromium.org>
94269
94270        Unreviewed, build fix.
94271
94272        Add FileList.h include to fix Chromium build.
94273
94274        * platform/chromium/ClipboardChromium.cpp: Added FileList.h include.
94275
942762009-06-25  Joseph Pecoraro  <joepeck02@gmail.com>
94277
94278        Reviewed by Jan Alonzo.
94279
94280        Bug 26489: Web Inspector: Typo in DatabaseQuery Error Message
94281        https://bugs.webkit.org/show_bug.cgi?id=26489
94282
94283        Fixed a Typo in a Web Inspector error message.
94284
94285        * English.lproj/localizedStrings.js:
94286        * inspector/front-end/DatabaseQueryView.js:
94287        (WebInspector.DatabaseQueryView.prototype._queryError):
94288
942892009-06-25  Simon Hausmann  <simon.hausmann@nokia.com>
94290
94291        Fix the Qt build, add missing StorageAreaSync files to the build.
94292
94293        * WebCore.pro:
94294
942952009-06-25  Simon Hausmann  <simon.hausmann@nokia.com>
94296
94297        Reviewed by and done with Tor Arne Vestbø.
94298
94299        Fix shortcut keyboard handling with plugins on the Qt/Mac build.
94300
94301        When we receive shortcut events like Ctrl+V then the text in the QKeyEvent is
94302        empty. If we're asked to disambiguate the event into a Char keyboard event,
94303        we try to detect this situation and still set the text, to ensure that the
94304        general event handling sends a key press event after this disambiguation.
94305
94306        * platform/qt/PlatformKeyboardEventQt.cpp:
94307        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
94308
943092009-06-25  Eric Seidel  <eric@webkit.org>
94310
94311        Build fix only, no review.
94312
94313        Add FileList.h and NotImplemented.h includes in an attempt to fix bots.
94314
94315        * platform/gtk/ClipboardGtk.cpp:
94316        * platform/qt/ClipboardQt.cpp:
94317        * platform/win/ClipboardWin.cpp:
94318        * platform/wx/ClipboardWx.cpp:
94319
943202009-05-21  Eric Seidel  <eric@webkit.org>
94321
94322        Reviewed by Maciej Stachowiak.
94323
94324        Expose files in the clipboard in ondrop events
94325        https://bugs.webkit.org/show_bug.cgi?id=25916
94326
94327        Make it possible for applications like gmail to implement
94328        drag and drop of attachments onto email messages.
94329
94330        This patch exposes an event.dataTransfer.files accessor
94331        on the drop event.  No information is exposed during dragover.
94332        This follows the HTML 5 drag and drop security model:
94333        http://www.w3.org/TR/html5/editing.html#security-risks-in-the-drag-and-drop-model
94334        The test http/tests/security/clipboard/clipboard-file-access.html
94335        verifies this behavior.
94336
94337        Internet Explorer shows historical documentation of supporting
94338        getData('File') as a way of exposing files on the pasteboard.  The current version of their docs:
94339        http://msdn.microsoft.com/en-us/library/ms537658(VS.85).aspx
94340        has removed this reference (as far as I can tell IE never implemented it)
94341        I have a printed copy of that URL from 2008 on my desk describing getData('File') in IE.
94342        IE does not follow the HTML5 clipboard security model and always allows access to the full clipboard, even on dragover.
94343
94344        I choose not to use IE's getData('File') and instead added .files
94345        so that the accessor could have a type, matching WebKit's existing
94346        .files accessor on HTMLInputElement.
94347
94348        Mozilla has equivalent file access:
94349        event.dataTransfer.mozGetDataAt("application/x-moz-file", 0);
94350        which also does not return a typed value.
94351        https://developer.mozilla.org/En/DragDrop/Recommended_Drag_Types#Dragging_Files
94352
94353        This is only implemented for Mac WebKit.  All other platforms (including Apple's Win WebKit)
94354        have incomplete Clipboard implementations and will require experts from those platforms
94355        to add this functionality.  Right now they all have Clipboard*::files() methods which call notImplemented();
94356
94357        Test: http/tests/security/clipboard/clipboard-file-access.html
94358
94359        * dom/Clipboard.h:
94360        * dom/Clipboard.idl:
94361        * platform/chromium/ClipboardChromium.cpp:
94362        (WebCore::ClipboardChromium::files):
94363        * platform/chromium/ClipboardChromium.h:
94364        * platform/gtk/ClipboardGtk.cpp:
94365        (WebCore::ClipboardGtk::files):
94366        * platform/gtk/ClipboardGtk.h:
94367        * platform/mac/ClipboardMac.h:
94368        * platform/mac/ClipboardMac.mm:
94369        (WebCore::absoluteURLsFromPasteboardFilenames):
94370        (WebCore::absoluteURLsFromPasteboard):
94371        (WebCore::ClipboardMac::files):
94372        * platform/qt/ClipboardQt.cpp:
94373        (WebCore::ClipboardQt::files):
94374        * platform/qt/ClipboardQt.h:
94375        * platform/win/ClipboardWin.cpp:
94376        (WebCore::ClipboardWin::files):
94377        * platform/win/ClipboardWin.h:
94378        * platform/wx/ClipboardWx.cpp:
94379        (WebCore::ClipboardWx::files):
94380        * platform/wx/ClipboardWx.h:
94381
943822009-06-25  Eric Seidel  <eric@webkit.org>
94383
94384        No review, only completing revert of r45144.
94385
94386        Add back files deleted by r45144.
94387
94388        * storage/LocalStorageArea.cpp: Added.
94389        (WebCore::LocalStorageArea::create):
94390        (WebCore::LocalStorageArea::LocalStorageArea):
94391        (WebCore::LocalStorageArea::scheduleFinalSync):
94392        (WebCore::LocalStorageArea::itemChanged):
94393        (WebCore::LocalStorageArea::itemRemoved):
94394        (WebCore::LocalStorageArea::areaCleared):
94395        (WebCore::LocalStorageArea::blockUntilImportComplete):
94396        (WebCore::LocalStorageArea::dispatchStorageEvent):
94397        * storage/LocalStorageArea.h: Added.
94398        * storage/SessionStorageArea.cpp: Added.
94399        (WebCore::SessionStorageArea::copy):
94400        (WebCore::SessionStorageArea::SessionStorageArea):
94401        (WebCore::SessionStorageArea::itemChanged):
94402        (WebCore::SessionStorageArea::itemRemoved):
94403        (WebCore::SessionStorageArea::areaCleared):
94404        (WebCore::SessionStorageArea::blockUntilImportComplete):
94405        (WebCore::SessionStorageArea::dispatchStorageEvent):
94406        * storage/SessionStorageArea.h: Added.
94407        (WebCore::SessionStorageArea::create):
94408
944092009-06-25  Eric Seidel  <eric@webkit.org>
94410
94411        No review, reverting r45144 only.
94412
94413        Roll out r45144 after 18 test failures appeared on the bots.
94414        https://bugs.webkit.org/show_bug.cgi?id=26698
94415
94416        * GNUmakefile.am:
94417        * WebCore.vcproj/WebCore.vcproj:
94418        * WebCore.xcodeproj/project.pbxproj:
94419        * WebCoreSources.bkl:
94420        * storage/LocalStorage.cpp:
94421        (WebCore::LocalStorage::storageArea):
94422        * storage/LocalStorage.h:
94423        * storage/SessionStorage.cpp:
94424        (WebCore::SessionStorage::copy):
94425        (WebCore::SessionStorage::storageArea):
94426        * storage/SessionStorage.h:
94427        * storage/StorageArea.cpp:
94428        (WebCore::StorageArea::StorageArea):
94429        (WebCore::StorageArea::~StorageArea):
94430        (WebCore::StorageArea::setItem):
94431        (WebCore::StorageArea::removeItem):
94432        (WebCore::StorageArea::clear):
94433        * storage/StorageArea.h:
94434        * storage/StorageAreaSync.cpp:
94435        (WebCore::StorageAreaSync::StorageAreaSync):
94436        (WebCore::StorageAreaSync::scheduleFinalSync):
94437        (WebCore::StorageAreaSync::syncTimerFired):
94438        (WebCore::StorageAreaSync::performImport):
94439        * storage/StorageAreaSync.h:
94440        * storage/StorageSyncManager.h:
94441
944422009-06-24  Jeremy Orlow  <jorlow@chromium.org>
94443
94444        Reviewed by Darin Fisher.
94445
94446        https://bugs.webkit.org/show_bug.cgi?id=26698
94447
94448        Combined LocalStorageArea and SessionStorageArea into StorageArea since
94449        (after my other refactorings) there are no longer substantial
94450        differences between the two.
94451
94452        * GNUmakefile.am:
94453        * WebCore.vcproj/WebCore.vcproj:
94454        * WebCore.xcodeproj/project.pbxproj:
94455        * WebCoreSources.bkl:
94456        * storage/LocalStorage.cpp:
94457        (WebCore::LocalStorage::storageArea):
94458        * storage/LocalStorage.h:
94459        * storage/LocalStorageArea.cpp: Removed.
94460        * storage/LocalStorageArea.h: Removed.
94461        * storage/SessionStorage.cpp:
94462        (WebCore::SessionStorage::copy):
94463        (WebCore::SessionStorage::storageArea):
94464        * storage/SessionStorage.h:
94465        * storage/SessionStorageArea.cpp: Removed.
94466        * storage/SessionStorageArea.h: Removed.
94467        * storage/StorageArea.cpp:
94468        (WebCore::StorageArea::createLocalStorage):
94469        (WebCore::StorageArea::StorageArea):
94470        (WebCore::StorageArea::createSessionStorage):
94471        (WebCore::StorageArea::copy):
94472        (WebCore::StorageArea::setItem):
94473        (WebCore::StorageArea::removeItem):
94474        (WebCore::StorageArea::clear):
94475        (WebCore::StorageArea::scheduleFinalSync):
94476        (WebCore::StorageArea::blockUntilImportComplete):
94477        (WebCore::StorageArea::dispatchStorageEvent):
94478        * storage/StorageArea.h:
94479        * storage/StorageAreaSync.cpp:
94480        (WebCore::StorageAreaSync::StorageAreaSync):
94481        (WebCore::StorageAreaSync::scheduleFinalSync):
94482        (WebCore::StorageAreaSync::syncTimerFired):
94483        (WebCore::StorageAreaSync::performImport):
94484        * storage/StorageAreaSync.h:
94485        * storage/StorageSyncManager.h:
94486
944872009-06-24  Dan Bernstein  <mitz@apple.com>
94488
94489        Reviewed by Simon Fraser.
94490
94491        - fix <rdar://problem/7001817> REGRESSION (r41902): Base position track
94492          at UCSC Genome Browser doesn't work because image map prevents img
94493          from hit-testing
94494
94495        Test: fast/replaced/image-map-2.html
94496
94497        * rendering/RenderImage.cpp:
94498        (WebCore::RenderImage::nodeAtPoint): Do not reset 'inside' to false if
94499        the image map failed the hit test.
94500
945012009-06-22  Adam Barth  <abarth@webkit.org>
94502
94503        Reviewed by Dimitri Glazkov.
94504
94505        https://bugs.webkit.org/show_bug.cgi?id=26366
94506
94507        Refactor V8DOMMap to support isolated worlds.
94508
94509        * bindings/v8/ScriptController.cpp:
94510        (WebCore::ScriptController::evaluateInNewWorld):
94511        * bindings/v8/ScriptController.h:
94512        * bindings/v8/V8DOMMap.cpp:
94513        (WebCore::DOMDataStore::InternalDOMWrapperMap::InternalDOMWrapperMap):
94514        (WebCore::DOMDataStore::allStores):
94515        (WebCore::DOMDataStore::allStoresMutex):
94516        (WebCore::DOMDataStore::domData):
94517        (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
94518        (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
94519        (WebCore::StaticDOMDataStore::StaticDOMDataStore):
94520        (WebCore::):
94521        (WebCore::MainThreadDOMData::MainThreadDOMData):
94522        (WebCore::MainThreadDOMData::getStore):
94523        (WebCore::ChildThreadDOMData::ChildThreadDOMData):
94524        (WebCore::ChildThreadDOMData::getStore):
94525        (WebCore::DOMDataStore::DOMDataStore):
94526        (WebCore::DOMDataStore::~DOMDataStore):
94527        (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
94528        (WebCore::DOMDataStoreHandle::~DOMDataStoreHandle):
94529        (WebCore::forget):
94530        (WebCore::getDOMNodeMap):
94531        (WebCore::getDOMObjectMap):
94532        (WebCore::getActiveDOMObjectMap):
94533        (WebCore::getDOMSVGElementInstanceMap):
94534        (WebCore::getDOMSVGObjectWithContextMap):
94535        (WebCore::DOMData::getCurrent):
94536        (WebCore::DOMData::handleWeakObject):
94537        (WebCore::DOMData::ensureDeref):
94538        (WebCore::weakDOMObjectCallback):
94539        (WebCore::weakActiveDOMObjectCallback):
94540        (WebCore::weakNodeCallback):
94541        (WebCore::weakSVGElementInstanceCallback):
94542        (WebCore::weakSVGObjectWithContextCallback):
94543        (WebCore::DOMData::derefObject):
94544        (WebCore::DOMData::derefDelayedObjects):
94545        (WebCore::DOMData::derefDelayedObjectsInCurrentThread):
94546        (WebCore::DOMData::removeObjectsFromWrapperMap):
94547        (WebCore::removeAllDOMObjectsInCurrentThreadHelper):
94548        (WebCore::visitDOMNodesInCurrentThread):
94549        (WebCore::visitDOMObjectsInCurrentThread):
94550        (WebCore::visitActiveDOMObjectsInCurrentThread):
94551        (WebCore::visitDOMSVGElementInstancesInCurrentThread):
94552        (WebCore::visitSVGObjectsInCurrentThread):
94553        * bindings/v8/V8DOMMap.h:
94554        (WebCore::DOMDataStoreHandle::getStore):
94555        * bindings/v8/V8IsolatedWorld.cpp: Added.
94556        (WebCore::getIsolatedWorldKey):
94557        (WebCore::contextWeakReferenceCallback):
94558        (WebCore::V8IsolatedWorld::evaluate):
94559        (WebCore::V8IsolatedWorld::V8IsolatedWorld):
94560        (WebCore::V8IsolatedWorld::~V8IsolatedWorld):
94561        (WebCore::V8IsolatedWorld::getEntered):
94562        * bindings/v8/V8IsolatedWorld.h: Added.
94563        (WebCore::V8IsolatedWorld::getDOMDataStore):
94564
945652009-06-24  Mikhail Naganov  <mnaganov@chromium.org>
94566
94567        Reviewed by Timothy Hatcher.
94568
94569        Bug 26604: Search doesn't work in Web Inspector Profiler
94570        https://bugs.webkit.org/show_bug.cgi?id=26604
94571
94572        Seems like search was damaged in revision 42808.
94573
94574        * inspector/front-end/ProfileView.js:
94575        (WebInspector.ProfileView.prototype.refresh):
94576        Here and in other functions: nodes we're searching in are profile data grid
94577        nodes, so there is no more need for '_dataGridNode' references.
94578        (WebInspector.ProfileView.prototype.searchCanceled):
94579        (WebInspector.ProfileView.prototype.performSearch.matchesQuery):
94580        Fixed accidental semicolon that caused 'matchesQuery' always return true.
94581        (WebInspector.ProfileView.prototype.performSearch):
94582        To perform search correctly in the case of bottom up tree, we need to populate
94583        the tree, because there's no 1-to-1 correspondence between profile nodes and
94584        data grid nodes in this case.
94585        (WebInspector.ProfileView.prototype._jumpToSearchResult):
94586
945872009-06-24  Simon Fraser  <simon.fraser@apple.com>
94588
94589        Reviewed by Darin Adler.
94590        
94591        <rdar://problem/6450239&6574516>
94592    
94593        Fix flashing issues caused by compositing layers rendering content before
94594        a deferred layout has happened. Because the -viewWillDraw machinery doesn't
94595        work for composited layers, we need to use scheduleViewUpdate() to queue
94596        up a layout via the run loop observer in WebKit, whenever we know we
94597        are going to be painting soon.
94598
94599        * rendering/RenderLayerBacking.cpp:
94600        (WebCore::RenderLayerBacking::setContentsNeedDisplay):
94601        (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
94602
946032009-06-24  David Levin  <levin@chromium.org>
94604
94605        Fix all builds.
94606
94607        * ForwardingHeaders/wtf/FastAllocBase.h: Added.
94608
946092009-06-24  Jeremy Orlow  <jorlow@chromium.org>
94610
94611        Reviewed by Darin Fisher.
94612
94613        https://bugs.webkit.org/show_bug.cgi?id=26658
94614
94615        Split the syncing portions of LocalStorageArea into StorageAreaSync.
94616        This name will make more sense in the next patch (in this set) when
94617        LocalStorageArea and SessionStorageArea are merged to become simply
94618        StorageArea.  (Thus the synching portion of StorageArea is in
94619        StorageAreaSync.)
94620
94621        This looks like a big patch, but really all it's doing is splitting
94622        code and patching split-related things up.
94623
94624        * GNUmakefile.am:
94625        * WebCore.vcproj/WebCore.vcproj:
94626        * WebCore.xcodeproj/project.pbxproj:
94627        * WebCoreSources.bkl:
94628        * storage/LocalStorageArea.cpp:
94629        (WebCore::LocalStorageArea::create):
94630        (WebCore::LocalStorageArea::LocalStorageArea):
94631        (WebCore::LocalStorageArea::scheduleFinalSync):
94632        (WebCore::LocalStorageArea::itemChanged):
94633        (WebCore::LocalStorageArea::itemRemoved):
94634        (WebCore::LocalStorageArea::areaCleared):
94635        (WebCore::LocalStorageArea::blockUntilImportComplete):
94636        * storage/LocalStorageArea.h:
94637        * storage/LocalStorageTask.cpp:
94638        (WebCore::LocalStorageTask::LocalStorageTask):
94639        * storage/LocalStorageTask.h:
94640        (WebCore::LocalStorageTask::createImport):
94641        (WebCore::LocalStorageTask::createSync):
94642        * storage/LocalStorageThread.cpp:
94643        (WebCore::LocalStorageThread::scheduleImport):
94644        (WebCore::LocalStorageThread::scheduleSync):
94645        * storage/LocalStorageThread.h:
94646        * storage/SessionStorageArea.cpp:
94647        (WebCore::SessionStorageArea::blockUntilImportComplete):
94648        * storage/SessionStorageArea.h:
94649        * storage/StorageArea.h:
94650        * storage/StorageAreaSync.cpp: Copied from WebCore/storage/LocalStorageArea.cpp.
94651        * storage/StorageAreaSync.h: Copied from WebCore/storage/LocalStorageArea.h.
94652        * storage/StorageSyncManager.cpp:
94653        (WebCore::StorageSyncManager::scheduleImport):
94654        (WebCore::StorageSyncManager::scheduleSync):
94655        * storage/StorageSyncManager.h:
94656
946572009-06-24  Adam Treat  <adam.treat@torchmobile.com>
94658
94659        Fix Qt build.
94660
94661        * WebCore.pro:
94662
946632009-06-24  David Levin  <levin@chromium.org>
94664
94665        Reviewed by David Hyatt.
94666
94667        Bug 26696: Member functions in DataGridColumnList should return pointers instead of PassRefPtr.
94668        https://bugs.webkit.org/show_bug.cgi?id=26696
94669
94670        * html/DataGridColumnList.cpp:
94671        (WebCore::DataGridColumnList::itemWithName):
94672        (WebCore::DataGridColumnList::add):
94673        * html/DataGridColumnList.h:
94674        (WebCore::DataGridColumnList::item):
94675        (WebCore::DataGridColumnList::primaryColumn):
94676        (WebCore::DataGridColumnList::sortColumn):
94677
946782009-06-24  Sam Weinig  <sam@webkit.org>
94679
94680        Reviewed by Dave "Messy" Hyatt.
94681
94682        Little bit of style cleanup.
94683
94684        * html/DataGridColumn.cpp:
94685        * html/DataGridColumn.h:
94686        * html/DataGridColumn.idl:
94687        * html/DataGridColumnList.cpp:
94688        * html/DataGridColumnList.h:
94689        * html/DataGridColumnList.idl:
94690        * html/HTMLDataGridCellElement.cpp:
94691        * html/HTMLDataGridCellElement.h:
94692        * html/HTMLDataGridCellElement.idl:
94693        * html/HTMLDataGridColElement.cpp:
94694        * html/HTMLDataGridColElement.h:
94695        * html/HTMLDataGridColElement.idl:
94696        * html/HTMLDataGridElement.h:
94697        * html/HTMLDataGridElement.idl:
94698        * html/HTMLDataGridRowElement.cpp:
94699        * html/HTMLDataGridRowElement.h:
94700        * html/HTMLDataGridRowElement.idl:
94701
947022009-06-24  Chris Fleizach  <cfleizach@apple.com>
94703
94704        Reviewed by Oliver Hunt.
94705
94706        Bug 26668: AX: need a way to retrieve the language for an element
94707        
94708        Provides a way to retrieve the language associated with a specific accessibility element.
94709
94710        Test: accessibility/language-attribute.html
94711
94712        * accessibility/AccessibilityObject.cpp:
94713        (WebCore::AccessibilityObject::language):
94714        * accessibility/AccessibilityObject.h:
94715        * accessibility/AccessibilityRenderObject.cpp:
94716        (WebCore::AccessibilityRenderObject::language):
94717        * accessibility/AccessibilityRenderObject.h:
94718        * accessibility/mac/AccessibilityObjectWrapper.mm:
94719        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
94720
947212009-06-24  Brady Eidson  <beidson@apple.com>
94722
94723        Reviewed by Dan Bernstein.
94724        
94725        <rdar://problem/6893811> Instead of downloading files linked from Google Earth, file contents displayed in browser window as text.
94726
94727        * platform/network/mac/WebCoreURLResponse.mm:
94728        (createBinaryExtensionsSet): Add '.kmz' to the list of known-to-be-binary extensions.
94729
947302009-06-24  Nicolas Weber  <thakis@chromium.org>
94731
94732        Reviewed by Eric Seidel.
94733
94734        https://bugs.webkit.org/show_bug.cgi?id=26685
94735        Accomodate for backwards-incompatible skia api changes.
94736
94737        * platform/graphics/skia/GraphicsContextSkia.cpp:
94738        (WebCore::GraphicsContext::clearRect):
94739        (WebCore::GraphicsContext::setCompositeOperation):
94740        * platform/graphics/skia/ImageBufferSkia.cpp:
94741        (WebCore::ImageBuffer::ImageBuffer):
94742        * platform/graphics/skia/ImageSkia.cpp:
94743        (WebCore::paintSkBitmap):
94744        (WebCore::Image::drawPattern):
94745        * platform/graphics/skia/PlatformContextSkia.cpp:
94746        (PlatformContextSkia::State::State):
94747        (PlatformContextSkia::setupPaintCommon):
94748        (PlatformContextSkia::setXfermodeMode):
94749        (PlatformContextSkia::applyClipFromImage):
94750        * platform/graphics/skia/PlatformContextSkia.h:
94751        * platform/graphics/skia/SkiaUtils.cpp:
94752        (WebCore::):
94753        (WebCore::WebCoreCompositeToSkiaComposite):
94754        * platform/graphics/skia/SkiaUtils.h:
94755
947562009-06-24  Jan Michael Alonzo  <jmalonzo@webkit.org>
94757
94758        Gtk build fix. Add files that were added in r45093 and r45096
94759
94760        * GNUmakefile.am:
94761
947622009-06-24  Brady Eidson  <beidson@apple.com>
94763
94764        Fix 64-bit SnowLeopard build.
94765
94766        * html/DataGridColumnList.cpp:
94767        (WebCore::DataGridColumnList::remove):
94768        (WebCore::DataGridColumnList::move):
94769
947702009-06-24  Rob Buis  <rwlbuis@gmail.com>
94771
94772        Reviewed by Eric Seidel.
94773
94774        https://bugs.webkit.org/show_bug.cgi?id=26392
94775        Bug 26392: In html, modification of xlink:href of an newly inserted svg image does not work.
94776        https://bugs.webkit.org/show_bug.cgi?id=26328
94777        Bug 26328: changing href attribute of svg images does not work when changing display attribute as well
94778
94779        React to href updates even when there is no renderer, i.e. display=none.
94780
94781        Tests: svg/custom/js-update-image-and-display.svg
94782               svg/custom/js-update-image-and-display2.svg
94783               svg/custom/js-update-image-and-display3.svg
94784
94785        * svg/SVGImageElement.cpp:
94786        (WebCore::SVGImageElement::svgAttributeChanged):
94787
947882009-06-24  David Hyatt  <hyatt@apple.com>
94789
94790        Reviewed by Sam Weinig.
94791
94792        https://bugs.webkit.org/show_bug.cgi?id=26687
94793
94794        Add basic back-end column support to datagrid.
94795
94796        Added fast/dom/HTMLDataGridElement/ column tests.
94797
94798        * DerivedSources.cpp:
94799        * DerivedSources.make:
94800        * WebCore.pro:
94801        * WebCore.vcproj/WebCore.vcproj:
94802        * WebCore.xcodeproj/project.pbxproj:
94803        * WebCoreSources.bkl:
94804        * html/DataGridColumn.cpp: Added.
94805        (WebCore::DataGridColumn::setPrimary):
94806        * html/DataGridColumn.h: Added.
94807        (WebCore::DataGridColumn::create):
94808        (WebCore::DataGridColumn::id):
94809        (WebCore::DataGridColumn::setId):
94810        (WebCore::DataGridColumn::label):
94811        (WebCore::DataGridColumn::setLabel):
94812        (WebCore::DataGridColumn::type):
94813        (WebCore::DataGridColumn::setType):
94814        (WebCore::DataGridColumn::sortable):
94815        (WebCore::DataGridColumn::setSortable):
94816        (WebCore::DataGridColumn::sortDirection):
94817        (WebCore::DataGridColumn::setSortDirection):
94818        (WebCore::DataGridColumn::primary):
94819        (WebCore::DataGridColumn::detachFromColumnList):
94820        (WebCore::DataGridColumn::DataGridColumn):
94821        * html/DataGridColumn.idl: Added.
94822        * html/DataGridColumnList.cpp: Added.
94823        (WebCore::DataGridColumnList::~DataGridColumnList):
94824        (WebCore::DataGridColumnList::itemWithName):
94825        (WebCore::DataGridColumnList::add):
94826        (WebCore::DataGridColumnList::remove):
94827        (WebCore::DataGridColumnList::move):
94828        (WebCore::DataGridColumnList::clear):
94829        (WebCore::DataGridColumnList::primaryColumnChanged):
94830        * html/DataGridColumnList.h: Added.
94831        (WebCore::DataGridColumnList::create):
94832        (WebCore::DataGridColumnList::length):
94833        (WebCore::DataGridColumnList::item):
94834        (WebCore::DataGridColumnList::primaryColumn):
94835        (WebCore::DataGridColumnList::sortColumn):
94836        * html/DataGridColumnList.idl: Added.
94837        * html/HTMLDataGridColElement.cpp:
94838        (WebCore::HTMLDataGridColElement::sortable):
94839        (WebCore::HTMLDataGridColElement::setSortable):
94840        (WebCore::HTMLDataGridColElement::sortDirection):
94841        (WebCore::HTMLDataGridColElement::setSortDirection):
94842        * html/HTMLDataGridColElement.h:
94843        * html/HTMLDataGridColElement.idl:
94844        * html/HTMLDataGridElement.cpp:
94845        (WebCore::HTMLDataGridElement::HTMLDataGridElement):
94846        * html/HTMLDataGridElement.h:
94847        (WebCore::HTMLDataGridElement::columns):
94848        * html/HTMLDataGridElement.idl:
94849        * rendering/RenderDataGrid.cpp:
94850        (WebCore::RenderDataGrid::paintObject):
94851        (WebCore::RenderDataGrid::paintColumnHeaders):
94852        (WebCore::RenderDataGrid::rebuildColumns):
94853        * rendering/RenderDataGrid.h:
94854        (WebCore::RenderDataGrid::gridElement):
94855
948562009-06-24  Jessie Berlin  <jberlin@apple.com>
94857
94858        Reviewed by Adam Roben.
94859
94860        Partially fixes: https://bugs.webkit.org/show_bug.cgi?id=24735
94861        (<rdar://problem/5015942>)
94862        Where on windows it was not possible to set an element as the drag
94863        image using setDragImage on the dataTransfer object.
94864        
94865        Does not "fix" the case of dragging a link where the default link image
94866        is still used, even when the -webkit-user-drag is set to "element". This
94867        is the same behavior as is found on OS X.
94868        
94869        Added a manual test because it is not possible to check that what is
94870        contained in the image snapshot is indeed the requested element.
94871
94872        * dom/Clipboard.h:
94873        (WebCore::Clipboard::dragImageElement):
94874        Made getting the raw pointer from the RefPtr a const operation.
94875        * manual-tests/drag-with-div-or-image-as-data-image.html: Added.
94876        * platform/win/ClipboardWin.cpp:
94877        (WebCore::ClipboardWin::createDragImage):
94878        Get an image of the rendered element and its subtree.
94879
948802009-06-24  Darin Fisher  <darin@chromium.org>
94881
94882        Reviewed by David Levin.
94883
94884        https://bugs.webkit.org/show_bug.cgi?id=26683
94885        Fix Chromium build bustage: Add custom binding for HTMLDataGridElement.dataSource
94886
94887        This change just adds a stub implementation for now to help fix the build.
94888
94889        * bindings/v8/custom/V8CustomBinding.h:
94890        * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Added.
94891
948922009-06-24  David Kilzer  <ddkilzer@apple.com>
94893
94894        Build fixes for ENABLE(PLUGIN_PROXY_FOR_VIDEO)
94895
94896        Reviewed by Adam Roben.
94897
94898        * html/HTMLMediaElement.cpp:
94899        (WebCore::HTMLMediaElement::deliverNotification): Removed
94900        ExceptionCode parameter from togglePlayState().
94901        (WebCore::HTMLMediaElement::initialURL): Don't convert a KURL
94902        object to a String when assigning to a KURL variable.
94903
949042009-06-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
94905
94906        Reviewed by Adam Treat.
94907
94908        Save memory by not storing attribute values in member variables, if not absolutely needed.
94909        Also fixes bugs where we're substituting variables too early (noticeable with the upcoming <select> element).
94910
94911        * wml/WMLDoElement.cpp:
94912        (WebCore::WMLDoElement::parseMappedAttribute):
94913        (WebCore::WMLDoElement::label):
94914        * wml/WMLDoElement.h:
94915        * wml/WMLFieldSetElement.cpp:
94916        (WebCore::WMLFieldSetElement::insertedIntoDocument):
94917        * wml/WMLFieldSetElement.h:
94918        * wml/WMLOptGroupElement.cpp:
94919        (WebCore::WMLOptGroupElement::title):
94920        (WebCore::WMLOptGroupElement::parseMappedAttribute):
94921        (WebCore::WMLOptGroupElement::groupLabelText):
94922        * wml/WMLOptGroupElement.h:
94923        * wml/WMLPostfieldElement.cpp:
94924        (WebCore::WMLPostfieldElement::name):
94925        (WebCore::WMLPostfieldElement::value):
94926        (WebCore::WMLPostfieldElement::encodeData):
94927        * wml/WMLPostfieldElement.h:
94928        * wml/WMLSetvarElement.cpp:
94929        (WebCore::WMLSetvarElement::parseMappedAttribute):
94930        (WebCore::WMLSetvarElement::name):
94931        (WebCore::WMLSetvarElement::value):
94932        * wml/WMLSetvarElement.h:
94933        * wml/WMLTimerElement.cpp:
94934        (WebCore::WMLTimerElement::parseMappedAttribute):
94935        (WebCore::WMLTimerElement::insertedIntoDocument):
94936        (WebCore::WMLTimerElement::timerFired):
94937        (WebCore::WMLTimerElement::start):
94938        (WebCore::WMLTimerElement::value):
94939        * wml/WMLTimerElement.h:
94940
949412009-06-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
94942
94943        Reviewed by Adam Roben.
94944
94945        Forgot to initialize m_task member variable. Results in crashes sometimes.
94946
94947        * wml/WMLAnchorElement.cpp:
94948        (WebCore::WMLAnchorElement::WMLAnchorElement):
94949
949502009-06-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
94951
94952        Not reviewed. Forgot to include within last patch.
94953
94954        * manual-tests/wml/card-title-attr.wml: Added.
94955
949562009-06-24  Wajahat Siddiqui <wajahatmeister@gmail.com>
94957 
94958        Reviewed by Nikolas Zimmermann.
94959
94960        Fixes: https://bugs.webkit.org/show_bug.cgi?id=26474
94961        Adding WML <card> title attribute handling.
94962
94963        * wml/WMLElement.h: marking parseValueSubstitutingVariableReferences and parseValueForbiddingVariableReferences as const
94964        * wml/WMLElement.cpp:
94965        * wml/WMLCardElement.h: 
94966        (WebCore::WMLCardElement::title):
94967        * wml/WMLCardElement.cpp:
94968        * wml/manual-test/card-title-attr.wml: Manual test  
94969 
949702009-06-24  Simon Hausmann  <simon.hausmann@nokia.com>
94971
94972        Reviewed by Tor Arne Vestbø.
94973
94974        Fix the build without ENABLE_VIDEO.
94975
94976        * html/CanvasRenderingContext2D.cpp: Add #if ENABLE guards.
94977        * html/CanvasRenderingContext2D.h: Ditto.
94978
949792009-06-24  Siddhartha Chattopadhyay  <sidchat@google.com>
94980
94981        Reviewed by Eric Seidel.
94982
94983        Fix for https://bugs.webkit.org/show_bug.cgi?id=26200 which I introduced earlier. I had
94984        the smartReplace set TRUE initially, which was wrong since the purpose of this call is
94985        to just replace the selection, and place the caret at the end of the selection it replaced.
94986
94987        * editing/Editor.cpp:
94988        (WebCore::Editor::markMisspellingsAfterTypingToPosition):
94989        * manual-tests/textarea-caret-position-after-auto-spell-correct.html: Added.
94990
949912009-06-24  Kevin Watters  <kevinwatters@gmail.com>
94992
94993        Reviewed by Kevin Ollivier.
94994
94995        Don't use an unsigned int for intervalInMS because we sometimes initialize
94996        it with a negative value.
94997
94998        * platform/wx/SharedTimerWx.cpp:
94999        (WebCore::setSharedTimerFireTime):
95000
950012009-06-24  Eric Seidel  <eric@webkit.org>
95002
95003        No review, build fix only.
95004
95005        The previous checkin had an improper merge.  This fixes the build.
95006
95007        * page/DragController.cpp:
95008        (WebCore::DragController::tryDocumentDrag):
95009
950102009-06-05  Eric Seidel  <eric@webkit.org>
95011
95012        Reviewed by Oliver Hunt.
95013
95014        https://bugs.webkit.org/show_bug.cgi?id=25922
95015        JS setting dropEffect = "none" causes tryDHTMLDrag
95016        to return DragOperationNone.  Which is also the value
95017        tryDHTMLDrag previously used to indicate JS did not
95018        want to handle the drag.
95019
95020        Make it possible for the DragController::try* methods
95021        to return a bool to indicate if javascript accepted
95022        or rejected the drag event, separate from the DragOperation.
95023
95024        Tests:
95025        - fast/events/drag-to-navigate.html
95026        - fast/events/prevent-drag-to-navigate.html
95027
95028        * page/DragController.cpp:
95029        (WebCore::DragController::dragEnteredOrUpdated):
95030        (WebCore::DragController::tryDocumentDrag):
95031        (WebCore::defaultOperationForDrag):
95032        (WebCore::DragController::tryDHTMLDrag):
95033        * page/DragController.h:
95034
950352009-06-23  Oliver Hunt  <oliver@apple.com> and Eric Carlson  <eric.carlson@apple.com>
95036
95037        Reviewed by Sam Weinig and Dave Hyatt.
95038
95039        <rdar://problem/6164797> Add Canvas API to allow drawing of <video> frames
95040        <https://bugs.webkit.org/show_bug.cgi?id=25920>
95041
95042        Add support for drawing the contents of the video element to the canvas
95043        in accordance with the current HTML5 draft.
95044
95045        Test: media/video-canvas.html
95046
95047        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
95048        (WebCore::JSCanvasRenderingContext2D::drawImage):
95049          Standard custom bindings stuff we need to do for all canvas methods.
95050        * html/CanvasRenderingContext2D.cpp:
95051        (WebCore::size): Helper function for finding the size of a video element
95052        (WebCore::CanvasRenderingContext2D::checkOrigin): moved up in the file.
95053        (WebCore::CanvasRenderingContext2D::drawImage): The various overloads of HTML5's drawImage(<video>)
95054        * html/CanvasRenderingContext2D.h:
95055        * html/HTMLMediaElement.h:
95056        (WebCore::HTMLMediaElement::hasSingleSecurityOrigin):
95057          hasSingleSecurityOrigin is needed for security, currently all implementations are trivial
95058          as we force QT to maintain a single origin.
95059        * html/HTMLVideoElement.cpp:
95060        (WebCore::HTMLVideoElement::paint): 
95061            Paint routine on video so we don't have to look at MediaPlayer directly
95062        * html/HTMLVideoElement.h:
95063        * platform/graphics/MediaPlayer.cpp:
95064        (WebCore::NullMediaPlayerPrivate::hasSingleSecurityOrigin):
95065        (WebCore::MediaPlayer::hasSingleSecurityOrigin):
95066            Default implementations of hasSingleSecurityOrigin
95067        * platform/graphics/MediaPlayer.h:
95068        * platform/graphics/MediaPlayerPrivate.h:
95069        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
95070        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
95071        (WebCore::MediaPlayerPrivate::setUpVideoRendering):
95072            A video may need a player now even if it is not visible.
95073        (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
95074            Always return true due to restrictions we've placed on QT.
95075        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
95076        (WebCore::MediaPlayerPrivate::paint):
95077            Jump through some hoops to allow windows QT to draw to an intermediate buffer.
95078            In the long term we'd like to cache the HDC, but this will do for now.
95079        (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
95080        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
95081            As for Mac we force QT to only allow same origin loads.
95082
950832009-06-23  Adam Langley  <agl@google.com>
95084
95085        Reviewed by Eric Seidel.
95086
95087        Chromium: Fix crash with inherited font-size in <option>
95088
95089        https://bugs.webkit.org/show_bug.cgi?id=26656
95090        http://code.google.com/p/chromium/issues/detail?id=14853
95091
95092        In r42597 (https://bugs.webkit.org/show_bug.cgi?id=25244), I changed
95093        the <select> handing for Chromium to fix a rendering bug. However,
95094        although the font-size is correctly ignored, getRowHeight wasn't
95095        updated and so was calculating the height of the rows in an
95096        inconsistent manner. This can lead to a crash.
95097
95098        * manual-tests/optgroup-empty-and-nested.html: adding test case for crash
95099        * platform/chromium/PopupMenuChromium.cpp:
95100        (WebCore::PopupListBox::getRowHeight):
95101
951022009-06-23  Brady Eidson  <beidson@apple.com>
95103
95104        Patch by Antti Koivisto.
95105        Reviewed by Brady Eidson.
95106
95107        <rdar://problem/6988010> Failed resources not reloaded when built against Tiger SDK
95108
95109        A latent bug that cache revalidation uncovered.  When a CachedResource failed to load,
95110        it should always be revalidated upon reload.
95111
95112        * loader/CachedResource.cpp:
95113        (WebCore::CachedResource::canUseCacheValidator):
95114        (WebCore::CachedResource::mustRevalidate):
95115
951162009-06-23  Dan Bernstein  <mitz@apple.com>
95117
95118        Reviewed by Darin Adler.
95119
95120        - fix <rdar://problem/6634228> Crash in [NSScroller mouseDown:] beneath
95121          EventHandler::passMouseDownEventToWidget()
95122
95123        * page/mac/EventHandlerMac.mm:
95124        (WebCore::EventHandler::passMouseDownEventToWidget): Surround the
95125        -mouseDown: call with calls to Widget::beforeMouseDown() and
95126        Widget::afterMouseDown(), which prevent the widget's view hierarchy from
95127        being removed from its parent view while the scroller is tracking the
95128        mouse.
95129
951302009-06-23  Sam Weinig  <sam@webkit.org>
95131
95132        Reviewed by Dave Hyatt.
95133
95134        Fix for https://bugs.webkit.org/show_bug.cgi?id=26516
95135        Add initial implementation of DataGridDataSource
95136
95137        - Initial implementation only supports the initialize callback function.
95138
95139        Test: fast/dom/HTMLDataGridElement/DataGridDataSource-basic.html
95140
95141        * WebCore.xcodeproj/project.pbxproj:
95142        * GNUmakefile.am:
95143        * WebCore.pro:
95144        * WebCore.vcproj/WebCore.vcproj:
95145        * WebCore.xcodeproj/project.pbxproj:
95146        * WebCoreSources.bkl:
95147        * bindings/js/JSDataGridDataSource.cpp: Added.
95148        (WebCore::JSDataGridDataSource::JSDataGridDataSource):
95149        (WebCore::JSDataGridDataSource::~JSDataGridDataSource):
95150        (WebCore::JSDataGridDataSource::initialize):
95151        * bindings/js/JSDataGridDataSource.h: Added.
95152        (WebCore::JSDataGridDataSource::create):
95153        (WebCore::JSDataGridDataSource::isJSDataGridDataSource):
95154        (WebCore::JSDataGridDataSource::jsDataSource):
95155        (WebCore::asJSDataGridDataSource):
95156        * bindings/js/JSHTMLDataGridElementCustom.cpp: Added.
95157        (WebCore::JSHTMLDataGridElement::listener):
95158        (WebCore::JSHTMLDataGridElement::setListener):
95159        * html/DataGridDataSource.h: Added.
95160        (WebCore::DataGridDataSource::~DataGridDataSource):
95161        (WebCore::DataGridDataSource::isJSDataGridDataSource):
95162        * html/HTMLDataGridElement.cpp:
95163        (WebCore::HTMLDataGridElement::HTMLDataGridElement):
95164        (WebCore::HTMLDataGridElement::setDataSource):
95165        (WebCore::HTMLDataGridElement::initializationTimerFired):
95166        * html/HTMLDataGridElement.h:
95167        (WebCore::HTMLDataGridElement::dataSource):
95168        * html/HTMLDataGridElement.idl:
95169
951702009-06-23  Ryosuke Niwa  <rniwa@google.com>
95171
95172        Reviewed by Justin Garcia.
95173
95174        Undo the changeset 21212 to fix the regression bug 14062.
95175        The changeset 21212 attempted to fix rdar://problem/5002441.
95176        The changeset 21212 modified InsertTextCommand::input so as to convert
95177        all spaces in text to non-breaking spaces for rdar://problem/5002441.
95178        However, the bug was originally caused by rebalanceWhitespaceAt
95179        and this workaround introduced a regression bug 14062.
95180        Because rebalanceWhitespaceAt appears to behave correctly now,
95181        the workaround introduced in 21212 is no longer needed.
95182
95183        Test: editing/inserting/space-after-removeformat.html
95184
95185        * editing/InsertTextCommand.cpp:
95186        (WebCore::InsertTextCommand::input):
95187
951882009-06-23  Beth Dakin  <bdakin@apple.com>
95189
95190        Reviewed by Dave Hyatt.
95191
95192        Fix for https://bugs.webkit.org/show_bug.cgi?id=26523 <col> 
95193        elements width can't be changed with javascript
95194
95195        This patch both fixes setting the width attribute directly in 
95196        JavaScript, and setting the width on the style attribute. 
95197
95198        * html/HTMLTableColElement.cpp:
95199        (WebCore::HTMLTableColElement::parseMappedAttribute): If we have a 
95200        new width, call setNeedsLayoutAndPrefWidthsRecalc()
95201
95202        Call calcPrefWidths() on the table cols.
95203        * rendering/AutoTableLayout.cpp:
95204        (WebCore::AutoTableLayout::recalcColumn):
95205        * rendering/FixedTableLayout.cpp:
95206        (WebCore::FixedTableLayout::calcWidthArray):
95207        
95208        Call layoutIfNeeded on the table cols.
95209        * rendering/RenderTable.cpp:
95210        (WebCore::RenderTable::layout):
95211
95212        * rendering/RenderTableCol.cpp:
95213        (WebCore::RenderTableCol::clippedOverflowRectForRepaint): Use new 
95214        table() convenience function.
95215        (WebCore::RenderTableCol::calcPrefWidths): Just call 
95216        setPrefWidthsDirty(false) on ourself and our children.
95217        (WebCore::RenderTableCol::table):
95218        * rendering/RenderTableCol.h:
95219
952202009-06-23  Ojan Vafai  <ojan@chromium.org>
95221
95222        Reviewed by Dan Bernstein.
95223
95224        Add logic to CSSStyleDeclaration::diff to deal with font-sizes that are 
95225        keyword values. When diff is called on a CSSStyleDeclaration, we check
95226        the keywordSize to see if font-size matches a keyword value.
95227        
95228        This ensures that when we diff a CSSMutableStyleDeclaration returned from
95229        copyInheritableProperties on a CSSComputedStyleDeclaration that we 
95230        correctly identify matching font-sizes.
95231        
95232        https://bugs.webkit.org/show_bug.cgi?id=26279
95233
95234        Test: editing/inserting/font-size-clears-from-typing-style.html
95235
95236        * css/CSSComputedStyleDeclaration.cpp:
95237        (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
95238        * css/CSSComputedStyleDeclaration.h:
95239        * css/CSSStyleDeclaration.cpp:
95240        (WebCore::CSSStyleDeclaration::cssPropertyMatches):
95241        (WebCore::CSSStyleDeclaration::diff):
95242        * css/CSSStyleDeclaration.h:
95243
952442009-06-23  Kevin McCullough  <kmccullough@apple.com>
95245
95246        Reviewed by Darin Adler.
95247
95248        <rdar://problem/6994790> CrashTracer: [USER] 8 crashes in Mail trying to
95249        add a blank line to pasted Facebook content (under
95250        CompositeEditCommand::positionAvoidingSpecialElementBoundary)
95251
95252        - Just added null checks and I will create a new bug to prevent the
95253        bad behavior.
95254
95255        * editing/CompositeEditCommand.cpp:
95256        (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
95257
952582009-06-23  Simon Fraser  <simon.fraser@apple.com>
95259
95260        Build fix.
95261
95262        Wrap shouldDoSoftwarePaint() in #if USE(ACCELERATED_COMPOSITING) to avoid warning when 
95263        ACCELERATED_COMPOSITING is not defined.
95264
95265        * rendering/RenderLayer.cpp:
95266
952672009-06-23  Simon Fraser  <simon.fraser@apple.com>
95268
95269        Reviewed by Dave Hyatt.
95270        
95271        https://bugs.webkit.org/show_bug.cgi?id=24863
95272        
95273        Fix reflection painting on elements with compositing layers.
95274
95275        Test: compositing/reflections/reflection-on-composited.html
95276
95277        * rendering/RenderLayer.h:
95278        Add a new PaintLayerPaintingReflection flag which is set while painting inside
95279        reflections.
95280        (WebCore::RenderLayer::setPaintingInsideReflection):
95281        Add a setter so that RenderLayerBacking can call it.
95282
95283        * rendering/RenderLayer.cpp:
95284        (WebCore::shouldDoSoftwarePaint):
95285        Utility to clarify the logic of when a composited layer should do a software paint.
95286        
95287        (WebCore::RenderLayer::paintLayer):
95288        Use shouldDoSoftwarePaint() to determine when to software-paint a reflected layer.
95289        Remove transform-related tests from the reflection-painting if test because they appear
95290        to be unnecessary.
95291
95292        * rendering/RenderLayerBacking.cpp:
95293        (WebCore::RenderLayerBacking::paintIntoLayer):
95294        Add the code to paint reflections to the composited layer painting method.
95295        
95296        * rendering/RenderReplica.cpp:
95297        (WebCore::RenderReplica::paint):
95298        Set the PaintLayerPaintingReflection flag.
95299
953002009-06-23  Antti Koivisto  <antti@apple.com>
95301
95302        Reviewed by Darin Adler.
95303        
95304        https://bugs.webkit.org/show_bug.cgi?id=26643
95305        Memory cache should respect Cache-Control: no-store
95306        
95307        Make resources with Cache-Control: no-store uncacheable in the memory cache.
95308        They get evicted immediately when all clients are gone and are always
95309        reloaded from the server.
95310
95311        Conforms to RFC2616 14.9.2 and seems also match Firefox behavior.
95312
95313        * loader/CachedResource.cpp:
95314        (WebCore::CachedResource::removeClient):
95315        (WebCore::CachedResource::canUseCacheValidator):
95316        (WebCore::CachedResource::mustRevalidate):
95317        * platform/network/ResourceResponseBase.cpp:
95318        (WebCore::ResourceResponseBase::ResourceResponseBase):
95319        (WebCore::ResourceResponseBase::parseCacheControlDirectives):
95320        (WebCore::ResourceResponseBase::cacheControlContainsNoStore):
95321        * platform/network/ResourceResponseBase.h:
95322
953232009-06-23  Brady Eidson  <beidson@apple.com>
95324
95325        Windows build fix.
95326
95327        * platform/graphics/win/QTMovieWin.cpp:
95328        (QTMovieWin::play):
95329        (QTMovieWin::pause):
95330        (QTMovieWin::setRate):
95331        (QTMovieWin::setCurrentTime):
95332
953332009-06-23  Kevin McCullough  <kmccullough@apple.com>
95334
95335        Reviewed by Adele Peterson.
95336
95337        <rdar://problem/6902203> REGRESSION: 'Return' insertion point incorrect
95338        after manually quoting blank line then hitting return
95339
95340        If the insertion point is both the begining and ending visible position
95341        then we need to insert at the end instead of the begining, which is what
95342        would normally happen if the insertion point was as the begining.
95343
95344        * editing/BreakBlockquoteCommand.cpp:
95345        (WebCore::BreakBlockquoteCommand::doApply):
95346
953472009-06-23  Brady Eidson  <beidson@apple.com>
95348
95349        Reviewed by Sam Weinig, and looked over by Eric Carlson.
95350
95351        <rdar://problem/6980466> Media elements should provide option for changing pitch correction
95352
95353        Introduce a new boolean property to HTMLMediaElement called webkitPreservesPitch for script to control this.
95354
95355        * html/HTMLMediaElement.cpp:
95356        (WebCore::HTMLMediaElement::HTMLMediaElement): Currently the platforms that have a flexible pitch preservation 
95357          property (Quicktime on Mac and Win) have had it on by default, so continue that default for now.
95358        (WebCore::HTMLMediaElement::loadResource):
95359        (WebCore::HTMLMediaElement::webkitPreservesPitch):
95360        (WebCore::HTMLMediaElement::setWebkitPreservesPitch):
95361        * html/HTMLMediaElement.h:
95362        * html/HTMLMediaElement.idl:
95363
95364        * platform/graphics/MediaPlayer.cpp:
95365        (WebCore::NullMediaPlayerPrivate::setPreservesPitch):
95366        (WebCore::MediaPlayer::MediaPlayer):
95367        (WebCore::MediaPlayer::preservesPitch):
95368        (WebCore::MediaPlayer::setPreservesPitch):
95369        * platform/graphics/MediaPlayer.h:
95370        * platform/graphics/MediaPlayerPrivate.h:
95371        (WebCore::MediaPlayerPrivateInterface::setPreservesPitch):
95372
95373        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
95374        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
95375        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
95376        (WebCore::MediaPlayerPrivate::createQTMovie): Rework to allow recreation of the movie with almost the
95377          exact same attributes as before, with pitch preservation being the difference.
95378        (WebCore::MediaPlayerPrivate::setPreservesPitch): Recreate the QTMovie if the flag actually changes.
95379        (WebCore::MediaPlayerPrivate::updateStates): Restore current time and rate if this is a recreated movie.
95380        (WebCore::MediaPlayerPrivate::timeChanged): Clear the time-to-be-restored, as this callback means it
95381          has been effectively overwritten.
95382
95383        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
95384        (WebCore::MediaPlayerPrivate::load):
95385        (WebCore::MediaPlayerPrivate::setPreservesPitch):
95386        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
95387        * platform/graphics/win/QTMovieWin.cpp:
95388        (QTMovieWinPrivate::QTMovieWinPrivate):
95389        (QTMovieWinPrivate::~QTMovieWinPrivate):
95390        (QTMovieWinPrivate::task): Restore current time and rate if this is a re-created movie.
95391        (QTMovieWin::play): Clear the time-to-be-restored, as this effectively overwrites it.
95392        (QTMovieWin::pause): Ditto.
95393        (QTMovieWin::setRate): Ditto.
95394        (QTMovieWin::setCurrentTime): Ditto.
95395        (QTMovieWin::setPreservesPitch): Recreate the Movie if the flag actually changes.
95396        (QTMovieWin::load): Rework to allow recreation of the Movie with similar state as the movie before it, 
95397          but changing the pitch preservation flag.
95398        * platform/graphics/win/QTMovieWin.h:
95399
954002009-06-23  Eric Carlson  <eric.carlson@apple.com>
95401
95402        Reviewed by Simon Fraser.
95403
95404        <rdar://problem/6998286> Crash after leaving page with <video>
95405        
95406        Don't try to post events after going into the page cache.
95407
95408        * html/HTMLMediaElement.cpp:
95409        (WebCore::HTMLMediaElement::documentWillBecomeInactive): Cancel pending events and stop
95410        event timers so we won't try to post events after going into the cache.
95411
954122009-06-23  Jeremy Orlow  <jorlow@chromium.org>
95413
95414        Reviewed by Brady Eidson.
95415
95416        Simplify the interaction between LocalStorageArea/SessionStorageArea
95417        and StorageArea by creating a "blockUntilImportComplete()" function
95418        rather than bouncing back and forth between the child and parent
95419        classes in a somewhat unintuitive manner.
95420
95421        This patch also paves the way for LocalStorageArea and
95422        SessionStorageArea being merged into one.  It's part of several in a
95423        set which are separating syncing (to disk) code from the rest of the
95424        implementation so that local storage and session storage's code can be
95425        unified.
95426
95427        https://bugs.webkit.org/show_bug.cgi?id=25376
95428
95429        * storage/LocalStorageArea.cpp:
95430        (WebCore::LocalStorageArea::blockUntilImportComplete):
95431        * storage/LocalStorageArea.h:
95432        * storage/StorageArea.cpp:
95433        (WebCore::StorageArea::length):
95434        (WebCore::StorageArea::key):
95435        (WebCore::StorageArea::getItem):
95436        (WebCore::StorageArea::setItem):
95437        (WebCore::StorageArea::removeItem):
95438        (WebCore::StorageArea::clear):
95439        (WebCore::StorageArea::contains):
95440        * storage/StorageArea.h:
95441        (WebCore::StorageArea::blockUntilImportComplete):
95442
954432009-06-23  Simon Fraser  <simon.fraser@apple.com>
95444
95445        Reviewed by Dave Hyatt
95446
95447        First part of https://bugs.webkit.org/show_bug.cgi?id=26652
95448        
95449        * rendering/RenderLayer.cpp:
95450        (WebCore::RenderLayer::paint):
95451        (WebCore::RenderLayer::paintLayer):
95452        * rendering/RenderLayer.h:
95453        (WebCore::RenderLayer::):
95454        * rendering/RenderReplica.cpp:
95455        (WebCore::RenderReplica::paint):
95456        Replace the 3 boolean params to RenderLayer::paintLayer() with a bit mask for readability.
95457        
95458        * rendering/RenderLayerBacking.cpp:
95459        (WebCore::RenderLayerBacking::paintIntoLayer):
95460        (WebCore::RenderLayerBacking::paintContents):
95461        * rendering/RenderLayerBacking.h:
95462        Remove the unused 'haveTransparency' param to paintIntoLayer().
95463
954642009-06-23  Simon Fraser  <simon.fraser@apple.com>
95465
95466        Reviewed by Darin Adler.
95467
95468        <rdar://problem/6997929> Assertion at WebCore::RenderLayer::updateClipRects with hardware acceleration
95469
95470        The updatingControlTints() painting pass goes through compositing layer boundaries,
95471        so we need to ensure we don't cache clip rects computed with the wrong root by
95472        setting temporaryClipRects to true.
95473        
95474        * rendering/RenderLayer.cpp:
95475        (WebCore::RenderLayer::paintLayer):
95476        
95477        * rendering/RenderLayerBacking.cpp:
95478        (WebCore::RenderLayerBacking::contentOffsetInCompostingLayer):
95479        Remove a printf that I left in by mistake.
95480
954812009-06-23  Anders Carlsson  <andersca@apple.com>
95482
95483        Reviewed by Darin Adler.
95484
95485        WebCore side of <rdar://problem/6946094>.
95486        
95487        * platform/win/ClipboardWin.cpp:
95488        (WebCore::ClipboardWin::setExternalDataObject):
95489        * platform/win/ClipboardWin.h:
95490
954912009-06-23  Darin Fisher  <darin@chromium.org>
95492
95493        Reviewed by Darin Adler.
95494
95495        https://bugs.webkit.org/show_bug.cgi?id=26650
95496
95497        Add setFormContentType and setFormData since it is awkward for Chromium
95498        to use setFormInfoFromRequest to set the underlying members.  Also, add
95499        a clearChildren method that Chromium needs.  These methods are used as
95500        part of the Chromium code that serializes a HistoryItem for storing in
95501        the browser's session history.
95502
95503        * history/HistoryItem.cpp:
95504        * history/HistoryItem.h:
95505
955062009-06-23  Eric Carlson  <eric.carlson@apple.com>
95507
95508        Reviewed by Darin Adler.
95509
95510        <rdar://problem/6978938> Need HTML 5 event attributes for media elements
95511
95512        Test: media/event-attributes.html
95513
95514        * html/HTMLAttributeNames.in: Add media event attribute names.
95515        * html/HTMLMediaElement.cpp:
95516        (WebCore::HTMLMediaElement::parseMappedAttribute): Handle media event attributes.
95517
955182009-06-23  Thiago Macieira  <thiago.macieira@nokia.com>
95519
95520        Reviewed by Simon Hausmann.
95521
95522        Fix Qt build with Phonon.
95523
95524        The #include <phonon> header no longer exists. And the <Phonon> or
95525        <Phonon/Phonon> headers have never existed (neither for us nor for the
95526        Phonon sources). You have to select each and every header that you do
95527        want now.
95528
95529        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
95530
955312009-06-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
95532
95533        Reviewed by Simon Hausmann.
95534
95535        Remove duplicated code in Qt & GTK logging initialization
95536
95537        We now share the getChannelFromName() function in Logging.cpp
95538
95539        * platform/gtk/LoggingGtk.cpp:
95540        * platform/qt/LoggingQt.cpp:
95541
955422009-06-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
95543
95544        Reviewed by Simon Hausmann.
95545
95546        Rename the plugin logging channel to plural form 'Plugins'
95547
95548        This matches both the other logging channel names, as well as the
95549        WebKit logging channel used by Safari/Mac for plugins.
95550
95551        * platform/Logging.cpp:
95552        * platform/Logging.h:
95553        * platform/gtk/LoggingGtk.cpp:
95554        * platform/mac/LoggingMac.mm:
95555        * platform/qt/LoggingQt.cpp:
95556        * platform/win/LoggingWin.cpp:
95557        * plugins/PluginDebug.h:
95558        * plugins/gtk/PluginPackageGtk.cpp:
95559        * plugins/mac/PluginPackageMac.cpp:
95560        * plugins/mac/PluginViewMac.cpp:
95561        * plugins/qt/PluginPackageQt.cpp:
95562
955632009-06-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
95564
95565        Reviewed by Simon Hausmann.
95566
95567        Fix NPAPI mouse translation issues on Mac
95568
95569        The WindowRef we pass to the plugin refers to the the top level window,
95570        so the x and y positions have to be relative to this position, but we
95571        have to manually compensate for title bar decorations and other parents
95572        of the QWebView since contentsToWindow() only traverses to the QWebView.
95573
95574        Previously we did this compensation when passing on mouse coordinates to
95575        the plugin, which caused various issues with translations such as not
95576        being able to close the Flash settings dialog, or the hand cursor not
95577        appearing over links.
95578
95579        We now do the compensation as part of the call to NPP_SetWindow, and
95580        then pass mouse coordinates in global context without any compensation,
95581        similar to how both Safari and Mozilla does it.
95582
95583        * plugins/mac/PluginViewMac.cpp:
95584        (WebCore::PluginView::updatePluginWidget):
95585        (WebCore::PluginView::globalMousePosForPlugin):
95586
955872009-06-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
95588
95589        Rubber-stamped by Simon Hausmann.
95590
95591        [Qt] Resolve absolute path to library install_name manually
95592
95593        Since our target.path is set to the Qt directory (to be able
95594        to do 'make install') the 'absolute_library_soname' option
95595        to QMake did not do the right thing.
95596
95597        We now compute the absolute path manually using DESTDIR.
95598
95599        * WebCore.pro:
95600
956012009-06-22  Simon Fraser  <simon.fraser@apple.com>
95602
95603        Reviewed by Oliver Hunt.
95604
95605        <rdar://problem/6991146> Scrollbars in hardware layers don't change to the
95606        inactive look in background windows
95607
95608        * rendering/RenderLayer.cpp:
95609        (WebCore::RenderLayer::paintLayer):
95610        Don't short-circuit the "painting" pass that is used to udpate control tints.
95611
956122009-06-22  Dimitri Glazkov  <dglazkov@chromium.org>
95613
95614        Reviewed by Sam Weinig.
95615
95616        https://bugs.webkit.org/show_bug.cgi?id=26567
95617        Upstream V8 bindings code generator. With this change, also added interface ancestor
95618        traversal to IDL parser, which is necessary for V8 bindings. The traversal is used
95619        to determine whether an interface is a Node to facilitate proper casting and storage
95620        in V8DOMMap.
95621
95622        * bindings/scripts/CodeGenerator.pm: Added parent traversal sub, needed
95623            by V8 bindings.
95624        * bindings/scripts/CodeGeneratorV8.pm: Added.
95625        * bindings/scripts/IDLParser.pm: Modified to allow limited parsing for
95626            parent traversal cases.
95627
956282009-06-22  Sam Weinig  <sam@webkit.org>
95629
95630        Reviewed by Gavin Barraclough.
95631
95632        Add event handler attribute getter/setters to HTMLFrameSetElement
95633        as specified in HTML 5.  These match the ones on HTMLBodyElement.
95634
95635        * dom/Node.h:
95636        * html/HTMLFrameSetElement.cpp:
95637        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
95638        (WebCore::HTMLFrameSetElement::onblur):
95639        (WebCore::HTMLFrameSetElement::setOnblur):
95640        (WebCore::HTMLFrameSetElement::onerror):
95641        (WebCore::HTMLFrameSetElement::setOnerror):
95642        (WebCore::HTMLFrameSetElement::onfocus):
95643        (WebCore::HTMLFrameSetElement::setOnfocus):
95644        (WebCore::HTMLFrameSetElement::onload):
95645        (WebCore::HTMLFrameSetElement::setOnload):
95646        (WebCore::HTMLFrameSetElement::onbeforeunload):
95647        (WebCore::HTMLFrameSetElement::setOnbeforeunload):
95648        (WebCore::HTMLFrameSetElement::onmessage):
95649        (WebCore::HTMLFrameSetElement::setOnmessage):
95650        (WebCore::HTMLFrameSetElement::onoffline):
95651        (WebCore::HTMLFrameSetElement::setOnoffline):
95652        (WebCore::HTMLFrameSetElement::ononline):
95653        (WebCore::HTMLFrameSetElement::setOnonline):
95654        (WebCore::HTMLFrameSetElement::onresize):
95655        (WebCore::HTMLFrameSetElement::setOnresize):
95656        (WebCore::HTMLFrameSetElement::onstorage):
95657        (WebCore::HTMLFrameSetElement::setOnstorage):
95658        (WebCore::HTMLFrameSetElement::onunload):
95659        (WebCore::HTMLFrameSetElement::setOnunload):
95660        * html/HTMLFrameSetElement.h:
95661        * html/HTMLFrameSetElement.idl:
95662
956632009-06-22  Darin Adler  <darin@apple.com>
95664
95665        Reviewed by Sam Weinig.
95666
95667        Bug 25425: DOM attribute getter/setter functions should use const AtomicString& type
95668        https://bugs.webkit.org/show_bug.cgi?id=25425
95669
95670        * bindings/scripts/CodeGeneratorJS.pm: Added handling for ReflectURL.
95671        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
95672
95673        * dom/Element.cpp:
95674        (WebCore::Element::getURLAttribute): Added. For use implementing getters
95675        for ReflectURL.
95676        * dom/Element.h: Added getURLAttribute.
95677
95678        * html/HTMLImageElement.idl: Use Reflect and ReflectURL.
95679
956802009-06-22  Jian Li  <jianli@chromium.org>
95681
95682        Reviewed by Dimitri Glazkov.
95683
95684        Bug 26626: Make WorkerContextExecutionProxy::toV8Object handle exception
95685        objects.
95686        https://bugs.webkit.org/show_bug.cgi?id=26626
95687
95688        * bindings/v8/WorkerContextExecutionProxy.cpp:
95689        (WebCore::WorkerContextExecutionProxy::ToV8Object):
95690
956912009-06-22  David Hyatt  <hyatt@apple.com>
95692
95693        Reviewed by Sam Weinig.
95694
95695        Add RenderDataGrid to the build.  Give it some basic default styling (that more or less matches a listbox).  It has a default size
95696        of 300x150.
95697
95698        * GNUmakefile.am:
95699        * WebCore.pro:
95700        * WebCore.vcproj/WebCore.vcproj:
95701        * WebCore.xcodeproj/project.pbxproj:
95702        * WebCoreSources.bkl:
95703        * css/html4.css:
95704        * html/HTMLDataGridElement.cpp:
95705        (WebCore::HTMLDataGridElement::createRenderer):
95706        * html/HTMLDataGridElement.h:
95707        * html/HTMLDataGridElement.idl:
95708        * rendering/RenderDataGrid.cpp: Added.
95709        (WebCore::RenderDataGrid::RenderDataGrid):
95710        (WebCore::RenderDataGrid::~RenderDataGrid):
95711        (WebCore::RenderDataGrid::calcPrefWidths):
95712        (WebCore::RenderDataGrid::paintObject):
95713        (WebCore::RenderDataGrid::valueChanged):
95714        (WebCore::RenderDataGrid::invalidateScrollbarRect):
95715        (WebCore::RenderDataGrid::isActive):
95716        * rendering/RenderDataGrid.h: Added.
95717        (WebCore::RenderDataGrid::renderName):
95718        (WebCore::RenderDataGrid::canHaveChildren):
95719        (WebCore::RenderDataGrid::scrollbarCornerPresent):
95720
957212009-06-22  Simon Fraser  <simon.fraser@apple.com>
95722
95723        Reviewed by Dave Hyatt.
95724
95725        https://bugs.webkit.org/show_bug.cgi?id=26430
95726        <rdar://problem/6944442> Elements jump around when they become composited (WWDC checkers demo)
95727        <rdar://problem/6989006> Lots of time spent in RenderLayerCompositor::calculateCompositedBounds()
95728            during window resize when using hardware layers
95729        
95730        Fix an ordering dependency which caused the compositing position of a layer
95731        to be affected by some later sibling, which affected the compositing ancestor's
95732        composited bounds.
95733        
95734        The fix is to only update the compositing positions of layers in some subtree
95735        when updateAfterLayout() has been called on all the layers in that subtree,
95736        from the ancestor down.
95737        
95738        Also cache the composited bounds of a RenderLayerBacking, now that we can
95739        guarantee that those bounds are accurate.
95740        
95741        Test: compositing/sibling-positioning.html
95742
95743        * rendering/RenderLayer.cpp:
95744        (WebCore::RenderLayer::updateLayerPositions):
95745        (WebCore::RenderLayer::hitTestLayer):
95746        * rendering/RenderLayerBacking.cpp:
95747        (WebCore::RenderLayerBacking::RenderLayerBacking):
95748        (WebCore::RenderLayerBacking::updateAfterLayout):
95749        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
95750        (WebCore::RenderLayerBacking::contentOffsetInCompostingLayer):
95751        (WebCore::RenderLayerBacking::paintContents):
95752        (WebCore::RenderLayerBacking::compositedBounds):
95753        (WebCore::RenderLayerBacking::setCompositedBounds):
95754        * rendering/RenderLayerBacking.h:
95755        * rendering/RenderLayerCompositor.cpp:
95756        (WebCore::RenderLayerCompositor::updateBacking):
95757        (WebCore::RenderLayerCompositor::updateLayerCompositingState):
95758        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
95759        (WebCore::RenderLayerCompositor::layerWillBeRemoved):
95760        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
95761        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
95762        (WebCore::RenderLayerCompositor::updateCompositingChildrenGeometry):
95763        * rendering/RenderLayerCompositor.h:
95764
957652009-06-22  Jeremy Orlow  <jorlow@chromium.org>
95766
95767        Reviewed by Darin Fisher.
95768
95769        First step in https://bugs.webkit.org/show_bug.cgi?id=25376
95770
95771        Add StorageSyncManager.cpp/h
95772
95773        * GNUmakefile.am:
95774        * WebCore.pro:
95775        * WebCore.vcproj/WebCore.vcproj:
95776        * WebCore.xcodeproj/project.pbxproj:
95777        * WebCoreSources.bkl:
95778
95779        In preparation for combining SessionStorage and LocalStorage into a
95780        single StorageManager, move the syncing bits out of LocalStorage and
95781        into its own class.
95782
95783        The next step is to combine LocalStorageArea and SessionStorageArea
95784        into one.  Then SessionStorage and LocalStorage can be combined.
95785
95786        Note that combining them will cut down on code paths that must be
95787        proxied, eliminate virtual dispatch, and allow Chromium to (eventually)
95788        write historical sessionStorage to disk when memory is getting tight.
95789
95790        Also remove a couple bits of cruft including code for quotas which is
95791        unnecessary (since a meta-data db is unnecessary since you can just
95792        count bytes as you read the local storage databases into memory).
95793
95794        * storage/LocalStorage.cpp:
95795        (WebCore::LocalStorage::LocalStorage):
95796        (WebCore::LocalStorage::storageArea):
95797        (WebCore::LocalStorage::close):
95798        * storage/LocalStorage.h:
95799        * storage/LocalStorageArea.cpp:
95800        (WebCore::LocalStorageArea::LocalStorageArea):
95801        (WebCore::LocalStorageArea::scheduleFinalSync):
95802        (WebCore::LocalStorageArea::syncTimerFired):
95803        (WebCore::LocalStorageArea::performImport):
95804        * storage/LocalStorageArea.h:
95805        (WebCore::LocalStorageArea::create):
95806        * storage/LocalStorageTask.cpp:
95807        (WebCore::LocalStorageTask::performTask):
95808        * storage/LocalStorageTask.h:
95809        (WebCore::LocalStorageTask::):
95810        (WebCore::LocalStorageTask::createImport):
95811        * storage/LocalStorageThread.cpp:
95812        * storage/LocalStorageThread.h:
95813        * storage/SessionStorage.h:
95814        * storage/StorageSyncManager.cpp: Copied from WebCore/storage/LocalStorage.cpp.
95815        (WebCore::StorageSyncManager::create):
95816        (WebCore::StorageSyncManager::StorageSyncManager):
95817        (WebCore::StorageSyncManager::fullDatabaseFilename):
95818        (WebCore::StorageSyncManager::close):
95819        (WebCore::StorageSyncManager::scheduleImport):
95820        (WebCore::StorageSyncManager::scheduleSync):
95821        * storage/StorageSyncManager.h: Copied from WebCore/storage/LocalStorage.h.
95822        (WebCore::):
95823
958242009-06-22  Darin Fisher  <darin@chromium.org>
95825
95826        Reviewed by Dimitri Glazkov.
95827
95828        https://bugs.webkit.org/show_bug.cgi?id=26622
95829        Add ChromiumDataObject::copy()
95830
95831        * platform/chromium/ChromiumDataObject.cpp:
95832        * platform/chromium/ChromiumDataObject.h:
95833
958342009-06-22  Timothy Hatcher  <timothy@apple.com>
95835
95836        Add a silhouette image for the enable view of the Resource panel.
95837
95838        Reviewed by Kevin McCullough.
95839
95840        * inspector/front-end/Images/resourcesSilhouette.png: Added.
95841        * inspector/front-end/inspector.css:
95842
958432009-06-22  Kyle Prete  <kylep@chromium.org>
95844
95845        Reviewed by Dimitri Glazkov.
95846
95847        https://bugs.webkit.org/show_bug.cgi?id=26552
95848        Add V8 JS bindings for Audio Constructor.
95849
95850        * bindings/v8/custom/V8CustomBinding.h:
95851        Added a callback declaration for audio ctor to macro.
95852        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
95853        Added the whole file.
95854
958552009-06-22  Alexey Proskuryakov  <ap@webkit.org>
95856
95857        Reviewed by David Levin.
95858
95859        https://bugs.webkit.org/show_bug.cgi?id=26600
95860        StringImpl::copy() no longer copies empty string correctly
95861
95862        * platform/text/StringImpl.cpp:
95863        (WebCore::StringImpl::ustring): Changed method calling syntax to look less like calling a
95864        static method.
95865        (WebCore::StringImpl::copy): Reverted part of r41917 that caused the problem.
95866
958672009-06-22  Xiaomei Ji  <xji@chromium.org>
95868
95869        Reviewed by Eric Seidel
95870
95871        Not auto-testable since it involves sending a keyboard event to
95872        the popup, which is not possible (eventSender sends the key
95873        events through webview, we want to go through the webwidget).
95874
95875        This patch is one part of the fix for issue "keyboard selection in
95876        Hebrew select element does not work in Windows". The other part of the
95877        fix is in chromium's webkit/glue layer.
95878        https://bugs.webkit.org/show_bug.cgi?id=25899
95879
95880        * manual-tests/keyboard_select_non_english.html: Added.
95881        * platform/chromium/PopupMenuChromium.cpp:
95882        (WebCore::isCharacterTypeEvent): Added. Check whether the event is a 
95883        character type event. "Char" in Windows or "KeyDown" in Mac is character
95884        type event.
95885        (WebCore::PopupListBox::typeAheadFind): Since m_lastCharTime is used to
95886        indicate whether user types multiple characters continuely as a search
95887        prefix or not, it should be only assigned when the event is character 
95888        type event. 
95889
958902009-06-22  Kevin McCullough  <kmccullough@apple.com>
95891
95892        Reviewed by Darin Adler.
95893
95894        <rdar://problem/6115819> Notify of profile start in console
95895
95896        Put a message in the console that announces that a profile has started,
95897        similar to how a console message announces that a profile has finished.
95898
95899        * inspector/InspectorController.cpp:
95900        (WebCore::InspectorController::addProfile): Use renamed function.
95901        (WebCore::InspectorController::addProfileFinishedMessageToConsole):
95902        Renamed.
95903        (WebCore::InspectorController::addStartProfilingMessageToConsole):
95904        New function that logs the message about the profile starting.
95905        (WebCore::InspectorController::startUserInitiatedProfiling): Ditto
95906        * inspector/InspectorController.h:
95907        * inspector/front-end/ProfilesPanel.js: Print the "run" of the profile's
95908        title if there are multiple profiles, and take into account the fact
95909        that titles are displayed twice as much now.
95910        (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink):
95911        * page/Console.cpp:
95912        (WebCore::Console::profile): Call new function.
95913
959142009-06-22  David Hyatt  <hyatt@apple.com>
95915
95916        Reviewed by Sam Weinig.
95917
95918        https://bugs.webkit.org/show_bug.cgi?id=26615
95919
95920        Add IDL interface for datagrid cell elements.  Add a few more properties to the datagrid itself that
95921        correspond to ones you find on <select> elements.
95922
95923        Add an expanded property to row elements.
95924
95925        * DerivedSources.cpp:
95926        * DerivedSources.make:
95927        * GNUmakefile.am:
95928        * WebCore.pro:
95929        * WebCore.vcproj/WebCore.vcproj:
95930        * WebCore.xcodeproj/project.pbxproj:
95931        * WebCoreSources.bkl:
95932        * html/HTMLAttributeNames.in:
95933        * html/HTMLDataGridCellElement.cpp: Added.
95934        (WebCore::HTMLDataGridCellElement::HTMLDataGridCellElement):
95935        (WebCore::HTMLDataGridCellElement::label):
95936        (WebCore::HTMLDataGridCellElement::setLabel):
95937        (WebCore::HTMLDataGridCellElement::focused):
95938        (WebCore::HTMLDataGridCellElement::setFocused):
95939        (WebCore::HTMLDataGridCellElement::checked):
95940        (WebCore::HTMLDataGridCellElement::setChecked):
95941        (WebCore::HTMLDataGridCellElement::indeterminate):
95942        (WebCore::HTMLDataGridCellElement::setIndeterminate):
95943        (WebCore::HTMLDataGridCellElement::progress):
95944        (WebCore::HTMLDataGridCellElement::setProgress):
95945        * html/HTMLDataGridCellElement.h: Added.
95946        (WebCore::HTMLDataGridCellElement::endTagRequirement):
95947        (WebCore::HTMLDataGridCellElement::tagPriority):
95948        * html/HTMLDataGridCellElement.idl: Added.
95949        * html/HTMLDataGridElement.cpp:
95950        (WebCore::HTMLDataGridElement::autofocus):
95951        (WebCore::HTMLDataGridElement::setAutofocus):
95952        (WebCore::HTMLDataGridElement::disabled):
95953        (WebCore::HTMLDataGridElement::setDisabled):
95954        (WebCore::HTMLDataGridElement::size):
95955        (WebCore::HTMLDataGridElement::setSize):
95956        * html/HTMLDataGridElement.h:
95957        * html/HTMLDataGridElement.idl:
95958        * html/HTMLDataGridRowElement.cpp:
95959        (WebCore::HTMLDataGridRowElement::checkDTD):
95960        (WebCore::HTMLDataGridRowElement::expanded):
95961        (WebCore::HTMLDataGridRowElement::setExpanded):
95962        * html/HTMLDataGridRowElement.h:
95963        * html/HTMLDataGridRowElement.idl:
95964        * html/HTMLElementsAllInOne.cpp:
95965        * html/HTMLTagNames.in:
95966
959672009-06-22  Sam Weinig  <sam@webkit.org>
95968
95969        Reviewed by Mark Rowe.
95970
95971        Add event handler attribute getter/setters to HTMLBodyElement
95972        as specified in HTML 5.
95973
95974        - Removes erroneous inclusion of the onresize and onunload event
95975        handler attributes in Element and Document.
95976
95977        * dom/Document.cpp:
95978        (WebCore::Document::getWindowAttributeEventListener):
95979        * dom/Document.h:
95980        * dom/Document.idl:
95981        * dom/Element.idl:
95982        * dom/Node.cpp:
95983        * dom/Node.h: onblur, onerror, onfocus, and onload all need to be declared
95984        virtual, since their behavior for HTMLBodyElement differs from the base
95985        implementation.
95986        * html/HTMLBodyElement.cpp:
95987        (WebCore::HTMLBodyElement::onblur):
95988        (WebCore::HTMLBodyElement::setOnblur):
95989        (WebCore::HTMLBodyElement::onerror):
95990        (WebCore::HTMLBodyElement::setOnerror):
95991        (WebCore::HTMLBodyElement::onfocus):
95992        (WebCore::HTMLBodyElement::setOnfocus):
95993        (WebCore::HTMLBodyElement::onload):
95994        (WebCore::HTMLBodyElement::setOnload):
95995        (WebCore::HTMLBodyElement::onbeforeunload):
95996        (WebCore::HTMLBodyElement::setOnbeforeunload):
95997        (WebCore::HTMLBodyElement::onmessage):
95998        (WebCore::HTMLBodyElement::setOnmessage):
95999        (WebCore::HTMLBodyElement::onoffline):
96000        (WebCore::HTMLBodyElement::setOnoffline):
96001        (WebCore::HTMLBodyElement::ononline):
96002        (WebCore::HTMLBodyElement::setOnonline):
96003        (WebCore::HTMLBodyElement::onresize):
96004        (WebCore::HTMLBodyElement::setOnresize):
96005        (WebCore::HTMLBodyElement::onstorage):
96006        (WebCore::HTMLBodyElement::setOnstorage):
96007        (WebCore::HTMLBodyElement::onunload):
96008        (WebCore::HTMLBodyElement::setOnunload):
96009        * html/HTMLBodyElement.h:
96010        * html/HTMLBodyElement.idl:
96011
960122009-06-22  Alexey Proskuryakov  <ap@webkit.org>
96013
96014        Reviewed by Darin Adler.
96015
96016        https://bugs.webkit.org/show_bug.cgi?id=26601
96017        Remove disabled code for appcache dynamic entries
96018
96019        This also removes code for DOM 3 Core DOMStringList, which we don't use for anything else yet.
96020
96021        * DerivedSources.cpp:
96022        * DerivedSources.make:
96023        * GNUmakefile.am:
96024        * WebCore.pro:
96025        * WebCore.vcproj/WebCore.vcproj:
96026        * WebCore.xcodeproj/project.pbxproj:
96027        * WebCoreSources.bkl:
96028        * bindings/js/JSDOMStringListCustom.cpp: Removed.
96029        * bindings/v8/custom/V8CustomBinding.h:
96030        * bindings/v8/custom/V8DOMStringListCustom.cpp: Removed.
96031        * dom/DOMStringList.cpp: Removed.
96032        * dom/DOMStringList.h: Removed.
96033        * dom/DOMStringList.idl: Removed.
96034        * dom/StaticStringList.cpp: Removed.
96035        * dom/StaticStringList.h: Removed.
96036        * loader/DocumentLoader.cpp:
96037        (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache):
96038        * loader/appcache/ApplicationCache.cpp:
96039        (WebCore::ApplicationCache::addResource):
96040        * loader/appcache/ApplicationCache.h:
96041        * loader/appcache/ApplicationCacheGroup.cpp:
96042        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
96043        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
96044        * loader/appcache/ApplicationCacheResource.cpp:
96045        (WebCore::ApplicationCacheResource::dumpType):
96046        * loader/appcache/ApplicationCacheResource.h:
96047        (WebCore::ApplicationCacheResource::):
96048        * loader/appcache/ApplicationCacheStorage.cpp:
96049        (WebCore::ApplicationCacheStorage::storeUpdatedType):
96050        * loader/appcache/DOMApplicationCache.cpp:
96051        * loader/appcache/DOMApplicationCache.h:
96052        * loader/appcache/DOMApplicationCache.idl:
96053        * page/DOMWindow.idl:
96054
960552009-06-22  Steve Falkenburg  <sfalken@apple.com>
96056
96057        Windows build fix.
96058
96059        * DerivedSources.cpp:
96060        * html/HTMLElementsAllInOne.cpp:
96061
960622009-06-22  Alexey Proskuryakov  <ap@webkit.org>
96063
96064        Reviewed by John Sullivan.
96065
96066        <rdar://problem/6956606> REGRESSION (S4Beta -> Final): After the password is input,
96067        Japanese can't be input.
96068
96069        WebKit uses a per-frame input context for most editable fields, and application's global
96070        context for password fields, manually controlling secure input state and the list of available
96071        input sources.
96072
96073        We were setting TSMDocument property to disable non-Roman input methods after focus changed
96074        to a password field, but before selection was updated. This resulted in the property being
96075        applied to a wrong TSMDocument in some cases, because TSMGetActiveDocument() uses input
96076        context cached by +[NSApplication updateWindows], we change context based on selection,
96077        not on focus.
96078
96079        * page/mac/FrameMac.mm: (WebCore::Frame::setUseSecureKeyboardEntry): Since there is only one
96080        context that we use for password fields - the global one - there is no need to get the active
96081        one.
96082
960832009-06-22  David Levin  <levin@chromium.org>
96084
96085        Reviewed by David Hyatt and Eric Seidel.
96086
96087        REGRESSION: When the main page (ScrollView) has a custom scrollbar, it crashes on destruction.
96088        https://bugs.webkit.org/show_bug.cgi?id=26326
96089
96090        Test: scrollbars/scrollbar-crash-on-refresh.html
96091
96092        * dom/Document.cpp:
96093        (WebCore::Document::detach):
96094        Gives the FrameView a change to do any necessary cleanup on
96095        Document::detach() which is where the renderArena gets detroyed.
96096        * page/FrameView.cpp:
96097        (WebCore::FrameView::detachCustomScrollbars):
96098        Gets rid of any custom scrollbars (if the docment supplied them).
96099        * page/FrameView.h:
96100        * platform/Scrollbar.h:
96101        (WebCore::Scrollbar::isCustomScrollbar):
96102        * rendering/RenderObject.cpp:
96103        (WebCore::RenderObject::destroy):
96104        Removed the check for document()->frame().  If frame() is 0 in this code,
96105        then the call to animation() is also incorrect (since it does document()->frame()->animation()).
96106        * rendering/RenderScrollbar.h:
96107        (WebCore::RenderScrollbar::isCustomScrollbar):
96108
961092009-06-22  Dan Bernstein  <mitz@apple.com>
96110
96111        Reviewed by Simon Fraser.
96112
96113        - fix https://bugs.webkit.org/show_bug.cgi?id=23606
96114          <rdar://problem/6537777> CSS gradient not repainted when image load
96115          completes
96116
96117        Test: fast/repaint/background-generated.html
96118
96119        * rendering/RenderObject.cpp:
96120        (WebCore::mustRepaintFillLayers): Return true if the layer does not
96121        specify a size and the image uses the container size.
96122
961232009-06-22  David Hyatt  <hyatt@apple.com>
96124
96125        Reviewed by Sam Weinig.
96126
96127        https://bugs.webkit.org/show_bug.cgi?id=26607
96128
96129        Add IDL for HTMLDataGridRowElement.
96130
96131        * DerivedSources.make:
96132        * GNUmakefile.am:
96133        * WebCore.pro:
96134        * WebCore.vcproj/WebCore.vcproj:
96135        * WebCore.xcodeproj/project.pbxproj:
96136        * WebCoreSources.bkl:
96137        * html/HTMLAttributeNames.in:
96138        * html/HTMLDataGridColElement.cpp:
96139        (WebCore::HTMLDataGridColElement::primary):
96140        (WebCore::HTMLDataGridColElement::setPrimary):
96141        * html/HTMLDataGridColElement.h:
96142        * html/HTMLDataGridColElement.idl:
96143        * html/HTMLDataGridElement.cpp:
96144        (WebCore::HTMLDataGridElement::checkDTD):
96145        (WebCore::HTMLDataGridElement::multiple):
96146        (WebCore::HTMLDataGridElement::setMultiple):
96147        * html/HTMLDataGridElement.h:
96148        * html/HTMLDataGridElement.idl:
96149        * html/HTMLDataGridRowElement.cpp: Added.
96150        (WebCore::HTMLDataGridRowElement::HTMLDataGridRowElement):
96151        (WebCore::HTMLDataGridRowElement::selected):
96152        (WebCore::HTMLDataGridRowElement::setSelected):
96153        (WebCore::HTMLDataGridRowElement::focused):
96154        (WebCore::HTMLDataGridRowElement::setFocused):
96155        * html/HTMLDataGridRowElement.h: Added.
96156        (WebCore::HTMLDataGridRowElement::tagPriority):
96157        * html/HTMLDataGridRowElement.idl: Added.
96158        * html/HTMLTagNames.in:
96159
961602009-06-19  Yael Aharon <yael.aharon@nokia.com>
96161
96162        Reviewed by Holger Freyther.
96163
96164        https://bugs.webkit.org/show_bug.cgi?id=26556
96165
96166        Fix a crash in case that the QNetworkReply::readReady signal is
96167        "stuck" in deferred mode due to JavaScript alert, and in the meantime,
96168        QNetworkreply::finished signal is received and processed before
96169        QNetworkReply::readReady is processed.
96170
96171        * manual-tests/qt/unload-alert.html: Added.
96172        * platform/network/qt/QNetworkReplyHandler.cpp:
96173        (WebCore::QNetworkReplyHandler::setLoadMode):
96174        (WebCore::QNetworkReplyHandler::finish):
96175        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
96176        (WebCore::QNetworkReplyHandler::forwardData):
96177        (WebCore::QNetworkReplyHandler::start):
96178        (WebCore::QNetworkReplyHandler::sendQueuedItems):
96179        * platform/network/qt/QNetworkReplyHandler.h:
96180        (WebCore::QNetworkReplyHandler::):
96181
961822009-06-22  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
96183
96184        Fix the Qt build.
96185
96186        * WebCore.pro:
96187
961882009-06-21  Darin Adler  <darin@apple.com>
96189
96190        Reviewed by Sam Weinig.
96191
96192        Bug 25425: DOM attribute getter/setter functions should use const AtomicString& type
96193        https://bugs.webkit.org/show_bug.cgi?id=25425
96194
96195        * bindings/scripts/CodeGeneratorJS.pm: Tweaked mechanism for includes to be a bit
96196        more consistent and to make SVGElement.h be included in the header rather than in
96197        every implementation file that includes the header. Added code to use getAttribute
96198        and setAttribute directly when the [Reflect] extended attribute is used.
96199
96200        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
96201
96202        * html/HTMLElement.idl: Used [Reflect] for all the attributes in this class that
96203        reflect content attributes. Restricting this to one class for now to keep the
96204        patch small and start out slowly.
96205
962062009-06-21  Sam Weinig  <sam@webkit.org>
96207
96208        Reviewed by Oliver Hunt.
96209
96210        Fix for https://bugs.webkit.org/show_bug.cgi?id=26596
96211        Only expose event handler attributes to elements and documents.
96212
96213        Test: fast/dom/event-attribute-availability.html
96214
96215        * dom/Document.idl:
96216        * dom/Element.idl:
96217        * dom/Node.cpp:
96218        * dom/Node.h:
96219        * dom/Node.idl:
96220
962212009-06-21  Daniel Bates  <dbates@intudata.com>
96222
96223        Reviewed by Adam Barth.
96224
96225        https://bugs.webkit.org/show_bug.cgi?id=26580
96226        
96227        Fix to enable XSSAuditor on child windows.
96228        
96229        Test: http/tests/security/xssAuditor/link-opens-new-window.html
96230        
96231        * page/XSSAuditor.cpp:
96232        (WebCore::XSSAuditor::XSSAuditor):
96233        (WebCore::XSSAuditor::isEnabled):
96234        (WebCore::XSSAuditor::canEvaluate):
96235        (WebCore::XSSAuditor::canCreateInlineEventListener):
96236        (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
96237        (WebCore::XSSAuditor::canLoadObject):
96238        * page/XSSAuditor.h: Removed method setXSSAuditorEnabled, and field m_isEnabled.
96239        Moved implementation of isEnabled to XSSAuditor.cpp and changed implementation
96240        to query Settings.
96241
962422009-06-21  David Levin  <levin@chromium.org>
96243
96244        Reviewed by NOBODY.
96245
96246        Speculative windows build fix (idea by Mark Rowe).
96247
96248        * WebCore.vcproj/WebCore.vcproj:
96249
962502009-06-21  David Levin  <levin@chromium.org>
96251
96252        Reviewed by NOBODY (Speculative gtk build fix).
96253
96254        * GNUmakefile.am:
96255
962562009-06-21  David Levin  <levin@chromium.org>
96257
96258        Reviewed by NOBODY.
96259
96260        Speculative tiger build fix and a windows build fix.
96261        More fixes may still be in order.
96262
96263        * WebCore.vcproj/WebCoreCommon.vsprops:
96264        * dom/default/PlatformMessagePortChannel.h:
96265        (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):
96266
962672009-06-21  David Levin  <levin@chromium.org>
96268
96269        Reviewed by NOBODY (Speculative tiger build fix).
96270
96271        * dom/default/PlatformMessagePortChannel.h:
96272        (WebCore::PlatformMessagePortChannel::MessagePortQueue::~MessagePortQueue):
96273
962742009-06-21  Drew Wilson  <atwilson@google.com>
96275
96276        Reviewed by David Levin.
96277
96278        <https://bugs.webkit.org/show_bug.cgi?id=26448>
96279        
96280        Added optimized GC for MessagePorts when the entangled port is run by the same thread.
96281        Fixed bug in isProxyFor() that was not properly throwing an exception when trying to clone the entangled port.
96282
96283        * bindings/js/JSDOMBinding.cpp:
96284        (WebCore::markActiveObjectsForContext):
96285        Now marks remotely entangled ports as in-use, in addition to those with pending activity.
96286        * bindings/js/JSMessagePortCustom.cpp:
96287        (WebCore::JSMessagePort::mark):
96288        Now checks if the entangled port is local (run by same thread) and if so mark()s it.
96289        * dom/MessagePort.cpp:
96290        (WebCore::MessagePort::postMessage):
96291        (WebCore::MessagePort::disentangle):
96292        Removes cloned ports from the ScriptExecutionContext - this allows cloned ports to be GC'd as otherwise they look like remotely entangled ports.
96293        (WebCore::MessagePort::start):
96294        (WebCore::MessagePort::locallyEntangledPort):
96295        Added API for fetching the entangled port if it is run by the same thread
96296        * dom/MessagePort.h:
96297        * dom/MessagePortProxyWrapper.h:
96298        * dom/default/MessagePortProxy.cpp:
96299        (WebCore::MessagePortProxyWrapper::locallyEntangledPort):
96300        Added API for fetching the entangled port if it is run by the same thread        
96301        (WebCore::MessagePortProxy::hasPendingActivity):
96302        Changed definition of hasPendingActivity() to be stricter - only returns true if there are pending messages.
96303        (WebCore::MessagePortProxy::locallyEntangledPort):
96304        * dom/default/MessagePortProxy.h:
96305
963062009-06-21  Drew Wilson  <atwilson@google.com>
96307
96308        Reviewed by David Levin.
96309
96310        <https://bugs.webkit.org/show_bug.cgi?id=25043>
96311        Removed obsolete MessagePort.startConversation(), active and onclose APIs.
96312
96313        Refactored MessagePortProxy into MessagePortChannel and a platform-dependent PlatformMessagePortChannel
96314        implementation. Modified APIs to simplify cross-process implementations by moving the messaging code
96315        entirely into the platform-dependent proxy.
96316
96317        Created a thread-safe default PlatformMessagePortChannel implementation.
96318
96319        Changed DOMWindow messaging to create the MessageEvent in the target ScriptExecutionContext to match how
96320        cross-thread MessagePorts work.
96321        
96322        * GNUMakefile.am:
96323        * WebCore.vcproj/WebCore.vcproj:
96324        * WebCore.xcodeproj/project.pbxproj:
96325            Added MessagePortChannel/PlatformMessagePortChannel files.
96326        * bindings/js/JSMessagePortCustom.cpp:
96327        (WebCore::JSMessagePort::mark):
96328            Changed ports to not mark their entangled pair as reachable, per the spec.
96329        * bindings/v8/custom/V8MessagePortCustom.cpp:
96330        * dom/MessageChannel.cpp:
96331        (WebCore::MessageChannel::MessageChannel):
96332            Updated to use PlatformMessagePortChannel::createChannel() to entangle the ports.
96333        * dom/MessagePort.cpp:
96334        (WebCore::MessagePort::MessagePort):
96335        (WebCore::MessagePort::~MessagePort):
96336        (WebCore::MessagePort::postMessage):
96337        (WebCore::MessagePort::disentangle):
96338        (WebCore::MessagePort::messageAvailable):
96339        (WebCore::MessagePort::start):
96340        (WebCore::MessagePort::close):
96341        (WebCore::MessagePort::entangle):
96342        (WebCore::MessagePort::contextDestroyed):
96343        (WebCore::MessagePort::dispatchMessages):
96344        (WebCore::MessagePort::setOnmessage):
96345        (WebCore::MessagePort::hasPendingActivity):
96346            Changed these APIs to delegate to new PlatformMessagePortChannel APIs.
96347        * dom/MessagePort.h:
96348            Renamed isQueueOpen() to started().
96349        * dom/MessagePort.idl:
96350            Removed startConversation and onclose.
96351        * dom/MessagePortProxy.h: Removed.
96352        * dom/MessagePortChannel.cpp: Added.
96353        (WebCore::MessagePortChannel::EventData::create):
96354        (WebCore::MessagePortChannel::EventData::EventData):
96355        (WebCore::MessagePortChannel::~MessagePortChannel):
96356        * dom/MessagePortChannel.h: Added.
96357        (WebCore::MessagePortChannel::EventData::message):
96358        (WebCore::MessagePortChannel::EventData::channel):
96359            Changed EventData to hold a reference to a MessagePortChannel object instead of a MessagePort to enable cross-thread messaging.
96360        (WebCore::MessagePortChannel::MessagePortChannel):
96361        (WebCore::MessagePortChannel::create):        
96362        * dom/ScriptExecutionContext.cpp:
96363        (WebCore:ScriptExecutionContext::dispatchMessagePortEvents):
96364            Renamed isQueueOpen() to started().
96365        * dom/default/PlatformMessagePortChannel.cpp: Added.
96366        (WebCore::MessagePortChannel::entangleIfOpen):
96367        (WebCore::MessagePortChannel::disentangle):
96368        (WebCore::MessagePortChannel::postMessageToRemote):
96369        (WebCore::MessagePortChannel::tryGetMessageFromRemote):
96370        (WebCore::MessagePortChannel::close):
96371        (WebCore::MessagePortChannel::isConnectedTo):
96372        (WebCore::MessagePortChannel::hasPendingActivity):
96373        (WebCore::PlatformMessagePortChannel::PlatformMessagePortChannel):
96374        (WebCore::PlatformMessagePortChannel::~PlatformMessagePortChannel):
96375        (WebCore::PlatformMessagePortChannel::createChannel):
96376        (WebCore::PlatformMessagePortChannel::entangleIfOpen):
96377        (WebCore::PlatformMessagePortChannel::disentangle):
96378        (WebCore::PlatformMessagePortChannel::setRemotePort):
96379        (WebCore::PlatformMessagePortChannel::remotePort):
96380        (WebCore::PlatformMessagePortChannel::entangledChannel):
96381        (WebCore::PlatformMessagePortChannel::setEntangledChannel):
96382        (WebCore::PlatformMessagePortChannel::postMessageToRemote):
96383        (WebCore::PlatformMessagePortChannel::tryGetMessageFromRemote):
96384        (WebCore::PlatformMessagePortChannel::isConnectedTo):
96385        (WebCore::PlatformMessagePortChannel::close):
96386        (WebCore::PlatformMessagePortChannel::closeInternal):
96387        (WebCore::PlatformMessagePortChannel::hasPendingActivity):
96388        * dom/default/PlatformMessagePortChannel.h: Added.
96389        (WebCore::PlatformMessagePortChannel::MessagePortQueue::create):
96390        (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):
96391        (WebCore::PlatformMessagePortChannel::MessagePortQueue::appendAndCheckEmpty):
96392        (WebCore::PlatformMessagePortChannel::MessagePortQueue::isEmpty):
96393        (WebCore::PlatformMessagePortChannel::MessagePortQueue::MessagePortQueue):
96394        * page/DOMWindow.cpp:
96395        (WebCore::PostMessageTimer::PostMessageTimer):
96396            Changed DOMWindow messaging to create the MessageEvent in the target ScriptExecutionContext to match how cross-thread MessagePorts work.
96397        (WebCore::PostMessageTimer::event):
96398        (WebCore::DOMWindow::postMessage):
96399        (WebCore::DOMWindow::postMessageTimerFired):
96400
964012009-06-21  Dan Bernstein  <mitz@apple.com>
96402
96403        Reviewed by Sam Weinig.
96404
96405        - fix https://bugs.webkit.org/show_bug.cgi?id=15383
96406          <rdar://problem/5682745> resize: vertical does not restrict to vertical
96407          resize
96408
96409        Test: fast/css/resize-single-axis.html
96410
96411        * rendering/RenderLayer.cpp:
96412        (WebCore::RenderLayer::resize): Ignore movement along the non-resizing
96413        axis.
96414
964152009-06-21  Sam Weinig  <sam@webkit.org>
96416
96417        Reviewed by Eric Seidel
96418
96419        Fix for https://bugs.webkit.org/show_bug.cgi?id=26578
96420        event.currentTarget for listener registered on window should point to the window object like in Firefox
96421
96422        Test: fast/events/event-trace.html
96423
96424        * dom/Node.cpp:
96425        (WebCore::Node::dispatchGenericEvent): Make the DOMWindow the currentTarget when events are dispatched
96426        to it. We previously used the document because DOMWindow was not yet an EventTarget.
96427
964282009-06-21  Dan Bernstein  <mitz@apple.com>
96429
96430        Reviewed by Sam Weinig.
96431
96432        - fix https://bugs.webkit.org/show_bug.cgi?id=9694
96433          resize value not compared
96434
96435        Test: fast/css/resize-value-compared.html
96436
96437        * rendering/style/StyleRareInheritedData.cpp:
96438        (WebCore::StyleRareInheritedData::operator==): Compare the resize
96439        member.
96440
964412009-06-19  Alice Liu  <alice.liu@apple.com>
96442
96443        Fix https://bugs.webkit.org/show_bug.cgi?id=26568 
96444        Repro crash animating GIF if previously used in a closed window's back/forward list
96445        Also filed as <rdar://problem/6978362>
96446
96447        Reviewed by Maciej Stachowiak.
96448
96449        Can't test this bug with an automated layout test since it requires b/f caching 
96450        * manual-tests/animated-gif-bfcache-crash.html: Added.
96451        * manual-tests/resources/containsAnimatedGif.html: Added.
96452
96453        Adding checks for hostWindow() since there is no guarantee that the Page is alive
96454        * platform/ScrollView.cpp:
96455        (WebCore::ScrollView::scrollRectIntoViewRecursively):
96456        (WebCore::ScrollView::contentsToScreen):
96457        (WebCore::ScrollView::screenToContents):
96458        (WebCore::ScrollView::wheelEvent):
96459
964602009-06-20  Sam Weinig  <sam@webkit.org>
96461
96462        Reviewed by Adam Barth.
96463
96464        Fix for https://bugs.webkit.org/show_bug.cgi?id=26554
96465        Shadowing of top and parent
96466
96467        * page/DOMWindow.idl:
96468
964692009-06-20  Mark Rowe  <mrowe@apple.com>
96470
96471        Reviewed by Dan Bernstein.
96472
96473        Fix <https://bugs.webkit.org/show_bug.cgi?id=15106>.
96474        Bug 15106: REGRESSION: Can't drag text as element when user-select is set to none
96475
96476        We allow selections to begin within an element that has -webkit-user-select: none set,
96477        unless the element is draggable as dragging should take priority over starting a selection.
96478
96479        Test: editing/selection/user-drag-element-and-user-select-none.html
96480
96481        * dom/Node.cpp:
96482        (WebCore::Node::canStartSelection):
96483
964842009-06-20  Darin Adler  <darin@apple.com>
96485
96486        Reviewed by Dan Bernstein.
96487
96488        Bug 26528: REGRESSION (r44674): Assertion in TextIterator::pushFullyClippedState while counting matches for "a" on apple.com
96489        https://bugs.webkit.org/show_bug.cgi?id=26528
96490        rdar://problem/6985329
96491
96492        * editing/TextIterator.cpp:
96493        (WebCore::TextIterator::handleReplacedElement): When entering a text control,
96494        start at the top of the shadow tree (by calling shadowTreeRootNode). Also
96495        remove assumption that innerTextElement will never be 0 since RenderTextControl
96496        doesn't really guarantee this.
96497
964982009-06-20  Jan Michael Alonzo  <jmalonzo@webkit.org>
96499
96500        Reviewed by NOBODY.
96501
96502        Speculative Qt build fix - add HTMLDataGridColElement to the build script.
96503
96504        * WebCore.pro:
96505
965062009-06-19  Adam Barth  <abarth@webkit.org>
96507
96508        Reviewed by Darin Adler.
96509
96510        https://bugs.webkit.org/show_bug.cgi?id=26561
96511
96512        Remove a memcpy by retrieving the already existing copy of a string
96513        instead of making a new one.
96514
96515        * bindings/js/ScriptSourceCode.h:
96516        (WebCore::ScriptSourceCode::ScriptSourceCode):
96517        (WebCore::ScriptSourceCode::source):
96518        * bindings/js/StringSourceProvider.h:
96519        (WebCore::StringSourceProvider::source):
96520
965212009-06-19  Brian Weinstein  <bweinstein@apple.com>
96522
96523        Reviewed by Steve Falkenburg.
96524        
96525        https://bugs.webkit.org/show_bug.cgi?id=26488
96526        No Support for Single Finger or Two Finger Panning in Windows 7
96527        
96528        The code in WebCore allows us to interpret a Pan gesture as
96529        a mousewheel event, and we are able to reuse the scrolling code.
96530        Another constructor was created in WheelEventWin which takes data
96531        better suited to the pan guesture than what was currently there. 
96532        
96533        Unable to add tests to simulate touch behavior/gestures.
96534
96535        * platform/PlatformWheelEvent.h:
96536        * platform/win/WheelEventWin.cpp:
96537
965382009-06-19  Chris Marrin  <cmarrin@apple.com>
96539
96540        Fixed a build error, which only shows up in the i386 compile
96541
96542        * platform/graphics/mac/GraphicsLayerCA.mm:
96543        (WebCore::GraphicsLayerCA::animateTransform):
96544
965452009-06-19  Simon Fraser  <simon.fraser@apple.com>
96546
96547        Reviewed by Oliver Hunt.
96548
96549        <rdar://problem/6988385> REGRESSION: In full page video player, movie's
96550        video track becomes detached from its controller.
96551        
96552        When in the media document, the MediaPlayer should not report that it
96553        is capable of hardware acceleration, because it renders via a QTMovieView
96554        which is already accelerated.
96555
96556        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
96557        (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
96558
965592009-06-19  Kevin Ollivier  <kevino@theolliviers.com>
96560
96561        Adding XSSAuditor.cpp to the wx build.
96562
96563        * WebCoreSources.bkl:
96564
965652009-06-19  Chris Marrin  <cmarrin@apple.com>
96566
96567        Reviewed by Simon Fraser  <simon.fraser@apple.com>.
96568
96569        https://bugs.webkit.org/show_bug.cgi?id=26544
96570
96571        If I am doing a Matrix hardware animation and any matrix is singular, I revert to software.
96572        This is not really testable, since we can't see what the hardware animation is doing.
96573
96574        * platform/graphics/mac/GraphicsLayerCA.mm:
96575        (WebCore::GraphicsLayerCA::animateTransform):
96576
965772009-06-19  Geoffrey Garen  <ggaren@apple.com>
96578
96579        Reviewed by Maciej Stachowiak.
96580        
96581        An additional fix for Bug 26532: Native functions do not correctly unlink
96582        from optimised callsites when they're collected
96583        <https://bugs.webkit.org/show_bug.cgi?id=26532> | <rdar://problem/6625385>
96584
96585        Use "NativeFunctionWrapper" instead of "PrototypeFunction" in cross-frame
96586        accessors, so the type of object you get to wrap a function is the same,
96587        regardless of whether the access to the function is cross-frame.
96588        
96589        This is faster and more idiomatic than what we had before. It also would
96590        have avoided Bug 26532 because it would have prevented a conflicting
96591        PrototypeFunction from being allocated to wrap postMessage, where a
96592        NativeFunctionWrapper had been allocated previously.
96593        
96594        * bindings/js/JSDOMBinding.cpp:
96595        (WebCore::objectToStringFunctionGetter):
96596        * bindings/js/JSDOMWindowCustom.cpp:
96597        (WebCore::nonCachingStaticFunctionGetter):
96598        * bindings/js/JSHistoryCustom.cpp:
96599        (WebCore::nonCachingStaticBackFunctionGetter):
96600        (WebCore::nonCachingStaticForwardFunctionGetter):
96601        (WebCore::nonCachingStaticGoFunctionGetter):
96602        * bindings/js/JSLocationCustom.cpp:
96603        (WebCore::nonCachingStaticReplaceFunctionGetter):
96604        (WebCore::nonCachingStaticReloadFunctionGetter):
96605        (WebCore::nonCachingStaticAssignFunctionGetter):
96606
966072009-06-19  Simon Fraser  <simon.fraser@apple.com>
96608
96609        Reviewed by John Sullivan
96610
96611        <rdar://problem/6953673> Crash in RenderLayerCompositor::setCompositingParent
96612        
96613        Fix a crash that could occur in complex content due to timing issues
96614        when doing a partial layer tree rebuild which is required when painting;
96615        setCompositingParent() could be called with a parent which has not been made
96616        compositing yet.
96617
966182009-06-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
96619
96620        Build fix. Adding missing HTMLDataGrid* files to the build.
96621
96622        * GNUmakefile.am:
96623
966242009-06-19  Peter Kasting  <pkasting@google.com>
96625
96626        Reviewed by Eric Seidel.
96627
96628        https://bugs.webkit.org/show_bug.cgi?id=26460 part three
96629        Make BMPImageReader a standalone class that is used by ICOImageDecoder
96630        and BMPImageDecoder to decode individual BMPs within a file.  These
96631        decoders now inherit directly from ImageDecoder.
96632        
96633        This also makes these decoders decode on-demand in isSizeAvailable() and
96634        frameBufferAtIndex(), like the other decoders, instead of when setData()
96635        is called, like before.  This should provide a speedup on pages
96636        containing BMPs that aren't immediately onscreen.
96637
96638        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
96639        (WebCore::BMPImageDecoder::BMPImageDecoder):
96640        (WebCore::BMPImageDecoder::setData):
96641        (WebCore::BMPImageDecoder::isSizeAvailable):
96642        (WebCore::BMPImageDecoder::frameBufferAtIndex):
96643        (WebCore::BMPImageDecoder::decodeWithCheckForDataEnded):
96644        (WebCore::BMPImageDecoder::decode):
96645        (WebCore::BMPImageDecoder::processFileHeader):
96646        * platform/image-decoders/bmp/BMPImageDecoder.h:
96647        (WebCore::BMPImageDecoder::readUint32):
96648        * platform/image-decoders/bmp/BMPImageReader.cpp:
96649        (WebCore::BMPImageReader::BMPImageReader):
96650        (WebCore::BMPImageReader::decodeBMP):
96651        (WebCore::BMPImageReader::readInfoHeaderSize):
96652        (WebCore::BMPImageReader::processInfoHeader):
96653        (WebCore::BMPImageReader::readInfoHeader):
96654        (WebCore::BMPImageReader::processBitmasks):
96655        (WebCore::BMPImageReader::processColorTable):
96656        (WebCore::BMPImageReader::processRLEData):
96657        (WebCore::BMPImageReader::processNonRLEData):
96658        (WebCore::BMPImageReader::setFailed):
96659        * platform/image-decoders/bmp/BMPImageReader.h:
96660        (WebCore::BMPImageReader::readUint16):
96661        (WebCore::BMPImageReader::readUint32):
96662        (WebCore::BMPImageReader::setBuffer):
96663        (WebCore::BMPImageReader::setData):
96664        (WebCore::BMPImageReader::):
96665        (WebCore::BMPImageReader::pastEndOfImage):
96666        (WebCore::BMPImageReader::readCurrentPixel):
96667        (WebCore::BMPImageReader::setRGBA):
96668        * platform/image-decoders/ico/ICOImageDecoder.cpp:
96669        (WebCore::ICOImageDecoder::ICOImageDecoder):
96670        (WebCore::ICOImageDecoder::setData):
96671        (WebCore::ICOImageDecoder::isSizeAvailable):
96672        (WebCore::ICOImageDecoder::size):
96673        (WebCore::ICOImageDecoder::frameBufferAtIndex):
96674        (WebCore::ICOImageDecoder::decodeWithCheckForDataEnded):
96675        (WebCore::ICOImageDecoder::decode):
96676        (WebCore::ICOImageDecoder::processDirectory):
96677        (WebCore::ICOImageDecoder::processDirectoryEntries):
96678        (WebCore::ICOImageDecoder::readDirectoryEntry):
96679        (WebCore::ICOImageDecoder::processImageType):
96680        * platform/image-decoders/ico/ICOImageDecoder.h:
96681        (WebCore::ICOImageDecoder::readUint16):
96682        (WebCore::ICOImageDecoder::readUint32):
96683
966842009-06-19  Adam Barth  <abarth@webkit.org>
96685
96686        Reviewed by Dimitri Glazkov.
96687
96688        https://bugs.webkit.org/show_bug.cgi?id=26555
96689
96690        Fix the Chromium canary bot.  Turns out ScriptSourceCode doesn't have
96691        the same API in V8 and JSC.
96692
96693        * WebCore/bindings/js/ScriptController.cpp:
96694        * WebCore/bindings/js/ScriptSourceCode.h:
96695        * WebCore/bindings/v8/ScriptController.cpp:
96696        * WebCore/page/XSSAuditor.cpp:
96697        * WebCore/page/XSSAuditor.h:
96698
966992009-06-19  David Hyatt  <hyatt@apple.com>
96700
96701        Reviewed by Anders Carlsson.
96702
96703        https://bugs.webkit.org/show_bug.cgi?id=26547
96704        
96705        Implement the IDL interface for HTMLDataGridColElement.
96706
96707        * DerivedSources.cpp:
96708        * DerivedSources.make:
96709        * GNUmakefile.am:
96710        * WebCore.pro:
96711        * WebCore.vcproj/WebCore.vcproj:
96712        * WebCore.xcodeproj/project.pbxproj:
96713        * WebCoreSources.bkl:
96714        * html/HTMLAttributeNames.in:
96715        * html/HTMLDataGridColElement.cpp: Added.
96716        (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
96717        (WebCore::HTMLDataGridColElement::label):
96718        (WebCore::HTMLDataGridColElement::setLabel):
96719        (WebCore::HTMLDataGridColElement::type):
96720        (WebCore::HTMLDataGridColElement::setType):
96721        (WebCore::HTMLDataGridColElement::sortable):
96722        (WebCore::HTMLDataGridColElement::setSortable):
96723        (WebCore::HTMLDataGridColElement::sortDirection):
96724        (WebCore::HTMLDataGridColElement::setSortDirection):
96725        (WebCore::HTMLDataGridColElement::selected):
96726        (WebCore::HTMLDataGridColElement::setSelected):
96727        * html/HTMLDataGridColElement.h: Added.
96728        (WebCore::HTMLDataGridColElement::endTagRequirement):
96729        (WebCore::HTMLDataGridColElement::tagPriority):
96730        * html/HTMLDataGridColElement.idl: Added.
96731        * html/HTMLDataGridElement.h:
96732        * html/HTMLElementsAllInOne.cpp:
96733        * html/HTMLTagNames.in:
96734        * page/DOMWindow.idl:
96735
967362009-06-19  Chris Evans  <scarybeasts@gmail.com>
96737
96738        Reviewed by Eric Seidel.
96739
96740        There is no new test because this cannot be tested deterministically.
96741        I've not been able to cause a crash at all in the test framework, but
96742        I have verified that this is happening in the wild and that the patch
96743        fixes the likely cause in the debugger.
96744
96745        * loader/TextResourceDecoder.cpp: careful not to iterate off the end
96746          of our input buffer looking for the end of the comment.
96747
967482009-06-19  Adam Barth  <abarth@webkit.org>
96749
96750        Reviewed by Dimitri Glazkov.
96751
96752        https://bugs.webkit.org/show_bug.cgi?id=26536
96753
96754        Fix external-script-URL-location.html and
96755        write-external-script-open.html LayoutTests.
96756
96757        implicitOpen is called from several places.  We need to setXSSAuditor
96758        each time, so I moved the call inside implicitOpen.
96759
96760        * dom/Document.cpp:
96761        (WebCore::Document::open):
96762        (WebCore::Document::implicitOpen):
96763        * loader/FrameLoader.cpp:
96764        (WebCore::FrameLoader::begin):
96765
967662009-06-19  Kent Tamura  <tkent@chromium.org>
96767
96768        Reviewed by David Levin.
96769
96770        Use WebCore::multipleFileUploadText() in Chromium to fix a problem
96771        that Chromium shows only the first filename even if a user selects
96772        multiple files for <input type=file multiple>.
96773        <https://bugs.webkit.org/show_bug.cgi?id=26502>
96774
96775        * platform/chromium/FileChooserChromium.cpp:
96776        (WebCore::FileChooser::basenameForWidth):
96777
967782009-06-19  Dan Bernstein  <mitz@apple.com>
96779
96780        Reviewed by Dave Hyatt.
96781
96782        - fix <rdar://problem/6967596> Safari hung using 100% CPU when I tried
96783          to look up a word in Dictionary using command-control-d
96784
96785        Test: editing/selection/move-by-line-005.html
96786
96787        The root cause of this bug was searchAheadForBetterMatch() continuing
96788        past the first rendered text object after the given object. While we
96789        want to skip non-rendered text and empty containers, when we encounter
96790        rendered text object, we must return a text box for that object.
96791
96792        * dom/Position.cpp:
96793        (WebCore::searchAheadForBetterMatch):
96794
967952009-06-19  Jungshik Shin  <jshin@chromium.org>
96796
96797        Reviewed by David Levin
96798
96799        https://bugs.webkit.org/show_bug.cgi?id=25657
96800
96801        Chromium Linux port does not handle non-BMP characters properly.
96802        It's fixed with a 'UTF-16 iterator macro' to extract Unicode
96803        codepoints out of a UTF-16 input string.
96804
96805        A manual test is added for non-BMP character rendering,
96806        which we can use until a small freely-distributable font
96807        covering non-BMP is added to the Webkit source tree.
96808
96809
96810        * platform/graphics/chromium/FontCacheLinux.cpp:
96811        (WebCore::FontCache::getFontDataForCharacters):
96812        * manual-tests/non-bmp.html: Added.
96813
968142009-06-19  Pavel Feldman  <pfeldman@chromium.org>
96815
96816        Reviewed by Dimitri Glazkov.
96817
96818        V8 Bindings: return proper state from the script stack.
96819
96820        https://bugs.webkit.org/show_bug.cgi?id=26512
96821
96822        * bindings/v8/ScriptCallStack.cpp:
96823        (WebCore::ScriptCallStack::ScriptCallStack):
96824        * bindings/v8/ScriptCallStack.h:
96825        (WebCore::ScriptCallStack::state):
96826
968272009-06-19  Jessie Berlin  <jberlin@apple.com>
96828
96829        Reviewed by Simon Fraser.
96830
96831        Windows build fix.
96832        
96833        * platform/graphics/cg/PatternCG.cpp:
96834        (WebCore::Pattern::createPlatformPattern):
96835
968362009-06-19  Yael Aharon  <yael.aharon@nokia.com>
96837
96838        Reviewed by Simon Hausmann.
96839        Build fix after 44825.
96840
96841        * platform/graphics/qt/ImageDecoderQt.cpp:
96842        (WebCore::ImageDecoderQt::isSizeAvailable):
96843        * platform/graphics/qt/ImageDecoderQt.h:
96844
968452009-06-18  Shinichiro Hamaji  <hamaji@chromium.org>
96846
96847        Reviewed by Oliver Hunt.
96848
96849        Bug 26426: Canvas: rotation of 'no-repeat' pattern is weird
96850        <https://bugs.webkit.org/show_bug.cgi?id=26426>
96851
96852        Use 1<<23-1 as steps of no-repeat patterns instead of 100000000.0f.
96853        The original number cannot be represented by mantissa of float
96854        (23bit) so that it caused some error.
96855
96856        Test: fast/canvas/image-object-in-canvas.html:
96857
96858        * platform/graphics/cg/PatternCG.cpp:
96859        (WebCore::Pattern::createPlatformPattern):
96860
968612009-06-19  Adam Barth  <abarth@webkit.org>
96862
96863        Unreviewed attempt to fix the Chromium build.
96864
96865        * bindings/v8/ScriptController.cpp:
96866        (WebCore::ScriptController::ScriptController):
96867        (WebCore::ScriptController::evaluate):
96868        * bindings/v8/ScriptController.h:
96869        (WebCore::ScriptController::xssAuditor):
96870        * bindings/v8/ScriptEventListener.cpp:
96871        (WebCore::createAttributeEventListener):
96872
968732009-06-18  Adam Barth  <abarth@webkit.org>
96874
96875        Reviewed by Sam Weinig.
96876
96877        https://bugs.webkit.org/show_bug.cgi?id=26199
96878
96879        Added an experimental reflective XSS filter.  The filter is disabled by
96880        default.
96881
96882        Test: http/tests/security/xssAuditor/script-tag.html
96883
96884        * GNUmakefile.am:
96885        * WebCore.base.exp:
96886        * WebCore.pro:
96887        * WebCore.vcproj/WebCore.vcproj:
96888        * WebCore.xcodeproj/project.pbxproj:
96889        * bindings/js/ScriptController.cpp:
96890        (WebCore::ScriptController::ScriptController):
96891        (WebCore::ScriptController::evaluate):
96892        * bindings/js/ScriptController.h:
96893        (WebCore::ScriptController::xssAuditor):
96894        * bindings/js/ScriptEventListener.cpp:
96895        (WebCore::createAttributeEventListener):
96896        * dom/Tokenizer.h:
96897        (WebCore::Tokenizer::xssAuditor):
96898        (WebCore::Tokenizer::setXSSAuditor):
96899        (WebCore::Tokenizer::Tokenizer):
96900        * html/HTMLTokenizer.cpp:
96901        (WebCore::HTMLTokenizer::scriptHandler):
96902        * loader/FrameLoader.cpp:
96903        (WebCore::FrameLoader::begin):
96904        (WebCore::FrameLoader::requestObject):
96905        * page/Settings.cpp:
96906        (WebCore::Settings::Settings):
96907        (WebCore::Settings::setXSSAuditorEnabled):
96908        * page/Settings.h:
96909        (WebCore::Settings::xssAuditorEnabled):
96910        * page/XSSAuditor.cpp: Added.
96911        (WebCore::isControlCharacter):
96912        (WebCore::XSSAuditor::XSSAuditor):
96913        (WebCore::XSSAuditor::~XSSAuditor):
96914        (WebCore::XSSAuditor::canEvaluate):
96915        (WebCore::XSSAuditor::canCreateInlineEventListener):
96916        (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
96917        (WebCore::XSSAuditor::canLoadObject):
96918        (WebCore::XSSAuditor::decodeURL):
96919        (WebCore::XSSAuditor::findInRequest):
96920        * page/XSSAuditor.h: Added.
96921        (WebCore::XSSAuditor::isEnabled):
96922        (WebCore::XSSAuditor::setXSSAuditorEnabled):
96923
969242009-06-18  Dirk Schulze  <krit@webkit.org>
96925
96926        Reviewed by Oliver Hunt.
96927
96928        feOffset and objectBoundingBox
96929        [https://bugs.webkit.org/show_bug.cgi?id=26441]
96930
96931        If we use objectBoundingBox for primitiveUnits, the fractions given
96932        to dx or dy of feOffset must be multiplied with the referenced objects
96933        objectBoundingBox size.
96934
96935        Test: svg/filters/feOffset.svg
96936
96937        * svg/graphics/filters/SVGFEOffset.cpp:
96938        (WebCore::FEOffset::apply):
96939
969402009-06-18  Dirk Schulze  <krit@webkit.org>
96941
96942        Reviewed by Oliver Hunt.
96943
96944        feTile implementation missing
96945        [https://bugs.webkit.org/show_bug.cgi?id=26419]
96946
96947        Implementation of feTile, a pattern effect for SVG filters. It was
96948        necessary to modify FilterEffect since source inputs need a secial
96949        logic and we have to identify if an effect is a source input.
96950
96951        Tests: svg/batik/filters/feTile.svg
96952               svg/filters/feTile.svg
96953
96954        * platform/graphics/filters/FilterEffect.h:
96955        (WebCore::FilterEffect::isSourceInput):
96956        * platform/graphics/filters/SourceAlpha.h:
96957        (WebCore::SourceAlpha::isSourceInput):
96958        * platform/graphics/filters/SourceGraphic.h:
96959        (WebCore::SourceGraphic::isSourceInput):
96960        * svg/graphics/filters/SVGFETile.cpp:
96961        (WebCore::FETile::apply):
96962
969632009-06-18  Dirk Schulze  <krit@webkit.org>
96964
96965        Reviewed by Oliver Hunt.
96966
96967        feMerge implementation
96968        [https://bugs.webkit.org/show_bug.cgi?id=26480]
96969
96970        Added feMerge to the SVG Filter system.
96971
96972        Test: svg/filters/feMerge.svg
96973
96974        * svg/graphics/filters/SVGFEMerge.cpp:
96975        (WebCore::FEMerge::uniteChildEffectSubregions):
96976        (WebCore::FEMerge::apply):
96977        * svg/graphics/filters/SVGFEMerge.h:
96978
969792009-06-18  Mark Rowe  <mrowe@apple.com>
96980
96981        Speculative Windows build fix.
96982
96983        * page/win/FrameCGWin.cpp: Add missing #include.
96984
969852009-06-17  Brent Fulgham  <bfulgham@webkit.org>
96986
96987        Reviewed by Dave Levin.
96988
96989        https://bugs.webkit.org/show_bug.cgi?id=26425
96990        Final refactorings, picking up a few places where BitmapInfo
96991        could be used.
96992
96993        * page/win/FrameCGWin.cpp:
96994        (WebCore::imageFromRect):
96995        * platform/win/CursorWin.cpp:
96996        (WebCore::Cursor::Cursor):
96997        * platform/win/PopupMenuWin.cpp:
96998        (WebCore::PopupMenu::paint):
96999
970002009-06-18  Chris Fleizach  <cfleizach@apple.com>
97001
97002        Reviewed by Darin Adler.
97003
97004        Bug 26522: In DOM mode, VoiceOver reads some mouseover text on web sites strangely
97005        https://bugs.webkit.org/show_bug.cgi?id=26522
97006
97007        Test: accessibility/non-data-table-cell-title-ui-element.html
97008
97009        * accessibility/AccessibilityTableCell.cpp:
97010        (WebCore::AccessibilityTableCell::titleUIElement):
97011
970122009-06-18  Kevin Ollivier  <kevino@theolliviers.com>
97013
97014        wx build fix after recent RenderTheme changes.
97015
97016        * platform/wx/RenderThemeWx.cpp:
97017        (WebCore::RenderThemeWx::~RenderThemeWx):
97018        (WebCore::RenderTheme::themeForPage):
97019
970202009-06-18  Peter Kasting  <pkasting@google.com>
97021
97022        Reviewed by Eric Seidel.
97023
97024        https://bugs.webkit.org/show_bug.cgi?id=26460 part two
97025        Attempt to minimize diff of following functional change by first landing
97026        non-functional change to:
97027        * Make readUintX() public and static (since they will need to be once
97028          BMPImageReader is included in *ImageDecoder via composition rather
97029          than inheritance).  Add wrappers in each class so callers can be
97030          simpler.  In the next patch, these wrappers will be beefed up slightly
97031          and the callers will get even simpler.
97032        * Change direct setting of m_failed to use setFailed(), since in the
97033          next patch much of this code won't even have direct access to m_failed
97034        * Add a helper function in ICOImageDecoder to determine the image type
97035          instead of simply doing it inline
97036        * Rewrap lines that used to be <=80 cols and slipped over it during the
97037          original landing of these decoders
97038        * Other misc. changes, e.g. adding constructor definitions, reordering
97039          functions, changing RGBA32Buffer& to RGBA32Buffer*, etc. that have no
97040          functional effect but minimize the subsequent diff for readability
97041
97042
97043        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
97044        (WebCore::BMPImageDecoder::BMPImageDecoder):
97045        (WebCore::BMPImageDecoder::processFileHeader):
97046        * platform/image-decoders/bmp/BMPImageDecoder.h:
97047        (WebCore::BMPImageDecoder::readUint32):
97048        * platform/image-decoders/bmp/BMPImageReader.cpp:
97049        (WebCore::BMPImageReader::decodeBMP):
97050        (WebCore::BMPImageReader::getInfoHeaderSize):
97051        (WebCore::BMPImageReader::processInfoHeader):
97052        (WebCore::BMPImageReader::readInfoHeader):
97053        (WebCore::BMPImageReader::processBitmasks):
97054        (WebCore::BMPImageReader::processColorTable):
97055        (WebCore::BMPImageReader::processRLEData):
97056        (WebCore::BMPImageReader::processNonRLEData):
97057        * platform/image-decoders/bmp/BMPImageReader.h:
97058        (WebCore::BMPImageReader::readUint16Helper):
97059        (WebCore::BMPImageReader::readUint32Helper):
97060        (WebCore::BMPImageReader::):
97061        (WebCore::BMPImageReader::readUint16):
97062        (WebCore::BMPImageReader::readUint32):
97063        (WebCore::BMPImageReader::readCurrentPixel):
97064        (WebCore::BMPImageReader::getComponent):
97065        (WebCore::BMPImageReader::setI):
97066        (WebCore::BMPImageReader::setRGBA):
97067        (WebCore::BMPImageReader::fillRGBA):
97068        * platform/image-decoders/ico/ICOImageDecoder.cpp:
97069        (WebCore::ICOImageDecoder::ICOImageDecoder):
97070        (WebCore::ICOImageDecoder::isSizeAvailable):
97071        (WebCore::ICOImageDecoder::size):
97072        (WebCore::ICOImageDecoder::decodeImage):
97073        (WebCore::ICOImageDecoder::processDirectory):
97074        (WebCore::ICOImageDecoder::processDirectoryEntries):
97075        (WebCore::ICOImageDecoder::isBetterEntry):
97076        (WebCore::ICOImageDecoder::processImageType):
97077        * platform/image-decoders/ico/ICOImageDecoder.h:
97078        (WebCore::ICOImageDecoder::readUint16):
97079        (WebCore::ICOImageDecoder::readUint32):
97080
970812009-06-18  Peter Kasting  <pkasting@google.com>
97082
97083        Fix build bustage.
97084
97085        * platform/image-decoders/gif/GIFImageDecoder.h:
97086
970872009-06-18  Kevin McCullough  <kmccullough@apple.com>
97088
97089        Reviewed by Oliver Hunt.
97090
97091        <rdar://problem/6940880> REGRESSION: Breakpoints don't break in 64-bit
97092
97093        Convert intptr_t to Strings so that we don't loose bits in the
97094        conversion to JS.  Previously they were being put into 32bit ints.
97095
97096        * inspector/InspectorController.cpp: Convert the String back to an
97097        intptr_t.
97098        (WebCore::InspectorController::addBreakpoint):
97099        (WebCore::InspectorController::removeBreakpoint):
97100        * inspector/InspectorController.h:
97101        * inspector/InspectorController.idl: Use strings in JS to avoid 32bit
97102        truncation.
97103        * inspector/InspectorFrontend.cpp: Make the intptr_t into a String.
97104        (WebCore::InspectorFrontend::parsedScriptSource):
97105        * platform/text/PlatformString.h: Implemented the necessary conversion
97106        functions to be able to convert to and from an intptr_t.
97107        * platform/text/String.cpp: Ditto.
97108        (WebCore::String::toIntPtrStrict):
97109        (WebCore::String::toIntPtr):
97110        (WebCore::charactersToIntPtrStrict):
97111        (WebCore::charactersToIntPtr):
97112        * platform/text/StringImpl.cpp: Ditto.
97113        (WebCore::StringImpl::toIntPtrStrict):
97114        (WebCore::StringImpl::toIntPtr):
97115        * platform/text/StringImpl.h: Ditto.
97116
971172009-06-17  Brent Fulgham  <bfulgham@webkit.org>
97118
97119        Reviewed by Eric Seidel.
97120
97121        Final cleanups in this refactoring:
97122        (1) Move WindowsBitmap implementation from CG-specific file to
97123            the platform-common GraphicsContextWin.cpp, since it is
97124            equally useful on both platforms.
97125        (2) Revise the TransformationMatrix logic as suggested by
97126            Adam Roben in his review comments to Part #2 of this
97127            refactoring.
97128
97129        * platform/graphics/win/GraphicsContextCGWin.cpp:
97130        * platform/graphics/win/GraphicsContextWin.cpp:
97131        (WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap):
97132        (WebCore::GraphicsContext::WindowsBitmap::~WindowsBitmap):
97133        (WebCore::GraphicsContext::createWindowsBitmap):
97134        (WebCore::GraphicsContext::getWindowsContext):
97135        (WebCore::GraphicsContextPlatformPrivate::scale):
97136        (WebCore::GraphicsContextPlatformPrivate::rotate):
97137        (WebCore::GraphicsContextPlatformPrivate::translate):
97138        (WebCore::GraphicsContextPlatformPrivate::concatCTM):
97139
971402009-06-18  Peter Kasting  <pkasting@google.com>
97141
97142        Reviewed by Eric Seidel.
97143
97144        https://bugs.webkit.org/show_bug.cgi?id=26460 part one
97145        Make isSizeAvailable non-const, since it's not logically const (it
97146        triggers lazy decoding), and simplify all the implementations (without
97147        changing behavior; just make less verbose).  Remove some other
97148        inappropriate consts, which enables the removal of all the mutable
97149        declarations in the decoders.
97150
97151        * platform/image-decoders/ImageDecoder.h:
97152        (WebCore::ImageDecoder::isSizeAvailable):
97153        (WebCore::ImageDecoder::setSize): Make public to avoid needing a friend declaration in the JPEG decoder, and because the ICO/BMP decoders will soon need this.
97154        * platform/image-decoders/gif/GIFImageDecoder.cpp:
97155        (WebCore::GIFImageDecoder::isSizeAvailable):
97156        (WebCore::GIFImageDecoder::repetitionCount):
97157        (WebCore::GIFImageDecoder::decode):
97158        * platform/image-decoders/gif/GIFImageDecoder.h:
97159        * platform/image-decoders/ico/ICOImageDecoder.cpp:
97160        (WebCore::ICOImageDecoder::isSizeAvailable):
97161        * platform/image-decoders/ico/ICOImageDecoder.h:
97162        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
97163        (WebCore::JPEGImageDecoder::isSizeAvailable):
97164        (WebCore::JPEGImageDecoder::decode):
97165        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
97166        * platform/image-decoders/png/PNGImageDecoder.cpp:
97167        (WebCore::PNGImageDecoder::isSizeAvailable):
97168        (WebCore::PNGImageDecoder::decode):
97169        * platform/image-decoders/png/PNGImageDecoder.h:
97170        * platform/image-decoders/xbm/XBMImageDecoder.cpp:
97171        (WebCore::XBMImageDecoder::isSizeAvailable):
97172        (WebCore::XBMImageDecoder::frameBufferAtIndex):
97173        (WebCore::XBMImageDecoder::decode):
97174        * platform/image-decoders/xbm/XBMImageDecoder.h: Rename decodeXBM() to decode() for consistency with the JPEG/PNG decoders, and in the future the ICO/BMP decoders.
97175
971762009-06-17  Brent Fulgham  <bfulgham@webkit.org>
97177
97178        Reviewed by Eric Seidel.
97179
97180        Move some common functions out of platform files and into
97181        the common implementation.
97182
97183        https://bugs.webkit.org/show_bug.cgi?id=26425.
97184        Add a new platform context method (flush) so that the
97185        getWindowsContext method can be consolidated into the common
97186        GraphicsContextWin.cpp file.
97187         
97188        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
97189        (WebCore::GraphicsContextPlatformPrivate::flush):
97190        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
97191        (WebCore::GraphicsContextPlatformPrivate::flush):
97192        * platform/graphics/win/GraphicsContextCGWin.cpp: Remove
97193          getWindowContext method.
97194        * platform/graphics/win/GraphicsContextCairoWin.cpp: Remove
97195          getWindowContext method and fillWithClearColor methods.
97196        * platform/graphics/win/GraphicsContextWin.cpp:
97197        (WebCore::fillWithClearColor): Moved from *CairoWin.cpp
97198        (WebCore::GraphicsContext::getWindowsContext): Moved
97199          from *CairoWin.cpp
97200
972012009-06-18  Ojan Vafai  <ojan@chromium.org>
97202
97203        Reviewed by Oliver Hunt.
97204
97205        Remove code that I accidentally committed in r44811.
97206
97207        * editing/markup.cpp:
97208        (WebCore::createMarkup):
97209
972102009-06-18  Simon Fraser  <simon.fraser@apple.com>
97211
97212        Reviewed by Dan Bernstein.
97213
97214        <rdar://problem/6983207> Non-layer content is not re-rendered when transition
97215        starts sometimes (with hardware acceleration).
97216        
97217        When deciding which RenderLayers should be composited, when a layer goes into
97218        compositing mode we repaint the old location. However, we did that before
97219        we'd looked at all the factors that may force a layer to composite, so missed
97220        some cases. Fix by doing the repaint once we really know whether it's going
97221        to composite.
97222
97223        Test: compositing/repaint/become-overlay-composited-layer.html
97224
97225        * rendering/RenderLayerCompositor.cpp:
97226        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
97227
972282009-06-18  Simon Fraser  <simon.fraser@apple.com>
97229
97230        Fix the Leopard build where USE(ACCELERATED_COMPOSITING) is not defined, and
97231        the Tiger build where QTMovieLayer does not exist.
97232
97233        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
97234        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
97235        (WebCore::MediaPlayerPrivate::createQTMovieLayer):
97236        (WebCore::MediaPlayerPrivate::destroyQTMovieLayer):
97237        (WebCore::MediaPlayerPrivate::currentRenderingMode):
97238        (WebCore::MediaPlayerPrivate::setUpVideoRendering):
97239        (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
97240        (WebCore::MediaPlayerPrivate::hasSetUpVideoRendering):
97241
972422009-06-18  Simon Fraser  <simon.fraser@apple.com>
97243
97244        Fix the Leopard build where USE(ACCELERATED_COMPOSITING) is not defined.
97245
97246        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
97247        (WebCore::MediaPlayerPrivate::currentRenderingMode):
97248        (WebCore::MediaPlayerPrivate::setUpVideoRendering):
97249        (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
97250
972512009-06-17  Erik Arvidsson  <arv@chromium.org>
97252
97253        Reviewed by Adele Peterson.
97254
97255        https://bugs.webkit.org/show_bug.cgi?id=15189
97256        Adds the HTML5 input event support for textarea.
97257        
97258        Also, moves the oninput attribute parse handling to HTMLElement so that
97259        it can be set on any HTML element so that bubbling events can be handled
97260        using HTML attribute handlers.
97261
97262        Test: fast/forms/textarea-input-event.html
97263
97264        * html/HTMLElement.cpp:
97265        (WebCore::HTMLElement::parseMappedAttribute):
97266        * html/HTMLInputElement.cpp:
97267        (WebCore::HTMLInputElement::parseMappedAttribute):
97268        * rendering/RenderTextControlMultiLine.cpp:
97269        (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
97270
972712009-06-18  Dirk Schulze  <krit@webkit.org>
97272
97273        Reviewed by Oliver Hunt.
97274
97275        Share code between filterEffects
97276        [https://bugs.webkit.org/show_bug.cgi?id=26479]
97277
97278        Share more code of filter effects. The imageBuffer creation can move to
97279        FilterEffect ant every effect asks for the GraphicsContext. Move the
97280        drawingRect calculation to FilterEffect.
97281
97282        * platform/graphics/filters/FilterEffect.cpp:
97283        (WebCore::FilterEffect::calculateDrawingRect):
97284        (WebCore::FilterEffect::getEffectContext):
97285        * platform/graphics/filters/FilterEffect.h:
97286        * platform/graphics/filters/SourceGraphic.cpp:
97287        (WebCore::SourceGraphic::apply):
97288        * svg/graphics/filters/SVGFEFlood.cpp:
97289        (WebCore::FEFlood::apply):
97290        * svg/graphics/filters/SVGFEOffset.cpp:
97291        (WebCore::FEOffset::apply):
97292
972932009-06-18  Simon Fraser  <simon.fraser@apple.com>
97294
97295        Reviewed by Dave Hyatt.
97296        
97297        https://bugs.webkit.org/show_bug.cgi?id=26499
97298        
97299        Support hardware-accelerationed rendering of video elements.
97300
97301        * html/HTMLMediaElement.cpp:
97302        (WebCore::HTMLMediaElement::mediaPlayerSawUnsupportedTracks):
97303        (WebCore::HTMLMediaElement::mediaPlayerRepaint):
97304        Just move these methods to group the render-related methods together.
97305        
97306        (WebCore::HTMLMediaElement::mediaPlayerRenderingCanBeAccelerated):
97307        Call out method to ask the RenderLayerCompositor if presentation of this video
97308        can be acclerated. It might say no, if, for example, the video has a reflection.
97309        
97310        (WebCore::HTMLMediaElement::mediaPlayerGraphicsLayer):
97311        Fetch the GraphicsLayer from the RenderVideo that will host the movie layer.
97312        
97313        * html/HTMLMediaElement.h:
97314        Reordered the rendering-related methods, and added two methods related to video
97315        acceleration.
97316        
97317        * platform/graphics/MediaPlayer.cpp:
97318        (WebCore::MediaPlayer::acceleratedRenderingStateChanged):
97319        Called by the rendering system when it determines that the video must go into, or
97320        fall off of the hardware-accelerated path.
97321        
97322        (WebCore::MediaPlayer::supportsAcceleratedRendering):
97323        Method to say whether the media engine supports accelerated rendering.
97324        
97325        * platform/graphics/MediaPlayer.h:
97326        (WebCore::MediaPlayerClient::mediaPlayerRepaint):
97327        (WebCore::MediaPlayerClient::mediaPlayerSizeChanged):
97328        Moved.
97329        
97330        (WebCore::MediaPlayerClient::mediaPlayerRenderingCanBeAccelerated):
97331        (WebCore::MediaPlayerClient::mediaPlayerGraphicsLayer):
97332        New methods to ask the client if the rendering system can support accelerated
97333        rendering, and to get a GraphicsLayer to plug the movie layer into.
97334        
97335        * platform/graphics/MediaPlayerPrivate.h:
97336        (WebCore::MediaPlayerPrivateInterface::supportsAcceleratedRendering):
97337        (WebCore::MediaPlayerPrivateInterface::acceleratedRenderingStateChanged):
97338        Forwarding methods from MediaPlayer.
97339        
97340        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
97341        Some new methods related to using a QTMovieLayer, and to simplify the rendering mode logic.
97342
97343        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
97344        (WebCore::MediaPlayerPrivate::createQTMovieLayer):
97345        (WebCore::MediaPlayerPrivate::destroyQTMovieLayer):
97346        Methods to create and destroy the QTMovieLayer.
97347        
97348        (WebCore::MediaPlayerPrivate::currentRenderingMode):
97349        (WebCore::MediaPlayerPrivate::preferredRenderingMode):
97350        Methods to clarify the code that decides which of the 3 rendering modes to use.
97351        
97352        (WebCore::MediaPlayerPrivate::setUpVideoRendering):
97353        Changed to use the new rendering mode methods.
97354        
97355        (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
97356        Destroy the layer if we have one.
97357        
97358        (WebCore::MediaPlayerPrivate::hasSetUpVideoRendering):
97359        Small utility method.
97360        
97361        (WebCore::MediaPlayerPrivate::updateStates):
97362        Move the call to setUpVideoRendering() to before we send out the state notifications,
97363        so that we will have created the rendering objects already.
97364        
97365        (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
97366        Return true if we have QTMovieLayer.
97367        
97368        (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged):
97369        We've been told that we went into or out of accelerated mode; maybe reset
97370        the renderer, and set the layer if we have to.
97371        
97372        * rendering/RenderLayer.cpp:
97373        (WebCore::RenderLayer::rendererContentChanged):
97374        We may need to udpate compositing layers if the video went into accelerated mode.
97375        
97376        * rendering/RenderLayerBacking.cpp:
97377        (WebCore::RenderLayerBacking::canUseDirectCompositing):
97378        Add smarts to deal with video, which allows us to avoid extra backing store.
97379        
97380        (WebCore::RenderLayerBacking::contentsBox):
97381        Use the videoBox to use the content layer for video layers.
97382        
97383        * rendering/RenderLayerCompositor.cpp:
97384        (WebCore::RenderLayerCompositor::updateLayerCompositingState):
97385        Poke the RenderVideo if the state changed.
97386        
97387        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
97388        Handle an edge case when the video element itself is a stacking context
97389        because of opacity or transform.
97390        
97391        (WebCore::RenderLayerCompositor::canAccelerateVideoRendering):
97392        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
97393        (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
97394        Allow video to throw us into compositing mode if the media engine supports it.
97395        
97396        * rendering/RenderLayerCompositor.h:
97397        New methods related to video.
97398        
97399        * rendering/RenderVideo.h:
97400        * rendering/RenderVideo.cpp:
97401        (WebCore::RenderVideo::updatePlayer):
97402        Call rendererContentChanged() to give the compositor a change to throw the video into
97403        compositing mode.
97404        
97405        (WebCore::RenderVideo::supportsAcceleratedRendering):
97406        (WebCore::RenderVideo::acceleratedRenderingStateChanged):
97407        (WebCore::RenderVideo::videoGraphicsLayer):
97408        Methods to allow the MediaPlayer to do rendering-related stuff via the media element.
97409
974102009-06-18  Rob Buis  <rwlbuis@gmail.com>
97411
97412        Reviewed by Niko.
97413
97414        https://bugs.webkit.org/show_bug.cgi?id=26385
97415        Root SVG element is not checked on requiredFeatures, requiredExtension like other elements
97416
97417        Also do the isValid check for outer <svg>.
97418
97419        Test: svg/custom/outer-svg-unknown-feature.svg
97420
97421        * svg/SVGDocument.cpp:
97422        (WebCore::SVGDocument::childShouldCreateRenderer):
97423        * svg/SVGDocument.h:
97424
974252009-06-18  Dan Bernstein  <mitz@apple.com>
97426
97427        Reviewed by Darin Adler.
97428
97429        - fix <rdar://problem/6913221> REGRESSION (Safari 3-4): Search field on
97430          apple.com cuts entered text
97431
97432        Test: fast/forms/search-vertical-alignment.html
97433
97434        * rendering/RenderTextControlSingleLine.cpp:
97435        (WebCore::RenderTextControlSingleLine::layout): Vertically center the
97436            the search field's inner block.
97437
974382009-06-18  Janne Koskinen  <janne.p.koskinen@digia.com>
97439
97440        Reviewed by Simon Hausmann.
97441
97442        Fix compilation with Symbian WINSCW compiler, which produced
97443        multiple definitions of the CSSPrimitiveValue conversion operators.
97444
97445        It turns out that they are defined inline but not declared inline.
97446
97447        Adding the inline keyword to the declaration fixes the build.
97448
97449        * css/CSSPrimitiveValue.h:
97450
974512009-06-18  Markus Goetz <Markus.Goetz@nokia.com>
97452
97453        Reviewed by Simon Hausman.
97454
97455        Clarify in docs how to compile with debug information.
97456
97457        * WebCore.pro:
97458
974592009-06-18  Jakub Wieczorek  <faw217@gmail.com>
97460
97461        Reviewed by Simon Hausmann.
97462
97463        [Qt] When writing an URL to the clipboard, save the corresponding title
97464        in the mime data as well.
97465
97466        * platform/qt/ClipboardQt.cpp:
97467        (WebCore::ClipboardQt::writeURL):
97468
974692009-06-18  Jakub Wieczorek  <faw217@gmail.com>
97470
97471        [Qt] Fix build. Add HTMLDataGridElement.
97472
97473        * WebCore.pro:
97474
974752009-06-18  Jan Michael Alonzo  <jmalonzo@webkit.org>
97476
97477        Gtk build fix.
97478
97479        Add HTMLDataGridElement header and IDL to the build script.
97480
97481        * GNUmakefile.am:
97482
974832009-06-18  Chris Evans  <scarybeasts@gmail.com>
97484
97485        Reviewed by Adam Barth.
97486
97487        Fix 8-digit long hex entities. Fixes bug 26454
97488        https://bugs.webkit.org/show_bug.cgi?id=26454
97489
97490        Test: fast/parser/eightdigithexentity.html
97491
97492        * html/HTMLTokenizer.cpp: fix off-by-ones.
97493
974942009-06-18  David Levin  <levin@chromium.org>
97495
97496        Fix chromium linux build.
97497
97498        Fixes a mistake that happened during the complicated merge for
97499        landing r44775, r44776, r44777.
97500
97501        * rendering/RenderThemeChromiumLinux.cpp:
97502        (WebCore::RenderThemeChromiumLinux::create):
97503
975042009-06-17  Simon Fraser  <simon.fraser@apple.com>
97505
97506        Reviewed by Darin Adler.
97507        
97508        https://bugs.webkit.org/show_bug.cgi?id=26499
97509        
97510        First step to making video rendering be hardware-accelerated:
97511        make <video> elements get self-painting RenderLayers, and add
97512        an isVideo() virtual method to RenderObject.
97513
97514        * html/HTMLMediaElement.cpp:
97515        (WebCore::HTMLMediaElement::setReadyState):
97516        (WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
97517        (WebCore::HTMLMediaElement::mediaPlayerSizeChanged):
97518        * rendering/RenderLayer.cpp:
97519        (WebCore::RenderLayer::shouldBeNormalFlowOnly):
97520        (WebCore::RenderLayer::isSelfPaintingLayer):
97521        * rendering/RenderObject.h:
97522        (WebCore::RenderObject::isVideo):
97523        * rendering/RenderVideo.h:
97524        (WebCore::RenderVideo::requiresLayer):
97525        (WebCore::RenderVideo::isVideo):
97526
975272009-06-17  Brent Fulgham  <bfulgham@webkit.org>
97528
97529        Reviewed by Adam Roben.
97530
97531        Refactor a few common routines in the various Windows ports
97532        and reduce some duplicated code.
97533
97534        (1) Create TransformationMatrix XFORM casting operator, and
97535            switch various XFORM structure uses to utilize it.
97536        (2) Push concatCTM call to GraphicsContextWin now that the
97537            TransformationMatrix can directly create XFORM (rather
97538            than converting to CGAffineTransform/cairo_matrix_t first.)
97539
97540        * WebCore.vcproj/WebCore.vcproj: Add new BitmapInfo structure.
97541        * platform/graphics/transforms/TransformationMatrix.h:
97542        * platform/graphics/win/GraphicsContextCGWin.cpp:
97543        * platform/graphics/win/GraphicsContextCairoWin.cpp:
97544        * platform/graphics/win/GraphicsContextWin.cpp:
97545        (WebCore::GraphicsContextPlatformPrivate::scale):
97546        (WebCore::GraphicsContextPlatformPrivate::rotate):
97547        (WebCore::GraphicsContextPlatformPrivate::translate):
97548        (WebCore::GraphicsContextPlatformPrivate::concatCTM):
97549        * platform/graphics/win/TransformationMatrixWin.cpp: Added.
97550        (WebCore::TransformationMatrix::operator XFORM): New operator
97551
975522009-06-17  Brent Fulgham  <bfulgham@webkit.org>
97553
97554        Non-CG Windows build fix after @r44758.
97555
97556        * rendering/RenderThemeWin.cpp:
97557        (WebCore::RenderTheme::themeForPage):
97558
975592009-06-17  Brent Fulgham  <bfulgham@webkit.org>
97560
97561        Reviewed by Adam Roben.
97562
97563        Refactor a few common routines in the various Windows ports
97564        and reduce some duplicated code.
97565        https://bugs.webkit.org/show_bug.cgi?id=26425.
97566
97567        Refactor use of BITMAPINFO for the new BitmapInfo structure.
97568
97569        * WebCore.vcproj/WebCore.vcproj:
97570        * platform/win/BitmapInfo.cpp: Added.
97571        (WebCore::bitmapInfoForSize):
97572        (WebCore::BitmapInfo::create):
97573        (WebCore::BitmapInfo::createBottomUp):
97574        * platform/win/BitmapInfo.h: Added.
97575        * platform/graphics/win/GraphicsContextCairoWin.cpp:
97576        * platform/graphics/win/GraphicsContextCGWin.cpp:
97577        * platform/graphics/win/TransformationMatrixWin.cpp: Added.
97578        (WebCore::TransformationMatrix::operator XFORM): New operator
97579        * platform/win/DragImageCGWin.cpp:
97580        (WebCore::allocImage):
97581        * platform/win/DragImageCairoWin.cpp:
97582        (WebCore::allocImage):
97583        * platform/win/PasteboardWin.cpp:
97584        (WebCore::Pasteboard::writeImage):
97585        * platform/win/PopupMenuWin.cpp:
97586        (WebCore::PopupMenu::paint):
97587
975882009-06-17  Adam Roben  <aroben@apple.com>
97589
97590        Remove unnecessary 6th parameter from SOFT_LINK_OPTIONAL
97591
97592        Reviewed by Mark Rowe.
97593
97594        * platform/graphics/win/ColorSafari.cpp: Removed the 6th parameter and
97595        an unnecessary parameter name.
97596        * platform/win/SoftLinking.h: Removed the unused 6th parameter.
97597
975982009-06-17  Adam Roben  <aroben@apple.com>
97599
97600        Make Settings::shouldPaintNativeControls default to true
97601
97602        This matches the default up in WebKit (that was changed in r43318).
97603
97604        Fixes Bug 26493: REGRESSION (r44758): First tab always uses Mac-style
97605        form controls
97606        <https://bugs.webkit.org/show_bug.cgi?id=26493>
97607
97608        Reviewed by Darin Adler and Dave Hyatt.
97609
97610        No test possible since DRT always uses Mac-style form controls.
97611
97612        * page/Settings.cpp: Changed the initial value of
97613        gShouldPaintNativeControls to true.
97614
97615        * rendering/RenderThemeSafari.cpp:
97616        (WebCore::RenderTheme::themeForPage): Added a FIXME about the design
97617        flaw here involving querying Settings before it's been initialized.
97618
976192009-06-17  David Levin  <levin@chromium.org>
97620
97621        Fix chromium windows build.
97622
97623        A mistake that happened during the complicated merge for
97624        landing r44775, r44776, r44777.
97625
97626        * rendering/RenderThemeChromiumWin.h:
97627        (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
97628        (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):
97629
976302009-06-17  Eric Carlson  <eric.carlson@apple.com>
97631
97632        Reviewed by Simon Fraser.
97633
97634        <rdar://problem/6981193> Crash in MediaControlInputElement::attachToParent
97635
97636        * rendering/MediaControlElements.cpp:
97637        (WebCore::MediaTextDisplayElement::attachToParent): NULL check element renderer or parent renderer.
97638        (WebCore::MediaControlInputElement::attachToParent): Ditto.
97639
976402009-06-17  David Hyatt  <hyatt@apple.com>
97641
97642        Fix Windows build.  There's no HTMLDataGridElement.cpp file yet.
97643
97644        * html/HTMLElementsAllInOne.cpp:
97645
976462009-06-17  David Hyatt  <hyatt@apple.com>
97647
97648        Reviewed by Adam Roben and Anders Carlsson.
97649
97650        Stub out the HTMLDataGridElement.
97651
97652        * DerivedSources.make:
97653        * WebCore.vcproj/WebCore.vcproj:
97654        * WebCore.xcodeproj/project.pbxproj:
97655        * WebCoreSources.bkl:
97656        * css/CSSStyleSelector.cpp:
97657        (WebCore::CSSStyleSelector::adjustRenderStyle):
97658        * editing/htmlediting.cpp:
97659        (WebCore::canHaveChildrenForEditing):
97660        * html/HTMLDataGridElement.h: Added.
97661        (WebCore::HTMLDataGridElement::HTMLDataGridElement):
97662        (WebCore::HTMLDataGridElement::tagPriority):
97663        * html/HTMLDataGridElement.idl: Added.
97664        * html/HTMLElement.cpp:
97665        (WebCore::inlineTagList):
97666        * html/HTMLParser.cpp:
97667        (WebCore::HTMLParser::isAffectedByResidualStyle):
97668        * html/HTMLTagNames.in:
97669
976702009-06-17  David Levin  <levin@chromium.org>
97671
97672        Reviewed by NOBODY (chromium build fix).
97673
97674        Fix typo in previous changes.
97675
97676        * rendering/RenderThemeChromiumSkia.cpp:
97677        (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
97678
976792009-06-17  Albert J. Wong  <ajwong@chromium.org>
97680
97681        Reviewed by Eric Seidel.
97682
97683        https://bugs.webkit.org/show_bug.cgi?id=26148
97684        Remove common code from RenderThemeChromiumWin that is shared with
97685        RenderThemeChromiumSkia.
97686
97687        Also move supportsControlTints to RenderThemeChromiumLinux since it
97688        is linux specific.
97689
97690        There are no tests changed because this just removes functions with
97691        duplicate implementations between the base and derived classes.
97692
97693        * rendering/RenderThemeChromiumLinux.cpp:
97694        (WebCore::RenderThemeChromiumLinux::supportsControlTints):
97695        * rendering/RenderThemeChromiumLinux.h:
97696        * rendering/RenderThemeChromiumSkia.cpp:
97697        * rendering/RenderThemeChromiumSkia.h:
97698        * rendering/RenderThemeChromiumWin.cpp:
97699        (WebCore::):
97700        (WebCore::getNonClientMetrics):
97701        (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
97702        (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):
97703        (WebCore::RenderThemeChromiumWin::systemFont):
97704        (WebCore::RenderThemeChromiumWin::paintCheckbox):
97705        (WebCore::RenderThemeChromiumWin::paintRadio):
97706        (WebCore::RenderThemeChromiumWin::paintSliderThumb):
97707        (WebCore::RenderThemeChromiumWin::caretBlinkIntervalInternal):
97708        * rendering/RenderThemeChromiumWin.h:
97709
977102009-06-17  Albert J. Wong  <ajwong@chromium.org>
97711
97712        Reviewed by Eric Seidel.
97713
97714        https://bugs.webkit.org/show_bug.cgi?id=26148
97715        Move RenderThemeChromiumSkia into its own file.  This is purely a code move.
97716
97717        * rendering/RenderThemeChromiumLinux.cpp:
97718        * rendering/RenderThemeChromiumLinux.h:
97719        * rendering/RenderThemeChromiumSkia.cpp:
97720        (WebCore::):
97721        (WebCore::setSizeIfAuto):
97722        (WebCore::mediaElementParent):
97723        (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
97724        (WebCore::RenderThemeChromiumSkia::RenderThemeChromiumSkia):
97725        (WebCore::RenderThemeChromiumSkia::~RenderThemeChromiumSkia):
97726        (WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet):
97727        (WebCore::RenderThemeChromiumSkia::extraQuirksStyleSheet):
97728        (WebCore::RenderThemeChromiumSkia::extraMediaControlsStyleSheet):
97729        (WebCore::RenderThemeChromiumSkia::supportsHover):
97730        (WebCore::RenderThemeChromiumSkia::supportsFocusRing):
97731        (WebCore::RenderThemeChromiumSkia::platformActiveSelectionBackgroundColor):
97732        (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionBackgroundColor):
97733        (WebCore::RenderThemeChromiumSkia::platformActiveSelectionForegroundColor):
97734        (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionForegroundColor):
97735        (WebCore::RenderThemeChromiumSkia::platformTextSearchHighlightColor):
97736        (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
97737        (WebCore::RenderThemeChromiumSkia::systemFont):
97738        (WebCore::RenderThemeChromiumSkia::minimumMenuListSize):
97739        (WebCore::RenderThemeChromiumSkia::paintCheckbox):
97740        (WebCore::RenderThemeChromiumSkia::setCheckboxSize):
97741        (WebCore::RenderThemeChromiumSkia::paintRadio):
97742        (WebCore::RenderThemeChromiumSkia::setRadioSize):
97743        (WebCore::brightenColor):
97744        (WebCore::paintButtonLike):
97745        (WebCore::RenderThemeChromiumSkia::paintButton):
97746        (WebCore::RenderThemeChromiumSkia::paintTextField):
97747        (WebCore::RenderThemeChromiumSkia::paintTextArea):
97748        (WebCore::RenderThemeChromiumSkia::paintSearchField):
97749        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldCancelButtonStyle):
97750        (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
97751        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldDecorationStyle):
97752        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsDecorationStyle):
97753        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
97754        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsButtonStyle):
97755        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
97756        (WebCore::RenderThemeChromiumSkia::paintMediaButtonInternal):
97757        (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
97758        (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
97759        (WebCore::RenderThemeChromiumSkia::adjustMenuListStyle):
97760        (WebCore::RenderThemeChromiumSkia::paintMenuList):
97761        (WebCore::RenderThemeChromiumSkia::adjustMenuListButtonStyle):
97762        (WebCore::RenderThemeChromiumSkia::paintMenuListButton):
97763        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingLeft):
97764        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingRight):
97765        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingTop):
97766        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingBottom):
97767        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingLeft):
97768        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingRight):
97769        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingTop):
97770        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingBottom):
97771        (WebCore::RenderThemeChromiumSkia::caretBlinkIntervalInternal):
97772        (WebCore::RenderThemeChromiumSkia::menuListInternalPadding):
97773        * rendering/RenderThemeChromiumSkia.h:
97774        (WebCore::RenderThemeChromiumSkia::supportsControlTints):
97775
977762009-06-17  Albert J. Wong  <ajwong@chromium.org>
97777
97778        Reviewed by Eric Seidel.
97779
97780        https://bugs.webkit.org/show_bug.cgi?id=26148
97781        Extract RenderThemeChromiumSkia out of RenderThemeChromiumLinux.  This
97782        is mostly a code shuffle.  The non-suffle changes are:
97783           1) Creation of a caretBlinkIntervalInternal.
97784           2) Moving of some inline functions into the implementation files.
97785           3) Changing of defaultGUIFont into a static class constant from a
97786              static function.  Also the type is changed to String.
97787           4) Changing of defaultFontSize into a static class constant from a
97788              static variable in the file scope.
97789           5) The static supportsFocus function was collapsed into
97790              supportsFocusRing.
97791           6) Split the extraDefaultStyleSheet into Skia and Linux versions.
97792
97793        * rendering/RenderThemeChromiumLinux.cpp:
97794        (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
97795        (WebCore::RenderThemeChromiumSkia::RenderThemeChromiumSkia):
97796        (WebCore::RenderThemeChromiumSkia::~RenderThemeChromiumSkia):
97797        (WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet):
97798        (WebCore::RenderThemeChromiumSkia::extraQuirksStyleSheet):
97799        (WebCore::RenderThemeChromiumSkia::extraMediaControlsStyleSheet):
97800        (WebCore::RenderThemeChromiumSkia::supportsHover):
97801        (WebCore::RenderThemeChromiumSkia::supportsFocusRing):
97802        (WebCore::RenderThemeChromiumSkia::platformActiveSelectionBackgroundColor):
97803        (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionBackgroundColor):
97804        (WebCore::RenderThemeChromiumSkia::platformActiveSelectionForegroundColor):
97805        (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionForegroundColor):
97806        (WebCore::RenderThemeChromiumSkia::platformTextSearchHighlightColor):
97807        (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
97808        (WebCore::RenderThemeChromiumSkia::systemFont):
97809        (WebCore::RenderThemeChromiumSkia::minimumMenuListSize):
97810        (WebCore::RenderThemeChromiumSkia::paintCheckbox):
97811        (WebCore::RenderThemeChromiumSkia::setCheckboxSize):
97812        (WebCore::RenderThemeChromiumSkia::paintRadio):
97813        (WebCore::RenderThemeChromiumSkia::setRadioSize):
97814        (WebCore::RenderThemeChromiumSkia::paintButton):
97815        (WebCore::RenderThemeChromiumSkia::paintTextField):
97816        (WebCore::RenderThemeChromiumSkia::paintTextArea):
97817        (WebCore::RenderThemeChromiumSkia::paintSearchField):
97818        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldCancelButtonStyle):
97819        (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
97820        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldDecorationStyle):
97821        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsDecorationStyle):
97822        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
97823        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsButtonStyle):
97824        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
97825        (WebCore::RenderThemeChromiumSkia::paintMediaButtonInternal):
97826        (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
97827        (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
97828        (WebCore::RenderThemeChromiumSkia::adjustMenuListStyle):
97829        (WebCore::RenderThemeChromiumSkia::paintMenuList):
97830        (WebCore::RenderThemeChromiumSkia::adjustMenuListButtonStyle):
97831        (WebCore::RenderThemeChromiumSkia::paintMenuListButton):
97832        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingLeft):
97833        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingRight):
97834        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingTop):
97835        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingBottom):
97836        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingLeft):
97837        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingRight):
97838        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingTop):
97839        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingBottom):
97840        (WebCore::RenderThemeChromiumSkia::caretBlinkIntervalInternal):
97841        (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
97842        (WebCore::RenderThemeChromiumLinux::~RenderThemeChromiumLinux):
97843        (WebCore::RenderThemeChromiumLinux::systemColor):
97844        (WebCore::RenderThemeChromiumLinux::extraDefaultStyleSheet):
97845        (WebCore::RenderThemeChromiumSkia::menuListInternalPadding):
97846        * rendering/RenderThemeChromiumLinux.h:
97847
978482009-06-17  Adam Roben  <aroben@apple.com>
97849
97850        Add a SOFT_LINK_OPTIONAL macro
97851
97852        This macro is useful when soft-linking functions that are present in
97853        only some versions of a particular library (e.g., APIs added in
97854        Windows Vista that aren't available on Windows XP).
97855
97856        Reviewed by Ada Chan.
97857
97858        * platform/graphics/win/ColorSafari.cpp:
97859        (WebCore::focusRingColor):
97860        Use the SoftLinking.h macros instead of doing the soft-link ourselves.
97861        Also removed an unused call to focusRingColor.isValid().
97862
97863        * platform/win/SoftLinking.h: Added SOFT_LINK_OPTIONAL.
97864
978652009-06-17  Brent Fulgham  <bfulgham@webkit.org>
97866
97867        Reviewed by Gustavo Noronha.
97868
97869        Fixes: https://bugs.webkit.org/show_bug.cgi?id=26470.
97870        The use of zero-width or zero-height rectangles in generating
97871        gradients caused Windows Cairo to crash, and webkitgtk to
97872        produce invalid images.
97873
97874        We now test for NaN in the phase argument, which is calculated
97875        using fmodf and can blow up when the width/height values passed
97876        are zero.
97877
97878        Test: fast/gradients/border-image-gradient-sides-and-corners.html
97879
97880        * platform/graphics/cairo/ImageCairo.cpp:
97881        (WebCore::Image::drawPattern):
97882
978832009-06-17  Ojan Vafai  <ojan@chromium.org>
97884
97885        Reviewed by Dimitri Glazkov.
97886
97887        If loading a font fails because of the sandbox, we ask the browser process to
97888        try to load it by calling ensureFontLoaded. If it still fails after
97889        ensureFontLoaded, we hit a ASSERT_NOT_REACHED.
97890
97891        This case happens once in a while during browser shutdown. The browser will
97892        queue a message to the renderer to shutdown, and will then stop answering sync
97893        messages from the renderer. If the renderer is still loading a page during this
97894        time, it might try to call the browser process to ask to load a font. The
97895        browser process will ignore the request, and the font will fail to load, even
97896        after the second try.
97897
97898        This is unfortunate, but there is no real risk here, since the renderer will be
97899        going away as soon as it processes another message.
97900        
97901        This can't be layout tested as it depends on the sandbox.
97902        
97903        https://bugs.webkit.org/show_bug.cgi?id=26484
97904
97905        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
97906        (WebCore::fontContainsCharacter):
97907
979082009-06-17  Eric Carlson  <eric.carlson@apple.com>
97909
97910        Reviewed by Dan Bernstein.
97911
97912        https://bugs.webkit.org/show_bug.cgi?id=26482
97913        <rdar://problem/6978590> When setting playback rate to 0, the audio element stops 
97914        playing (doesn't resume later)
97915
97916        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
97917        (WebCore::MediaPlayerPrivate::setRate): Always set the rate, even when "paused".
97918
97919        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
97920        (WebCore::MediaPlayerPrivate::setRate): Ditto.
97921
979222009-06-17  Adam Roben  <aroben@apple.com>
97923
97924        Add all the generated JS*.cpp files back to WebCore.vcproj
97925
97926        They are not compiled by the vcproj directly. Instead they are
97927        compiled as part of DerivedSources.cpp. Having them listed in the
97928        vcproj makes them be included in Project Find, etc.
97929
97930        Rubber-stamped in advance by Steve Falkenburg.
97931
97932        * WebCore.vcproj/WebCore.vcproj:
97933
979342009-06-17  Kent Tamura  <tkent@chromium.org>
97935
97936        Reviewed by Darin Fisher.
97937
97938        Don't fire redundant 'change' events for a file upload form.
97939        https://bugs.webkit.org/show_bug.cgi?id=26471
97940
97941        * platform/FileChooser.cpp:
97942        (WebCore::FileChooser::chooseFiles): Suppress change event if the
97943        existing selected files and the incoming selected files are equal.
97944        (WebCore::FileChooser::chooseIcon): Returns 0 if there is no selected
97945        files.
97946
979472009-06-17  Adam Treat  <adam.treat@torchmobile.com>
97948
97949        Reviewed by George Staikos.
97950
97951        https://bugs.webkit.org/show_bug.cgi?id=23155
97952        Move WIN_CE -> WINCE as previously discussed with Qt WINCE folks.
97953
97954        * platform/KeyboardCodes.h:
97955
979562009-06-17  George Staikos  <george.staikos@torchmobile.com>
97957
97958        Reviewed by Adam Treat.
97959
97960        https://bugs.webkit.org/show_bug.cgi?id=23155
97961        Move WIN_CE -> WINCE as previously discussed with Qt WINCE folks.
97962
97963        * platform/graphics/qt/GraphicsContextQt.cpp:
97964        (WebCore::GraphicsContext::getWindowsContext):
97965        * platform/win/SystemTimeWin.cpp:
97966        (WebCore::userIdleTime):
97967
979682009-06-17  Adam Roben  <aroben@apple.com>
97969
97970        Speculative Mac build fix
97971
97972        * page/Page.h: Forward-declare RenderTheme instead of including
97973        RenderTheme.h so that we don't need to make RenderTheme.h a private
97974        header for WebKit's benefit.
97975
97976        * editing/SelectionController.cpp:
97977        * rendering/InlineTextBox.cpp:
97978        * rendering/RenderObject.cpp:
97979        Added #includes of RenderTheme.h.
97980
979812009-06-17  Adam Roben  <aroben@apple.com>
97982
97983        Speculative Mac build fix
97984
97985        * rendering/RenderThemeMac.mm:
97986        (WebCore::RenderTheme::create): Added.
97987
979882009-06-17  Adam Roben  <aroben@apple.com>
97989
97990        Speculative Mac build fix
97991
97992        * rendering/RenderThemeMac.mm:
97993        (WebCore::RenderTheme::themeForPage): Remove the name of an unused
97994        parameter.
97995
979962009-06-17  Adam Roben  <aroben@apple.com>
97997
97998        Speculative Mac build fix
97999
98000        * page/Page.cpp:
98001        (WebCore::Page::Page): Change the initializer order to match the
98002        declaration order.
98003
980042009-06-16  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
98005
98006        Reviewed by Simon Hausmann.
98007
98008        Follow up to bug https://bugs.webkit.org/show_bug.cgi?id=26278
98009        Patch that make WebCore have a RenderTheme per page
98010
98011        Make the Qt implementation of RenderTheme create a theme per page,
98012        and use the QStyle associated with the view of each page, in order
98013        to make the QWidget setStyle() method work as advertised.
98014
98015        * platform/qt/RenderThemeQt.cpp:
98016        (WebCore::RenderThemeQt::RenderThemeQt):
98017        (WebCore::RenderThemeQt::qStyle):
98018        (WebCore::findFrameLineWidth):
98019        (WebCore::inflateButtonRect):
98020        (WebCore::RenderThemeQt::adjustRepaintRect):
98021        (WebCore::RenderThemeQt::isControlStyled):
98022        (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
98023        (WebCore::RenderThemeQt::setButtonPadding):
98024        (WebCore::RenderThemeQt::paintButton):
98025        (WebCore::RenderThemeQt::paintTextField):
98026        (WebCore::RenderThemeQt::setPopupPadding):
98027        * platform/qt/RenderThemeQt.h:
98028
980292009-06-16  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
98030
98031        Reviewed by Dave Hyatt and Adam Roben.
98032
98033        https://bugs.webkit.org/show_bug.cgi?id=26278
98034        Patch that make WebCore have a RenderTheme per page
98035
98036
98037        Create a different RenderTheme per page, so that RenderTheme has
98038        access to page specific theming. This is needed for the Qt port, as Qt
98039        supports setting the theme (style) per widget.
98040
98041        This change was suggested and discussed with Dave Hyatt.
98042
98043        More detailed:
98044
98045        1) Create a theme per page or one global one, depending on the needs
98046           of the platform.
98047        2) Add an accesser to the theme from RenderObject.
98048        3) Change all uses of the theming to access the theme through
98049           RenderObject, using the global default theme as fallback, when the
98050           document of RenderObject has no page.
98051           When we don't have access to a RenderObject, use the default theme.
98052        4) Modify all RenderTheme platform implementations to work with the
98053           above changes, still creating only one global theme.
98054
98055
98056        * accessibility/AccessibilityRenderObject.cpp:
98057        (WebCore::AccessibilityRenderObject::boundingBoxRect):
98058        * css/CSSStyleSelector.cpp:
98059        (WebCore::loadFullDefaultStyle):
98060        (WebCore::CSSStyleSelector::styleForElement):
98061        (WebCore::CSSStyleSelector::adjustRenderStyle):
98062        (WebCore::CSSStyleSelector::applyProperty):
98063        * dom/ContainerNode.cpp:
98064        (WebCore::ContainerNode::setActive):
98065        (WebCore::ContainerNode::setHovered):
98066        * editing/SelectionController.cpp:
98067        (WebCore::SelectionController::focusedOrActiveStateChanged):
98068        * html/HTMLFormControlElement.cpp:
98069        (WebCore::HTMLFormControlElement::parseMappedAttribute):
98070        * html/HTMLInputElement.cpp:
98071        (WebCore::HTMLInputElement::setChecked):
98072        (WebCore::HTMLInputElement::setIndeterminate):
98073        * page/Frame.cpp:
98074        (WebCore::Frame::selectionLayoutChanged):
98075        * page/FrameView.cpp:
98076        (WebCore::FrameView::updateControlTints):
98077        * page/Page.cpp:
98078        (WebCore::Page::Page):
98079        * page/Page.h:
98080        (WebCore::Page::theme):
98081        * platform/chromium/PopupMenuChromium.cpp:
98082        (WebCore::PopupListBox::paintRow):
98083        * platform/gtk/RenderThemeGtk.cpp:
98084        (WebCore::RenderThemeGtk::create):
98085        (WebCore::RenderTheme::themeForPage):
98086        (WebCore::RenderThemeGtk::RenderThemeGtk):
98087        (WebCore::RenderThemeGtk::~RenderThemeGtk):
98088        (WebCore::RenderThemeGtk::gtkEntry):
98089        (WebCore::RenderThemeGtk::gtkTreeView):
98090        * platform/gtk/RenderThemeGtk.h:
98091        * platform/qt/RenderThemeQt.cpp:
98092        (WebCore::RenderThemeQt::create):
98093        (WebCore::RenderTheme::themeForPage):
98094        * platform/qt/RenderThemeQt.h:
98095        * platform/win/PopupMenuWin.cpp:
98096        (WebCore::PopupMenu::paint):
98097        * rendering/RenderMediaControls.cpp:
98098        (WebCore::determineState):
98099        * platform/wx/RenderThemeWx.cpp:
98100        (WebCore::RenderThemeWx::create):
98101        (WebCore::RenderTheme::themeForPage):
98102        * rendering/InlineTextBox.cpp:
98103        (WebCore::InlineTextBox::paintTextMatchMarker):
98104        * rendering/MediaControlElements.cpp:
98105        (WebCore::MediaControlInputElement::hitTest):
98106        * rendering/RenderObject.cpp:
98107        (WebCore::RenderObject::theme):
98108        * rendering/RenderObject.h:
98109        * rendering/RenderTheme.cpp:
98110        (WebCore::RenderTheme::adjustStyle):
98111        * rendering/RenderTheme.h:
98112        (WebCore::RenderTheme::defaultTheme):
98113        * rendering/RenderThemeChromiumLinux.cpp:
98114        (WebCore::RenderThemeChromiumLinux::create):
98115        (WebCore::RenderTheme::themeForPage):
98116        * rendering/RenderThemeChromiumLinux.h:
98117        (WebCore::RenderThemeChromiumLinux::~RenderThemeChromiumLinux):
98118        * rendering/RenderThemeChromiumMac.h:
98119        * rendering/RenderThemeChromiumMac.mm:
98120        (WebCore::RenderThemeChromiumMac::create):
98121        (WebCore::RenderTheme::themeForPage):
98122        * rendering/RenderThemeChromiumWin.cpp:
98123        (WebCore::RenderThemeChromiumWin::create):
98124        (WebCore::RenderTheme::themeForPage):
98125        * rendering/RenderThemeChromiumWin.h:
98126        (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
98127        (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):
98128        * rendering/RenderThemeMac.h:
98129        * rendering/RenderThemeMac.mm:
98130        (WebCore::RenderTheme::themeForPage):
98131        * rendering/RenderThemeSafari.cpp:
98132        (WebCore::RenderThemeSafari::create):
98133        (WebCore::RenderTheme::themeForPage):
98134        * rendering/RenderThemeSafari.h:
98135        * rendering/RenderThemeWin.cpp:
98136        (WebCore::RenderThemeWin::create):
98137        (WebCore::RenderTheme::themeForPage):
98138        * rendering/RenderThemeWin.h:
98139
981402009-06-17  Gavin Barraclough  <barraclough@apple.com>
98141
98142        Reviewed by Oliver Hunt.
98143
98144        <rdar://problem/6974175> ASSERT in JITStubs.cpp at appsaccess.apple.com
98145
98146        JSDOMWindowCustom was using PropertySlot::putValue, however this interface
98147        appears to be fundaementally incorrect - PropertySlots are only used to get
98148        values, all puts use PutPropertySlot.  However PutPropertySlot cannot be
98149        used in the fashion desired here - it only reports the caching type of a
98150        write that has been performed.
98151
98152        (This caused a bug where the put should have triggered a transition, and
98153        failed to do so.)
98154
98155        Removing the faulty case from the optimization leads to a ~0.5% progression
98156        on in-browser SunSpider (presumably the very first case was not being hit
98157        often, and the simplification here is beneficial).
98158
98159        * bindings/js/JSDOMWindowCustom.cpp:
98160        (WebCore::JSDOMWindow::put):
98161
981622009-06-17  David Levin  <levin@chromium.org>
98163
98164        Reviewed by NOBODY, layout tests fix.
98165
98166        https://bugs.webkit.org/show_bug.cgi?id=26326
98167        This reverts commit r44751.
98168
98169        Once that change was checked scrollbars/scrollbar-orientation.html started
98170        crashing on Windows.
98171
98172        * dom/Document.cpp:
98173        (WebCore::Document::detach):
98174        * page/FrameView.cpp:
98175        * page/FrameView.h:
98176        * platform/Scrollbar.h:
98177        * rendering/RenderObject.cpp:
98178        (WebCore::RenderObject::destroy):
98179        * rendering/RenderScrollbar.h:
98180
981812009-06-16  Kevin Watters  <kevinwatters@gmail.com>
98182
98183        Reviewed by Kevin Ollivier.
98184
98185        In ImageSource::setData, delete the old m_encoder before replacing it with a new one.
98186        
98187        https://bugs.webkit.org/show_bug.cgi?id=26458
98188
98189        * platform/graphics/wx/ImageSourceWx.cpp:
98190        (WebCore::ImageSource::setData):
98191
981922009-06-16  David Levin  <levin@chromium.org>
98193
98194        Reviewed by David Hyatt.
98195
98196        REGRESSION: When the main page (ScrollView) has a custom scrollbar, it crashes on destruction.
98197        https://bugs.webkit.org/show_bug.cgi?id=26326
98198
98199        Test: scrollbars/scrollbar-crash-on-refresh.html
98200
98201        * dom/Document.cpp:
98202        (WebCore::Document::detach):
98203        Gives the FrameView a change to do any necessary cleanup on
98204        Document::detach() which is where the renderArena gets detroyed.
98205        * page/FrameView.cpp:
98206        (WebCore::FrameView::detachCustomScrollbars):
98207        Gets rid of any custom scrollbars (if the docment supplied them).
98208        * page/FrameView.h:
98209        * platform/Scrollbar.h:
98210        (WebCore::Scrollbar::isCustomScrollbar):
98211        * rendering/RenderObject.cpp:
98212        (WebCore::RenderObject::destroy):
98213        Removed the check for document()->frame().  If frame() is 0 in this code,
98214        then the call to animation() is also incorrect (since it does document()->frame()->animation()).
98215        * rendering/RenderScrollbar.h:
98216        (WebCore::RenderScrollbar::isCustomScrollbar):
98217
982182009-06-16  Brian Weinstein  <bweinstein@apple.com>
98219
98220        Reviewed by Adele Peterson.
98221
98222        Fix of <rdar://6967547> Ctrl-C copies null value erasing text in clipboard in Safari.
98223        This patch kept the way events were firing as they were before, and Windows events are
98224        consistent with Mac.       
98225
98226        * editing/Editor.cpp:
98227        (WebCore::Editor::tryDHTMLCopy): Added check for canCopy() before clearing PasteBoard
98228        (WebCore::Editor::tryDHTMLCut): Added check for canCut() before clearing PasteBoard
98229
982302009-06-16  Antti Koivisto  <antti@apple.com>
98231
98232        Reviewed by Brady Eidson.
98233
98234        <rdar://problem/6660037> CrashTracer: [USER] 46 crashes in Safari at com.apple.WebCore • WebCore::CachedCSSStyleSheet::addClient 53
98235        
98236        When revalidating a resource, calling addClient() on one client might cause another to get removed.
98237        
98238        - made CachedResource::addClient() non-virtual and added virtual didAddClient()
98239        - in CachedResource::switchClientsToRevalidatedResource() add all clients to the client set of the revalidated resource first
98240        - check if the client is still in the set before invoking didAddClient() for it
98241        
98242        No test case, I didn't manage to construct one. You need some combination of 304 revalidation, stylesheets that
98243        reference each other via @imports and reloading.
98244
98245        * WebCore.base.exp:
98246        * loader/CachedCSSStyleSheet.cpp:
98247        (WebCore::CachedCSSStyleSheet::didAddClient):
98248        * loader/CachedCSSStyleSheet.h:
98249        * loader/CachedFont.cpp:
98250        (WebCore::CachedFont::didAddClient):
98251        * loader/CachedFont.h:
98252        * loader/CachedImage.cpp:
98253        (WebCore::CachedImage::didAddClient):
98254        * loader/CachedImage.h:
98255        * loader/CachedResource.cpp:
98256        (WebCore::CachedResource::addClient):
98257        (WebCore::CachedResource::addClientToSet):
98258        (WebCore::CachedResource::switchClientsToRevalidatedResource):
98259        * loader/CachedResource.h:
98260        * loader/CachedScript.cpp:
98261        (WebCore::CachedScript::didAddClient):
98262        * loader/CachedScript.h:
98263        * loader/CachedXSLStyleSheet.cpp:
98264        (WebCore::CachedXSLStyleSheet::didAddClient):
98265        * loader/CachedXSLStyleSheet.h:
98266
982672009-06-16  Simon Fraser  <simon.fraser@apple.com>
98268
98269        No Review
98270
98271        Fix code inside an #ifdef that draws the video framerate.
98272
98273        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
98274        (WebCore::MediaPlayerPrivate::paint):
98275
982762009-06-16  Jian Li  <jianli@chromium.org>
98277
98278        Reviewed by Dimitri Glazkov.
98279
98280        Bug 26456: Hook up V8 bindings for Worker's importScripts functionality.
98281        https://bugs.webkit.org/show_bug.cgi?id=26456
98282
98283        * bindings/v8/custom/V8WorkerContextCustom.cpp:
98284        (WebCore::CALLBACK_FUNC_DECL):
98285        * bindings/v8/custom/V8WorkerCustom.cpp: Fixed missing exception code
98286          handling in Worker constructor for V8 bindings.
98287        (WebCore::CALLBACK_FUNC_DECL):
98288
982892009-06-16  Brent Fulgham  <bfulgham@webkit.org>
98290
98291        Reviewed by Maciej Stachowiak.
98292
98293        Update of https://bugs.webkit.org/show_bug.cgi?id=26353.
98294        Provide an assignment operator to avoid improper reference
98295        counts on the Cairo font objects.  This brings the Windows
98296        Cairo port in line with the GTKport.
98297
98298        * platform/graphics/win/FontPlatformData.h:
98299        * platform/graphics/win/FontPlatformDataCairoWin.cpp:
98300        (WebCore::FontPlatformData::FontPlatformData):
98301        (WebCore::FontPlatformData::operator=):
98302
983032009-06-16  Eric Carlson  <eric.carlson@apple.com>
98304
98305        Reviewed by Simon Fraser.
98306
98307        Fix for <rdar://problem/6890126> Theme code should fetch the MediaControlElementType from 
98308        the MediaControlInputElement, rather than computing it again
98309
98310        * html/HTMLMediaElement.cpp:
98311        (WebCore::HTMLMediaElement::percentLoaded): New, utility function for controller implementation.
98312        * html/HTMLMediaElement.h:
98313
98314        * rendering/MediaControlElements.h:
98315        (WebCore::MediaControlInputElement::displayType): New, return m_displayType.
98316
98317        * rendering/RenderMediaControls.cpp:
98318        (WebCore::RenderMediaControls::paintMediaControlsPart): Stop using MediaPlayer object, get button
98319        state from the button itself and get movie state from HTMLMediaElement.
98320
98321        * rendering/RenderThemeMac.mm:
98322        (WebCore::RenderThemeMac::paintMediaMuteButton): Get state from button instead of MediaPlayer.
98323        (WebCore::RenderThemeMac::paintMediaPlayButton): Ditto.
98324
983252009-06-16  Jian Li  <jianli@chromium.org>
98326
98327        Reviewed by David Levin.
98328
98329        Bug 26450: Rename values of enum RedirectOriginCheck to make them
98330        clearer.
98331        https://bugs.webkit.org/show_bug.cgi?id=26450
98332
98333        * loader/DocumentThreadableLoader.cpp:
98334        (WebCore::DocumentThreadableLoader::create):
98335        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
98336        (WebCore::DocumentThreadableLoader::willSendRequest):
98337        * loader/DocumentThreadableLoader.h:
98338        * loader/ThreadableLoader.cpp:
98339        (WebCore::ThreadableLoader::create):
98340        (WebCore::ThreadableLoader::loadResourceSynchronously):
98341        * loader/ThreadableLoader.h:
98342        * workers/Worker.cpp:
98343        (WebCore::Worker::Worker):
98344        * workers/WorkerContext.cpp:
98345        (WebCore::WorkerContext::importScripts):
98346        * loader/WorkerThreadableLoader.cpp:
98347        (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
98348        (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
98349        (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
98350        (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
98351        * loader/WorkerThreadableLoader.h:
98352        (WebCore::WorkerThreadableLoader::create):
98353        * workers/WorkerScriptLoader.cpp:
98354        (WebCore::WorkerScriptLoader::loadSynchronously):
98355        (WebCore::WorkerScriptLoader::loadAsynchronously):
98356        * workers/WorkerScriptLoader.h:
98357        (WebCore::WorkerContext::importScripts):
98358        * xml/XMLHttpRequest.cpp:
98359        (WebCore::XMLHttpRequest::loadRequestAsynchronously):
98360
983612009-06-16  Tony Chang  <tony@chromium.org>
98362
98363        Reviewed by Darin Fisher.
98364
98365        Fix a UMR in WebCore::BitStack by initializing new memory to 0.
98366        https://bugs.webkit.org/show_bug.cgi?id=26449
98367        No new tests, covered by purify.
98368
98369        * editing/TextIterator.cpp:
98370        (WebCore::BitStack::push):
98371
983722009-06-16  Brent Fulgham  <bfulgham@webkit.org>
98373
98374        Reviewed by Xan Lopez.
98375
98376        Test: fast/multicol/columns-shorthand-parsing.html 
98377
98378        Fixes https://bugs.webkit.org/show_bug.cgi?id=26453.
98379        Null Cairo contextwill crash Windows Cairo build.
98380
98381        * platform/graphics/win/GraphicsContextCairoWin.cpp:
98382        (WebCore::GraphicsContextPlatformPrivate::syncContext):
98383          Add a check for null context before attempting to
98384          retrieve the Cairo surface.
98385
983862009-06-16  Peter Kasting  <pkasting@google.com>
98387
98388        Reviewed by Xan Lopez.
98389
98390        https://bugs.webkit.org/show_bug.cgi?id=26447
98391        Fix animated GIF breakage in Cairo/wx ports.
98392
98393        * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
98394        (WebCore::RGBA32Buffer::copyBitmapData):
98395        (WebCore::RGBA32Buffer::operator=):
98396        * platform/image-decoders/wx/ImageDecoderWx.cpp:
98397        (WebCore::RGBA32Buffer::copyBitmapData):
98398        (WebCore::RGBA32Buffer::operator=):
98399
984002009-06-16  Pierre d'Herbemont  <pdherbemont@apple.com>
98401
98402        Reviewed by John Sullivan
98403        
98404        <rdar://problem/6937882>
98405        
98406        Tweak "time remaining" and "time elapsed" fields in the overlay video controller.
98407
98408        * css/mediaControlsQT.css:
98409
984102009-06-16  Jian Li  <jianli@chromium.org>
98411
98412        Reviewed by Adam Barth and David Levin.
98413
98414        Bug 26146: Change to use ThreadableLoader to load the worker script
98415        in order to check URL origin for redirection.
98416        https://bugs.webkit.org/show_bug.cgi?id=26146
98417
98418        Test: http/tests/workers/worker-redirect.html
98419
98420        * GNUmakefile.am:
98421        * WebCore.pro:
98422        * WebCore.vcproj/WebCore.vcproj:
98423        * WebCore.xcodeproj/project.pbxproj:
98424        * workers/Worker.cpp:
98425        (WebCore::Worker::Worker):
98426        (WebCore::Worker::notifyFinished):
98427        * workers/Worker.h:
98428        * workers/WorkerContext.cpp:
98429        (WebCore::WorkerContext::importScripts):
98430        * workers/WorkerImportScriptsClient.cpp: Removed.
98431        * workers/WorkerImportScriptsClient.h: Removed.
98432        * workers/WorkerScriptLoader.cpp: Renamed from workers/WorkerImportScriptsClient.cpp.
98433          This to make it more generic so worker script loading could use it.
98434        (WebCore::WorkerScriptLoader::loadSynchronously):
98435        (WebCore::WorkerScriptLoader::loadAsynchronously):
98436        (WebCore::WorkerScriptLoader::didFinishLoading):
98437        (WebCore::WorkerScriptLoader::didFail):
98438        (WebCore::WorkerScriptLoader::didFailRedirectCheck):
98439        (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
98440        (WebCore::WorkerScriptLoader::notifyFinished):
98441        * workers/WorkerScriptLoader.h: Renamed from workers/WorkerImportScriptsClient.h.
98442          This to make it more generic so worker script loading could use it.
98443        * workers/WorkerScriptLoaderClient.h: Added.
98444
984452009-06-16  Brent Fulgham  <bfulgham@gmail.com>
98446
98447        Reviewed by Darin Adler.
98448
98449        Use consistent GUID comparison functions.
98450        https://bugs.webkit.org/show_bug.cgi?id=26427
98451
98452        * platform/win/WCDataObject.cpp:
98453        (WebCore::WCDataObject::QueryInterface):
98454
984552009-06-16  Xan Lopez  <xlopez@igalia.com>
98456
98457        Reviewed by Gustavo Noronha.
98458
98459        Fix compiler warning.
98460
98461        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
98462        (webkit_accessible_class_init):
98463
984642009-08-07  Luke Kenneth Casson Leighton  <lkcl@lkcl.net>
98465
98466        Reviewed by Eric Seidel.
98467
98468        https://bugs.webkit.org/show_bug.cgi?id=27424
98469
98470        * WebKit/gtk/gdom/ConvertToGCharPrivate.h: Added.
98471        (copyAsGChar): added to help GObject bindings convert various types to glib's gchar* 
98472
984732009-06-16  Xan Lopez  <xlopez@igalia.com>
98474
98475        Reviewed by Gustavo Noronha.
98476
98477        Remove dummy AtkStreamableContent implementation.
98478
98479        It's completely empty, we'll add it back (and conditionally
98480        instead of unconditionally) when it does something.
98481
98482        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
98483        (GetAtkInterfaceTypeFromWAIType):
98484        (getInterfaceMaskFromObject):
98485
98486== Rolled over to ChangeLog-2009-06-16 ==
98487