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