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