WebCore:
[WebKit.git] / WebCore / ChangeLog
1 2009-07-29  Brady Eidson  <beidson@apple.com>
2
3         Reviewed by Sam Weinig.
4
5         https://bugs.webkit.org/show_bug.cgi?id=27791
6         307 redirects of POSTs should use POST, not GET
7
8         Test: http/tests/loading/redirect-methods.html
9
10         * platform/network/cf/ResourceHandleCFNet.cpp:
11         (WebCore::willSendRequest):
12
13         * platform/network/mac/ResourceHandleMac.mm:
14         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
15
16 2009-07-29  Chris Marrin  <cmarrin@apple.com>
17
18         Reviewed by Simon Fraser.
19
20         Adding -webkit-animation-play-state back in
21         https://bugs.webkit.org/show_bug.cgi?id=26867
22
23         We've decided to keep -webkit-animation-play-state. So this
24         just adds back in the code from https://bugs.webkit.org/show_bug.cgi?id=22907.
25
26         Test: animations/play-state.html
27
28         * css/CSSComputedStyleDeclaration.cpp:
29         (WebCore::):
30         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
31         * css/CSSParser.cpp:
32         (WebCore::CSSParser::parseValue):
33         (WebCore::CSSParser::parseAnimationPlayState):
34         (WebCore::CSSParser::parseAnimationProperty):
35         * css/CSSParser.h:
36         * css/CSSPropertyNames.in:
37         * css/CSSStyleSelector.cpp:
38         (WebCore::CSSStyleSelector::applyProperty):
39         (WebCore::CSSStyleSelector::mapAnimationPlayState):
40         * css/CSSStyleSelector.h:
41         * platform/animation/Animation.h:
42         * rendering/style/RenderStyleConstants.h:
43         (WebCore::):
44
45 2009-07-29  Jakub Wieczorek  <faw217@gmail.com>
46
47         Reviewed by Simon Hausmann.
48
49         Expose the default plugin directories and the current directory set of
50         the plugin database as public API.
51
52         https://bugs.webkit.org/show_bug.cgi?id=27651
53
54         * plugins/PluginDatabase.h:
55         (WebCore::PluginDatabase::pluginDirectories):
56
57 2009-07-29  Alpha Lam  <hclam@chromium.org>
58
59         Reviewed by David Levin.
60
61         [chromium] Font size for current time display in media controls panel
62         is affected by body font size.
63         https://bugs.webkit.org/show_bug.cgi?id=27799
64
65         Fixing the problem of rendering by explicitly setting the font size
66         for the time displays.
67
68         No new tests since this is covered by existing media tests.
69
70         * css/mediaControlsChromium.css:
71
72 2009-07-29  Mike Fenton  <mike.fenton@torchmobile.com>
73
74         Reviewed by David Levin.
75
76         Update WebCore/page/ContextMenuController.cpp to conform to WebKit
77         Style Guidelines as identified by cpp_style.py.
78         https://bugs.webkit.org/show_bug.cgi?id=27613
79
80         * page/ContextMenuController.cpp:
81         (WebCore::openNewWindow):
82         (WebCore::ContextMenuController::contextMenuItemSelected):
83
84 2009-07-29  Dean McNamee  <deanm@chromium.org>
85
86         Reviewed by Dimitri Glazkov.
87
88         Removed unused wrapCPointer/extractCPointer from the v8 bindings.
89         https://bugs.webkit.org/show_bug.cgi?id=27805
90
91         * bindings/v8/V8DOMWrapper.h:
92
93 2009-07-29  Jakub Wieczorek  <faw217@gmail.com>
94
95         Reviewed by Simon Hausmann.
96
97         Expose the PluginDatabase::pluginForMIMEType() function as public API.
98         https://bugs.webkit.org/show_bug.cgi?id=27651
99
100         It can be used to determine the appropriate plugin for a mime type,
101         without guessing the mimetype from the extension.
102
103         * plugins/PluginDatabase.h:
104
105 2009-07-29  Jakub Wieczorek  <faw217@gmail.com>
106
107         Reviewed by Adam Treat.
108
109         Allow to enable/disable particular plugin packages.
110         https://bugs.webkit.org/show_bug.cgi?id=27651
111
112         Disabled plugins will not be picked up when looking for a plugin
113         supporting the requested mimetypes.
114
115         Client applications may want to use that API to disable specific
116         plugins.
117
118         * plugins/PluginDatabase.cpp:
119         (WebCore::PluginDatabase::pluginForMIMEType):
120         (WebCore::PluginDatabase::MIMETypeForExtension):
121         * plugins/PluginPackage.cpp:
122         (WebCore::PluginPackage::PluginPackage):
123         (WebCore::PluginPackage::setEnabled):
124         * plugins/PluginPackage.h:
125         (WebCore::PluginPackage::isEnabled):
126
127 2009-07-29  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
128
129         Reviewed by Adam Treat.
130
131         [WML] Running WML tests in random order multiple times exposes subtle bugs
132         https://bugs.webkit.org/show_bug.cgi?id=27801
133
134         Remove superflous assertions regarding the parent node. Under certain circumstances
135         these can even fire (related to garbage collection while destructing). Fixes random order
136         WML tests (run-webkit-tests fast/wml wml http/tests/wml fast/wml ... --random)
137
138         The wml/enter-first-card-with-events.html test relied on a bug in our implementation of
139         WMLPageState::reset() - the history stack should still contain the current card afterwards.
140         Fix that bug by preserving the first item in BackForwardList::clearWMLPageHistory().
141
142         * history/BackForwardList.cpp: Preserve first item in history stack, as demanded by the spec.
143         (WebCore::BackForwardList::clearWMLPageHistory):
144         * wml/WMLDoElement.cpp:
145         (WebCore::WMLDoElement::insertedIntoDocument):
146         (WebCore::WMLDoElement::removedFromDocument):
147         * wml/WMLNoopElement.cpp:
148         (WebCore::WMLNoopElement::insertedIntoDocument):
149         * wml/WMLOnEventElement.cpp:
150         (WebCore::eventHandlingParent):
151         * wml/WMLPostfieldElement.cpp:
152         (WebCore::WMLPostfieldElement::insertedIntoDocument):
153         (WebCore::WMLPostfieldElement::removedFromDocument):
154         * wml/WMLSetvarElement.cpp:
155         (WebCore::WMLSetvarElement::insertedIntoDocument):
156         (WebCore::WMLSetvarElement::removedFromDocument):
157         * wml/WMLTaskElement.cpp:
158         (WebCore::WMLTaskElement::insertedIntoDocument):
159         (WebCore::WMLTaskElement::removedFromDocument):
160         * wml/WMLTimerElement.cpp:
161         (WebCore::WMLTimerElement::insertedIntoDocument):
162         (WebCore::WMLTimerElement::removedFromDocument):
163
164 2009-07-29  Yongjun Zhang  <yongjun.zhang@nokia.com>
165
166         Reviewed by Simon Hausmann.
167
168         https://bugs.webkit.org/show_bug.cgi?id=26848
169         [Qt] ResourceHandle::willLoadFromCache needs to be implemented QtWebKit.
170
171         * loader/FrameLoader.cpp:
172         (WebCore::FrameLoader::loadItem):
173         * platform/network/ResourceHandle.h:
174         * platform/network/cf/ResourceHandleCFNet.cpp:
175         (WebCore::ResourceHandle::willLoadFromCache):
176         * platform/network/curl/ResourceHandleCurl.cpp:
177         (WebCore::ResourceHandle::willLoadFromCache):
178         * platform/network/mac/ResourceHandleMac.mm:
179         (WebCore::ResourceHandle::willLoadFromCache):
180         * platform/network/qt/ResourceHandleQt.cpp:
181         (WebCore::ResourceHandle::willLoadFromCache):
182         * platform/network/soup/ResourceHandleSoup.cpp:
183         (WebCore::):
184
185 2009-07-29  Alpha Lam  <hclam@chromium.org>
186
187         Reviewed by David Levin.
188
189         Media control panel for <video> in MediaDocument is mis-placed
190         https://bugs.webkit.org/show_bug.cgi?id=27798
191
192         Fixing a rendering problem: When <video> is displayed in MediaDocument,
193         the media control panel overlaps with the video by 16 pixels.
194
195         No new tests as this is covered by existing media tests.
196
197         * css/mediaControlsChromium.css:
198
199 2009-07-29  Adam Barth  <abarth@webkit.org>
200
201         Unreviewed build fix for Chromium.  Those last two patches weren't
202         independent despite the clean merge.
203
204         * bindings/v8/V8AbstractEventListener.cpp:
205         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
206
207 2009-07-29  Avi Drissman  <avi@chromium.org>
208
209         Reviewed by Darin Adler.
210
211         ImageSourceCG makes bad data refs (race condition causes blank images)
212         https://bugs.webkit.org/show_bug.cgi?id=27777
213
214         Make ImageSourceCG guarantee that the lifetime of the SharedBuffer that
215         backs the CFDataRef will be long enough.
216
217         No new tests, as this fixes a bug with a race condition that is
218         difficult to trigger.
219
220         * platform/graphics/cg/ImageSourceCG.cpp:
221         (WebCore::ImageSource::setData):
222
223 2009-07-29  Keishi Hattori  <casey.hattori@gmail.com>
224
225         Reviewed by Timothy Hatcher.
226
227         Inspector: Console should show completions for the command line APIs
228         https://bugs.webkit.org/show_bug.cgi?id=27696
229
230         * inspector/front-end/Console.js:
231         (WebInspector.Console.prototype._reportCompletions): Adds properties from _inspectorCommandLineAPI to 
232         completions when available.
233         * inspector/front-end/utilities.js:
234         (Object.properties): Added.
235         (Object.sortedProperties):
236
237 2009-07-29  Shinichiro Hamaji  <hamaji@chromium.org>
238
239         Reviewed by Eric Seidel.
240
241         Refactor the first step of layout in RenderFlexibleBox.cpp
242         https://bugs.webkit.org/show_bug.cgi?id=27704
243
244         No new tests as this change is just a refactoring.
245
246         * rendering/RenderFlexibleBox.cpp:
247         (WebCore::gatherFlexChildrenInfo):
248         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
249         (WebCore::RenderFlexibleBox::layoutVerticalBox):
250
251 2009-07-29  Kent Tamura  <tkent@chromium.org>
252
253         Reviewed by Nikolas Zimmermann.
254
255         Fix a bug that HTMLOptionElement::value() returns an incorrect
256         value in a case that the element has a label attribute and no
257         value attribute.
258         https://bugs.webkit.org/show_bug.cgi?id=27760
259
260         Test: fast/forms/option-value-and-label.html
261
262         * dom/OptionElement.cpp:
263         (WebCore::OptionElement::collectOptionLabelOrText):
264         (WebCore::OptionElement::collectOptionInnerText):
265         (WebCore::OptionElement::normalizeText):
266         (WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
267         (WebCore::OptionElement::collectOptionValue):
268         * dom/OptionElement.h:
269         * html/HTMLOptionElement.cpp:
270         (WebCore::HTMLOptionElement::text):
271         * wml/WMLOptionElement.cpp:
272         (WebCore::WMLOptionElement::text):
273
274 2009-07-29  Adam Barth  <abarth@webkit.org>
275
276         Reviewed by Dimitri Glazkov.
277
278         [V8] Fix isolated world wrappers for event handlers
279         https://bugs.webkit.org/show_bug.cgi?id=27533
280
281         Instead of getting the context from the frame, we cache the context
282         when the listener is created so that we get the context for the right
283         world.
284
285         Test: http/tests/security/isolatedWorld/click-event.html
286
287         * WebCore.gypi:
288         * bindings/v8/OwnHandle.h: Added.
289         (WebCore::OwnHandle::OwnHandle):
290         (WebCore::OwnHandle::~OwnHandle):
291         (WebCore::OwnHandle::get):
292         (WebCore::OwnHandle::set):
293         (WebCore::OwnHandle::release):
294         (WebCore::OwnHandle::adopt):
295         (WebCore::OwnHandle::swap):
296         (WebCore::OwnHandle::clear):
297         (WebCore::OwnHandle::makeWeak):
298         (WebCore::OwnHandle::weakCallback):
299         * bindings/v8/V8AbstractEventListener.cpp:
300         (WebCore::V8AbstractEventListener::V8AbstractEventListener):
301         (WebCore::V8AbstractEventListener::handleEvent):
302         * bindings/v8/V8AbstractEventListener.h:
303         * bindings/v8/V8DOMWrapper.h:
304
305 2009-07-29  Adam Barth  <abarth@webkit.org>
306
307         Reviewed by Dimitri Glazkov.
308
309         [V8] Teach V8Proxy::context about isolated worlds
310         https://bugs.webkit.org/show_bug.cgi?id=27701
311
312         Change V8Proxy::context(Frame*) to understand isolated worlds.  Audit
313         all callers of this method to make sure they want isolated worlds.  In
314         cases where we really want the main world, I've changed the call to
315         V8Proxy::mainWorldContext(Frame*).
316         
317         The main visible change is to the document.open method when called with
318         more than two arguments.  This design seems more likely to lead to
319         future correct code.
320
321         Test: http/tests/security/isolatedWorld/document-open.html
322
323         * bindings/v8/ScriptController.cpp:
324         (WebCore::ScriptController::processingUserGesture):
325         (WebCore::ScriptController::evaluate):
326         (WebCore::ScriptController::bindToWindowObject):
327         (WebCore::ScriptController::collectGarbage):
328         (WebCore::createScriptObject):
329         (WebCore::ScriptController::createScriptObjectForPluginElement):
330         * bindings/v8/ScriptObjectQuarantine.cpp:
331         (WebCore::getQuarantinedScriptObject):
332         * bindings/v8/V8AbstractEventListener.cpp:
333         (WebCore::V8AbstractEventListener::handleEvent):
334         * bindings/v8/V8DOMWrapper.cpp:
335         (WebCore::V8DOMWrapper::getConstructor):
336         (WebCore::V8DOMWrapper::setHiddenWindowReference):
337         (WebCore::V8DOMWrapper::convertNodeToV8Object):
338         (WebCore::V8DOMWrapper::convertWindowToV8Object):
339         * bindings/v8/V8Helpers.cpp:
340         (WebCore::toV8Context):
341         * bindings/v8/V8LazyEventListener.cpp:
342         (WebCore::V8LazyEventListener::getListenerFunction):
343         (WebCore::V8LazyEventListener::getWrappedListenerFunction):
344         * bindings/v8/V8Proxy.cpp:
345         (WebCore::V8Proxy::context):
346         (WebCore::V8Proxy::mainWorldContext):
347         (WebCore::V8Proxy::bindJsObjectToWindow):
348         * bindings/v8/V8Proxy.h:
349
350 2009-07-29  Balazs Kelemen  <kelemen.balazs.3@stud.u-szeged.hu>
351
352         Reviewed by Simon Hausmann.
353
354         Fix the Qt build, add missing file.
355
356         * WebCore.pro:
357
358 2009-07-28  Jon Honeycutt  <jhoneycutt@apple.com>
359
360         Speculative fix for <rdar://problem/7005077> WER: Crash in
361         WebCore::PluginStream::destroyStream+279 (1310510882)
362
363         Reviewed by Oliver Hunt.
364
365         * plugins/PluginStream.cpp:
366         (WebCore::PluginStream::destroyStream):
367         Move the "protector" RefPtr out of the block that dispatches
368         notifications and into the function level; if NPN_DestroyStream were
369         called from NPP_NewStream as the comment warns, we would be deleted at
370         the end of the block.
371
372 2009-07-28  Joseph Pecoraro  <joepeck02@gmail.com>
373
374         Inspector: Tab Through the DOM Storage DataGrid when Editing
375
376         https://bugs.webkit.org/show_bug.cgi?id=27746
377
378         Reviewed by Timothy Hatcher.
379
380         * inspector/front-end/DOMStorageDataGrid.js:
381         (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode): refactored to directly edit and select a column
382         (WebInspector.DOMStorageDataGrid.prototype._startEditing):
383         (WebInspector.DOMStorageDataGrid.prototype._editingCommitted.moveToNextIfNeeded): handles moveDirection on a commit
384         (WebInspector.DOMStorageDataGrid.prototype._editingCommitted): uses moveToNext to traverse appropriately
385
386 2009-07-28  Joseph Pecoraro  <joepeck02@gmail.com>
387
388         Inspector: Create New DOM Storage Items via DataGrid
389
390         https://bugs.webkit.org/show_bug.cgi?id=27322
391
392         Reviewed by Timothy Hatcher.
393
394         * inspector/front-end/DOMStorageDataGrid.js:
395         (WebInspector.DOMStorageDataGrid.prototype._startEditing): click anyway means creationNode
396         (WebInspector.DOMStorageDataGrid.prototype._editingCommitted): fix unintended globals
397         (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow): creationNode is special case
398         * inspector/front-end/DataGrid.js:
399         (WebInspector.DataGrid.prototype.addCreationNode): maintain a quick ref to the single creationNode
400         (WebInspector.CreationDataGridNode): new type of node
401         (WebInspector.CreationDataGridNode.prototype.makeNormal): convert to a normal node
402         * inspector/front-end/DatabasesPanel.js:
403         (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage): add a creationNode to the GridData
404
405 2009-07-28  Joseph Pecoraro  <joepeck02@gmail.com>
406
407         Inspector: Automatically Refresh DOM Storage Grids on "storage" event
408
409         https://bugs.webkit.org/show_bug.cgi?id=27400
410
411         Reviewed by Timothy Hatcher.
412
413         * inspector/front-end/DatabasesPanel.js:
414         (WebInspector.DatabasesPanel.prototype.show): trigger adding the listener
415         (WebInspector.DatabasesPanel.prototype.reset): trigger removing the listener
416         (WebInspector.DatabasesPanel.prototype._registerStorageEventListener): register the listener on the inspected window
417         (WebInspector.DatabasesPanel.prototype._unregisterStorageEventListener): unregister the listener on the inspected window
418         (WebInspector.DatabasesPanel.prototype._storageEvent): handle the storage event
419
420 2009-07-28  Keishi Hattori  <casey.hattori@gmail.com>
421
422         Inspector should support inspect() in the command line.
423
424         https://bugs.webkit.org/show_bug.cgi?id=19874
425         rdar://problem/6070225
426
427         Reviewed by Timothy Hatcher.
428
429         * inspector/front-end/Console.js:
430         (WebInspector.Console.prototype._ensureCommandLineAPIInstalled.inspectObject):
431         (WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
432         * inspector/front-end/DatabasesPanel.js:
433         (WebInspector.DatabasesPanel.prototype.revealAndSelectDomStorage): Added.
434         (WebInspector.DatabasesPanel.prototype.revealAndSelectDatabase): Added.
435         (WebInspector.DatabasesPanel.prototype.showDatabase): 
436
437 2009-07-28  Keishi Hattori  <casey.hattori@gmail.com>
438
439         The rest of: Web Inspector: Add inspected node using public console API.
440
441         https://bugs.webkit.org/show_bug.cgi?id=27758
442
443         Reviewed by Timothy Hatcher.
444
445         * inspector/front-end/Console.js:
446         (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): Removed _inspectorCommandLineAPI._addInspectedNode.
447         (WebInspector.Console.prototype.addInspectedNode): Added.
448
449 2009-07-28  Pavel Feldman  <pfeldman@chromium.org>
450
451         Reviewed by Timothy Hatcher.
452
453         WebInspector: Accept autocomplete on 'End' key pressed.
454
455         https://bugs.webkit.org/show_bug.cgi?id=27447.
456
457         * inspector/front-end/TextPrompt.js:
458         (WebInspector.TextPrompt.prototype.handleKeyEvent):
459
460 2009-07-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
461
462         Reviewed by David Levin.
463
464         [Qt] Build fix after r46502
465         https://bugs.webkit.org/show_bug.cgi?id=27789
466
467         * WebCore.pro: Remove StorageArea.cpp
468
469 2009-07-28  Mark Rowe  <mrowe@apple.com>
470
471         Reviewed by Darin Adler.
472
473         Follow-on fix to r35582.  Replace main thread assertions with WebCoreObjCScheduleDeallocateOnMainThread
474         in -dealloc overrides in DOMObject subclasses.
475
476         * bindings/scripts/CodeGeneratorObjC.pm:
477
478 2009-07-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
479
480         Reviewed by Adam Treat.
481
482         [WML] WML*Element classes mostly implement insertedIntoDocument(), not removedFromDocument()
483         https://bugs.webkit.org/show_bug.cgi?id=27786
484
485         WML*Element classes mostly implement insertedIntoDocument(), not removedFromDocument().
486         The only case where this is relevant in WML is error handling. The parsed WML
487         tree fragment is inserted in an XHTML compound error document. This requires
488         removedFromDocument() to be correctly implemented otherwhise we run into
489         trouble (visible when using run-webkit-tests fast/wml --random).
490
491         * wml/WMLAnchorElement.cpp:
492         (WebCore::WMLAnchorElement::registerTask):
493         (WebCore::WMLAnchorElement::deregisterTask):
494         * wml/WMLAnchorElement.h:
495         * wml/WMLDoElement.cpp:
496         (WebCore::WMLDoElement::removedFromDocument):
497         (WebCore::WMLDoElement::registerTask):
498         (WebCore::WMLDoElement::deregisterTask):
499         * wml/WMLDoElement.h:
500         * wml/WMLEventHandlingElement.cpp:
501         (WebCore::WMLEventHandlingElement::registerDoElement):
502         (WebCore::WMLEventHandlingElement::deregisterDoElement):
503         * wml/WMLEventHandlingElement.h:
504         * wml/WMLFieldSetElement.cpp:
505         (WebCore::WMLFieldSetElement::removedFromDocument):
506         * wml/WMLGoElement.cpp:
507         (WebCore::WMLGoElement::registerPostfieldElement):
508         (WebCore::WMLGoElement::deregisterPostfieldElement):
509         * wml/WMLGoElement.h:
510         * wml/WMLIntrinsicEventHandler.cpp:
511         (WebCore::WMLIntrinsicEventHandler::deregisterIntrinsicEvent):
512         * wml/WMLIntrinsicEventHandler.h:
513         * wml/WMLOnEventElement.cpp:
514         (WebCore::eventHandlingParent):
515         (WebCore::WMLOnEventElement::registerTask):
516         (WebCore::WMLOnEventElement::deregisterTask):
517         * wml/WMLOnEventElement.h:
518         * wml/WMLPostfieldElement.cpp:
519         (WebCore::WMLPostfieldElement::removedFromDocument):
520         * wml/WMLPostfieldElement.h:
521         * wml/WMLSetvarElement.cpp:
522         (WebCore::WMLSetvarElement::removedFromDocument):
523         * wml/WMLSetvarElement.h:
524         * wml/WMLTaskElement.cpp:
525         (WebCore::WMLTaskElement::removedFromDocument):
526         (WebCore::WMLTaskElement::registerVariableSetter):
527         (WebCore::WMLTaskElement::deregisterVariableSetter):
528         (WebCore::WMLTaskElement::storeVariableState):
529         * wml/WMLTaskElement.h:
530         * wml/WMLTimerElement.cpp:
531         (WebCore::WMLTimerElement::removedFromDocument):
532         * wml/WMLTimerElement.h:
533
534 2009-07-28  David Levin  <levin@chromium.org>
535
536         Suggested by Drew Wilson.
537
538         Speculative gtk build fix, follow up to:
539         https://bugs.webkit.org/show_bug.cgi?id=27697
540
541         * GNUmakefile.am:
542
543 2009-07-28  Dan Bernstein  <mitz@apple.com>
544
545         Reviewed by Simon Fraser.
546
547         [CSS3 Backgrounds and Borders] Drop the prefix from the border-radius
548         properties
549         https://bugs.webkit.org/show_bug.cgi?id=27578
550
551         [CSS3 Backgrounds and Borders] Handle the / and 4 values in
552         border-radius
553         https://bugs.webkit.org/show_bug.cgi?id=27584
554
555         Test: fast/borders/border-radius-parsing.html
556
557         Dropped the -webkit- prefix from the individual corner border-radius
558         properties. Added border-radius with the / and 4-value syntax, and
559         maintained -webkit-border-radius with legacy 2-value syntax.
560
561         * css/CSSComputedStyleDeclaration.cpp:
562         (computedProperties): Removed Webkit prefix.
563         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Ditto.
564         * css/CSSParser.cpp:
565         (WebCore::CSSParser::parseValue): Removed Webkit prefix from the
566             single-corner properties. Call out to parseBorderRadius() to parse
567             border-radius and -webkit-border-radius. 
568         (WebCore::completeBorderRadii): Added this helper function that
569             completes the values for all four corners when fewer than four are
570             specified.
571         (WebCore::CSSParser::parseBorderRadius): Added.
572         (WebCore::cssPropertyID): Map -webkit-border-*-*-radius to the
573             unprefixed property.
574         * css/CSSParser.h:
575         * css/CSSPropertyLonghand.cpp:
576         (WebCore::initShorthandMap): Removed the Webkit prefix. Added an entry
577             for border-radius. Kept the entry for -webkit-border-radius.
578         * css/CSSPropertyNames.in: Removed the -webkit- prefix from the
579             single-corenr properties. Added border-radius. Kept
580             -webkit-border-radius because of its conflicting syntax.
581         * css/CSSStyleSelector.cpp:
582         (WebCore::CSSStyleSelector::applyProperty): Removed the Webkit prefix.
583         * page/animation/AnimationBase.cpp:
584         (WebCore::ensurePropertyMap): Ditto.
585
586 2009-07-28  Drew Wilson  <atwilson@google.com>
587
588         Reviewed by David Levin.
589
590         Refactored dedicated-worker-specific code from WorkerThread into DedicatedWorkerThread class.
591
592         WorkerThread needs to be refactored to separate out dedicated-worker functionality.
593         https://bugs.webkit.org/show_bug.cgi?id=27697
594
595         This is just a refactoring, so existing tests suffice.
596
597         * GNUmakefile.am:
598         Added DedicatedWorkerThread.h/.cpp
599         * WebCore.gypi:
600         Added DedicatedWorkerThread.h/.cpp
601         * WebCore.pro:
602         Added DedicatedWorkerThread.h/.cpp
603         * WebCore.vcproj/WebCore.vcproj:
604         Added DedicatedWorkerThread.h/.cpp
605         * WebCore.xcodeproj/project.pbxproj:
606         Added DedicatedWorkerThread.h/.cpp
607         * bindings/js/WorkerScriptController.cpp:
608         (WebCore::WorkerScriptController::evaluate):
609         Removed code to track pending activity - this is handled by DedicatedWorkerContext::importScripts() now.
610         * bindings/v8/WorkerScriptController.cpp:
611         (WebCore::WorkerScriptController::evaluate):
612         Removed code to track pending activity - this is handled by DedicatedWorkerContext::importScripts() now.
613         * workers/DedicatedWorkerContext.cpp:
614         (WebCore::DedicatedWorkerContext::DedicatedWorkerContext):
615         (WebCore::DedicatedWorkerContext::addMessage):
616         Forwards console messages to parent document.
617         (WebCore::DedicatedWorkerContext::importScripts):
618         Now sends the updated pending activity status after importing scripts.
619         (WebCore::DedicatedWorkerContext::thread):
620         Helper routine that casts WorkerThread to DedicatedWorkerThread.
621         * workers/DedicatedWorkerContext.h:
622         (WebCore::DedicatedWorkerContext::create):
623         * workers/DedicatedWorkerThread.cpp: Added.
624         (WebCore::DedicatedWorkerThread::create):
625         (WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
626         (WebCore::DedicatedWorkerThread::~DedicatedWorkerThread):
627         (WebCore::DedicatedWorkerThread::createWorkerContext):
628         Implementation of the base class factory method to create the appropriate worker context.
629         (WebCore::DedicatedWorkerThread::runEventLoop):
630         Reports pending activity before running the event loop.
631         * workers/DedicatedWorkerThread.h: Added.
632         (WebCore::DedicatedWorkerThread::workerObjectProxy):
633         Moved from base class.
634         * workers/WorkerContext.cpp:
635         * workers/WorkerContext.h:
636         * workers/WorkerMessagingProxy.cpp:
637         (WebCore::WorkerMessagingProxy::startWorkerContext):
638         Now creates DedicatedWorkerThread.
639         (WebCore::WorkerMessagingProxy::workerThreadCreated):
640         Now is passed a DedicatedWorkerThread.
641         * workers/WorkerMessagingProxy.h:
642         * workers/WorkerThread.cpp:
643         (WebCore::WorkerThread::WorkerThread):
644         Moved workerObjectProxy param into derived class constructor.
645         (WebCore::WorkerThread::workerThread):
646         (WebCore::WorkerThread::runEventLoop):
647         Moved the event loop execution into a virtual function so DedicatedWorkerThread could report pending activity first.
648         * workers/WorkerThread.h:
649         (WebCore::WorkerThread::workerContext):
650
651 2009-07-28  Nate Chapin  <japhet@chromium.org>
652
653         Reviewed by Darin Fisher.
654
655         Fix V8NPUtils' handling of UTF8 identifiers.
656
657         https://bugs.webkit.org/show_bug.cgi?id=27782
658
659         * bindings/v8/V8NPUtils.cpp:
660         (getStringIdentifier): Treat the input string as UTF8 instead of ASCII,
661             since NPN_GetStringIdentifier() is expecting UTF8.
662
663 2009-07-28  Jeremy Orlow  <jorlow@chromium.org>
664
665         Reviewed by Eric Seidel.
666
667         Misc cleanup in DOM Storage.
668         https://bugs.webkit.org/show_bug.cgi?id=27517
669
670         The StorageAreaImpl changes are all for Chromium.  Because the DOM Storage implementation
671         runs in a different process from where the Frame object lives, Chromium passes in NULL
672         for the sourceFrame.  This affects events and handling privateBrowsing.  Chromium's
673         incognito mode does not use the private browsing setting, so that's not a concern.  As for
674         events, I've decided to simply disable them for now.
675
676         The StorageNamespaceImpl changes get rid of a stale comment (path is .copy'ed for thread-
677         safety) and to add an assert that .copy is only ever called on a SessionStorage namespace.
678
679         Also cleaned up tailing whitespace in several parts of StorageAreaImpl.cpp
680
681         * storage/StorageArea.cpp: Removed.  (It was empty anyway.)
682         * storage/StorageAreaImpl.cpp:
683         (WebCore::privateBrowsingEnabled): Factored out the check.
684         (WebCore::StorageAreaImpl::setItem): Make frame optional.
685         (WebCore::StorageAreaImpl::removeItem): ditto
686         (WebCore::StorageAreaImpl::clear): ditto
687         (WebCore::StorageAreaImpl::dispatchStorageEvent): Disable in Chromium for now.
688         * storage/StorageNamespaceImpl.cpp:
689         (WebCore::StorageNamespaceImpl::StorageNamespaceImpl): Remove stale comment.
690         (WebCore::StorageNamespaceImpl::copy): Add assert that it's SessionStorage.
691
692 2009-07-28  Alpha Lam  <hclam@google.com>
693
694         Reviewed by David Levin.
695
696         [chromium] Default UI controls for <video> has rendering problems
697         https://bugs.webkit.org/show_bug.cgi?id=27669
698
699         Fixes the bug that <video> in MediaDocument is 1 pixel tall if
700         it is playing an audio file by changing the style to be 32px
701         tall.
702
703         Also fixes a problem of default styled audio tag that hides the
704         all the time digits by expanding the width to 300px.
705
706         Changed the size and position of the current time and remaining
707         display to give enough space for the hour digit to be shown.
708
709         There are no new tests provided because this is already covered
710         by existing tests.
711
712         * css/mediaControlsChromium.css:
713
714 2009-07-28  Jakub Wieczorek  <faw217@gmail.com>
715
716         Reviewed by Eric Seidel.
717
718         Fix style in PluginPackage and PluginDatabase.
719         Part of https://bugs.webkit.org/show_bug.cgi?id=27651
720
721         * plugins/PluginDatabase.cpp:
722         (WebCore::PluginDatabase::refresh):
723         (WebCore::PluginDatabase::findPlugin):
724         * plugins/PluginDatabase.h:
725         * plugins/PluginPackage.cpp:
726         (WebCore::PluginPackage::~PluginPackage):
727         (WebCore::PluginPackage::freeLibrarySoon):
728         (WebCore::PluginPackage::freeLibraryTimerFired):
729         (WebCore::PluginPackage::unloadWithoutShutdown):
730         (WebCore::PluginPackage::initializeBrowserFuncs):
731         * plugins/PluginPackage.h:
732
733 2009-07-28  Anantanarayanan Iyengar  <ananta@chromium.org>
734
735         Reviewed by Dimitri Glazkov.
736
737         https://bugs.webkit.org/show_bug.cgi?id=27769
738         The V8 bindings function V8Proxy::createNewContext can be 
739         called during frame shutdown where the activeDocumentLoader
740         function in FrameLoader can return NULL. Added a check for the
741         same.
742
743         No new tests added as this is an edge case where the V8 
744         bindings code is reentered via NPAPI during shutdown. It is 
745         difficult to write a consistently reproducible test for this.
746
747         * bindings/v8/V8Proxy.cpp:
748         (WebCore::V8Proxy::createNewContext):
749
750 2009-07-28  Ivan Posva  <iposva@chromium.org>
751
752         Reviewed by Dimitri Glazkov.
753
754         Associate the CanvasPixelData backing store with the
755         indexed properties of the wrapper object.
756
757         https://bugs.webkit.org/show_bug.cgi?id=27773
758
759         No new tests: Relying on existing Canvas tests.
760
761         * bindings/v8/V8DOMWrapper.cpp:
762         (WebCore::V8DOMWrapper::getTemplate):
763         (WebCore::V8DOMWrapper::convertToV8Object):
764
765 2009-07-28  Xan Lopez  <xlopez@igalia.com>
766
767         Reviewed by Gustavo Noronha.
768
769         Nuke all references to JSWorkerContextBase.lut.h, it was removed
770         back in April.
771
772         * GNUmakefile.am:
773
774 2009-07-28  Robert Agoston  <Agoston.Robert@stud.u-szeged.hu>
775
776         Reviewed by Simon Hausmann.
777
778         Fixed references to script generate-webkitversion.pl, and
779         removed duplicated generate-webkitversion.pl
780
781         https://bugs.webkit.org/show_bug.cgi?id=27158
782
783         * WebCore.pro:
784         * platform/generate-webkitversion.pl: Removed.
785
786 2009-07-28  Pavel Feldman  <pfeldman@chromium.org>
787
788         Reviewed by Dmitry Glazkov.
789
790         Web Inspector: encapsulate ScriptState into the ScriptObject, get rid of
791         InspectorJSONObject.
792
793         https://bugs.webkit.org/show_bug.cgi?id=27766
794
795         * GNUmakefile.am:
796         * WebCore.gypi:
797         * WebCore.pro:
798         * WebCore.vcproj/WebCore.vcproj:
799         * WebCore.xcodeproj/project.pbxproj:
800         * WebCoreSources.bkl:
801         * bindings/js/ScriptArray.cpp:
802         (WebCore::ScriptArray::ScriptArray):
803         (WebCore::ScriptArray::set):
804         (WebCore::ScriptArray::length):
805         (WebCore::ScriptArray::createNew):
806         * bindings/js/ScriptArray.h:
807         * bindings/js/ScriptFunctionCall.cpp:
808         (WebCore::ScriptFunctionCall::construct):
809         * bindings/js/ScriptObject.cpp:
810         (WebCore::ScriptObject::ScriptObject):
811         (WebCore::ScriptObject::set):
812         (WebCore::ScriptObject::createNew):
813         (WebCore::ScriptGlobalObject::get):
814         * bindings/js/ScriptObject.h:
815         * bindings/js/ScriptObjectQuarantine.cpp:
816         (WebCore::getQuarantinedScriptObject):
817         * bindings/v8/ScriptArray.cpp:
818         (WebCore::ScriptArray::ScriptArray):
819         (WebCore::ScriptArray::set):
820         (WebCore::ScriptArray::length):
821         (WebCore::ScriptArray::createNew):
822         * bindings/v8/ScriptArray.h:
823         * bindings/v8/ScriptFunctionCall.cpp:
824         (WebCore::ScriptFunctionCall::construct):
825         * bindings/v8/ScriptObject.cpp:
826         (WebCore::ScriptObject::ScriptObject):
827         (WebCore::ScriptObject::set):
828         (WebCore::ScriptObject::createNew):
829         (WebCore::ScriptGlobalObject::get):
830         * bindings/v8/ScriptObject.h:
831         (WebCore::ScriptObject::ScriptObject):
832         * bindings/v8/ScriptObjectQuarantine.cpp:
833         (WebCore::getQuarantinedScriptObject):
834         * inspector/ConsoleMessage.cpp:
835         (WebCore::ConsoleMessage::addToConsole):
836         * inspector/InspectorDOMStorageResource.cpp:
837         (WebCore::InspectorDOMStorageResource::bind):
838         * inspector/InspectorDatabaseResource.cpp:
839         (WebCore::InspectorDatabaseResource::bind):
840         * inspector/InspectorFrontend.cpp:
841         (WebCore::InspectorFrontend::newScriptArray):
842         (WebCore::InspectorFrontend::newScriptObject):
843         (WebCore::InspectorFrontend::addMessageToConsole):
844         (WebCore::InspectorFrontend::addResource):
845         (WebCore::InspectorFrontend::updateResource):
846         (WebCore::InspectorFrontend::addDatabase):
847         (WebCore::InspectorFrontend::addDOMStorage):
848         * inspector/InspectorFrontend.h:
849         * inspector/InspectorJSONObject.cpp: Removed.
850         * inspector/InspectorJSONObject.h: Removed.
851         * inspector/InspectorResource.cpp:
852         (WebCore::populateHeadersObject):
853         (WebCore::InspectorResource::createScriptObject):
854         (WebCore::InspectorResource::updateScriptObject):
855
856 2009-07-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
857
858         Reviewed by George Staikos.
859
860         [WML] Variable substitution recursion seems to have bugs
861         https://bugs.webkit.org/show_bug.cgi?id=27726
862
863         Allow <setvar> elements to depend on the value specified by preceeding <setvar> elements.
864         Required by the specification - assure it only works in linear order. A setvar element may
865         not depend on the variable state of a following setvar element, only the previous ones.
866
867         Extend wml/variable-reference-valid.html layout test to cover these cases.
868
869         * wml/WMLTaskElement.cpp:
870         (WebCore::WMLTaskElement::storeVariableState):
871
872 2009-07-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
873
874         Reviewed by George Staikos.
875
876         [WML] Page title doesn't update after variable substitution, if it contained variables
877         https://bugs.webkit.org/show_bug.cgi?id=27725
878
879         Fix bug in containsVariableReference() function, we we're decreasing the nameEndPosition
880         too much, leading to a bug with 1-char variable names, which were not detected properly.
881
882         Extend wml/variable-reference-valid.html layout test to cover 1-char variable names.
883         Also fixes manual-tests/wml/task-refresh-in-anchor.wml, which happened to use 1-char variable names.
884
885         * wml/WMLVariables.cpp:
886         (WebCore::containsVariableReference):
887
888 2009-07-28  Robert Hogan  <robert@roberthogan.net>
889
890         Reviewed by Simon Hausmann.
891
892         Add WebKit version API to Qt.
893
894         Get the current version of WebKit from WebKit/mac/Configurations/Version.xcconfig
895         at compile time and make it available to webkit ports through WebKitVersion.h.
896
897         https://bugs.webkit.org/show_bug.cgi?id=27158
898
899         * WebCore.pro: Call generate-webkitversion.pl
900
901 2009-07-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
902
903         Unreviewed make dist build fix.
904
905         * GNUmakefile.am:
906
907 2009-07-28  Mike Fenton  <mike.fenton@torchmobile.com>
908
909         Reviewed by Adam Treat.
910
911         Replace hardcoded separator text with proper separator.
912         Also adjusts include order as per style guidelines.
913
914         https://bugs.webkit.org/show_bug.cgi?id=27763
915
916         * platform/qt/PopupMenuQt.cpp:
917         (WebCore::PopupMenu::populate):
918
919 2009-07-28  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
920
921         Reviewed by Steve Falkenburg.
922
923         Add output directory for VS pre-build steps to enable out-of-tree builds
924
925         https://bugs.webkit.org/show_bug.cgi?id=27700
926
927         The tmp.obj file is now placed in the intermediate build directory.
928
929         * WebCore.vcproj/WebCoreCommon.vsprops:
930
931 2009-07-28  Pavel Feldman  <pfeldman@chromium.org>
932
933         Reviewed by Timothy Hatcher.
934
935         Web Inspector: Add inspected node using public console API.
936
937         https://bugs.webkit.org/show_bug.cgi?id=27758
938
939         * inspector/front-end/Console.js:
940         (WebInspector.Console.prototype.addInspectedNode):
941         * inspector/front-end/ElementsPanel.js:
942         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
943         (WebInspector.ElementsPanel):
944
945 2009-07-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
946
947         Reviewed by George Staikos.
948
949         [WML] <do> elements with a <noop> task shouldn't be exposed to the user
950         https://bugs.webkit.org/show_bug.cgi?id=27724
951
952         Fix WMLNoopElement to disable it's parent WMLDoElement, as required by the spec.
953         Moved manual-tests/wml/task-noop-in-do.wml to LayoutTests/fast/wml/task-noop-in-do.wml.
954
955         * manual-tests/wml/task-noop-in-do.wml: Removed.
956         * wml/WMLNoopElement.cpp:
957         (WebCore::WMLNoopElement::insertedIntoDocument):
958
959 2009-07-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
960
961         Reviewed by Simon Hausmann.
962
963         [Qt] Disable some compiler warnings for the win build
964         https://bugs.webkit.org/show_bug.cgi?id=27709
965
966         * WebCore.pro: Move the msvc options to WebKit.pri
967
968 2009-07-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
969
970         Reviewed by Tor Arne Vestbø
971
972         Make equality checks for logging channel names ignore casing.
973
974         * platform/Logging.cpp:
975         (WebCore::getChannelFromName):
976
977 2009-07-28  Jan Michael Alonzo  <jmalonzo@webkit.org>
978
979         Reviewed by Xan Lopez.
980
981         [Gtk] Refactor ResourceHandleSoup - make start* functions static
982         https://bugs.webkit.org/show_bug.cgi?id=27687
983
984         * platform/network/ResourceHandle.h:
985         * platform/network/soup/ResourceHandleSoup.cpp:
986         (WebCore::startData):
987         (WebCore::startHttp):
988         (WebCore::):
989
990 2009-07-28  Xan Lopez  <xlopez@igalia.com>
991
992         Reviewed by Gustavo Noronha.
993
994         https://bugs.webkit.org/show_bug.cgi?id=25415
995         [GTK][ATK] Please implement support for get_text_at_offset
996
997         Do not cache the pango layout in the object, since the layout of
998         the page can change between calls.
999
1000         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1001
1002 2009-07-23  Anton Muhin  <antonm@chromium.org>
1003
1004         Reviewed by Adam Barth.
1005
1006         Simplify management of Nodes in weak handles callbacks.
1007         https://bugs.webkit.org/show_bug.cgi?id=27628
1008
1009         * bindings/v8/V8DOMMap.cpp:
1010         (WebCore::weakNodeCallback):
1011
1012 2009-07-28  Brian Weinstein  <bweinstein@apple.com>
1013
1014         Rubber-stamped by David Levin.
1015
1016         Fix error handling of GetIconInfo (returns a bool).
1017
1018         * platform/win/DragImageWin.cpp:
1019         (WebCore::createDragImageIconForCachedImage):
1020
1021 2009-07-27  Brian Weinstein  <bweinstein@apple.com>
1022
1023         Reviewed by Jon Honeycutt.
1024
1025         Fix of <rdar://5015949> Drag Icon is not produced for over sized images.
1026         
1027         Implemented the createDragImageIconForCachedImage function by using the Windows 
1028         SHFILEINFO structure.
1029
1030         * platform/win/DragImageWin.cpp:
1031         (WebCore::createDragImageIconForCachedImage):
1032
1033 2009-07-25  Adam Barth  <abarth@webkit.org>
1034
1035         Reviewed by David Levin.
1036
1037         [V8] Split up V8DOMMap.cpp by class
1038         https://bugs.webkit.org/show_bug.cgi?id=27685
1039
1040         No behavior change.  Just copy-and-paste.
1041
1042         * WebCore.gypi:
1043         * bindings/v8/ChildThreadDOMData.cpp: Added.
1044         (WebCore::ChildThreadDOMData::ChildThreadDOMData):
1045         (WebCore::ChildThreadDOMData::getStore):
1046         * bindings/v8/ChildThreadDOMData.h: Added.
1047         * bindings/v8/DOMData.cpp: Added.
1048         (WebCore::DOMData::DOMData):
1049         (WebCore::DOMData::getCurrent):
1050         (WebCore::DOMData::getCurrentMainThread):
1051         (WebCore::DOMData::handleWeakObject):
1052         (WebCore::DOMData::ensureDeref):
1053         (WebCore::DOMData::derefObject):
1054         (WebCore::DOMData::derefDelayedObjects):
1055         (WebCore::DOMData::derefDelayedObjectsInCurrentThread):
1056         (WebCore::DOMData::removeObjectsFromWrapperMap):
1057         * bindings/v8/DOMData.h: Added.
1058         (WebCore::):
1059         * bindings/v8/DOMDataStore.cpp: Added.
1060         (WebCore::DOMDataStore::DOMDataStore):
1061         (WebCore::DOMDataStore::~DOMDataStore):
1062         (WebCore::DOMDataStore::allStores):
1063         (WebCore::DOMDataStore::allStoresMutex):
1064         (WebCore::DOMDataStore::getDOMWrapperMap):
1065         (WebCore::forget):
1066         (WebCore::DOMDataStore::weakDOMObjectCallback):
1067         (WebCore::DOMDataStore::weakActiveDOMObjectCallback):
1068         (WebCore::DOMDataStore::weakNodeCallback):
1069         (WebCore::DOMDataStore::weakSVGElementInstanceCallback):
1070         (WebCore::DOMDataStore::weakSVGObjectWithContextCallback):
1071         * bindings/v8/DOMDataStore.h: Added.
1072         (WebCore::DOMDataStore::):
1073         (WebCore::DOMDataStore::InternalDOMWrapperMap::InternalDOMWrapperMap):
1074         (WebCore::DOMDataStore::InternalDOMWrapperMap::forgetOnly):
1075         (WebCore::DOMDataStore::domData):
1076         (WebCore::DOMDataStore::domNodeMap):
1077         (WebCore::DOMDataStore::domObjectMap):
1078         (WebCore::DOMDataStore::activeDomObjectMap):
1079         (WebCore::DOMDataStore::domSvgElementInstanceMap):
1080         (WebCore::DOMDataStore::domSvgObjectWithContextMap):
1081         * bindings/v8/MainThreadDOMData.cpp: Added.
1082         (WebCore::MainThreadDOMData::MainThreadDOMData):
1083         (WebCore::MainThreadDOMData::getStore):
1084         * bindings/v8/MainThreadDOMData.h: Added.
1085         * bindings/v8/ScopedDOMDataStore.cpp: Added.
1086         (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
1087         (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
1088         * bindings/v8/ScopedDOMDataStore.h: Added.
1089         * bindings/v8/StaticDOMDataStore.cpp: Added.
1090         (WebCore::StaticDOMDataStore::StaticDOMDataStore):
1091         * bindings/v8/StaticDOMDataStore.h: Added.
1092         * bindings/v8/V8DOMMap.cpp:
1093
1094 2009-07-27  Mark Rowe  <mrowe@apple.com>
1095
1096         Reviewed by Darin Adler.
1097
1098         <rdar://problem/7091036> REGRESSION: Microsoft Messenger crashes during file send/receive due to use of WebKit on non-main thread
1099
1100         Add a method for detecting if we're being used within Microsoft Messenger.
1101
1102         * WebCore.base.exp: Export applicationIsMicrosoftMessenger and sort existing entries.
1103         * platform/mac/RuntimeApplicationChecks.h:
1104         * platform/mac/RuntimeApplicationChecks.mm:
1105         (WebCore::applicationIsMicrosoftMessenger):
1106
1107 2009-07-27  Jian Li  <jianli@chromium.org>
1108
1109         Reviewed by David Levin.
1110
1111         [V8] Implement EventListener::reportError for V8 event listeners in worker context. 
1112         https://bugs.webkit.org/show_bug.cgi?id=27731
1113
1114         * bindings/v8/V8WorkerContextEventListener.cpp:
1115         (WebCore::V8WorkerContextEventListener::reportError):
1116         * bindings/v8/V8WorkerContextEventListener.h:
1117
1118 2009-07-27  Stephen White  <senorblanco@chromium.org>
1119
1120         Reviewed by Eric Seidel and David Levin.
1121
1122         Re-apply chromium/skia border fix (originally landed in r46157,
1123         reverted in r46363), since it was not the cause of the reliability
1124         failures in Chromium.
1125
1126         http://bugs.webkit.org/show_bug.cgi?id=27388
1127
1128         * platform/graphics/skia/GraphicsContextSkia.cpp:
1129         (WebCore::GraphicsContext::drawLine):
1130         * platform/graphics/skia/PlatformContextSkia.cpp:
1131         (PlatformContextSkia::setupPaintForStroking):
1132
1133 2009-07-27  Ryosuke Niwa  <rniwa@webkit.org>
1134
1135         Reviewed by Justin Garcia.
1136
1137         createMarkup does not handle CSS properly
1138         https://bugs.webkit.org/show_bug.cgi?id=27660
1139
1140         This patch isolates code that creates markup for styles in addStyleMarkup
1141         It also makes all presentational elements (u, s, strike, i, em, b, strong) special ancestor in createMarkup
1142         so that we can assume no text decoration style is passed to addStyleMarkup.
1143
1144         * editing/markup.cpp:
1145         (WebCore::propertyMissingOrEqualToNone): Changed the first argument from CSSMutableStyleDecleration to CSSStyleDeclaration
1146         (WebCore::isElementPresentational): Used to be elementHasTextDecorationProperty, now supports presentational tags
1147         (WebCore::addStyleMarkup): Adds markup for style span and div
1148         (WebCore::createMarkup): Uses isElementPresentational and addStyleMarkup
1149
1150 2009-07-27  Eric Seidel  <eric@webkit.org>
1151
1152         Reviewed by Adam Barth.
1153
1154         fix more obvious global object lookups
1155         https://bugs.webkit.org/show_bug.cgi?id=27745
1156
1157         No new tests for these changes.  I believe in many cases
1158         testing to be impossible.  Lack of testing justification next to
1159         each change below.  The remaining pieces of bug 27634 will all
1160         need tests.
1161
1162         * bindings/js/JSDOMWindowBase.cpp:
1163         (WebCore::JSDOMWindowBase::updateDocument): not testable.
1164         * bindings/js/JSDataGridColumnListCustom.cpp:
1165         (WebCore::JSDataGridColumnList::nameGetter): no testing for this incomplete feature.
1166         * bindings/js/JSEventListener.cpp:
1167         (WebCore::JSEventListener::handleEvent): would require outer frame to trigger an event in the inner frame
1168         * bindings/js/JSEventTarget.cpp:
1169         (WebCore::toJS): covered by other tests, always correct to pass the globalObject through.
1170         * bindings/js/JSHTMLElementCustom.cpp:
1171         (WebCore::JSHTMLElement::pushEventHandlerScope): unclear when this could be triggered.
1172         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
1173         (WebCore::JSHTMLOptionsCollection::remove): toJS seems superfluous here to begin with.
1174         * bindings/js/JSLazyEventListener.cpp:
1175         (WebCore::JSLazyEventListener::parseCode): would require outer frame to trigger inner frame event.
1176         * bindings/js/ScriptController.cpp:
1177         (WebCore::ScriptController::jsObjectForPluginElement): only used for NPAPI binding, unclear how to test.
1178         * bindings/js/ScriptEventListener.cpp:
1179         (WebCore::createAttributeEventListener): unclear how to test.
1180         * bindings/js/ScriptObject.cpp:
1181         (WebCore::ScriptGlobalObject::set): unclear how to test/inspector only.
1182         * bindings/js/ScriptObjectQuarantine.cpp:
1183         (WebCore::getQuarantinedScriptObject): unclear how to test.
1184         * bindings/objc/DOMInternal.mm:
1185         (-[WebScriptObject _initializeScriptDOMNodeImp]): unclear how to test.
1186
1187 2009-07-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1188
1189         Reviewed by George Staikos.
1190
1191         [WML] 'title' attribute handling not correct for <a> / <anchor> elements
1192         https://bugs.webkit.org/show_bug.cgi?id=27720
1193
1194         Unify title() implementation in WMLElement instead of several copies of the same logic.
1195         We forgot WMLAnchorElement/WMLAElement, that lead to bugs. Fixes hovering links in the
1196         WML manual-test suite.
1197
1198         * wml/WMLCardElement.cpp:
1199         * wml/WMLCardElement.h:
1200         * wml/WMLElement.cpp:
1201         (WebCore::WMLElement::title):
1202         * wml/WMLElement.h:
1203         * wml/WMLOptGroupElement.cpp:
1204         * wml/WMLOptGroupElement.h:
1205         * wml/WMLSelectElement.cpp:
1206         * wml/WMLSelectElement.h:
1207
1208 2009-07-27  Adam Treat  <adam.treat@torchmobile.com>
1209
1210         Speculative build fix for Windows and WinCE.
1211
1212         * plugins/win/PluginPackageWin.cpp:
1213         (WebCore::PluginPackage::load):
1214
1215 2009-07-27  Ojan Vafai  <ojan@chromium.org>
1216
1217         Reviewed by Darin Adler.
1218
1219         https://bugs.webkit.org/show_bug.cgi?id=27474
1220         Fixes crashes due to renderer getting destroyed in updateLayout.
1221         We need to call updateLayout before we call into the renderer.
1222         Removed the updateLayout call from RenderTextControl and moved it
1223         into the calling sites.
1224         
1225         Also changes updateLayout to updateLayoutIgnorePendingStylesheets so
1226         this works with pending stylesheets. Unfortunately, this seems to be
1227         untestable. Loading an external stylesheet and then having an inline
1228         script hit this code did not result in an pending stylesheets.
1229         
1230         The are other cases of this bug in the rendering code. I'll file a 
1231         followup bug to audit the calls to updateLayout.
1232
1233         Test: fast/dom/text-control-crash-on-select.html
1234
1235         * dom/Document.h:
1236         (WebCore::Document::inStyleRecalc): Added so the ASSERTs in updateFocusAppearance
1237             and setSelectionRange could deal with cases of reentrancy into updateLayout
1238             calls. This happens in a couple layout tests.
1239         * dom/InputElement.cpp:
1240         (WebCore::InputElement::updateSelectionRange):
1241         * html/HTMLInputElement.cpp:
1242         (WebCore::isTextFieldWithRendererAfterUpdateLayout):
1243         (WebCore::HTMLInputElement::setSelectionStart):
1244         (WebCore::HTMLInputElement::setSelectionEnd):
1245         (WebCore::HTMLInputElement::select):
1246         * html/HTMLTextAreaElement.cpp:
1247         (WebCore::rendererAfterUpdateLayout):
1248         (WebCore::HTMLTextAreaElement::setSelectionStart):
1249         (WebCore::HTMLTextAreaElement::setSelectionEnd):
1250         (WebCore::HTMLTextAreaElement::select):
1251         (WebCore::HTMLTextAreaElement::setSelectionRange):
1252         (WebCore::HTMLTextAreaElement::updateFocusAppearance):
1253         * rendering/RenderTextControl.cpp:
1254         (WebCore::RenderTextControl::setSelectionRange):
1255
1256 2009-07-27  Dimitri Glazkov  <dglazkov@chromium.org>
1257
1258         Reviewed by Dave Levin.
1259
1260         [V8] Remove parameterless frame/window retrieval methods from V8Proxy.
1261         https://bugs.webkit.org/show_bug.cgi?id=27737
1262
1263         Refactoring, no new behavior, covered by existing tests.
1264
1265         * bindings/v8/ScriptCallStack.cpp:
1266         (WebCore::ScriptCallStack::ScriptCallStack):
1267         * bindings/v8/V8NPUtils.cpp:
1268         (convertV8ObjectToNPVariant): Ditto.
1269         * bindings/v8/V8Proxy.cpp:
1270         (WebCore::V8Proxy::retrieve): Ditto.
1271         (WebCore::V8Proxy::canAccessPrivate): Ditto.
1272         * bindings/v8/V8Proxy.h: Removed parameterless retrieveWindow/retrieveProxy decls.
1273         * bindings/v8/custom/V8DatabaseCustom.cpp:
1274         (WebCore::CALLBACK_FUNC_DECL): Changed to use V8Proxy::retrieveFrameForCurrentContext().
1275         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
1276         (WebCore::CALLBACK_FUNC_DECL): Ditto.
1277         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1278         (WebCore::CALLBACK_FUNC_DECL): Ditto.
1279         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
1280         (WebCore::CALLBACK_FUNC_DECL): Ditto.
1281         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
1282         (WebCore::CALLBACK_FUNC_DECL): Ditto.
1283         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
1284         (WebCore::CALLBACK_FUNC_DECL): Ditto.
1285         * bindings/v8/custom/V8WorkerCustom.cpp:
1286         (WebCore::CALLBACK_FUNC_DECL): Ditto.
1287         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
1288         (WebCore::CALLBACK_FUNC_DECL): Ditto.
1289
1290 2009-07-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1291
1292         Reviewed by George Staikos.
1293
1294         [WML] 'onpick' intrinsic event handling missing
1295         https://bugs.webkit.org/show_bug.cgi?id=27723
1296
1297         Trigger 'onpick' intrinsic events from WMLOptionElement::setSelectedState().
1298         All was in place, just forgot to enable the relevant code.
1299
1300         Fixes manual-tests/wml/select-onpick-event.wml
1301         Test: wml/option-element-onpick.html
1302
1303         * wml/WMLOptionElement.cpp:
1304         (WebCore::WMLOptionElement::setSelectedState):
1305
1306 2009-07-27  Alexey Proskuryakov  <ap@webkit.org>
1307
1308         Reviewed by Darin Adler.
1309
1310         https://bugs.webkit.org/show_bug.cgi?id=27735
1311         Give a helpful name to JSLock constructor argument
1312
1313         * bindings/js/GCController.cpp:
1314         (WebCore::collect):
1315         (WebCore::GCController::gcTimerFired):
1316         (WebCore::GCController::garbageCollectNow):
1317         * bindings/js/JSCustomPositionCallback.cpp:
1318         (WebCore::JSCustomPositionCallback::handleEvent):
1319         * bindings/js/JSCustomPositionErrorCallback.cpp:
1320         (WebCore::JSCustomPositionErrorCallback::handleEvent):
1321         * bindings/js/JSCustomSQLStatementCallback.cpp:
1322         (WebCore::JSCustomSQLStatementCallback::handleEvent):
1323         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1324         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
1325         * bindings/js/JSCustomSQLTransactionCallback.cpp:
1326         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
1327         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
1328         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
1329         * bindings/js/JSCustomVoidCallback.cpp:
1330         (WebCore::JSCustomVoidCallback::handleEvent):
1331         * bindings/js/JSCustomXPathNSResolver.cpp:
1332         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1333         * bindings/js/JSEventCustom.cpp:
1334         (WebCore::toJS):
1335         * bindings/js/JSEventListener.cpp:
1336         (WebCore::JSEventListener::handleEvent):
1337         * bindings/js/JSInspectorBackendCustom.cpp:
1338         (WebCore::JSInspectorBackend::currentCallFrame):
1339         (WebCore::JSInspectorBackend::profiles):
1340         * bindings/js/JSNodeFilterCondition.cpp:
1341         (WebCore::JSNodeFilterCondition::acceptNode):
1342         * bindings/js/ScheduledAction.cpp:
1343         (WebCore::ScheduledAction::executeFunctionInContext):
1344         * bindings/js/ScriptArray.cpp:
1345         (WebCore::ScriptArray::set):
1346         (WebCore::ScriptArray::createNew):
1347         * bindings/js/ScriptCachedFrameData.cpp:
1348         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
1349         (WebCore::ScriptCachedFrameData::restore):
1350         (WebCore::ScriptCachedFrameData::clear):
1351         * bindings/js/ScriptController.cpp:
1352         (WebCore::ScriptController::evaluate):
1353         (WebCore::ScriptController::clearWindowShell):
1354         (WebCore::ScriptController::initScript):
1355         (WebCore::ScriptController::updateDocument):
1356         (WebCore::ScriptController::bindingRootObject):
1357         (WebCore::ScriptController::windowScriptNPObject):
1358         (WebCore::ScriptController::jsObjectForPluginElement):
1359         (WebCore::ScriptController::clearScriptObjects):
1360         * bindings/js/ScriptControllerMac.mm:
1361         (WebCore::ScriptController::windowScriptObject):
1362         * bindings/js/ScriptEventListener.cpp:
1363         (WebCore::createAttributeEventListener):
1364         * bindings/js/ScriptFunctionCall.cpp:
1365         (WebCore::ScriptFunctionCall::appendArgument):
1366         (WebCore::ScriptFunctionCall::call):
1367         (WebCore::ScriptFunctionCall::construct):
1368         * bindings/js/ScriptObject.cpp:
1369         (WebCore::ScriptObject::set):
1370         (WebCore::ScriptObject::createNew):
1371         (WebCore::ScriptGlobalObject::set):
1372         (WebCore::ScriptGlobalObject::get):
1373         (WebCore::ScriptGlobalObject::remove):
1374         * bindings/js/ScriptObjectQuarantine.cpp:
1375         (WebCore::quarantineValue):
1376         (WebCore::getQuarantinedScriptObject):
1377         * bindings/js/ScriptValue.cpp:
1378         (WebCore::ScriptValue::getString):
1379         * bindings/js/WorkerScriptController.cpp:
1380         (WebCore::WorkerScriptController::initScript):
1381         (WebCore::WorkerScriptController::evaluate):
1382         * bindings/objc/WebScriptObject.mm:
1383         (-[WebScriptObject callWebScriptMethod:withArguments:]):
1384         (-[WebScriptObject evaluateWebScript:]):
1385         (-[WebScriptObject setValue:forKey:]):
1386         (-[WebScriptObject valueForKey:]):
1387         (-[WebScriptObject removeWebScriptKey:]):
1388         (-[WebScriptObject stringRepresentation]):
1389         (-[WebScriptObject webScriptValueAtIndex:]):
1390         (-[WebScriptObject setWebScriptValueAtIndex:value:]):
1391         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
1392         * bridge/NP_jsobject.cpp:
1393         (_NPN_InvokeDefault):
1394         (_NPN_Invoke):
1395         (_NPN_Evaluate):
1396         (_NPN_GetProperty):
1397         (_NPN_SetProperty):
1398         (_NPN_RemoveProperty):
1399         (_NPN_HasProperty):
1400         (_NPN_HasMethod):
1401         (_NPN_Enumerate):
1402         (_NPN_Construct):
1403         * bridge/c/c_class.cpp:
1404         (JSC::Bindings::CClass::~CClass):
1405         (JSC::Bindings::CClass::methodsNamed):
1406         (JSC::Bindings::CClass::fieldNamed):
1407         * bridge/c/c_instance.cpp:
1408         (JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
1409         (JSC::Bindings::CInstance::invokeMethod):
1410         (JSC::Bindings::CInstance::invokeDefaultMethod):
1411         (JSC::Bindings::CInstance::invokeConstruct):
1412         (JSC::Bindings::CInstance::getPropertyNames):
1413         * bridge/c/c_runtime.cpp:
1414         (JSC::Bindings::CField::valueFromInstance):
1415         (JSC::Bindings::CField::setValueToInstance):
1416         * bridge/c/c_utility.cpp:
1417         (JSC::Bindings::convertValueToNPVariant):
1418         (JSC::Bindings::convertNPVariantToValue):
1419         * bridge/jni/jni_class.cpp:
1420         (JavaClass::JavaClass):
1421         (JavaClass::~JavaClass):
1422         * bridge/jni/jni_instance.cpp:
1423         (JavaInstance::stringValue):
1424         * bridge/jni/jni_jsobject.mm:
1425         (JavaJSObject::call):
1426         (JavaJSObject::eval):
1427         (JavaJSObject::getMember):
1428         (JavaJSObject::setMember):
1429         (JavaJSObject::removeMember):
1430         (JavaJSObject::getSlot):
1431         (JavaJSObject::setSlot):
1432         (JavaJSObject::toString):
1433         (JavaJSObject::convertValueToJObject):
1434         (JavaJSObject::convertJObjectToValue):
1435         * bridge/jni/jni_objc.mm:
1436         (JSC::Bindings::dispatchJNICall):
1437         * bridge/jni/jni_runtime.cpp:
1438         (JavaMethod::signature):
1439         * bridge/jni/jni_runtime.h:
1440         (JSC::Bindings::JavaString::JavaString):
1441         (JSC::Bindings::JavaString::_commonInit):
1442         (JSC::Bindings::JavaString::~JavaString):
1443         (JSC::Bindings::JavaString::UTF8String):
1444         * bridge/jni/jni_utility.cpp:
1445         (JSC::Bindings::convertValueToJValue):
1446         * bridge/objc/objc_instance.mm:
1447         (ObjcInstance::moveGlobalExceptionToExecState):
1448         (ObjcInstance::invokeMethod):
1449         (ObjcInstance::invokeDefaultMethod):
1450         (ObjcInstance::setValueOfUndefinedField):
1451         (ObjcInstance::getValueOfUndefinedField):
1452         * bridge/objc/objc_runtime.mm:
1453         (JSC::Bindings::ObjcField::valueFromInstance):
1454         (JSC::Bindings::ObjcField::setValueToInstance):
1455         * bridge/objc/objc_utility.mm:
1456         (JSC::Bindings::convertValueToObjcValue):
1457         (JSC::Bindings::convertNSStringToString):
1458         (JSC::Bindings::convertObjcValueToValue):
1459         * bridge/qt/qt_instance.cpp:
1460         (JSC::Bindings::QtRuntimeObjectImp::removeFromCache):
1461         (JSC::Bindings::QtInstance::~QtInstance):
1462         (JSC::Bindings::QtInstance::getQtInstance):
1463         (JSC::Bindings::QtInstance::createRuntimeObject):
1464         * bridge/qt/qt_runtime.cpp:
1465         (JSC::Bindings::convertValueToQVariant):
1466         (JSC::Bindings::convertQVariantToValue):
1467         (JSC::Bindings::QtRuntimeMetaMethod::call):
1468         (JSC::Bindings::QtRuntimeConnectionMethod::call):
1469         (JSC::Bindings::QtConnectionObject::execute):
1470         * bridge/runtime.cpp:
1471         (JSC::Bindings::Instance::createRuntimeObject):
1472         * inspector/InspectorController.cpp:
1473         (WebCore::InspectorController::addScriptProfile):
1474         * inspector/JavaScriptCallFrame.cpp:
1475         (WebCore::JavaScriptCallFrame::evaluate):
1476         * inspector/JavaScriptDebugServer.cpp:
1477         (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
1478         * inspector/JavaScriptProfileNode.cpp:
1479         (WebCore::getTotalTime):
1480         (WebCore::getSelfTime):
1481         (WebCore::getTotalPercent):
1482         (WebCore::getSelfPercent):
1483         (WebCore::getNumberOfCalls):
1484         (WebCore::getChildren):
1485         (WebCore::getParent):
1486         (WebCore::getHead):
1487         (WebCore::getVisible):
1488         (WebCore::getCallUID):
1489         * plugins/PluginView.cpp:
1490         (WebCore::PluginView::start):
1491         (WebCore::getString):
1492         (WebCore::PluginView::performRequest):
1493         (WebCore::PluginView::bindingInstance):
1494         * plugins/gtk/PluginViewGtk.cpp:
1495         (WebCore::PluginView::dispatchNPEvent):
1496         (WebCore::PluginView::handleKeyboardEvent):
1497         (WebCore::PluginView::handleMouseEvent):
1498         (WebCore::PluginView::setNPWindowIfNeeded):
1499         (WebCore::PluginView::stop):
1500         (WebCore::PluginView::init):
1501         * plugins/mac/PluginViewMac.cpp:
1502         (WebCore::PluginView::stop):
1503         (WebCore::PluginView::setNPWindowIfNeeded):
1504         (WebCore::PluginView::dispatchNPEvent):
1505         * plugins/qt/PluginViewQt.cpp:
1506         (WebCore::PluginView::setNPWindowIfNeeded):
1507         (WebCore::PluginView::stop):
1508         (WebCore::PluginView::init):
1509         * plugins/win/PluginViewWin.cpp:
1510         (WebCore::PluginView::dispatchNPEvent):
1511         (WebCore::PluginView::handleKeyboardEvent):
1512         (WebCore::PluginView::handleMouseEvent):
1513         (WebCore::PluginView::setNPWindowRect):
1514         (WebCore::PluginView::stop):
1515
1516 2009-07-27  Yong Li  <yong.li@torchmobile.com>
1517
1518         Reviewed by George Staikos.
1519
1520         WINCE PORT: Make plugin work for WINCE
1521         https://bugs.webkit.org/show_bug.cgi?id=27713
1522
1523         * plugins/win/PluginDatabaseWin.cpp:
1524         (SHGetValue):
1525         (PathRemoveFileSpec):
1526         (WebCore::addWindowsMediaPlayerPluginDirectory):
1527         (WebCore::addMacromediaPluginDirectories):
1528         * plugins/win/PluginPackageWin.cpp:
1529         (WebCore::PluginPackage::load):
1530         * plugins/win/PluginViewWin.cpp:
1531         (WebCore::registerPluginView):
1532         (WebCore::PluginView::wndProc):
1533         (WebCore::PluginView::updatePluginWidget):
1534         (WebCore::PluginView::paintWindowedPluginIntoContext):
1535         (WebCore::PluginView::paint):
1536         (WebCore::PluginView::handleMouseEvent):
1537         (WebCore::PluginView::setParent):
1538         (WebCore::PluginView::setNPWindowRect):
1539         (WebCore::PluginView::stop):
1540         (WebCore::PluginView::init):
1541
1542 2009-07-27  Joseph Pecoraro  <joepeck02@gmail.com>
1543
1544         Inspector: Tab Through Element Attributes and CSS Properties When Editing
1545
1546         https://bugs.webkit.org/show_bug.cgi?id=27673
1547
1548         Reviewed by Timothy Hatcher.
1549
1550         * inspector/front-end/ElementsTreeOutline.js:
1551         (WebInspector.ElementsTreeElement):
1552         (WebInspector.ElementsTreeElement.prototype._startEditing): refactored parameter
1553         (WebInspector.ElementsTreeElement.prototype._addNewAttribute): refactored to remove excess
1554         (WebInspector.ElementsTreeElement.prototype._triggerEditAttribute): provide an attribute name and this will start editing it
1555         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.moveToNextAttributeIfNeeded): move between attributes
1556         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
1557         * inspector/front-end/StylesSidebarPane.js:
1558         (WebInspector.StylePropertiesSection.prototype.onpopulate):
1559         (WebInspector.StylePropertiesSection.prototype.findTreeElementWithName): search through treeElements for a style property name
1560         (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty): initialize a blank property for adding new properties
1561         (WebInspector.StylePropertyTreeElement.prototype.updateTitle): add references to the name and value elements
1562         (WebInspector.StylePropertyTreeElement.prototype.):
1563         (WebInspector.StylePropertyTreeElement.prototype):
1564         * inspector/front-end/inspector.js:
1565         (WebInspector.startEditing.editingCommitted): include the move direction as a parameter to the commit callback
1566         (WebInspector.startEditing.element.handleKeyEvent): handle the tab key to specify the move direction
1567         (WebInspector.startEditing):
1568
1569 2009-07-27  Mike Fenton  <mike.fenton@torchmobile.com>
1570
1571         Reviewed by Adam Treat.
1572
1573         Add mapping FontWeight to QFont::Weight values as requested via FIXME.
1574         https://bugs.webkit.org/show_bug.cgi?id=27663
1575
1576         * platform/graphics/qt/FontCacheQt.cpp:
1577         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
1578         * platform/graphics/qt/FontPlatformData.h:
1579         (WebCore::FontPlatformData::toQFontWeight):
1580         * platform/graphics/qt/FontPlatformDataQt.cpp:
1581         (WebCore::FontPlatformData::FontPlatformData):
1582
1583 2009-07-27  Jakub Wieczorek  <faw217@gmail.com>
1584
1585          Reviewed by Adam Treat.
1586
1587          When clearing the plugin database, clear also the timestamp map.
1588
1589          https://bugs.webkit.org/show_bug.cgi?id=27651
1590
1591          Currently, if we clear the database, it will still think that it is up
1592          to date with the plugin directories so refreshing the database again
1593          after changing the search paths may not work.
1594
1595          * plugins/PluginDatabase.cpp:
1596          (WebCore::PluginDatabase::clear):
1597
1598 2009-07-27  Albert J. Wong  <ajwong@chromium.org>
1599
1600         Reviewed by David Levin.
1601
1602         Add in trivial implementation of FontPlatformData::description() for
1603         linux to fix build bustage in chromium.
1604
1605         Fix chromium linux build by adding missing function implementation.
1606         https://bugs.webkit.org/show_bug.cgi?id=27732
1607
1608         Tested with a build of chromium on linux.
1609
1610         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
1611         (WebCore::FontPlatformData::description):
1612         * platform/graphics/chromium/FontPlatformDataLinux.h:
1613
1614 2009-07-27  Brent Fulgham  <bfulgham@webkit.org>
1615
1616         Build correct, no review.
1617
1618         Final correction for WinCairo builds.
1619         CoreServices only exists in Apple builds, but
1620         some of its internal includes (e.g., <windows.h>) are needed
1621         for other Windows targets.
1622
1623         * WebCorePrefix.h: When building for WinCairo, make sure
1624           to include <windows.h>, <stdio.h>, and <ConditionalMacros.h>
1625
1626 2009-07-27  Michelangelo De Simone  <micdesim@gmail.com>
1627
1628         Reviewed by Darin Adler.
1629
1630         https://bugs.webkit.org/show_bug.cgi?id=25552
1631         Added new "pattern" attribute to HTMLInputElement and validation code
1632         (validity.patternMismatch) as per HTML5 specs.
1633         http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr-input-pattern
1634
1635         Tests: fast/forms/ValidityState-002.html
1636                fast/forms/ValidityState-patternMismatch-001.html
1637                fast/forms/ValidityState-patternMismatch-002.html
1638                fast/forms/ValidityState-patternMismatch-003.html
1639                fast/forms/ValidityState-patternMismatch-004.html
1640                fast/forms/ValidityState-patternMismatch-005.html
1641                fast/forms/ValidityState-patternMismatch-006.html
1642                fast/forms/ValidityState-patternMismatch-007.html
1643                fast/forms/pattern-attribute-001.html
1644                fast/forms/pattern-attribute-002.html
1645                fast/forms/pattern-attribute-003.html
1646
1647         * html/HTMLAttributeNames.in: pattern attribute
1648         * html/HTMLFormControlElement.h:
1649         (WebCore::HTMLFormControlElement::patternMismatch): method definition
1650         * html/HTMLInputElement.cpp:
1651         (WebCore::HTMLInputElement::patternMismatch): validation method
1652         * html/HTMLInputElement.h:
1653         * html/HTMLInputElement.idl:
1654         * html/ValidityState.h:
1655         (WebCore::ValidityState::patternMismatch): validation flag
1656
1657 2009-07-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1658
1659         Reviewed by George Staikos.
1660
1661         [WML] Manual WML tests aren't properly working
1662         https://bugs.webkit.org/show_bug.cgi?id=27718
1663
1664         Fix file paths in the manual WML layout tests, remove unneeded tests (already covered by DRT tests).
1665         Add missing resources directory and test image. Reformat all testcases to a common style.
1666         Add new StartTests.wml file, which should be used as starting point to crawl through the manual tests.
1667
1668         Filing bugs soon for all tests exposing bugs (7 in total).
1669
1670         * manual-tests/wml/StartTests.wml: Added.
1671         * manual-tests/wml/a-br-element.wml:
1672         * manual-tests/wml/a-element.wml:
1673         * manual-tests/wml/a-img-element.wml:
1674         * manual-tests/wml/access-target.wml:
1675         * manual-tests/wml/anchor-br-element.wml:
1676         * manual-tests/wml/anchor-element.wml:
1677         * manual-tests/wml/anchor-img-element.wml:
1678         * manual-tests/wml/card-newcontext-attr.wml:
1679         * manual-tests/wml/card-onenterbackward.wml:
1680         * manual-tests/wml/card-onenterforward.wml:
1681         * manual-tests/wml/card-ontimer.wml:
1682         * manual-tests/wml/card-title-attr.wml: Removed.
1683         * manual-tests/wml/deck-access-control.wml:
1684         * manual-tests/wml/go-element.wml: Removed.
1685         * manual-tests/wml/input-emptyok.wml: Removed.
1686         * manual-tests/wml/input-format.wml:
1687         * manual-tests/wml/onevent-go.wml:
1688         * manual-tests/wml/onevent-noop.wml:
1689         * manual-tests/wml/onevent-prev.wml:
1690         * manual-tests/wml/onevent-refresh.wml:
1691         * manual-tests/wml/onevent-shadow.wml:
1692         * manual-tests/wml/postfield-get.wml: Removed.
1693         * manual-tests/wml/postfield-post.wml: Removed.
1694         * manual-tests/wml/resources: Added.
1695         * manual-tests/wml/resources/smiley.png: Added.
1696         * manual-tests/wml/select-element.wml:
1697         * manual-tests/wml/select-onpick-event.wml:
1698         * manual-tests/wml/setvar-element.wml:
1699         * manual-tests/wml/targetdeck.wml:
1700         * manual-tests/wml/task-go-in-anchor.wml:
1701         * manual-tests/wml/task-noop-in-do.wml:
1702         * manual-tests/wml/task-noop-in-onevent.wml: Removed.
1703         * manual-tests/wml/task-prev-in-anchor.wml:
1704         * manual-tests/wml/task-refresh-in-anchor.wml:
1705         * manual-tests/wml/template-go.wml:
1706         * manual-tests/wml/template-onevent.wml: Removed.
1707         * manual-tests/wml/template-ontimer.wml:
1708         * manual-tests/wml/timer.wml:
1709         * manual-tests/wml/variable-substitution.wml:
1710
1711 2009-07-27  Nate Chapin  <japhet@chromium.org>
1712
1713         Reviewed by Dimitri Glazkov.
1714
1715         Fix a regression introduced in r42671, which caused the js event 
1716         object to be hidden (some websites depend on being able to access it).
1717
1718         https://bugs.webkit.org/show_bug.cgi?id=27719
1719
1720         * bindings/v8/V8AbstractEventListener.cpp:
1721         (WebCore::V8AbstractEventListener::invokeEventHandler): Make the event object visible to javascript, instead of hidden.
1722
1723 2009-07-27  Dumitru Daniliuc  <dumi@chromium.org>
1724
1725         Reviewed by Dimitri Glazkov.
1726
1727         Removing a no-op block of code in DatabaseTracker.cpp that
1728         should've been removed in the patch for bug 26054.
1729
1730         https://bugs.webkit.org/show_bug.cgi?id=27666
1731
1732         All tests in WebCore/storage pass.
1733
1734         * storage/DatabaseTracker.cpp:
1735         (WebCore::DatabaseTracker::fullPathForDatabase): Removed a no-op
1736         block of code that was moved to SQLiteFileSystem.cpp and should
1737         have been removed from DatabaseTracker.cpp
1738
1739 2009-07-27  Jian Li  <jianli@chromium.org>
1740
1741         Reviewed by David Levin.
1742
1743         Fix error handling in dedicated worker and worker context.
1744         https://bugs.webkit.org/show_bug.cgi?id=27525
1745
1746         The following problems have been fixed:
1747         1) The uncaught runtime script error is not reported using the
1748         WorkerGlobalScope object's onerror attribute.
1749         2) If the error is still not handled afterwards (onerror attribute
1750         is not defined as a function or it returns true), the error should
1751         be reported back to the associated Worker object by firing an
1752         ErrorEvent.
1753         3) If the error is still not handled by the associated Worker
1754         object, the error should be reported to the user.
1755
1756         Test: fast/workers/worker-script-error.html
1757
1758         * bindings/js/JSEventListener.cpp:
1759         (WebCore::JSEventListener::reportError):
1760         * bindings/js/JSEventListener.h:
1761         * dom/EventListener.h:
1762         (WebCore::EventListener::reportError): adds a function to call
1763         EventListener as a function with 3 arguments to report an error.
1764         * workers/AbstractWorker.cpp:
1765         (WebCore::AbstractWorker::dispatchScriptErrorEvent):
1766         * workers/AbstractWorker.h:
1767         * workers/DedicatedWorkerContext.cpp:
1768         (WebCore::DedicatedWorkerContext::reportException):
1769         * workers/WorkerContext.cpp:
1770         (WebCore::WorkerContext::reportException):
1771         * workers/WorkerContext.h:
1772         * workers/WorkerMessagingProxy.cpp:
1773         (WebCore::WorkerExceptionTask::performTask):
1774         * workers/WorkerMessagingProxy.h:
1775
1776 2009-07-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1777
1778         Reviewed by George Staikos.
1779
1780         [WML] History handling / page cache / loading is buggy and depends on several hacks
1781         https://bugs.webkit.org/show_bug.cgi?id=27707
1782
1783         Redesign WML history/loading handling. In detail:
1784
1785         - Remove FrameLoader::setForceReloadWmlDeck(). WML used to force a special loading behaviour
1786           by calling this method from WMLGoElement & friends - instead teach FrameLoader to detect
1787           WML content itself.
1788
1789           WML content is usually a standalone WML document (isWMLDocument()=true) or as special case
1790           an XHTML document which embeds a WML document (that's the way the WML layout tests work).
1791           Force WML loading behaviour even for XHTML document which embed WML documents. This only
1792           applies to our layout tests, not for any real world site. Though it gives us a perfect
1793           way to test the WML loading code even when we're not operating on a standalone WML document.
1794
1795           Whenever a WMLCardElement is inserted into the document it will check wheter it's inserted
1796           in a standalone WML document or wheter the main frame document is different. If it differs
1797           the main frame documents' "containsWMLContent" property is set to true.
1798
1799           -> Make FrameLoader::shouldReload() use the new frameContainsWMLContent() method, which
1800              checks if the associated frame document is a WML document or wheter it contains WML content.
1801
1802         - Change FrameLoader::loadItem() to use the new frameContainsWMLContent() method for 'shouldScroll'
1803           detection. WML documents (or those containing WML content) always want new loads even for in-page
1804           navigation. No "scroll to anchor" mechanism should apply.
1805
1806         - Modify FrameLoader::canCachePageContainingThisFrame() to check for !frameContainsWMLContent().
1807           WML pages should never be cached, potential security problem due the use of variables (per spec).
1808
1809         Add two new WML tests which were broken before, testing onenterforward/onenterbackward event handling
1810         and history navigation (<prev/> task).
1811
1812         Tests: wml/enter-card-with-events.html
1813                wml/enter-first-card-with-events.html
1814
1815         * dom/Document.cpp: Initialize new 'm_containsWMLContent' property.
1816         (WebCore::Document::Document):
1817         * dom/Document.h: Add new helper methods and 'm_containsWMLContent" variable (explained above).
1818         (WebCore::Document::setContainsWMLContent):
1819         (WebCore::Document::containsWMLContent):
1820         * history/BackForwardList.cpp:
1821         (WebCore::BackForwardList::clearWMLPageHistory): Renamed from clearWmlPageHistory() & slight cleanup.
1822         * history/BackForwardList.h:
1823         * loader/FrameLoader.cpp: Rework WML loading behaviour (explained above).
1824         (WebCore::FrameLoader::FrameLoader):
1825         (WebCore::frameContainsWMLContent):
1826         (WebCore::FrameLoader::canCachePageContainingThisFrame):
1827         (WebCore::FrameLoader::shouldReload):
1828         (WebCore::FrameLoader::loadItem):
1829         * loader/FrameLoader.h:
1830         * wml/WMLCardElement.cpp: 
1831         (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): No need anymore to manually track history length.
1832         (WebCore::WMLCardElement::insertedIntoDocument): Handle setting containsWMLContent on the main frame document.
1833         * wml/WMLGoElement.cpp: 
1834         (WebCore::WMLGoElement::executeTask): Remove call to FrameLoader::setForceReloadWmlDeck()
1835         * wml/WMLPageState.cpp: Remove 'm_historyLength' - no need anymore to track history length on our own.
1836         (WebCore::WMLPageState::WMLPageState):
1837         (WebCore::WMLPageState::dump):
1838         (WebCore::WMLPageState::reset):
1839         * wml/WMLPageState.h:
1840
1841 2009-07-27  Pavel Feldman  <pfeldman@chromium.org>
1842
1843         Reviewed by Adam Roben.
1844
1845         Fix Chromium build breakage introduced in 46388.
1846
1847         https://bugs.webkit.org/show_bug.cgi?id=27705
1848
1849         * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
1850         (WebCore::FontPlatformData::description):
1851         * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
1852
1853 2009-07-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1854
1855         Reviewed by Simon Hausmann.
1856
1857         Add some more debug logging to PluginViewMac.
1858
1859         * plugins/mac/PluginViewMac.cpp:
1860
1861 2009-07-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1862
1863         Reviewed by Jan Michael Alonzo.
1864
1865         Remove dead code from the GTK NPAPI implementation.
1866
1867         * plugins/gtk/PluginViewGtk.cpp:
1868
1869 2009-07-27  Csaba Osztrogonac  <oszi@inf.u-szeged.hu>
1870
1871         Reviewed by Simon Hausmann.
1872
1873         [Qt] Buildfix on Windows.
1874         https://bugs.webkit.org/show_bug.cgi?id=27702
1875
1876         * plugins/win/PluginViewWin.cpp:
1877         (WebCore::PluginView::hookedEndPaint):
1878             Constraint of (*endPaint) operand modified from "g" to "m" (memory) in inline 
1879             assembly, because with "g" constraint, wrong assembly code generated.
1880
1881 2009-07-27  Pavel Feldman  <pfeldman@chromium.org>
1882
1883         Reviewed by Timothy Hatcher.
1884
1885         WebCore bindings: Implement ScriptArray bindings.
1886
1887         https://bugs.webkit.org/show_bug.cgi?id=27691
1888
1889         * GNUmakefile.am:
1890         * WebCore.gypi:
1891         * WebCore.pro:
1892         * WebCore.vcproj/WebCore.vcproj:
1893         * WebCore.xcodeproj/project.pbxproj:
1894         * bindings/js/ScriptArray.cpp: Added.
1895         (WebCore::ScriptArray::ScriptArray):
1896         (WebCore::handleException):
1897         (WebCore::ScriptArray::set):
1898         (WebCore::length):
1899         (WebCore::ScriptArray::createNew):
1900         * bindings/js/ScriptArray.h: Added.
1901         (WebCore::ScriptArray::ScriptArray):
1902         (WebCore::ScriptArray::jsArray):
1903         * bindings/v8/ScriptArray.cpp: Added.
1904         (WebCore::ScriptArray::ScriptArray):
1905         (WebCore::ScriptArray::set):
1906         (WebCore::ScriptArray::length):
1907         (WebCore::ScriptArray::createNew):
1908         * bindings/v8/ScriptArray.h: Added.
1909         (WebCore::ScriptArray::ScriptArray):
1910         (WebCore::ScriptArray::~ScriptArray):
1911
1912 2009-07-27  Brent Fulgham  <bfulgham@webkit.org>
1913
1914         Build correct, no review.
1915
1916         Change in r46407 broke Apple Windows build.
1917         Switch to WinCairo-only test, to avoid any
1918         other platform break.
1919
1920         * WebCorePrefix.h: 
1921
1922 2009-07-26  Brent Fulgham  <bfulgham@webkit.org>
1923
1924         Build correct, no review.
1925
1926         Change in r46407 broke Apple Windows build.
1927
1928         * WebCorePrefix.h: Use WTF_PLATFORM_CG to decide if
1929           CoreServices.h should be included.
1930
1931 2009-07-26  Brent Fulgham  <bfulgham@webkit.org>
1932
1933         Build correction, no review.
1934
1935         Change in r46195 broke WinCairo build.
1936
1937         * WebCorePrefix.h: CoreServices should be ignored
1938           for non-Apple build.
1939
1940 2009-07-26  Pavel Feldman  <pfeldman@chromium.org>
1941
1942         Reviewed by Timothy Hatcher.
1943
1944         Web Inspector: Implement the breakpoints sidebar pane.
1945         This change adds simple UI support into the existing
1946         BreakpointSidebarPane.
1947
1948         https://bugs.webkit.org/show_bug.cgi?id=11175
1949
1950         * inspector/front-end/Breakpoint.js:
1951         (WebInspector.Breakpoint.prototype.set enabled):
1952         (WebInspector.Breakpoint.prototype.get label):
1953         (WebInspector.Breakpoint.prototype.get id):
1954         * inspector/front-end/BreakpointsSidebarPane.js:
1955         (WebInspector.BreakpointsSidebarPane):
1956         (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
1957         (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement):
1958         (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement.labelClicked):
1959         (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
1960         (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
1961         * inspector/front-end/ScriptsPanel.js:
1962         (WebInspector.ScriptsPanel):
1963         (WebInspector.ScriptsPanel.prototype.scriptOrResourceForID):
1964         * inspector/front-end/inspector.css:
1965
1966 2009-07-16  Shinichiro Hamaji  <hamaji@chromium.org>
1967
1968         Reviewed by Oliver Hunt.
1969
1970         Canvas: rotation of 'no-repeat' pattern still has small error
1971         https://bugs.webkit.org/show_bug.cgi?id=26749
1972
1973         Use 1<<22 as steps of no-repeat pattern to make the error less
1974         than 0.5.  The previous value may cause 1 pixel errors.
1975
1976         Add another test to show this bug clearly.
1977         Also add png expected image which was missing in the previous patch.
1978
1979         Test: fast/canvas/image-pattern-rotate.html
1980
1981         * platform/graphics/cg/PatternCG.cpp:
1982         (WebCore::Pattern::createPlatformPattern):
1983
1984 2009-07-25  Kwang Yul Seo  <skyul@company100.net>
1985
1986         Reviewed by Darin Adler.
1987
1988         Windows build break due to warning C4819
1989         https://bugs.webkit.org/show_bug.cgi?id=27416
1990
1991         Disable C4819 warning to fix build.
1992
1993         * WebCore.vcproj/QTMovieWin.vcproj:
1994         * WebCore.vcproj/WebCore.vcproj:
1995
1996 2009-07-25  Joseph Pecoraro  <joepeck02@gmail.com>
1997
1998         Reviewed by Kevin McCullough.
1999
2000         Inspector: Keyboard Shortcuts to Switch Panels
2001         https://bugs.webkit.org/show_bug.cgi?id=27286
2002
2003         * inspector/front-end/inspector.js:
2004         (WebInspector.loaded): save a list of the order of the panels
2005         (WebInspector.documentKeyDown): handle the keyboard shortcuts to traverse the panels
2006
2007 2009-07-25  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2008
2009         Reviewed by George Staikos.
2010
2011         [Qt] Fix build break after r46369
2012         https://bugs.webkit.org/show_bug.cgi?id=27680
2013
2014         * WebCore.pro:
2015
2016 2009-07-25  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2017
2018         Reviewed by George Staikos.
2019
2020         [WML] Variable substitution is buggy
2021         https://bugs.webkit.org/show_bug.cgi?id=27677
2022
2023         Substitute variables upon attach() time instead of insertedIntoDocument(). Otherwhise variable substitution
2024         won't work during inter-deck jumps (same URL, different fragment). Covered by new test fast/wml/newcontext-same-deck.html.
2025
2026         * dom/Text.cpp:
2027         (WebCore::Text::attach):
2028         * dom/Text.h:
2029
2030 2009-07-25  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2031
2032         Reviewed by George Staikos.
2033
2034         [WML] WMLDoElement doesn't update its RenderButton object upon attach()
2035         https://bugs.webkit.org/show_bug.cgi?id=27676
2036
2037         WMLDoElement needs to implement attach() and call updateFromElement() on its associated RenderButton.
2038         Mimics HTMLButtonElement/HTMLFormControlElement behaviour and fixes several painting/styling issues covered by existing tests in fast/wml.
2039
2040         * wml/WMLDoElement.cpp:
2041         (WebCore::WMLDoElement::attach):
2042         * wml/WMLDoElement.h:
2043
2044 2009-07-25  Pavel Feldman  <pfeldman@chromium.org>
2045
2046         Fix Windows build breakage introduced in 46390.
2047
2048         * WebCore.vcproj/WebCore.vcproj:
2049
2050 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
2051
2052         Reviewed by Oliver Hunt.
2053
2054         Inspector: Properties Should be Sorted more Naturally
2055         https://bugs.webkit.org/show_bug.cgi?id=27329
2056
2057         * inspector/front-end/ObjectPropertiesSection.js:
2058         (WebInspector.ObjectPropertiesSection.prototype.update): use the displaySort when showing properties
2059         (WebInspector.ObjectPropertiesSection.prototype._displaySort): alphaNumerical sort
2060         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): use the displaySort when showing properties
2061         * inspector/front-end/utilities.js:
2062         (Object.sortedProperties): allow for an optional sorting function in Object.sortedProperties
2063
2064 2009-07-24  Pavel Feldman  <pfeldman@chromium.org>
2065
2066         Reviewed by Timothy Hatcher.
2067
2068         Web Inspector: Split InspectorController into InspectorController
2069         and InspectorBackend. Everything frontend needs from InspectorController
2070         will slowly migrate into the InspectorBackend.
2071
2072         https://bugs.webkit.org/show_bug.cgi?id=27541
2073
2074         * DerivedSources.make:
2075         * GNUmakefile.am:
2076         * WebCore.gypi:
2077         * WebCore.pro:
2078         * WebCore.xcodeproj/project.pbxproj:
2079         * WebCoreSources.bkl:
2080         * bindings/js/JSInspectorBackendCustom.cpp: Added.
2081         (WebCore::JSInspectorBackend::highlightDOMNode):
2082         (WebCore::JSInspectorBackend::search):
2083         (WebCore::JSInspectorBackend::databaseTableNames):
2084         (WebCore::JSInspectorBackend::inspectedWindow):
2085         (WebCore::JSInspectorBackend::setting):
2086         (WebCore::JSInspectorBackend::setSetting):
2087         (WebCore::JSInspectorBackend::wrapCallback):
2088         (WebCore::JSInspectorBackend::currentCallFrame):
2089         (WebCore::JSInspectorBackend::profiles):
2090         * bindings/v8/custom/V8InspectorBackendCustom.cpp: Added.
2091         (WebCore::CALLBACK_FUNC_DECL):
2092         * bindings/js/JSInspectorControllerCustom.cpp: Removed.
2093         * bindings/js/ScriptObject.cpp:
2094         (WebCore::ScriptGlobalObject::set):
2095         * bindings/js/ScriptObject.h:
2096         * bindings/v8/DOMObjectsInclude.h:
2097         * bindings/v8/DerivedSourcesAllInOne.cpp:
2098         * bindings/v8/ScriptObject.cpp:
2099         (WebCore::ScriptGlobalObject::set):
2100         * bindings/v8/ScriptObject.h:
2101         * bindings/v8/V8Index.cpp:
2102         * bindings/v8/V8Index.h:
2103         * bindings/v8/custom/V8CustomBinding.h:
2104         * bindings/v8/custom/V8InspectorControllerCustom.cpp: Removed.
2105         * inspector/InspectorController.cpp:
2106         (WebCore::InspectorController::InspectorController):
2107         (WebCore::InspectorController::windowScriptObjectAvailable):
2108         * inspector/InspectorController.h:
2109         (WebCore::InspectorController::inspectorBackend):
2110         * inspector/InspectorBackend.cpp: Added.
2111         * inspector/InspectorBackend.h: Added.
2112         (WebCore::InspectorBackend::create):
2113         (WebCore::InspectorBackend::inspectorController):
2114         * inspector/InspectorBackend.idl: Added.
2115         * inspector/InspectorController.idl: Removed.
2116         * inspector/front-end/Resource.js:
2117         * page/Page.cpp:
2118         (WebCore::Page::Page):
2119         * page/Page.h:
2120
2121 2009-07-25  Mike Fenton  <mike.fenton@torchmobile.com>
2122
2123         Reviewed by George Staikos.
2124
2125         Update WebCore/page/Frame.cpp/h to conform to WebKit
2126         Style Guidelines as identified by cpplint.py.
2127         https://bugs.webkit.org/show_bug.cgi?id=27654
2128
2129         * page/Frame.cpp:
2130         (WebCore::Frame::Frame):
2131         (WebCore::Frame::~Frame):
2132         (WebCore::Frame::setDocument):
2133         (WebCore::Frame::firstRectForRange):
2134         (WebCore::createRegExpForLabels):
2135         (WebCore::Frame::searchForLabelsBeforeElement):
2136         (WebCore::Frame::matchLabelsAgainstElement):
2137         (WebCore::Frame::selectionLayoutChanged):
2138         (WebCore::Frame::setZoomFactor):
2139         (WebCore::Frame::reapplyStyles):
2140         (WebCore::Frame::isContentEditable):
2141         (WebCore::Frame::computeAndSetTypingStyle):
2142         (WebCore::Frame::selectionStartStylePropertyValue):
2143         (WebCore::Frame::selectionComputedStyle):
2144         (WebCore::Frame::applyEditingStyleToBodyElement):
2145         (WebCore::Frame::removeEditingStyleFromBodyElement):
2146         (WebCore::Frame::applyEditingStyleToElement):
2147         (WebCore::Frame::selectionBounds):
2148         (WebCore::Frame::currentForm):
2149         (WebCore::Frame::revealSelection):
2150         (WebCore::Frame::styleForSelectionStart):
2151         (WebCore::Frame::setSelectionFromNone):
2152         (WebCore::Frame::findString):
2153         (WebCore::Frame::markAllMatchesForText):
2154         (WebCore::Frame::setMarkedTextMatchesAreHighlighted):
2155         (WebCore::Frame::clearFormerDOMWindow):
2156         (WebCore::Frame::unfocusWindow):
2157         (WebCore::Frame::respondToChangedSelection):
2158         (WebCore::Frame::documentAtPoint):
2159         * page/Frame.h:
2160         (WebCore::Frame::create):
2161         (WebCore::Frame::displayStringModifiedByEncoding):
2162         (WebCore::Frame::pageZoomFactor):
2163         (WebCore::Frame::textZoomFactor):
2164
2165 2009-07-24  Dan Bernstein  <mitz@apple.com>
2166
2167         Reviewed by Darin Adler.
2168
2169         Add functions to print the glyph page trees for debugging
2170         https://bugs.webkit.org/show_bug.cgi?id=27671
2171
2172         * platform/graphics/FontData.h: Defined a description() method.
2173
2174         * platform/graphics/GlyphPageTreeNode.cpp:
2175         (WebCore::GlyphPageTreeNode::showSubtree): Added. Prints the node and
2176             its descendants.
2177         (showGlyphPageTrees): Added. Prints all glyph page trees.
2178         (showGlyphPageTree): Added. Prints the glyph page tree for a given page.
2179         * platform/graphics/GlyphPageTreeNode.h:
2180
2181         * platform/graphics/SegmentedFontData.cpp:
2182         (WebCore::SegmentedFontData::description): Added.
2183
2184         * platform/graphics/SegmentedFontData.h:
2185         * platform/graphics/SimpleFontData.cpp:
2186         (WebCore::SimpleFontData::description): Added. Uses the platform data
2187             as the description for non-svg, non-custom fonts.
2188         * platform/graphics/SimpleFontData.h:
2189
2190         * platform/graphics/gtk/FontPlatformData.h:
2191         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
2192         (WebCore::FontPlatformData::description): Added. Returns a null string.
2193         * platform/graphics/gtk/FontPlatformDataPango.cpp:
2194         (WebCore::FontPlatformData::description): Added. Returns a null string.
2195
2196         * platform/graphics/mac/FontPlatformData.h:
2197         * platform/graphics/mac/FontPlatformDataMac.mm:
2198         (WebCore::FontPlatformData::description): Added. Returns the
2199             description of the CGFont, the size and the synthetic style flags,
2200             if set.
2201
2202         * platform/graphics/qt/FontPlatformData.h:
2203         * platform/graphics/qt/FontPlatformDataQt.cpp:
2204         (WebCore::FontPlatformData::description): Added. Returns a null string.
2205
2206         * platform/graphics/win/FontPlatformData.h:
2207         * platform/graphics/win/FontPlatformDataWin.cpp:
2208         (WebCore::FontPlatformData::description): Added. Returns a null string.
2209
2210         * platform/graphics/wince/FontPlatformData.cpp:
2211         (WebCore::FontPlatformData::description): Added. Returns a null string.
2212         * platform/graphics/wince/FontPlatformData.h:
2213
2214         * platform/graphics/wx/FontPlatformData.h:
2215         * platform/graphics/wx/FontPlatformDataWx.cpp:
2216         (WebCore::FontPlatformData::description): Added. Returns a null string.
2217
2218 2009-07-24  Mads Ager  <ager@chromium.org>
2219
2220         Reviewed by Adam Barth.
2221
2222         SVG and XPath memory leaks in V8 bindings
2223         https://bugs.webkit.org/show_bug.cgi?id=27488
2224
2225         Add proper 'create' methods to SVGPodTypeWrappers and
2226         XPathNSResolvers in the V8 bindings to avoid memory leaks.
2227
2228         Introduce convertToV8Object methods that accept PassRefPtrs and
2229         clean up the use of get() and release() on RefPtrs.
2230         
2231         * bindings/scripts/CodeGeneratorV8.pm:
2232         * bindings/v8/V8DOMWrapper.h:
2233         (WebCore::V8DOMWrapper::convertNodeToV8Object):
2234         (WebCore::V8DOMWrapper::convertEventToV8Object):
2235         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
2236         (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
2237         * bindings/v8/V8SVGPODTypeWrapper.h:
2238         (WebCore::V8SVGPODTypeWrapperCreatorForList::create):
2239         (WebCore::V8SVGPODTypeWrapperCreatorForList::V8SVGPODTypeWrapperCreatorForList):
2240         (WebCore::V8SVGStaticPODTypeWrapper::create):
2241         (WebCore::V8SVGStaticPODTypeWrapper::V8SVGStaticPODTypeWrapper):
2242         (WebCore::V8SVGStaticPODTypeWrapperWithPODTypeParent::create):
2243         (WebCore::V8SVGStaticPODTypeWrapperWithPODTypeParent::V8SVGStaticPODTypeWrapperWithPODTypeParent):
2244         (WebCore::V8SVGStaticPODTypeWrapperWithParent::create):
2245         (WebCore::V8SVGStaticPODTypeWrapperWithParent::V8SVGStaticPODTypeWrapperWithParent):
2246         (WebCore::V8SVGDynamicPODTypeWrapper::create):
2247         (WebCore::V8SVGDynamicPODTypeWrapper::V8SVGDynamicPODTypeWrapper):
2248         (WebCore::V8SVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
2249         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
2250         (WebCore::CALLBACK_FUNC_DECL):
2251         * bindings/v8/custom/V8ClientRectListCustom.cpp:
2252         (WebCore::INDEXED_PROPERTY_GETTER):
2253         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
2254         (WebCore::V8CustomXPathNSResolver::create):
2255         * bindings/v8/custom/V8CustomXPathNSResolver.h:
2256         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2257         (WebCore::NAMED_PROPERTY_GETTER):
2258         * bindings/v8/custom/V8DocumentCustom.cpp:
2259         (WebCore::CALLBACK_FUNC_DECL):
2260         * bindings/v8/custom/V8ElementCustom.cpp:
2261         (WebCore::CALLBACK_FUNC_DECL):
2262         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
2263         (WebCore::getNamedItems):
2264         (WebCore::getItem):
2265         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2266         (WebCore::NAMED_PROPERTY_GETTER):
2267         (WebCore::ACCESSOR_GETTER):
2268         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
2269         (WebCore::INDEXED_PROPERTY_GETTER):
2270         (WebCore::NAMED_PROPERTY_GETTER):
2271         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
2272         (WebCore::INDEXED_PROPERTY_GETTER):
2273         * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
2274         (WebCore::NAMED_PROPERTY_GETTER):
2275         * bindings/v8/custom/V8InspectorControllerCustom.cpp:
2276         (WebCore::CALLBACK_FUNC_DECL):
2277         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
2278         (WebCore::INDEXED_PROPERTY_GETTER):
2279         (WebCore::NAMED_PROPERTY_GETTER):
2280         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
2281         (WebCore::toV8):
2282         * bindings/v8/custom/V8NodeListCustom.cpp:
2283         (WebCore::NAMED_PROPERTY_GETTER):
2284         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
2285         (WebCore::CALLBACK_FUNC_DECL):
2286         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
2287         (WebCore::toV8):
2288         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
2289         (WebCore::CALLBACK_FUNC_DECL):
2290
2291 2009-07-24  Brian Weinstein  <bweinstein@apple.com>
2292
2293         Reviewed by Jon Honeycutt.
2294
2295         Fix of <rdar://6310538> Middle-click panning should be springloaded while dragging
2296         https://bugs.webkit.org/show_bug.cgi?id=21794
2297         
2298         Create two new booleans to determine whether we have done a springloaded pan scroll, and update
2299         the name of setPanScrollCursor to updatePanScrollState to more accurately describe what the function
2300         does. 
2301
2302         * page/EventHandler.cpp:
2303         (WebCore::EventHandler::EventHandler): Initialized two new booleans.
2304         (WebCore::EventHandler::autoscrollTimerFired):
2305         (WebCore::EventHandler::updatePanScrollState): Renamed from setPanScrollCursor.
2306         (WebCore::EventHandler::stopAutoscrollTimer): Clear the pan scrolling in progress flag.
2307         (WebCore::EventHandler::handleMouseReleaseEvent): Clear the pan scrolling button pressed flag.
2308         * page/EventHandler.h:
2309
2310 2009-07-24  Yong Li  <yong.li@torchmobile.com>
2311
2312         Reviewed by George Staikos.
2313
2314         https://bugs.webkit.org/show_bug.cgi?id=27657
2315         Add more wince port files to WebCore
2316
2317         Written by Yong Li  <yong.li@torchmobile.com> and Lyon Chen <lyon.chen@torchmobile.com>
2318
2319         * loader/icon/wince/IconDatabaseWince.cpp: Added.
2320         * rendering/RenderThemeWince.cpp: Added.
2321         * rendering/RenderThemeWince.h: Added.
2322         * storage/wince/DatabaseThreadWince.cpp: Added.
2323         * storage/wince/DatabaseThreadWince.h: Added.
2324         * storage/wince/LocalStorageThreadWince.cpp: Added.
2325         * storage/wince/LocalStorageThreadWince.h: Added.
2326         * svg/graphics/wince/SVGResourceFilterWince.cpp: Added.
2327
2328 2009-07-24  Ryosuke Niwa  <rniwa@webkit.org>
2329
2330         Reviewed by Justin Garcia.
2331
2332         execCommand('underline') can modify DOM outside of the contentEditable area
2333         https://bugs.webkit.org/show_bug.cgi?id=24333
2334
2335         highestAncestorWithTextDecoration stops at the closest unsplittable element so that if text-decoration is applied
2336         outside of it, we don't accidently modify the style attribute.
2337
2338         Tests: editing/style/textdecoration-outside-of-rooteditable.html
2339                editing/style/textdecoration-outside-of-unsplittable-element.html
2340
2341         * editing/ApplyStyleCommand.cpp:
2342         (WebCore::StyleChange::init):
2343         (WebCore::highestAncestorWithTextDecoration):
2344
2345 2009-07-24  Daniel Bates  <dbates@intudata.com>
2346
2347         Reviewed by Adam Barth.
2348
2349         https://bugs.webkit.org/show_bug.cgi?id=27639
2350
2351         Fixes false positives when evaluating certain strings that only contain 
2352         non-canonical characters.
2353
2354         Test: http/tests/security/xssAuditor/script-tag-safe.html
2355
2356         * page/XSSAuditor.cpp:
2357         (WebCore::isNonCanonicalCharacter):
2358         (WebCore::XSSAuditor::findInRequest):
2359
2360 2009-07-24  Drew Wilson  <atwilson@google.com>
2361
2362         Reviewed by David Levin.
2363
2364         Changed WorkerContext destructor to not access possibly-freed WorkerThread.
2365
2366         Failed assertion in WorkerContext::~WorkerContext().
2367         https://bugs.webkit.org/show_bug.cgi?id=27665
2368
2369        * workers/DedicatedWorkerContext.cpp:
2370         (WebCore::DedicatedWorkerContext::~DedicatedWorkerContext):
2371         * workers/WorkerContext.cpp:
2372         (WebCore::WorkerContext::~WorkerContext):
2373         Removed assertion that relies on WorkerThread still being alive (moved to DedicatedWorkerContext destructor).
2374
2375 2009-07-24  Drew Wilson  <atwilson@google.com>
2376
2377         Reviewed by Adam Barth.
2378
2379         Updated code generator to properly generate bindings for WorkerContext exposed functions.
2380
2381         Storing a reference to WorkerContext.postMessage() and calling it later yields a TypeError
2382         https://bugs.webkit.org/show_bug.cgi?id=27419
2383
2384         Test: fast/workers/worker-call.html
2385
2386         * bindings/js/JSWorkerContextBase.cpp:
2387         (WebCore::toJSDedicatedWorkerContext):
2388         (WebCore::toJSWorkerContext):
2389         Functions that convert from JSValue to the appropriate WorkerContext/DedicatedWorkerContext object.
2390         * bindings/js/JSWorkerContextBase.h:
2391         Added toJS*WorkerContext APIs.
2392         * bindings/scripts/CodeGeneratorJS.pm:
2393         Added code to appropriately check the passed-in this object when invoking functions at global scope.
2394
2395 2009-07-24  Drew Wilson  <atwilson@google.com>
2396
2397         Reviewed by Adam Barth.
2398
2399         Refactor WorkerContext to move DedicatedWorker-specific APIs into DedicatedWorkerContext
2400         https://bugs.webkit.org/show_bug.cgi?id=27420
2401
2402         No new tests as the existing tests already provide sufficient coverage (this is just a refactoring with no new functionality).
2403
2404         * DerivedSources.cpp:
2405         Added JSDerivedWorkerContext.cpp
2406         * DerivedSources.make:
2407         Added DerivedWorkerContext files
2408         * GNUmakefile.am:
2409         Added DerivedWorkerContext files
2410         * WebCore.gypi:
2411         Added DerivedWorkerContext files
2412         * WebCore.pro:
2413         Added DerivedWorkerContext files
2414         * WebCore.vcproj/WebCore.vcproj:
2415         Added DerivedWorkerContext files
2416         * WebCore.xcodeproj/project.pbxproj:
2417         Added DerivedWorkerContext files
2418         * bindings/js/JSDedicatedWorkerContextCustom.cpp: Added.
2419         (WebCore::JSDedicatedWorkerContext::mark):
2420         Custom mark function for onmessage event handler.
2421         * bindings/js/JSEventTarget.cpp:
2422         (WebCore::toJS):
2423         Supports conversion to JSDedicatedWorkerContext.
2424         (WebCore::toEventTarget):
2425         * bindings/js/JSWorkerContextCustom.cpp:
2426         (WebCore::JSWorkerContext::mark):
2427         Moved onmessage mark handling into DedicatedWorkerContext.
2428         * bindings/js/WorkerScriptController.cpp:
2429         Added appropriate casts to DedicatedWorkerContext for postMessage().
2430         (WebCore::WorkerScriptController::initScript):
2431         Manually sets up the prototype chain for the worker context.
2432         * bindings/scripts/CodeGeneratorJS.pm:
2433         Changed special case code for WorkerContext to be triggered by new IsWorkerContext attribute.
2434         * bindings/scripts/CodeGeneratorV8.pm:
2435         Changed hard-coded tests for WorkerContext to support DedicatedWorkerContext.
2436         * bindings/v8/DOMObjectsInclude.h:
2437         Added DedicatedWorkerContext.h
2438         * bindings/v8/DerivedSourcesAllInOne.cpp:
2439         Added V8DedicatedWorkerContext.cpp
2440         * bindings/v8/V8DOMWrapper.cpp:
2441         (WebCore::V8DOMWrapper::getTemplate):
2442         Added code to reserve extra fields for V8DedicatedWorkerContext.
2443         * bindings/v8/V8Index.cpp:
2444         Now includes V8DedicatedWorkerContext.h in addition to V8WorkerContext.h
2445         * bindings/v8/V8Index.h:
2446         Added DedicatedWorkerContext as a non-node wrapper type.
2447         Removed WORKERCONTEXT as a valid template type.
2448         * bindings/v8/WorkerContextExecutionProxy.cpp:
2449         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
2450         Creates DedicatedWorkerContext instead of WorkerContext.
2451         (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object):
2452         Returns DedicatedWorkerContext instead of WorkerContext.
2453         (WebCore::WorkerContextExecutionProxy::retrieve):
2454         Refactored to deal with DedicatedWorkerContext.
2455         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
2456         * bindings/v8/custom/V8CustomBinding.h:
2457         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: Added.
2458         Moved onmessage code from V8WorkerContextCustom.cpp
2459         (WebCore::ACCESSOR_GETTER):
2460         (WebCore::ACCESSOR_SETTER):
2461         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2462         Moved onmessage code to V8DedicatedWorkerContextCustom.cpp
2463         * dom/EventTarget.cpp:
2464         (WebCore::EventTarget::toDedicatedWorkerContext):
2465         * dom/EventTarget.h:
2466         * workers/DedicatedWorkerContext.cpp: Added.
2467         Moved DedicatedWorker-only APIs from WorkerContext.
2468         (WebCore::DedicatedWorkerContext::DedicatedWorkerContext):
2469         (WebCore::DedicatedWorkerContext::~DedicatedWorkerContext):
2470         (WebCore::DedicatedWorkerContext::reportException):
2471         (WebCore::DedicatedWorkerContext::postMessage):
2472         (WebCore::DedicatedWorkerContext::dispatchMessage):
2473         * workers/DedicatedWorkerContext.h: Added.
2474         Moved DedicatedWorker-only APIs from WorkerContext.
2475         (WebCore::DedicatedWorkerContext::create):
2476         (WebCore::DedicatedWorkerContext::toDedicatedWorkerContext):
2477         (WebCore::DedicatedWorkerContext::setOnmessage):
2478         (WebCore::DedicatedWorkerContext::onmessage):
2479         * workers/DedicatedWorkerContext.idl: Added.
2480         * workers/WorkerContext.cpp:
2481         (WebCore::WorkerContext::~WorkerContext):
2482         Moved code that notifies parent that worker is closing down into DedicatedWorkerContext.
2483         * workers/WorkerContext.h:
2484         (WebCore::WorkerContext::isClosing):
2485         Exposed closing flag as an API so derived classes can access it.
2486         * workers/WorkerContext.idl:
2487         * workers/WorkerMessagingProxy.cpp:
2488         (WebCore::MessageWorkerContextTask::performTask):
2489         Calls into DedicatedWorkerContext to handle message.
2490         * workers/WorkerThread.cpp:
2491         (WebCore::WorkerThread::workerThread):
2492         Creates a DedicatedWorkerContext when the thread starts up.
2493
2494 2009-07-24  Eric Seidel  <eric@webkit.org>
2495
2496         Reviewed by Adam Barth.
2497
2498         Move more callers to using 3 argument toJS
2499         https://bugs.webkit.org/show_bug.cgi?id=27661
2500
2501         No functional changes, thus no tests.
2502         These are all the places where we can't yet pass the
2503         correct globalObject because we don't have or don't know the right one.
2504
2505         * bindings/js/JSCustomPositionCallback.cpp:
2506         (WebCore::JSCustomPositionCallback::handleEvent):
2507         * bindings/js/JSCustomPositionErrorCallback.cpp:
2508         (WebCore::JSCustomPositionErrorCallback::handleEvent):
2509         * bindings/js/JSCustomSQLStatementCallback.cpp:
2510         (WebCore::JSCustomSQLStatementCallback::handleEvent):
2511         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2512         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
2513         * bindings/js/JSCustomSQLTransactionCallback.cpp:
2514         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
2515         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2516         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
2517         * bindings/js/JSNodeFilterCondition.cpp:
2518         (WebCore::JSNodeFilterCondition::acceptNode):
2519
2520 2009-07-24  Eric Seidel  <eric@webkit.org>
2521
2522         Reviewed by Adam Barth.
2523
2524         Fix the last of the x-frame constructor calls to have the right prototype chains
2525         https://bugs.webkit.org/show_bug.cgi?id=27645
2526
2527         Fix the last few constructors to use their stored globalObject pointer when
2528         constructing objects instead of the lexicalGlobalObject().
2529
2530         * bindings/js/JSAudioConstructor.cpp:
2531         (WebCore::constructAudio):
2532         * bindings/js/JSImageConstructor.cpp:
2533         (WebCore::constructImage):
2534         * bindings/js/JSMessageChannelConstructor.cpp:
2535         (WebCore::JSMessageChannelConstructor::construct):
2536         * bindings/js/JSOptionConstructor.cpp:
2537         (WebCore::constructHTMLOptionElement):
2538         * bindings/js/JSWebKitPointConstructor.cpp:
2539         (WebCore::constructWebKitPoint):
2540         * bindings/js/JSWorkerConstructor.cpp:
2541         (WebCore::constructWorker):
2542
2543 2009-07-24  Jian Li  <jianli@chromium.org>
2544
2545         Reviewed by Adam Barth.
2546
2547         [V8] Cleanup exception handling in worker evaluation code.
2548         https://bugs.webkit.org/show_bug.cgi?id=27282
2549
2550         * bindings/v8/WorkerContextExecutionProxy.cpp:
2551         (WebCore::WorkerContextExecutionProxy::evaluate):
2552         * bindings/v8/WorkerContextExecutionProxy.h:
2553         (WebCore::WorkerContextExecutionState::WorkerContextExecutionState):
2554         * bindings/v8/WorkerScriptController.cpp:
2555         (WebCore::WorkerScriptController::evaluate):
2556         (WebCore::WorkerScriptController::setException):
2557
2558 2009-07-24  Stephen White  <senorblanco@chromium.org>
2559
2560         Reviewed by David Levin.
2561
2562         Reverting r46157, since it may be causing problems with Chromium
2563         reliability (see http://crbug.com/17569).
2564
2565         https://bugs.webkit.org/show_bug.cgi?id=27388
2566
2567         * platform/graphics/skia/GraphicsContextSkia.cpp:
2568         (WebCore::GraphicsContext::drawLine):
2569         * platform/graphics/skia/PlatformContextSkia.cpp:
2570         (PlatformContextSkia::setupPaintForStroking):
2571
2572 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
2573
2574         Reviewed by Timothy Hatcher.
2575
2576         REGRESSION: inspector seems broken in ToT WebKit
2577         https://bugs.webkit.org/show_bug.cgi?id=27646
2578
2579         * inspector/front-end/Console.js:
2580         (WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
2581
2582 2009-07-24  Dan Bernstein  <mitz@apple.com>
2583
2584         Reviewed by Anders Carlsson.
2585
2586         Add the shadow style member to the ShadowData constructor and ==
2587         operator
2588
2589         * rendering/style/ShadowData.cpp:
2590         (WebCore::ShadowData::ShadowData):
2591         (WebCore::ShadowData::operator==):
2592
2593 2009-07-24  Jian Li  <jianli@chromium.org>
2594
2595         Reviewed by Eric Seidel.
2596
2597         [V8] More V8 bindings changes to use ErrorEvent.
2598         https://bugs.webkit.org/show_bug.cgi?id=27630
2599
2600         * bindings/v8/DOMObjectsInclude.h:
2601         * bindings/v8/DerivedSourcesAllInOne.cpp:
2602         * bindings/v8/V8DOMWrapper.cpp:
2603         (WebCore::V8DOMWrapper::convertEventToV8Object):
2604         * bindings/v8/V8Index.cpp:
2605         * bindings/v8/V8Index.h:
2606
2607 2009-07-24  Brent Fulgham  <bfulgham@webkit.org>
2608
2609         Reviewed by Dave Hyatt.
2610
2611         Clean up dependencies on Apple support libraries for non-Apple build.
2612         http://bugs.webkit.org/show_bug.cgi?id=27532.
2613
2614         * platform/graphics/win/SimpleFontDataWin.cpp: Conditionalize references
2615           to ApplicationServices.h and WebKitSystemInterface.h
2616
2617 2009-07-24  Dan Bernstein  <mitz@apple.com>
2618
2619         Another attempted build fix 
2620
2621         * bindings/js/JSAbstractWorkerCustom.cpp:
2622
2623 2009-07-24  Dan Bernstein  <mitz@apple.com>
2624
2625         Attempted build fix
2626
2627         * bindings/js/JSAbstractWorkerCustom.cpp:
2628         (WebCore::toJS):
2629
2630 2009-07-24  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2631
2632         Build fix for 64 bit Linux.
2633
2634         int64_t is long on Linux 64 bit and not long long, thus
2635         getFileSize with a int64_t out value fails to build.
2636
2637         Use a temporary to work around the problem.
2638
2639         * loader/appcache/ApplicationCacheStorage.cpp:
2640         (WebCore::ApplicationCacheStorage::spaceNeeded):
2641
2642 2009-07-24  Eric Seidel  <eric@webkit.org>
2643
2644         Reviewed by Adam Barth.
2645
2646         Update all CREATE_DOM_*_WRAPPER callers to pass globalObject
2647         https://bugs.webkit.org/show_bug.cgi?id=27644
2648
2649         This is another attempt at making the change for bug 27634 smaller.
2650         I included the changes to make_names.pl as well as any file which
2651         used CREATE_DOM_*_WRAPPER macros.
2652
2653         The changes to the construct* functions are what fix the cases in
2654         fast/dom/constructed-objects-prototypes.html
2655
2656         The changes to passing globalObject through CREATE_* are what fix
2657         fast/dom/prototype-inheritance-2.html
2658
2659         * bindings/js/JSCDATASectionCustom.cpp:
2660         (WebCore::toJSNewlyCreated): pass globalObject.
2661         * bindings/js/JSCSSRuleCustom.cpp:
2662         (WebCore::toJS): pass globalObject.
2663         * bindings/js/JSCSSValueCustom.cpp:
2664         (WebCore::toJS): pass globalObject.
2665         * bindings/js/JSDOMBinding.h: updated macros to pass globalObject.
2666         * bindings/js/JSDocumentCustom.cpp:
2667         (WebCore::toJS): pass globalObject.
2668         * bindings/js/JSElementCustom.cpp:
2669         (WebCore::JSElement::setAttributeNode): use globalObject() for wrapping return value.
2670         (WebCore::JSElement::setAttributeNodeNS): use globalObject() for wrapping return value.
2671         (WebCore::toJSNewlyCreated): pass globalObject.
2672         * bindings/js/JSEventCustom.cpp:
2673         (WebCore::JSEvent::clipboardData): pass globalObject.
2674         (WebCore::toJS): pass globalObject.
2675         * bindings/js/JSHTMLCollectionCustom.cpp:
2676         (WebCore::getNamedItems): use globalObject() for wrapping returned collection items.
2677         (WebCore::callHTMLCollection): use globalObject() for wrapping returned collection items.
2678         (WebCore::JSHTMLCollection::item): use globalObject() for wrapping returned collection items.
2679         (WebCore::toJS): pass globalObject.
2680         * bindings/js/JSImageDataCustom.cpp:
2681         (WebCore::toJS): pass globalObject.
2682         * bindings/js/JSNodeCustom.cpp:
2683         (WebCore::createWrapper): pass globalObject.
2684         * bindings/js/JSSVGPathSegCustom.cpp:
2685         (WebCore::toJS): pass globalObject.
2686         * bindings/js/JSStyleSheetCustom.cpp:
2687         (WebCore::toJS): pass globalObject.
2688         * bindings/js/JSTextCustom.cpp:
2689         (WebCore::toJSNewlyCreated): pass globalObject.
2690         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
2691         (WebCore::constructWebKitCSSMatrix): use constructors globalObject when constructing
2692         * bindings/js/JSXMLHttpRequestConstructor.cpp:
2693         (WebCore::constructXMLHttpRequest): use constructors globalObject when constructing
2694         * bindings/js/JSXSLTProcessorConstructor.cpp:
2695         (WebCore::constructXSLTProcessor): use constructors globalObject when constructing
2696         * dom/make_names.pl:
2697             Pass globalObject through CREATE_* macros and various support functions.
2698
2699 2009-07-24  Eric Seidel  <eric@webkit.org>
2700
2701         Reviewed by Adam Barth.
2702
2703         Update CodeGeneratorJS.pm to support passing JSDOMGlobalObject* to toJS calls
2704         https://bugs.webkit.org/show_bug.cgi?id=27643
2705
2706         This is an attempt to make this change as small as possible.
2707         I started by including all changes to CodeGeneratorJS.pm from bug 27634,
2708         and then made the minimal amount of other changes needed to support that change.
2709
2710         Most toJS implementations ignore their passed JSDOMGlobalObject.
2711         There are stub 2-argument toJS, toJSNewlyCreated implementations to help compiling.
2712         All places where it is not clear what we should pass as the global object
2713         (or where the global object is simply not available, like for some SVG bindings)
2714         we pass deprecatedGlobalObjectForPrototype instead.
2715
2716         * bindings/js/JSCDATASectionCustom.cpp:
2717         (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
2718         * bindings/js/JSCSSRuleCustom.cpp:
2719         (WebCore::toJS): add ignored JSDOMGlobalObject*
2720         * bindings/js/JSCSSValueCustom.cpp:
2721         (WebCore::toJS): add ignored JSDOMGlobalObject*
2722         * bindings/js/JSDOMBinding.cpp:
2723         (WebCore::setDOMException): pass the wrong globalObject for now
2724         * bindings/js/JSDOMBinding.h:
2725             Pass the wrong global object to the CREATE_ macros for now.
2726             In the next change we'll come back and pass the correct one.
2727             That will require changes to make_names.pl.
2728         (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext):
2729         (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
2730         (WebCore::DOMObjectWithGlobalPointer::~DOMObjectWithGlobalPointer):
2731         (WebCore::createDOMObjectWrapper):
2732         (WebCore::getDOMObjectWrapper):
2733         (WebCore::createDOMNodeWrapper):
2734         (WebCore::getDOMNodeWrapper):
2735         (WebCore::toJS): added to convert 2 arg calls to 3 arg calls to limit the scope of this change.
2736         (WebCore::toJSNewlyCreated):
2737         * bindings/js/JSDOMWindowBase.cpp:
2738         (WebCore::toJS): DOMWindow always uses its own prototype chain.
2739         * bindings/js/JSDOMWindowBase.h:
2740         * bindings/js/JSDocumentCustom.cpp:
2741         (WebCore::toJS): add ignored JSDOMGlobalObject*
2742         * bindings/js/JSElementCustom.cpp:
2743         (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
2744         * bindings/js/JSEventCustom.cpp:
2745         (WebCore::toJS): add ignored JSDOMGlobalObject*
2746         * bindings/js/JSEventTarget.cpp:
2747         (WebCore::toJS): add ignored JSDOMGlobalObject*
2748         * bindings/js/JSEventTarget.h:
2749         * bindings/js/JSHTMLCollectionCustom.cpp:
2750         (WebCore::toJS): add ignored JSDOMGlobalObject*
2751         * bindings/js/JSImageDataCustom.cpp:
2752         (WebCore::toJS): add ignored JSDOMGlobalObject*
2753         * bindings/js/JSNodeCustom.cpp:
2754         (WebCore::createWrapper): pass globalObject to toJS(Document*) to avoid recursion
2755         (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
2756         (WebCore::toJS): add ignored JSDOMGlobalObject*
2757         * bindings/js/JSSVGElementInstanceCustom.cpp:
2758         (WebCore::toJS): pass globalObject along
2759         * bindings/js/JSSVGMatrixCustom.cpp:
2760         (WebCore::JSSVGMatrix::inverse): pass wrong globalObject for now.
2761         (WebCore::JSSVGMatrix::rotateFromVector): pass wrong globalObject for now.
2762         * bindings/js/JSSVGPathSegCustom.cpp:
2763         (WebCore::toJS):
2764         * bindings/js/JSSVGPathSegListCustom.cpp:
2765             All of these methods need a globalObject, but most SVG binding don't have
2766             space for one, so we just pass the lexicalGlobalObject for now.
2767         (WebCore::JSSVGPathSegList::initialize):
2768         (WebCore::JSSVGPathSegList::getItem):
2769         (WebCore::JSSVGPathSegList::insertItemBefore):
2770         (WebCore::JSSVGPathSegList::replaceItem):
2771         (WebCore::JSSVGPathSegList::removeItem):
2772         (WebCore::JSSVGPathSegList::appendItem):
2773         * bindings/js/JSSVGPointListCustom.cpp:
2774         (WebCore::finishGetter): pass wrong globalObject for now.
2775         (WebCore::finishSetter):
2776         (WebCore::finishSetterReadOnlyResult):
2777         * bindings/js/JSSVGTransformListCustom.cpp:
2778         (WebCore::finishGetter): pass wrong globalObject for now.
2779         (WebCore::finishSetter):
2780         (WebCore::finishSetterReadOnlyResult):
2781         * bindings/js/JSStyleSheetCustom.cpp:
2782         (WebCore::toJS): add ignored JSDOMGlobalObject*
2783         * bindings/js/JSTextCustom.cpp:
2784         (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
2785         * bindings/js/JSWorkerContextBase.cpp:
2786         (WebCore::toJS): WorkerContext always uses its own prototype chain since it's a GlobalObject subclass.
2787         * bindings/js/JSWorkerContextBase.h:
2788         * bindings/scripts/CodeGeneratorJS.pm:
2789             All generated toJS calls now pass a globalObject.
2790             All generated toJS implementations now expect a globalObject.
2791             Simplified all the slot casts by using a "castedThis" local.
2792             SVG bindings which don't have a globalObject() accessor pass the deprecated lexicalGlobalObject instead.
2793             Simplified printing of constructor objects using a $constructorClassName variable.
2794             All generated constructor functions follow the construct$className form to match the custom constructors.
2795
2796 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
2797
2798         Reviewed by Timothy Hatcher.
2799
2800         typing "document.__proto__" in inspector throws exception
2801         https://bugs.webkit.org/show_bug.cgi?id=27169
2802
2803         * inspector/front-end/utilities.js:
2804         (Object.type):
2805
2806 2009-07-24  Andrei Popescu  <andreip@google.com>
2807
2808         Reviewed by Anders Carlsson.
2809
2810         ApplicationCache should have size limit
2811         https://bugs.webkit.org/show_bug.cgi?id=22700
2812
2813         https://lists.webkit.org/pipermail/webkit-dev/2009-May/007560.html
2814
2815         This change implements a mechanism for limiting the maximum size of
2816         the application cache file. When this size is reached, a ChromeClient
2817         callback is invoked asynchronously and the saving of the last (failed)
2818         cache is retried automatically.
2819         
2820         This change also extends the ApplicationCacheStorage API by allowing
2821         a client to query or modify the application cache without having to
2822         load any resources into memory.
2823
2824         Test: http/tests/appcache/max-size.html
2825
2826         * WebCore.base.exp:
2827         Exports the symbols required by the DumpRenderTree test application.
2828         * loader/EmptyClients.h:
2829         Adds empty implementation of the new ChromeClient methods.
2830         * loader/appcache/ApplicationCache.cpp:
2831         * loader/appcache/ApplicationCache.h:
2832         Adds the ability to calculate the approximate size of an ApplicationCache object.
2833         * loader/appcache/ApplicationCacheGroup.cpp:
2834         * loader/appcache/ApplicationCacheGroup.h:
2835         Invokes the ChromeClient callback when the storage layer runs out of space.
2836         After the callback is invoked, we re-attempt to store the newest cache,
2837         in case the ChromeClient has freed some space.
2838         * loader/appcache/ApplicationCacheResource.cpp:
2839         * loader/appcache/ApplicationCacheResource.h:
2840         Adds the ability to calculate the approximate size of an ApplicationCacheResource object.
2841         * loader/appcache/ApplicationCacheStorage.cpp:
2842         * loader/appcache/ApplicationCacheStorage.h:
2843         Enforces a maximum size for the application cache file.
2844         * page/ChromeClient.h:
2845         Adds a new callback, invoked when the ApplicationCacheStorage reports that it has
2846         reached the maximum size for its database file.
2847         * platform/sql/SQLiteDatabase.cpp:
2848         * platform/sql/SQLiteDatabase.h:
2849         Adds a new method that allows querying for the amount of unused space inside the
2850         application cache database file.
2851
2852 2009-07-24  Xan Lopez  <xlopez@igalia.com>
2853
2854         Reviewed by Jan Alonzo.
2855
2856         https://bugs.webkit.org/show_bug.cgi?id=25415
2857         [GTK][ATK] Please implement support for get_text_at_offset
2858
2859         Use TextEncoding facilities to convert between UTF16 and UTF8
2860         instead of rolling our own solution.
2861
2862         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2863         (convertUniCharToUTF8):
2864
2865 2009-07-24  Xan Lopez  <xlopez@igalia.com>
2866
2867         Reviewed by Jan Alonzo.
2868
2869         https://bugs.webkit.org/show_bug.cgi?id=25415
2870         [GTK][ATK] Please implement support for get_text_at_offset
2871
2872         Fix confusion in g_substr between length in bytes and length in
2873         characters. Was causing crashes in some situations when dealing
2874         with non-ASCII text encoded as UTF8.
2875
2876         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2877         (g_substr):
2878
2879 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
2880
2881         Reviewed by Timothy Hatcher.
2882
2883         Inspector: Impossible to add an attribute to a node without attributes
2884         https://bugs.webkit.org/show_bug.cgi?id=21108
2885
2886         * inspector/front-end/ElementsTreeOutline.js:
2887         (WebInspector.ElementsTreeElement):
2888         (WebInspector.ElementsTreeElement.prototype.set hovered):
2889         (WebInspector.ElementsTreeElement.prototype.toggleNewButton):
2890         (WebInspector.ElementsTreeElement.prototype.ondblclick):
2891         (WebInspector.ElementsTreeElement.prototype._startEditing):
2892         (WebInspector.ElementsTreeElement.prototype._addNewAttribute):
2893         (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
2894         * inspector/front-end/inspector.css:
2895
2896 2009-07-24  Keishi Hattori  <casey.hattori@gmail.com>
2897
2898         Reviewed by Timothy Hatcher.
2899
2900         Web Inspector: Adds support for Firebug's magic $0 variable to access inspected node
2901         https://bugs.webkit.org/show_bug.cgi?id=17907
2902
2903         * inspector/front-end/Console.js:
2904         (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): Added _inspectorCommandLineAPI.{
2905             _inspectedNodes, _addInspectedNode, $0, $1, $n}
2906         * inspector/front-end/ElementsPanel.js:
2907         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): Stores the inspected node history
2908             in _inspectorCommandLineAPI._inspectedNodes
2909         (WebInspector.ElementsPanel):
2910
2911 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
2912
2913         Reviewed by Timothy Hatcher.
2914
2915         Dragging a resource in the sidebar should drag it's URL
2916         https://bugs.webkit.org/show_bug.cgi?id=14410
2917
2918         * inspector/front-end/ResourcesPanel.js:
2919         (WebInspector.ResourceSidebarTreeElement.prototype.onattach):
2920
2921 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
2922
2923         Reviewed by Timothy Hatcher.
2924
2925         Double click on a resource in the sidebar should open that resource in Safari
2926         https://bugs.webkit.org/show_bug.cgi?id=14409
2927
2928         * inspector/front-end/ResourcesPanel.js:
2929         (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick): open a resource url
2930
2931 2009-07-24  Jan Michael Alonzo  <jmalonzo@webkit.org>
2932
2933         Reviewed by Xan Lopez.
2934
2935         Bump pango version requirement to 1.12 and remove unnecessary #ifdefs.
2936
2937         * platform/graphics/gtk/FontGtk.cpp:
2938         (WebCore::getDefaultPangoLayout):
2939         * platform/graphics/gtk/FontPlatformDataPango.cpp:
2940         (WebCore::FontPlatformData::FontPlatformData):
2941         * platform/gtk/Language.cpp:
2942
2943 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
2944
2945         Reviewed by Timothy Hatcher.
2946
2947         Inspector: Missing UIString and other localizedString.js fixes
2948         https://bugs.webkit.org/show_bug.cgi?id=27288
2949
2950         * English.lproj/localizedStrings.js:
2951
2952 2009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
2953
2954         Reviewed by Timothy Hatcher.
2955
2956         Inspector: Should Syntax Highlight JSON
2957         https://bugs.webkit.org/show_bug.cgi?id=27503
2958
2959         * inspector/front-end/SourceView.js:
2960         (WebInspector.SourceView.prototype._contentLoaded):
2961
2962 2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
2963
2964         Reviewed by Eric Seidel.
2965
2966         Update WebCore/page/DOMTimer.cpp/h to conform to WebKit
2967         Style Guidelines as identified by cpplint.py.
2968         https://bugs.webkit.org/show_bug.cgi?id=27624
2969
2970         * page/DragController.cpp:
2971         (WebCore::DragController::~DragController):
2972         (WebCore::documentFragmentFromDragData):
2973         (WebCore::DragController::dragEnded):
2974         (WebCore::DragController::dragEntered):
2975         (WebCore::DragController::dragExited):
2976         (WebCore::DragController::dragUpdated):
2977         (WebCore::DragController::performDrag):
2978         (WebCore::asFileInput):
2979         (WebCore::DragController::tryDocumentDrag):
2980         (WebCore::DragController::delegateDragSourceAction):
2981         (WebCore::DragController::concludeEditDrag):
2982         (WebCore::DragController::canProcessDrag):
2983         (WebCore::DragController::tryDHTMLDrag):
2984         (WebCore::DragController::mayStartDragAtEventLocation):
2985         (WebCore::getCachedImage):
2986         (WebCore::getImage):
2987         (WebCore::prepareClipboardForImageDrag):
2988         (WebCore::dragLocForDHTMLDrag):
2989         (WebCore::DragController::startDrag):
2990         (WebCore::DragController::doImageDrag):
2991         (WebCore::DragController::doSystemDrag):
2992         (WebCore::DragController::placeDragCaret):
2993
2994 2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
2995
2996         Reviewed by Eric Seidel.
2997
2998         Update WebCore/page/Chrome.cpp to conform to WebKit
2999         Style Guidelines as identified by cpplint.py.
3000         https://bugs.webkit.org/show_bug.cgi?id=27608
3001
3002         * page/Chrome.cpp:
3003         (WebCore::Chrome::runBeforeUnloadConfirmPanel):
3004         (WebCore::Chrome::runJavaScriptAlert):
3005         (WebCore::Chrome::runJavaScriptConfirm):
3006         (WebCore::Chrome::runJavaScriptPrompt):
3007         (WebCore::Chrome::shouldInterruptJavaScript):
3008         (WebCore::Chrome::setToolTip):
3009         (WebCore::Chrome::requestGeolocationPermissionForFrame):
3010         (WebCore::ChromeClient::generateReplacementFile):
3011         (WebCore::ChromeClient::paintCustomScrollbar):
3012
3013 2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
3014
3015         Reviewed by Eric Seidel.
3016
3017         Update WebCore/page/Coordinates.cpp to conform to WebKit
3018         Style Guidelines as identified by cpplint.py.
3019         https://bugs.webkit.org/show_bug.cgi?id=27614
3020
3021         * page/Coordinates.cpp:
3022         (WebCore::Coordinates::toString):
3023
3024 2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
3025
3026         Reviewed by Eric Seidel.
3027
3028         Update WebCore/page/DOMSelection.cpp/h to conform to WebKit
3029         Style Guidelines as identified by cpplint.py.
3030         https://bugs.webkit.org/show_bug.cgi?id=27614
3031
3032         * page/DOMSelection.cpp:
3033         (WebCore::DOMSelection::setBaseAndExtent):
3034         (WebCore::DOMSelection::modify):
3035         (WebCore::DOMSelection::addRange):
3036         (WebCore::DOMSelection::deleteFromDocument):
3037         * page/DOMSelection.h:
3038
3039 2009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
3040
3041         Reviewed by Eric Seidel.
3042
3043         Update WebCore/page/DOMTimer.cpp/h to conform to WebKit
3044         Style Guidelines as identified by cpplint.py.
3045         https://bugs.webkit.org/show_bug.cgi?id=27618
3046
3047         * page/DOMTimer.cpp:
3048         (WebCore::DOMTimer::DOMTimer):
3049         (WebCore::DOMTimer::~DOMTimer):
3050         (WebCore::DOMTimer::fired):
3051         (WebCore::DOMTimer::suspend):
3052         (WebCore::DOMTimer::resume):
3053         (WebCore::DOMTimer::canSuspend):
3054         * page/DOMTimer.h:
3055         (WebCore::DOMTimer::minTimerInterval):
3056         (WebCore::DOMTimer::setMinTimerInterval):
3057
3058 2009-07-24  Eric Seidel  <eric@webkit.org>
3059
3060         Reviewed by Adam Barth.
3061
3062         Classes call DOMObject::mark() explicitly, should call DOMObjectWithGlobal::mark() instead
3063         https://bugs.webkit.org/show_bug.cgi?id=27641
3064
3065         Nothing uses globalObject() yet, but this was causing crashes
3066         in the patch for bug 27634.  This is covered by fast/dom/gc-6.html.
3067
3068         I decided to change these to Base:: instead of DOMObjectWithGlobal::
3069         for future-proofing.  All autogenerated classes use a typedef Base
3070         to avoid bugs like these.  Sadly C++ does not have a built-in super:: we could use.
3071
3072         * WebCore.xcodeproj/project.pbxproj:
3073         * bindings/js/JSAbstractWorkerCustom.cpp:
3074         (WebCore::JSAbstractWorker::mark):
3075         * bindings/js/JSDOMApplicationCacheCustom.cpp:
3076         (WebCore::JSDOMApplicationCache::mark):
3077         * bindings/js/JSMessageChannelCustom.cpp:
3078         (WebCore::JSMessageChannel::mark):
3079         * bindings/js/JSMessagePortCustom.cpp:
3080         (WebCore::JSMessagePort::mark):
3081         * bindings/js/JSNamedNodesCollection.cpp:
3082         (WebCore::JSNamedNodesCollection::getOwnPropertySlot):
3083         * bindings/js/JSNodeCustom.cpp:
3084         (WebCore::JSNode::mark):
3085         * bindings/js/JSNodeFilterCustom.cpp:
3086         (WebCore::JSNodeFilter::mark):
3087         * bindings/js/JSNodeIteratorCustom.cpp:
3088         (WebCore::JSNodeIterator::mark):
3089         * bindings/js/JSSVGElementInstanceCustom.cpp:
3090         (WebCore::JSSVGElementInstance::mark):
3091         * bindings/js/JSTreeWalkerCustom.cpp:
3092         (WebCore::JSTreeWalker::mark):
3093
3094 2009-07-22  Eric Seidel  <eric@webkit.org>
3095
3096         Reviewed by Adam Barth.
3097
3098         Make most DOMObjects hold onto a JSDOMGlobalObject*
3099         https://bugs.webkit.org/show_bug.cgi?id=27588
3100
3101         This change is almost entirely plumbing.  Only one functional
3102         change as part of this all (window.document.constructor has the correct prototype)
3103         Changes are detailed below.
3104
3105         inner.document.constructor is fixed because all properties on the window
3106         object are created with the correct globalObject (instead of the lexical one).
3107         Since all objects now carry a globalObject pointer, when document creates
3108         HTMLDocumentConstructor it now has the right globalObject to use.
3109
3110         Tests:
3111           fast/dom/prototype-inheritance.html
3112           fast/dom/prototype-inheritance-2.html
3113
3114         * bindings/js/DOMObjectWithSVGContext.h:
3115         (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext):
3116             Update the comment and add an ignored globalObject argument.
3117         * bindings/js/JSDOMBinding.h:
3118             Pass a globalObject to all DOMObjects during creation.  Currently it's the wrong global object.
3119             Once toJS is passed a globalObject it will be the right one.
3120         (WebCore::createDOMObjectWrapper):
3121         (WebCore::createDOMNodeWrapper):
3122         * bindings/js/JSDOMGlobalObject.h:
3123         (WebCore::JSDOMGlobalObject::globalObject): Makes binding generation easier.
3124         * bindings/js/JSDOMWindowCustom.cpp:
3125         (WebCore::JSDOMWindow::history): JSHistory is now passed a globalObject, but since it has no custom constructor it doesn't use it.
3126         (WebCore::JSDOMWindow::location): JSLocation is now passed a globalObject, but since it has no custom constructor it doesn't use it.
3127         * bindings/js/JSDocumentCustom.cpp:
3128         (WebCore::JSDocument::location): JSLocation is now passed a globalObject, but since it has no custom constructor it doesn't use it.
3129         * bindings/js/JSHTMLAllCollection.h:
3130         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
3131         * bindings/js/JSHTMLCollectionCustom.cpp: Re-factoring needed to pass globalObject to JSNamedNodesCollection constructor.
3132         (WebCore::getNamedItems):
3133         (WebCore::callHTMLCollection):
3134         (WebCore::JSHTMLCollection::canGetItemsForName):
3135         (WebCore::JSHTMLCollection::nameGetter):
3136         (WebCore::JSHTMLCollection::item):
3137         (WebCore::JSHTMLCollection::namedItem):
3138         * bindings/js/JSHTMLFormElementCustom.cpp:
3139         (WebCore::JSHTMLFormElement::nameGetter):
3140         * bindings/js/JSNamedNodesCollection.cpp:
3141              Now passed globalObject.  This is tested by inner.document.forms.testForm.
3142              The passed globalObject is still wrong until toJS is fixed.
3143         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
3144         * bindings/js/JSNamedNodesCollection.h:
3145         * bindings/js/JSSharedWorkerConstructor.cpp:
3146              Add DOMConstructorObject missed by http://trac.webkit.org/changeset/45938
3147              This class is not compiled by default, so not testable.
3148         (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
3149         * bindings/js/JSSharedWorkerConstructor.h:
3150         * bindings/scripts/CodeGeneratorJS.pm:
3151              Make all bindings objects carry a globalObject pointer using DOMObjectWithGlobalPointer.
3152              SVG bindings which need a context() pointer do not have enough space for globalObject() too.
3153              WorkerContext does not need a globalObject (it is one), so special case it.
3154              Make all .constructor calls use the stored globalObject().  This is what fixes window.document.constructor.
3155              Make all constructors inherit from DOMConstructorObject for consistency.  Since the auto-bound constructors
3156              override createStructure anyway, there is no functional change here.  Just completing work started in r45938.
3157
3158 2009-07-23  Brady Eidson  <beidson@apple.com>
3159
3160         Reviewed by Geoff Garen.
3161
3162         WebCore has a few places that don't gracefully handle a null request returned from willSendRequest.
3163         https://bugs.webkit.org/show_bug.cgi?id=27595
3164
3165         Test: http/tests/misc/will-send-request-returns-null-on-redirect.html
3166         
3167         * inspector/InspectorController.cpp:
3168         (WebCore::InspectorController::removeResource): Null-check the request URL.
3169         
3170         * platform/network/cf/ResourceHandleCFNet.cpp: Ditto, and return null instead of creating an empty one.
3171         (WebCore::willSendRequest):
3172
3173 2009-07-23  Chris Fleizach  <cfleizach@apple.com>
3174
3175         Reviewed by Darin Adler.
3176
3177         Bug 27633 - AXLoadComplete can be fired off to frequently
3178         https://bugs.webkit.org/show_bug.cgi?id=27633
3179
3180         An integration issue left out some curly braces.
3181
3182         * dom/Document.cpp:
3183         (WebCore::Document::implicitClose):
3184
3185 2009-07-23  Darin Adler  <darin@apple.com>
3186
3187         Reviewed by Brady Eidson.
3188
3189         URL appears in back/forward button menu instead of title for items with custom representation
3190         https://bugs.webkit.org/show_bug.cgi?id=27586
3191         rdar://problem/5060337
3192
3193         * WebCore.base.exp: Exported DocumentLoader::setTitle for use by Mac WebKit.
3194         * loader/FrameLoader.cpp:
3195         (WebCore::FrameLoader::didChangeTitle): Tightened code to check if the document
3196         loader is the correct one; previously this would never happen because we'd
3197         commit the load before any title changes could be registered, but now we can
3198         encounter a case where we get a title during a provisional load.
3199
3200 2009-07-23  Dan Bernstein  <mitz@apple.com>
3201
3202         Reviewed by Dave Hyatt.
3203
3204         [CSS3 Backgrounds and Borders] Add support for inset box shadows
3205         https://bugs.webkit.org/show_bug.cgi?id=27582
3206
3207         Test: fast/box-shadow/inset.html
3208
3209         * css/CSSComputedStyleDeclaration.cpp:
3210         (WebCore::valueForShadow): Set the ShadowValue’s shadow style to 'inset'
3211             as needed.
3212
3213         * css/CSSParser.cpp:
3214         (WebCore::ShadowParseContext::ShadowParseContext): Added style and allowStyle
3215             members. Initialize the allowStyle member.
3216         (WebCore::ShadowParseContext::commitValue): Pass the style value to the
3217             ShadowValue constructor. Reset allowStyle.
3218         (WebCore::ShadowParseContext::commitLength): Update allowStyle.
3219         (WebCore::ShadowParseContext::commitColor): Ditto.
3220         (WebCore::ShadowParseContext::commitStyle): Added. Sets the style member and
3221             updates the state.
3222         (WebCore::CSSParser::parseShadow): Parse the 'inset' keyword.
3223
3224         * css/CSSStyleSelector.cpp:
3225         (WebCore::CSSStyleSelector::applyProperty): Get the style value from the
3226             shadow value and pass it to the ShadowData constructor.
3227
3228         * css/ShadowValue.cpp:
3229         (WebCore::ShadowValue::ShadowValue): Added style.
3230         (WebCore::ShadowValue::cssText): Added style.
3231
3232         * css/ShadowValue.h:
3233         (WebCore::ShadowValue::create): Added style.
3234
3235         * page/animation/AnimationBase.cpp:
3236         (WebCore::blendFunc): Added a blend function for shadow styles. When blending
3237             between normal and inset shadows, all intermediate values map to normal.
3238         (WebCore::PropertyWrapperShadow::blend): Added normal style to the default
3239             shadow.
3240             
3241         * rendering/InlineFlowBox.cpp:
3242         (WebCore::InlineFlowBox::paintBoxShadow): Added a shadow style parameter,
3243             which is passed through to RenderBoxModelObject::paintBoxShadow().
3244
3245         (WebCore::InlineFlowBox::paintBoxDecorations): Paint inset shadows on top of
3246             the background.
3247
3248         * rendering/InlineFlowBox.h:
3249
3250         * rendering/RenderBox.cpp:
3251         (WebCore::RenderBox::paintBoxDecorations): Paint inset shadows on top of the
3252             background.
3253
3254         * rendering/RenderBoxModelObject.cpp:
3255         (WebCore::RenderBoxModelObject::paintBoxShadow): Added a shadow style
3256             parameter, and code to paint inset shadows.
3257
3258         * rendering/RenderBoxModelObject.h:
3259
3260         * rendering/RenderFieldset.cpp:
3261         (WebCore::RenderFieldset::paintBoxDecorations): Paint inset shadows on top of
3262             the background.
3263
3264         * rendering/RenderTable.cpp:
3265         (WebCore::RenderTable::paintBoxDecorations): Ditto.
3266
3267         * rendering/RenderTableCell.cpp:
3268         (WebCore::RenderTableCell::paintBoxDecorations): Ditto.
3269
3270         * rendering/style/ShadowData.h:
3271         Added a ShadowStyle enum.
3272         (WebCore::ShadowData::ShadowData): Add and initialize a style member.
3273
3274 2009-07-23  Simon Fraser  <simon.fraser@apple.com>
3275
3276         Fix the build with UNUSED_PARAM(frame) for when ENABLE(3D_RENDERING) is not defined.
3277
3278         * css/MediaQueryEvaluator.cpp:
3279         (WebCore::transform_3dMediaFeatureEval):
3280
3281 2009-07-23  Simon Fraser  <simon.fraser@apple.com>
3282
3283         Reviewed by Adele Peterson.
3284
3285         3d-transforms media query needs to look check that accelerated compositing is enabled
3286         https://bugs.webkit.org/show_bug.cgi?id=27621
3287         
3288         When evaluating a media query with '-webkit-transform-3d', we need to check the
3289         runtime switch that toggles accererated compositing, and therefore 3D.
3290         
3291         No test because we can't disable the pref dynamically in DRT.
3292
3293         * css/MediaQueryEvaluator.cpp:
3294         (WebCore::transform_3dMediaFeatureEval):
3295
3296 2009-07-22  Ryosuke Niwa  <rniwa@webkit.org>
3297
3298         Reviewed by Eric Seidel.
3299
3300         execCommand('underline') can't remove <U> underlines
3301         https://bugs.webkit.org/show_bug.cgi?id=20215
3302
3303         This patch adds support for u, s, and strike to implicitlyStyledElementShouldBeRemovedWhenApplyingStyle so that
3304         WebKit can remove those presentational tags when necessary.
3305         It also modifies StyleChange::init not to add "text-decoration: none".  Not only is this style meaningless
3306         (does not override inherited styles) but it was also causing WebKit to generate extra spans with this style.
3307
3308         * css/CSSValueList.cpp:
3309         (WebCore::CSSValueList::hasValue): True if the property contains the specified value
3310         * css/CSSValueList.h: Updated prototype
3311         * editing/ApplyStyleCommand.cpp:
3312         (WebCore::StyleChange::init): No longer adds "text-decoration: none"
3313         (WebCore::ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle): Supports text-decoration-related elements
3314
3315 2009-07-23  Jessie Berlin  <jberlin@apple.com>
3316         
3317         Reviewed by Dan Bernstein.
3318
3319         https://bugs.webkit.org/show_bug.cgi?id=27554
3320         Expose the value of text-overflow in getComputedStyle.
3321
3322         Test: fast/css/getComputedStyle/getComputedStyle-text-overflow.html
3323
3324         * css/CSSComputedStyleDeclaration.cpp:
3325         (WebCore::):
3326         Add text-overflow to the list of computedProperties.
3327         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3328         Return the value of the text-overflow property.
3329
3330 2009-07-23  Yongjun Zhang  <yongjun.zhang@nokia.com>
3331
3332         Reviewed by Simon Hausmann.
3333
3334         https://bugs.webkit.org/show_bug.cgi?id=27510
3335
3336         [S60 QtWebKit] Don't put some intermediate generated files into the final mmp project
3337         file for linking. This is a temporary workaround for qmake bug in Symbian port, should 
3338         be reverted after qmake is fixed.
3339
3340         * WebCore.pro:
3341
3342 2009-07-23  Jian Li  <jianli@chromium.org>
3343
3344         Reviewed by David Levin.
3345
3346         [V8] Fix an assert in running workers in Chrome.
3347         https://bugs.webkit.org/show_bug.cgi?id=27620
3348
3349         The fix is to change V8DOMMap::removeAllDOMObjectsInCurrentThreadHelper
3350         to do not call removeObjectsFromWrapperMap for certain types of DOM
3351         objects that exist only in main thread.
3352
3353         * bindings/v8/V8DOMMap.cpp:
3354         (WebCore::removeAllDOMObjectsInCurrentThreadHelper):
3355
3356 2009-07-23  David Hyatt  <hyatt@apple.com>
3357
3358         Reviewed by Dan Bernstein.
3359
3360         https://bugs.webkit.org/show_bug.cgi?id=27572
3361         Implement support for background-attachment:local.
3362
3363         Added new test fast/overflow/overflow-with-local-attachment.html.
3364
3365         * css/CSSComputedStyleDeclaration.cpp:
3366         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3367         * css/CSSParser.cpp:
3368         (WebCore::CSSParser::parseFillProperty):
3369         * css/CSSPrimitiveValueMappings.h:
3370         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
3371         (WebCore::CSSPrimitiveValue::operator EFillAttachment):
3372         * css/CSSStyleSelector.cpp:
3373         (WebCore::CSSStyleSelector::mapFillAttachment):
3374         * css/CSSValueKeywords.in:
3375         * rendering/RenderBoxModelObject.cpp:
3376         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
3377         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
3378         * rendering/style/FillLayer.h:
3379         (WebCore::FillLayer::attachment):
3380         (WebCore::FillLayer::setAttachment):
3381         (WebCore::FillLayer::hasFixedImage):
3382         (WebCore::FillLayer::initialFillAttachment):
3383         * rendering/style/RenderStyle.h:
3384         (WebCore::InheritedFlags::backgroundAttachment):
3385         (WebCore::InheritedFlags::maskAttachment):
3386         * rendering/style/RenderStyleConstants.h:
3387         (WebCore::):
3388
3389 2009-07-23  Ryosuke Niwa  <rniwa@webkit.org>
3390
3391         Reviewed by Eric Seidel.
3392
3393         copyInheritableProperties and removeComputedInheritablePropertiesFrom should be deprecated
3394         https://bugs.webkit.org/show_bug.cgi?id=27325
3395
3396         This patch deprecates copyInheritableProperties because it has been used for two different purposes:
3397         1.  Calculating the typing style.
3398         2.  Moving HTML subtrees and seeking to remove redundant styles.
3399         These tasks should be broken out into two separate functions.  New code should not use this function.
3400
3401         It deletes removeComputedInheritablePropertiesFrom because it hasn't been used anywhere.
3402
3403         There is no test since the patch does not change any behavior.
3404
3405         * css/CSSComputedStyleDeclaration.cpp: removeComputedInheritablePropertiesFrom has been removed
3406         (WebCore::CSSComputedStyleDeclaration::deprecatedCopyInheritableProperties): has been renamed from copyInheritableProperties
3407         * css/CSSComputedStyleDeclaration.h: ditto
3408         * editing/DeleteSelectionCommand.cpp: ditto
3409         (WebCore::removeEnclosingAnchorStyle): ditto
3410         (WebCore::DeleteSelectionCommand::saveTypingStyleState): ditto
3411         * editing/EditCommand.cpp: ditto
3412         (WebCore::EditCommand::styleAtPosition): ditto
3413         * editing/RemoveFormatCommand.cpp: ditto
3414         (WebCore::RemoveFormatCommand::doApply): ditto
3415         * editing/ReplaceSelectionCommand.cpp: ditto
3416         (WebCore::handleStyleSpansBeforeInsertion): ditto
3417         (WebCore::ReplaceSelectionCommand::handleStyleSpans): ditto
3418         * editing/markup.cpp: ditto
3419         (WebCore::removeEnclosingMailBlockquoteStyle): ditto
3420         (WebCore::removeDefaultStyles): ditto
3421         (WebCore::createMarkup): ditto
3422
3423 2009-07-22  Pierre d'Herbemont  <pdherbemont@apple.com>
3424
3425         Reviewed by Simon Fraser.
3426
3427         Audio element at default width shouldn't have time field.
3428         https://bugs.webkit.org/show_bug.cgi?id=27589
3429
3430         * rendering/MediaControlElements.cpp:
3431         (WebCore::MediaControlTimeDisplayElement::setVisible): Make sure we don't
3432         forget to remember the visibility if there is no renderer.
3433
3434 2009-07-23  Beth Dakin  <bdakin@apple.com>
3435
3436         Reviewed by Darin Adler.
3437
3438         Fix for https://bugs.webkit.org/show_bug.cgi?id=27598 Clean up the 
3439         AccessibilityObject class
3440
3441         Mostly this is just moving empty stubs into the header rather than 
3442         muddying the cpp file with them. A few functions were made pure 
3443         virtual.
3444
3445         * accessibility/AccessibilityObject.cpp:
3446         (WebCore::AccessibilityObject::isARIAControl):
3447         (WebCore::AccessibilityObject::clickPoint):
3448         (WebCore::AccessibilityObject::documentFrameView):
3449         (WebCore::AccessibilityObject::actionVerb):
3450         * accessibility/AccessibilityObject.h:
3451         (WebCore::AccessibilityObject::intValue):
3452         (WebCore::AccessibilityObject::layoutCount):
3453         (WebCore::AccessibilityObject::doAccessibilityHitTest):
3454         (WebCore::AccessibilityObject::focusedUIElement):
3455         (WebCore::AccessibilityObject::firstChild):
3456         (WebCore::AccessibilityObject::lastChild):
3457         (WebCore::AccessibilityObject::previousSibling):
3458         (WebCore::AccessibilityObject::nextSibling):
3459         (WebCore::AccessibilityObject::parentObjectIfExists):
3460         (WebCore::AccessibilityObject::observableObject):
3461         (WebCore::AccessibilityObject::linkedUIElements):
3462         (WebCore::AccessibilityObject::titleUIElement):
3463         (WebCore::AccessibilityObject::ariaRoleAttribute):
3464         (WebCore::AccessibilityObject::isPresentationalChildOfAriaRole):
3465         (WebCore::AccessibilityObject::ariaRoleHasPresentationalChildren):
3466         (WebCore::AccessibilityObject::roleValue):
3467         (WebCore::AccessibilityObject::ariaAccessiblityName):
3468         (WebCore::AccessibilityObject::ariaLabeledByAttribute):
3469         (WebCore::AccessibilityObject::ariaDescribedByAttribute):
3470         (WebCore::AccessibilityObject::accessibilityDescription):
3471         (WebCore::AccessibilityObject::ariaSelectedTextDOMRange):
3472         (WebCore::AccessibilityObject::axObjectCache):
3473         (WebCore::AccessibilityObject::axObjectID):
3474         (WebCore::AccessibilityObject::setAXObjectID):
3475         (WebCore::AccessibilityObject::anchorElement):
3476         (WebCore::AccessibilityObject::actionElement):
3477         (WebCore::AccessibilityObject::boundingBoxRect):
3478         (WebCore::AccessibilityObject::selectedTextRange):
3479         (WebCore::AccessibilityObject::selectionStart):
3480         (WebCore::AccessibilityObject::selectionEnd):
3481         (WebCore::AccessibilityObject::url):
3482         (WebCore::AccessibilityObject::selection):
3483         (WebCore::AccessibilityObject::stringValue):
3484         (WebCore::AccessibilityObject::title):
3485         (WebCore::AccessibilityObject::helpText):
3486         (WebCore::AccessibilityObject::textUnderElement):
3487         (WebCore::AccessibilityObject::text):
3488         (WebCore::AccessibilityObject::textLength):
3489         (WebCore::AccessibilityObject::selectedText):
3490         (WebCore::AccessibilityObject::accessKey):
3491         (WebCore::AccessibilityObject::widget):
3492         (WebCore::AccessibilityObject::widgetForAttachmentView):
3493         (WebCore::AccessibilityObject::setFocused):
3494         (WebCore::AccessibilityObject::setSelectedText):
3495         (WebCore::AccessibilityObject::setSelectedTextRange):
3496         (WebCore::AccessibilityObject::setValue):
3497         (WebCore::AccessibilityObject::setSelected):
3498         (WebCore::AccessibilityObject::makeRangeVisible):
3499         (WebCore::AccessibilityObject::childrenChanged):
3500         (WebCore::AccessibilityObject::addChildren):
3501         (WebCore::AccessibilityObject::hasChildren):
3502         (WebCore::AccessibilityObject::selectedChildren):
3503         (WebCore::AccessibilityObject::visibleChildren):
3504         (WebCore::AccessibilityObject::visiblePositionRange):
3505         (WebCore::AccessibilityObject::visiblePositionRangeForLine):
3506         (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
3507         (WebCore::AccessibilityObject::setSelectedVisiblePositionRange):
3508         (WebCore::AccessibilityObject::visiblePositionForPoint):
3509         (WebCore::AccessibilityObject::nextVisiblePosition):
3510         (WebCore::AccessibilityObject::previousVisiblePosition):
3511         (WebCore::AccessibilityObject::visiblePositionForIndex):
3512         (WebCore::AccessibilityObject::indexForVisiblePosition):
3513         (WebCore::AccessibilityObject::index):
3514         (WebCore::AccessibilityObject::doAXRangeForLine):
3515         (WebCore::AccessibilityObject::doAXRangeForIndex):
3516         (WebCore::AccessibilityObject::doAXStringForRange):
3517         (WebCore::AccessibilityObject::doAXBoundsForRange):
3518         (WebCore::AccessibilityObject::updateBackingStore):
3519
3520 2009-07-23  Brian Weinstein  <bweinstein@apple.com>
3521
3522         Reviewed by David Hyatt.
3523
3524         Fix of <rdar://4877658> Dragging from the area between the horizontal/vertical scrollbars when status bar is showing starts a selection and autoscroll.
3525
3526         * page/EventHandler.cpp:
3527         (WebCore::EventHandler::handleMousePressEvent):
3528         * platform/ScrollView.cpp:
3529         (WebCore::ScrollView::wheelEvent):
3530         * platform/ScrollView.h:
3531
3532 2009-07-23  David Hyatt  <hyatt@apple.com>
3533
3534         Reviewed by Dan Bernstein.
3535
3536         https://bugs.webkit.org/show_bug.cgi?id=27581
3537         Drop the prefix from the box-shadow property.
3538
3539         * css/CSSComputedStyleDeclaration.cpp:
3540         (WebCore::):
3541         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3542         * css/CSSParser.cpp:
3543         (WebCore::CSSParser::parseValue):
3544         (WebCore::ShadowParseContext::commitLength):
3545         (WebCore::cssPropertyID):
3546         * css/CSSPropertyNames.in:
3547         * css/CSSStyleSelector.cpp:
3548         (WebCore::CSSStyleSelector::applyProperty):
3549         * page/animation/AnimationBase.cpp:
3550         (WebCore::ensurePropertyMap):
3551
3552 2009-07-22  Viet-Trung Luu  <viettrungluu@gmail.com>
3553
3554         Reviewed by David Hyatt.
3555
3556         https://bugs.webkit.org/show_bug.cgi?id=27289
3557         When a mouse click occurs on a scrollbar without a preceding mouse move
3558         onto it, the release isn't handled correctly (since
3559         EventHandler::m_lastScrollbarUnderMouse isn't set on mouse down, but
3560         only on mouse move). (Side comment: That scrollbar-handling code
3561         in EventHandler is ugly. It should be fixed properly.)
3562
3563         Tests: scrollbars/scrollbar-miss-mousemove.html
3564                scrollbars/scrollbar-miss-mousemove-disabled.html
3565
3566         * page/EventHandler.cpp:
3567         (WebCore::EventHandler::handleMousePressEvent):
3568         (WebCore::EventHandler::handleMouseMoveEvent):
3569         (WebCore::EventHandler::updateLastScrollbarUnderMouse):
3570         * page/EventHandler.h:
3571
3572 2009-07-23  Mike Fenton  <mike.fenton@torchmobile.com>
3573
3574         Reviewed by David Levin.
3575
3576         Update WebCore/page/BarInfo.cpp to conform to WebKit
3577         Style Guidelines as identified by cpplint.py.
3578         https://bugs.webkit.org/show_bug.cgi?id=27606
3579
3580         * page/BarInfo.cpp:
3581         (WebCore::BarInfo::visible):
3582
3583 2009-07-23  Mike Fenton  <mike.fenton@torchmobile.com>
3584
3585         Reviewed by David Levin.
3586
3587         Update WebCore/page/Console.cpp to conform to WebKit
3588         Style Guidelines as identified by cpplint.py.
3589         https://bugs.webkit.org/show_bug.cgi?id=27606
3590
3591         * page/Console.cpp:
3592         (WebCore::printMessageSourceAndLevelPrefix):
3593         (WebCore::Console::profile):
3594         (WebCore::Console::time):
3595
3596 2009-07-23  Simon Hausmann  <simon.hausmann@nokia.com>
3597
3598         Reviewed by Holger Freyther.
3599
3600         Fix crashes with the QObject bindings after garbage collection.
3601
3602         There is one QtInstance per wrapped QObject, and that QtInstance keeps
3603         references to cached JSObjects for slots. When those objects get
3604         deleted due to GC, then they becoming dangling pointers.
3605
3606         When a cached member dies, it is now removed from the QtInstance's
3607         cache.
3608
3609         As we cannot track the lifetime of the children, we have to remove
3610         them from QtInstance alltogether. They are not cached and were
3611         only used for mark(), but we _want_ them to be subject to gc.
3612
3613         * bridge/qt/qt_instance.cpp:
3614         (JSC::Bindings::QtInstance::~QtInstance): Minor coding style cleanup,
3615         use qDeleteAll().
3616         (JSC::Bindings::QtInstance::removeCachedMethod): New function, to
3617         clean m_methods and m_defaultMethod.
3618         (JSC::Bindings::QtInstance::mark): Avoid marking already marked objects.
3619         (JSC::Bindings::QtField::valueFromInstance): Don't save children for
3620         marking.
3621         * bridge/qt/qt_instance.h: Declare removeCachedMethod.
3622         * bridge/qt/qt_runtime.cpp:
3623         (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod): Call removeCachedMethod
3624         with this on the instance.
3625
3626 2009-07-23  Xan Lopez  <xlopez@igalia.com>
3627
3628         Reviewed by Mark Rowe.
3629
3630         https://bugs.webkit.org/show_bug.cgi?id=27599
3631         'const unsigned' in return value
3632
3633         Remove const modifier from unsigned return value, as it does not
3634         make sense.
3635
3636         * dom/ErrorEvent.h:
3637
3638 2009-07-22  Jens Alfke  <snej@chromium.org>
3639
3640         Reviewed by David Levin.
3641
3642         Bug 22784: Improve keyboard navigation of Select elements.
3643         Home/End and PageUp/PageDn buttons do not do anything in drop down lists,
3644         on non-Mac platforms.
3645         https://bugs.webkit.org/show_bug.cgi?id=22784
3646         http://code.google.com/p/chromium/issues/detail?id=4576
3647
3648         New test: LayoutTests/fast/forms/select-popup-pagekeys.html
3649
3650         * dom/SelectElement.cpp:
3651         (WebCore::nextValidIndex): 
3652         New utility fn for traversing items of a select's list.
3653         (WebCore::SelectElement::menuListDefaultEventHandler):
3654         Added code t