• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
12009-08-11  Simon Hausmann  <simon.hausmann@nokia.com>
2
3        Reviewed by Holger Freyther.
4
5        Fix the build on the Qt build bot by making the generated JS bindings
6        files depend on the code generator itself.
7
8        * WebCore.pro:
9
102009-08-07  Oliver Hunt  <oliver@apple.com>
11
12        Reviewed by Sam Weinig
13
14        Stack overflow crash in JavaScript garbage collector mark pass
15        https://bugs.webkit.org/show_bug.cgi?id=12216
16
17        Make WebCore use the new iterative marking logic.
18
19        Tests: fast/js/nested-object-gc.html
20
21        * bindings/js/JSAbstractWorkerCustom.cpp:
22        (WebCore::JSAbstractWorker::markChildren):
23        * bindings/js/JSDOMApplicationCacheCustom.cpp:
24        (WebCore::JSDOMApplicationCache::markChildren):
25        * bindings/js/JSDOMBinding.cpp:
26        (WebCore::markDOMNodesForDocument):
27        (WebCore::markActiveObjectsForContext):
28        (WebCore::markDOMObjectWrapper):
29        * bindings/js/JSDOMBinding.h:
30        (WebCore::DOMObjectWithGlobalPointer::markChildren):
31        * bindings/js/JSDOMGlobalObject.cpp:
32        (WebCore::JSDOMGlobalObject::markChildren):
33        * bindings/js/JSDOMGlobalObject.h:
34        * bindings/js/JSDOMWindowCustom.cpp:
35        (WebCore::JSDOMWindow::markChildren):
36        * bindings/js/JSDOMWindowShell.cpp:
37        (WebCore::JSDOMWindowShell::markChildren):
38        * bindings/js/JSDOMWindowShell.h:
39        * bindings/js/JSDedicatedWorkerContextCustom.cpp:
40        (WebCore::JSDedicatedWorkerContext::markChildren):
41        * bindings/js/JSDocumentCustom.cpp:
42        (WebCore::JSDocument::markChildren):
43        * bindings/js/JSEventListener.cpp:
44        (WebCore::JSEventListener::markJSFunction):
45        * bindings/js/JSEventListener.h:
46        * bindings/js/JSMessageChannelCustom.cpp:
47        (WebCore::JSMessageChannel::markChildren):
48        * bindings/js/JSMessagePortCustom.cpp:
49        (WebCore::JSMessagePort::markChildren):
50        * bindings/js/JSNavigatorCustom.cpp:
51        (WebCore::JSNavigator::markChildren):
52        * bindings/js/JSNodeCustom.cpp:
53        (WebCore::JSNode::markChildren):
54        * bindings/js/JSNodeFilterCondition.cpp:
55        (WebCore::JSNodeFilterCondition::markAggregate):
56        * bindings/js/JSNodeFilterCondition.h:
57        * bindings/js/JSNodeFilterCustom.cpp:
58        (WebCore::JSNodeFilter::markChildren):
59        * bindings/js/JSNodeIteratorCustom.cpp:
60        (WebCore::JSNodeIterator::markChildren):
61        * bindings/js/JSQuarantinedObjectWrapper.cpp:
62        (WebCore::JSQuarantinedObjectWrapper::markChildren):
63        * bindings/js/JSQuarantinedObjectWrapper.h:
64        * bindings/js/JSSVGElementInstanceCustom.cpp:
65        (WebCore::JSSVGElementInstance::markChildren):
66        * bindings/js/JSSharedWorkerCustom.cpp:
67        (WebCore::JSSharedWorker::markChildren):
68        * bindings/js/JSStyleSheetCustom.cpp:
69        (WebCore::JSStyleSheet::markChildren):
70        * bindings/js/JSTreeWalkerCustom.cpp:
71        (WebCore::JSTreeWalker::markChildren):
72        * bindings/js/JSWebSocketCustom.cpp:
73        (WebCore::JSWebSocket::markChildren):
74        * bindings/js/JSWorkerContextCustom.cpp:
75        (WebCore::JSWorkerContext::markChildren):
76        * bindings/js/JSWorkerCustom.cpp:
77        (WebCore::JSWorker::markChildren):
78        * bindings/js/JSXMLHttpRequestCustom.cpp:
79        (WebCore::JSXMLHttpRequest::markChildren):
80        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
81        (WebCore::JSXMLHttpRequestUpload::markChildren):
82        * bindings/scripts/CodeGeneratorJS.pm:
83        * dom/EventListener.h:
84        (WebCore::EventListener::markJSFunction):
85        (WebCore::markIfNotNull):
86        * dom/NodeFilter.h:
87        (WebCore::NodeFilter::markAggregate):
88        * dom/NodeFilterCondition.h:
89        (WebCore::NodeFilterCondition::markAggregate):
90        * dom/RegisteredEventListener.h:
91        (WebCore::markEventListeners):
92        * page/DOMWindow.h:
93        * workers/WorkerContext.h:
94
952009-08-10  Jeremy Orlow  <jorlow@chromium.org>
96
97        Reviewed by Eric Seidel.
98
99        Renamed all V8 NPN_ functions to _NPN_ to match JSC and make them "private".
100        https://bugs.webkit.org/show_bug.cgi?id=28089
101
102        Rename all the NPN_foo functions to _NPN_foo so that they can't directly be
103        called by mistake.  This roughly matches the way JSC does it, which is an
104        additional advantage.
105
106        * bindings/v8/NPV8Object.cpp:
107        (npCreateV8ScriptObject):
108        (_NPN_Invoke):
109        (_NPN_InvokeDefault):
110        (_NPN_Evaluate):
111        (_NPN_EvaluateHelper):
112        (_NPN_GetProperty):
113        (_NPN_SetProperty):
114        (_NPN_RemoveProperty):
115        (_NPN_HasProperty):
116        (_NPN_HasMethod):
117        (_NPN_SetException):
118        (_NPN_Enumerate):
119        (_NPN_Construct):
120        * bindings/v8/ScriptController.cpp:
121        (WebCore::ScriptController::clearScriptObjects):
122        (WebCore::ScriptController::createScriptInstanceForWidget):
123        (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
124        * bindings/v8/V8NPObject.cpp:
125        (npObjectInvokeImpl):
126        (npObjectGetProperty):
127        (npObjectIndexedPropertyGetter):
128        (npObjectGetIndexedProperty):
129        (npObjectSetProperty):
130        (npObjectIndexedPropertySetter):
131        (npObjectSetIndexedProperty):
132        (weakNPObjectCallback):
133        (createV8ObjectForNPObject):
134        (forgetV8ObjectForNPObject):
135        * bindings/v8/V8NPUtils.cpp:
136        (getStringIdentifier):
137        * bindings/v8/npruntime.cpp:
138        * bindings/v8/npruntime_impl.h:
139
1402009-08-10  Jeremy Orlow  <jorlow@chromium.org>
141
142        Reviewed by Brady Eidson.
143
144        Change ___Storage.key() to match current spec behavior.
145        https://bugs.webkit.org/show_bug.cgi?id=28112
146
147        The current WebStorage spec says that ___Storage.key() should return null when
148        the index is out of bounds, rather than an exception.  A bunch of logic can be
149        simplified after this change.
150
151        * bindings/js/JSStorageCustom.cpp:
152        (WebCore::JSStorage::getPropertyNames):
153        * bindings/v8/custom/V8StorageCustom.cpp:
154        (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
155        * storage/Storage.cpp:
156        (WebCore::Storage::key):
157        * storage/Storage.h:
158        * storage/Storage.idl:
159        * storage/StorageArea.h:
160        * storage/StorageAreaImpl.cpp:
161        (WebCore::StorageAreaImpl::key):
162        * storage/StorageAreaImpl.h:
163        * storage/StorageMap.cpp:
164        (WebCore::StorageMap::key):
165        * storage/StorageMap.h:
166
1672009-08-07  Michael Nordman  <michaeln@google.com>
168
169        Reviewed by Darin Fisher.
170
171        https://bugs.webkit.org/show_bug.cgi?id=28087
172
173        Mods for a chrome specific impl of ApplicationCacheHost.
174
175        * The public section of the interface is the same, but we use
176        PLATFORM(CHROMIUM) to identify which parts of the private
177        section are shared. The chrome specific internals are encapsulated
178        in a seperate ApplicationCacheHostInternal class. WebCore common
179        code only contains a forward reference to this class.
180
181        * Cleanup a couple of stale comments.
182
183        * Have window.applicationCache return null to script when the
184        feature is disabled in the preferences.
185
186        No new tests.
187
188        * loader/appcache/ApplicationCacheHost.cpp:
189        * loader/appcache/ApplicationCacheHost.h:
190        (WebCore::ApplicationCacheHost::documentLoader):
191        * page/DOMWindow.cpp:
192        (WebCore::DOMWindow::applicationCache):
193
1942009-08-10  Crystal Zhang  <crystal.zhang@staikos.net>
195
196        Reviewed by George Staikos.
197
198        Implement GraphicsContext::fillRoundRect() for WINCE port
199        https://bugs.webkit.org/show_bug.cgi?id=27842
200
201        * platform/graphics/GraphicsContext.h:
202        * platform/graphics/wince/GraphicsContextWince.cpp:
203        (WebCore::rectCenterPoint):
204        (WebCore::GraphicsContext::fillRoundedRect):
205        (WebCore::GraphicsContext::drawRoundCorner):
206
2072009-08-10  Anthony Ricaud  <rik@webkit.org>
208
209        Reviewed by Timothy Hatcher.
210
211        Inspector Resources / Graphs should support filtering
212        https://bugs.webkit.org/show_bug.cgi?id=20629
213
214        Introduces a filter bar for resources.
215
216        Thanks to Matt Lilek for the CSS scope bar.
217
218        * English.lproj/localizedStrings.js:
219        * inspector/front-end/ResourcesPanel.js:
220        (WebInspector.ResourcesPanel.createFilterElement):
221        (WebInspector.ResourcesPanel):
222        (WebInspector.ResourcesPanel.prototype.toolbarItemClass.categoryOrder.filter):
223        (WebInspector.ResourcesPanel.prototype._updateFilter):
224        (WebInspector.ResourcesPanel.prototype._updateSummaryGraph):
225        * inspector/front-end/inspector.css:
226        * inspector/front-end/inspector.js:
227        (WebInspector.loaded):
228
2292009-08-10  Brent Fulgham  <bfulgham@webkit.org>
230
231        Unreviewed build correction after http://trac.webkit.org/changeset/46978
232
233        * platform/network/curl/ResourceHandleManager.cpp:
234        (WebCore::ResourceHandleManager::initializeHandle):  Correct
235         deprecated removeRef to new removeFragmentIdentifier.
236
2372009-08-07  Ryosuke Niwa  <rniwa@webkit.org>
238
239        Reviewed by Justin Garcia.
240
241        Background color formatting lost on enter
242        https://bugs.webkit.org/show_bug.cgi?id=20348
243
244        This patch makes background color be preserved during editing.
245        In particular, editingStyleAtPosition would include the background color when obtaining styles.
246
247        * editing/ApplyStyleCommand.cpp:
248        (WebCore::): Added CSSPropertyBackgroundColor to editingStyleProperties
249
2502009-08-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
251
252        Reviewed by Simon Hausmann.
253
254        Stop sending QEvent::CursorChange to Qt for mouse move.
255
256        Verify if the cursor didn't change in WidgetQt::setCursor,
257        just like the mac port does.
258
259        Thanks to Adriano Rezendo for spotting and debugging the
260        issue.
261
262        * platform/qt/WidgetQt.cpp:
263        (WebCore::Widget::setCursor):
264
2652009-08-10  Alexey Proskuryakov  <ap@apple.com>
266
267        Reviewed by Brady Eidson.
268
269        https://bugs.webkit.org/show_bug.cgi?id=28165
270        Application cache maximum size cannot be set before the database is opened
271
272        * loader/appcache/ApplicationCacheStorage.cpp:
273        (WebCore::ApplicationCacheStorage::vacuumDatabaseFile): Open appcache database if it isn't
274        open yet.
275
2762009-08-10  Vitaly Repeshko  <vitalyr@quad.spb.corp.google.com>
277
278        Reviewed by Dimitri Glazkov.
279
280        [V8] Fix memory leak in node event listeners. See http://crbug.com/17400.
281        https://bugs.webkit.org/show_bug.cgi?id=28156
282
283        * bindings/scripts/CodeGeneratorV8.pm: Custom event handler accessors now apply to all Node descendants.
284        * bindings/v8/V8AbstractEventListener.h:
285        (WebCore::V8AbstractEventListener::isObjectListener): Added virtual method to detect listeners that have weak references to JS objects.
286        * bindings/v8/V8DOMWrapper.cpp:
287        (WebCore::V8DOMWrapper::getTemplate):
288        * bindings/v8/V8ObjectEventListener.cpp:
289        * bindings/v8/V8ObjectEventListener.h:
290        (WebCore::V8ObjectEventListener::isObjectListener):
291        * bindings/v8/V8Utilities.cpp:
292        (WebCore::removeHiddenDependency):
293        * bindings/v8/custom/V8CustomBinding.h:
294        * bindings/v8/custom/V8ElementCustom.cpp:
295        * bindings/v8/custom/V8NodeCustom.cpp: Moved custom accessors from V8ElementCustom.cpp.
296        (WebCore::toEventType):
297        (WebCore::getEventListener):
298        (WebCore::ACCESSOR_SETTER):
299        (WebCore::ACCESSOR_GETTER):
300        (WebCore::CALLBACK_FUNC_DECL):
301        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
302        (WebCore::getEventListener): Made static.
303
3042009-08-10  Jeremy Orlow  <jorlow@chromium.org>
305
306        Reviewed by Darin Fisher.
307
308        Cleanup DOM Storage namespace shutdown code + usage of security origin.
309        https://bugs.webkit.org/show_bug.cgi?id=28094
310
311        If a storage namespace is not explicitly closed, be sure to do so on
312        destruction of the object.  In addition, the close call should wait
313        on the background thread finishing its syncing.  (Not doing so is actually
314        a regression from the original LocalStorage code.)
315
316        There's no point to passing in the SecurityOrigin when copying a storage
317        area since what was passed in is exactly what is stored within each
318        storage area.  In addition, the non-copy constructor should take in a
319        PassRefPtr rather than a pointer since that pointer was only passed into
320        the constuctor for RefPtr's anyway.
321
322        * storage/StorageAreaImpl.cpp:
323        (WebCore::StorageAreaImpl::StorageAreaImpl):
324        (WebCore::StorageAreaImpl::copy):
325        * storage/StorageAreaImpl.h:
326        * storage/StorageNamespaceImpl.cpp:
327        (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
328        (WebCore::StorageNamespaceImpl::~StorageNamespaceImpl):
329        (WebCore::StorageNamespaceImpl::copy):
330        (WebCore::StorageNamespaceImpl::close):
331        * storage/StorageNamespaceImpl.h:
332
3332009-08-10  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
334
335        Not reviewed, build fix.
336
337        Rename ref() to fragmentIdentifier() in the wml/ subdirectory.
338
339        * wml/WMLCardElement.cpp:
340        (WebCore::WMLCardElement::determineActiveCard):
341        * wml/WMLGoElement.cpp:
342        (WebCore::WMLGoElement::executeTask):
343        * wml/WMLPageState.cpp:
344        (WebCore::WMLPageState::canAccessDeck):
345
3462009-08-10  Steve Falkenburg  <sfalken@apple.com>
347
348        Windows build fix.
349
350        Exclude JSMedia.cpp from build since it is included in DerivedSources.cpp.
351        Fixes linker warnings.
352
353        Corrected spelling of JSInspectorBackend.cpp.
354
355        Other changes related to actually using a Visual Studio to open/save the vcproj file.
356
357        * WebCore.vcproj/WebCore.vcproj:
358
3592009-08-10  Sam Weinig  <sam@webkit.org>
360
361        Reviewed by Anders Carlsson.
362
363        Remove a dead #define.
364
365        * bindings/js/JSDOMBinding.cpp:
366
3672009-08-10  Dimitri Glazkov  <dglazkov@chromium.org>
368
369        Unreviewed, build fix.
370
371        [Chromium] Update KURLGoogle for ref* method renames in
372        http://trac.webkit.org/changeset/46978.
373        https://bugs.webkit.org/show_bug.cgi?id=28084
374
375        * bindings/v8/custom/V8LocationCustom.cpp:
376        (WebCore::ACCESSOR_SETTER): Renamed ref and setRef to fragmentIdentifier and
377            setFragmentIdentifier, respectively.
378        * platform/KURLGoogle.cpp: Ditto, plus all other ref* method names.
379
3802009-08-10  Jan Michael Alonzo  <jmalonzo@webkit.org>
381
382        [Gtk] Unreviewed. Fix the nit as suggested by Darin in bug #28144
383        for r46989.
384
385        * platform/network/soup/ResourceHandleSoup.cpp:
386        (WebCore::finishedCallback):
387
3882009-08-10  John Kjellberg  <john.kjellberg@power.alstom.com>
389
390        Reviewed by Darin Adler.
391
392        Memory leak in error handling code for SOUP interface
393        https://bugs.webkit.org/show_bug.cgi?id=28144
394
395        Freed memory leaked in error handling code for soup requests.
396
397        * platform/network/soup/ResourceHandleSoup.cpp:
398        (WebCore::finishedCallback):
399        (WebCore::):
400
4012009-08-10  Dimitri Glazkov  <dglazkov@chromium.org>
402
403        Reviewed by Darin Adler.
404
405        Provide graceful handling of the situation when an embedder invokes
406        visited link update methods before a Page constructor has been called.
407        https://bugs.webkit.org/show_bug.cgi?id=28149
408
409        * page/Page.cpp:
410        (WebCore::Page::allVisitedStateChanged): Added a null-check for allPages.
411        (WebCore::Page::visitedStateChanged): Ditto.
412
4132009-08-10  Xan Lopez  <xlopez@igalia.com>
414
415        Fix GTK+ build.
416
417        * platform/network/soup/ResourceHandleSoup.cpp:
418        (WebCore::):
419
4202009-08-10  Dan Bernstein  <mitz@apple.com>
421
422        Reviewed by Anders Carlsson.
423
424        Remove the redundant, Windows CE-only GlyphBuffer::advnaceData()
425
426        * platform/graphics/GlyphBuffer.h: Removed advanceData().
427        * platform/graphics/wince/GraphicsContextWince.cpp:
428        (WebCore::GraphicsContext::drawText): Changed to use advances(from)
429            instead of advanceData() + from.
430
4312009-08-10  Xan Lopez  <xlopez@igalia.com>
432
433        Reviewed by Gustavo Noronha.
434
435        Remove workaround for older libsoup versions.
436
437        * platform/network/soup/ResourceHandleSoup.cpp:
438        (WebCore::fillResponseFromMessage):
439
4402009-08-10  Xan Lopez  <xlopez@igalia.com>
441
442        Reviewed by Gustavo Noronha.
443
444        Let startHttp validate the URI instead of doing it, with potential
445        crashes, in ::start.
446
447        * platform/network/soup/ResourceHandleSoup.cpp:
448        (WebCore::startHttp):
449
4502009-08-10  Darin Adler  <darin@apple.com>
451
452        Reviewed by Dan Bernstein.
453
454        When empty <input> is focused, getSelection() exposes shadow tree nodes
455        https://bugs.webkit.org/show_bug.cgi?id=15903
456
457        Test: fast/forms/shadow-tree-exposure.html
458
459        * page/DOMSelection.cpp:
460        (WebCore::selectionShadowAncestor): Added.
461        (WebCore::DOMSelection::anchorNode): Return the parent of the shadow
462        ancestor if the selection is in a shadow tree. Matches Firefox.
463        (WebCore::DOMSelection::anchorOffset): Return the index of the shadow
464        ancestor if the selection is in a shadow tree. Matches Firefox.
465        (WebCore::DOMSelection::focusNode): Ditto.
466        (WebCore::DOMSelection::focusOffset): Ditto.
467        (WebCore::DOMSelection::baseNode): More of the same, but since this
468        is a WebKit-invented property, it does not match Firefox.
469        (WebCore::DOMSelection::baseOffset): Ditto.
470        (WebCore::DOMSelection::extentNode): Ditto.
471        (WebCore::DOMSelection::extentOffset): Ditto.
472        (WebCore::DOMSelection::isCollapsed): Return true even when the
473        selection is a range, if the selection is in the shadow tree.
474        Matches Firefox. Also changed behavior when called and the frame
475        is gone to return true instead of false which makes more sense.
476        (WebCore::DOMSelection::empty): Use clear() just like the other
477        selection-clearing function in this file does.
478        (WebCore::DOMSelection::getRangeAt): Return a range that starts
479        and ends before the shadow ancestor. Matches Firefox.
480
4812009-08-10  Pavel Feldman  <pfeldman@chromium.org>
482
483        Reviewed by Timothy Hatcher.
484
485        Web Inspector: Make all status bar button images glyph-based.
486
487        https://bugs.webkit.org/show_bug.cgi?id=28124
488
489        * inspector/front-end/ElementsPanel.js:
490        (WebInspector.ElementsPanel):
491        * inspector/front-end/Images/clearConsoleButtonGlyph.png: Added.
492        * inspector/front-end/Images/clearConsoleButtons.png: Removed.
493        * inspector/front-end/Images/consoleButtonGlyph.png: Added.
494        * inspector/front-end/Images/consoleButtons.png: Removed.
495        * inspector/front-end/Images/dockButtonGlyph.png: Added.
496        * inspector/front-end/Images/dockButtons.png: Removed.
497        * inspector/front-end/Images/enableButtons.png: Removed.
498        * inspector/front-end/Images/enableOutlineButtonGlyph.png: Added.
499        * inspector/front-end/Images/enableSolidButtonGlyph.png: Added.
500        * inspector/front-end/Images/excludeButtonGlyph.png: Added.
501        * inspector/front-end/Images/excludeButtons.png: Removed.
502        * inspector/front-end/Images/focusButtonGlyph.png: Added.
503        * inspector/front-end/Images/focusButtons.png: Removed.
504        * inspector/front-end/Images/largerResourcesButtonGlyph.png: Added.
505        * inspector/front-end/Images/largerResourcesButtons.png: Removed.
506        * inspector/front-end/Images/nodeSearchButtonGlyph.png: Added.
507        * inspector/front-end/Images/nodeSearchButtons.png: Removed.
508        * inspector/front-end/Images/pauseOnExceptionButtonGlyph.png: Added.
509        * inspector/front-end/Images/pauseOnExceptionButtons.png: Removed.
510        * inspector/front-end/Images/percentButtonGlyph.png: Added.
511        * inspector/front-end/Images/percentButtons.png: Removed.
512        * inspector/front-end/Images/recordButtonGlyph.png: Added.
513        * inspector/front-end/Images/recordButtons.png: Removed.
514        * inspector/front-end/Images/recordToggledButtonGlyph.png: Added.
515        * inspector/front-end/Images/reloadButtonGlyph.png: Added.
516        * inspector/front-end/Images/reloadButtons.png: Removed.
517        * inspector/front-end/Images/undockButtonGlyph.png: Added.
518        * inspector/front-end/Panel.js:
519        (WebInspector.Panel.prototype.createStatusBarButton):
520        * inspector/front-end/ProfilesPanel.js:
521        (WebInspector.ProfilesPanel):
522        * inspector/front-end/ResourcesPanel.js:
523        (WebInspector.ResourcesPanel):
524        * inspector/front-end/ScriptsPanel.js:
525        (WebInspector.ScriptsPanel):
526        * inspector/front-end/WebKit.qrc:
527        * inspector/front-end/inspector.css:
528        * inspector/front-end/inspector.html:
529
5302009-08-07  Brady Eidson  <beidson@apple.com>
531
532        Reviewed by Darin Adler.
533
534        KURL ref() methods should be fragmentIdentifier() methods
535        https://bugs.webkit.org/show_bug.cgi?id=28084
536
537        In addition to the renames, also took the chance to replace all use of:
538        setRef(String());
539        with:
540        removeFragmentIdentifier();
541
542        * platform/KURL.cpp:
543        (WebCore::KURL::fragmentIdentifier):
544        (WebCore::KURL::hasFragmentIdentifier):
545        (WebCore::KURL::setFragmentIdentifier):
546        (WebCore::KURL::removeFragmentIdentifier):
547        (WebCore::KURL::prettyURL):
548        (WebCore::equalIgnoringFragmentIdentifier):
549        * platform/KURL.h:
550
551        * bindings/js/JSLocationCustom.cpp:
552        (WebCore::JSLocation::setHash): Rework with new names, and to use the new equalIgnoringNullity() method.
553
554        * accessibility/AccessibilityRenderObject.cpp:
555        (WebCore::AccessibilityRenderObject::internalLinkElement):
556        * css/CSSCursorImageValue.cpp:
557        (WebCore::isSVGCursorIdentifier):
558        * history/HistoryItem.cpp:
559        (WebCore::HistoryItem::isCurrentDocument):
560        * html/HTMLAnchorElement.cpp:
561        (WebCore::HTMLAnchorElement::hash):
562        * html/HTMLFrameElementBase.cpp:
563        (WebCore::HTMLFrameElementBase::isURLAllowed):
564        * loader/FrameLoader.cpp:
565        (WebCore::FrameLoader::begin):
566        (WebCore::FrameLoader::gotoAnchor):
567        (WebCore::FrameLoader::scheduleLocationChange):
568        (WebCore::FrameLoader::scrollToAnchor):
569        (WebCore::FrameLoader::shouldReload):
570        (WebCore::FrameLoader::urlsMatchItem):
571        * loader/appcache/ApplicationCache.cpp:
572        (WebCore::ApplicationCache::resourceForURL):
573        (WebCore::ApplicationCache::resourceForRequest):
574        * loader/appcache/ApplicationCacheGroup.cpp:
575        (WebCore::ApplicationCacheGroup::cacheForMainRequest):
576        (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest):
577        (WebCore::ApplicationCacheGroup::selectCache):
578        (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
579        (WebCore::ApplicationCacheGroup::didReceiveResponse):
580        (WebCore::ApplicationCacheGroup::didFail):
581        (WebCore::ApplicationCacheGroup::addEntry):
582        * loader/appcache/ApplicationCacheResource.h:
583        (WebCore::ApplicationCacheResource::create):
584        * loader/appcache/ApplicationCacheStorage.cpp:
585        (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
586        (WebCore::ApplicationCacheStorage::cacheGroupForURL):
587        (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
588        * loader/appcache/ManifestParser.cpp:
589        (WebCore::parseManifest):
590        * page/Location.cpp:
591        (WebCore::Location::hash):
592        * page/Page.cpp:
593        (WebCore::Page::goToItem):
594        * rendering/RenderPartObject.cpp:
595        (WebCore::isURLAllowed):
596        * workers/WorkerLocation.cpp:
597        (WebCore::WorkerLocation::hash):
598
5992009-08-10  Andy Shaw <andy.shaw@nokia.com>
600
601        Reviewed by Simon Hausmann.
602
603        Fix endless loop when the application is quit by a secondary thread during a sync xml http request.
604
605        Replace the m_finished state variable and the call to QCoreApplication::processEvents() with
606        a dedicated QEventLoop, that can be terminated from within WebCoreSynchronousLoader as well
607        as from Qt through its knowledge of globally registered eventloops.
608
609        There is no unit test for this bug as it would require exporting additional symbols and
610        introduce the synchronous loader as global variable just for the test.
611
612        * platform/network/qt/ResourceHandleQt.cpp:
613        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
614        (WebCore::WebCoreSynchronousLoader::didFail):
615        (WebCore::WebCoreSynchronousLoader::waitForCompletion):
616
6172009-08-10  Pavel Feldman  <pfeldman@chromium.org>
618
619        Reviewed by Timothy Hatcher.
620
621        WebInspector: Make properties inspection serialized.
622
623        https://bugs.webkit.org/show_bug.cgi?id=28078
624
625        * inspector/front-end/DOMAgent.js:
626        (InspectorController.getPrototypes):
627        (InspectorController.getProperties):
628        * inspector/front-end/InjectedScript.js:
629        (InjectedScript.getPrototypes):
630        (InjectedScript.getProperties):
631        (InjectedScript.setPropertyValue):
632        * inspector/front-end/ObjectPropertiesSection.js:
633        (WebInspector.ObjectRef):
634        (WebInspector.ObjectPropertyRef):
635        (WebInspector.ObjectPropertiesSection.prototype.onpopulate):
636        (WebInspector.ObjectPropertiesSection.prototype.update.callback):
637        (WebInspector.ObjectPropertiesSection.prototype.update):
638        (WebInspector.ObjectPropertiesSection.prototype._update):
639        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
640        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
641        (WebInspector.ObjectPropertyTreeElement.prototype.onattach):
642        (WebInspector.ObjectPropertyTreeElement.prototype.update):
643        * inspector/front-end/PropertiesSidebarPane.js:
644        (WebInspector.PropertiesSidebarPane.prototype.update.callback):
645        (WebInspector.PropertiesSidebarPane.prototype.update):
646
6472009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
648
649        Reviewed by George Staikos.
650
651        [WML] wml.css lacks <pre> support
652        https://bugs.webkit.org/show_bug.cgi?id=28135
653
654        Add <pre> support for WML.
655        Extended fast/wml/text-emphasis.wml to cover <pre> support.
656
657        * css/wml.css: <pre> section copied from html.css
658
6592009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
660
661        Reviewed by Oliver Hunt.
662
663        Fix non-WML enabled builds. Remove ENABLE(WML) guards around the switch cases 'FrameLoadTypeBackWMLDeckNotAccessible'.
664
665        * loader/FrameLoader.cpp:
666        (WebCore::isBackForwardLoadType):
667        (WebCore::FrameLoader::restoreDocumentState):
668        (WebCore::FrameLoader::transitionToCommitted):
669        (WebCore::FrameLoader::loadItem):
670
6712009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
672
673        Reviewed by George Staikos.
674
675        [WML] Deck access control is completly broken
676        https://bugs.webkit.org/show_bug.cgi?id=27721
677
678        Rewrite WML deck access control, actually works now standalone and within LayoutTests.
679        Added several new layout tests covering local & remote access support.
680
681        In order to detect WML task execution failures from within the WML layout tests a new
682        method Console::lastWMLErrorMessage() has been added, returning the last recorded WML
683        error message. Change WML log messages to dump to InspectorClient, just like it's done
684        for HTML - we used to behave like JSMessageSource, which is wrong.
685
686        Tests: http/tests/wml/access-target-domain-deny.html
687               http/tests/wml/access-target-path-deny.html
688               http/tests/wml/access-target.html
689               wml/access-target-deny.html
690               wml/access-target.html
691
692        * inspector/ConsoleMessage.h:
693        (WebCore::ConsoleMessage::source): Added public method to fetch the message source type.
694        (WebCore::ConsoleMessage::message): Added public method to access the error message.
695        * inspector/InspectorController.h:
696        (WebCore::InspectorController::consoleMessages): Added for Console::lastWMLErrorMessage(), to be able to crawl through the list of dumped messages.
697        * loader/FrameLoader.cpp: Recognize 'FrameLoadTypeBackWMLDeckNotAccessible', all guarded by ENABLE(WML).
698        (WebCore::isBackForwardLoadType):
699        (WebCore::FrameLoader::restoreDocumentState):
700        (WebCore::FrameLoader::transitionToCommitted):
701        (WebCore::FrameLoader::loadItem):
702        * loader/FrameLoaderTypes.h:
703        (WebCore::): Add new load type 'FrameLoadTypeBackWMLDeckNotAccessible', behaving like FrameLoadTypeBack plus WML specific information.
704        * page/Console.cpp:
705        (WebCore::Console::addMessage): Don't dump WML messages using ChromeClient (as it's done for JSMessageSource), but go through InspectorController.
706        (WebCore::Console::lastWMLErrorMessage): Crawl InspectorController::consoleMssages() to look up the last WML error message, if present.
707        * page/Console.h:
708        * page/Console.idl: Add "[DontEnum] DOMString lastWMLErrorMessage()".
709        * wml/WMLAccessElement.cpp: Store path/domain as member variables and pass them to WMLPageState once in insertedIntoDocument().
710        (WebCore::WMLAccessElement::parseMappedAttribute):
711        (WebCore::WMLAccessElement::insertedIntoDocument):
712        * wml/WMLAccessElement.h:
713        * wml/WMLCardElement.cpp: Handle 'FrameLoadTypeBackWMLDeckNotAccessible' as deck-entry method. Report WML error in current deck.
714        (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
715        * wml/WMLDocument.cpp: Enable deck-access control in finishedParsing. Take care of method name changes in WMLPageState.
716        (WebCore::WMLDocument::finishedParsing):
717        (WebCore::WMLDocument::initialize):
718        * wml/WMLErrorHandling.cpp: Never report 'WMLErrorDeckNotAccessible' messages through the tokenizer, that would alter the page into error state.
719        (WebCore::reportWMLError):
720        * wml/WMLPageState.cpp: Completly rewrote access path/domain parsing & deck-access control, strictly following the WML spec. All covered by tests.
721        (WebCore::WMLPageState::WMLPageState):
722        (WebCore::normalizedHostName):
723        (WebCore::hostFromURL):
724        (WebCore::urlForHistoryItem):
725        (WebCore::tryAccessHistoryURLs):
726        (WebCore::WMLPageState::processAccessControlData):
727        (WebCore::WMLPageState::resetAccessControlData):
728        (WebCore::WMLPageState::canAccessDeck):
729        (WebCore::WMLPageState::hostIsAllowedToAccess):
730        (WebCore::WMLPageState::pathIsAllowedToAccess):
731        * wml/WMLPageState.h:
732
7332009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
734
735        Reviewed by Maciej Stachowiak.
736
737        FrameLoadType / WebFrameLoadType enums are out of sync
738        https://bugs.webkit.org/show_bug.cgi?id=28132
739
740        Modify FrameLoadType enum to match the order of WebFrameLoadType in WebFramePrivate.h / IWebFramePrivate.idl.
741        The mac/win public API exposes the old 'FrameLoadTypeReloadAllowingStaleData' value, which resides between
742        'FrameLoadTypeReload' and 'FrameLoadTypeSame'. Work around this problem, by assigning 'FrameLoadTypeSame = FrameLoadTypeReload + 2'.
743
744        Add a note to the FrameLoadType enum to keep it in sync with WebFramePrivate.h & IWebFramePrivate.idl.
745
746        * loader/FrameLoaderTypes.h:
747        (WebCore::):
748
7492009-08-09  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
750
751        Reviewed by George Staikos.
752
753        [WML] manual-tests/wml/onevent-prev.wml crashes
754        https://bugs.webkit.org/show_bug.cgi?id=27722
755
756        Fix intrinsic event execution, leading to crashes.
757        First finish parsing the document, then execute the events. Not the other way round.
758        -> exposes bugs all over the WML layout tests, which relied on that quirk.
759
760        Fixes manual-tests/wml/onevent-prev.wml.
761
762        * wml/WMLDocument.cpp:
763        (WebCore::WMLDocument::WMLDocument):
764        (WebCore::WMLDocument::finishedParsing):
765        (WebCore::WMLDocument::initialize):
766        * wml/WMLDocument.h:
767
7682009-08-08  Dimitri Glazkov  <dglazkov@chromium.org>
769
770        Unreviewed, build fix.
771
772        [Chromium] Update WebCore.gyp to add ImageBuffer.cpp,
773        introduced by http://trac.webkit.org/changeset/46956.
774        https://bugs.webkit.org/show_bug.cgi?id=27844
775
776        * WebCore.gypi: Added ImageBuffer.cpp.
777
7782009-08-08  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
779
780        Rubber-stamped by Jan Michael Alonzo.
781
782        Add [DontEnum] to WML specific initializeWMLPageState/resetWMLPageState methods, to assure
783        fast/dom/Window/window-properties.html doesn't show any differences when WML is enabled.
784
785        * dom/Document.idl:
786
7872009-08-08  Dirk Schulze  <krit@webkit.org>
788
789        Reviewed by Eric Seidel.
790
791        SVG Filter need feColorMatrix implementation
792        [https://bugs.webkit.org/show_bug.cgi?id=27711]
793
794        Adds the filter effect feColorMatrix to SVG filters.
795
796        There is already a test in the w3c directory.
797        Test: svg/W3C-SVG-1.1/filters-color-01-b.svg
798
799        * platform/graphics/filters/FEColorMatrix.cpp:
800        (WebCore::matrix):
801        (WebCore::saturate):
802        (WebCore::huerotate):
803        (WebCore::luminance):
804        (WebCore::FEColorMatrix::apply):
805
8062009-08-08  Dirk Schulze  <krit@webkit.org>
807
808        Reviewed by Oliver Hunt.
809
810        Build fix for Tiger.
811        https://bugs.webkit.org/show_bug.cgi?id=27844
812
813        * platform/graphics/cg/ImageBufferCG.cpp:
814        (WebCore::ImageBuffer::ImageBuffer):
815
8162009-08-08  Dirk Schulze  <krit@webkit.org>
817
818        Reviewed by Oliver Hunt.
819
820        This is an initial implementation for linearRGB and sRGB support for all
821        platforms. Some platforms like Cg support different color spaces
822        natively, others like Qt, Cairo and Skia do not. This patch uses the
823        native implementation of platforms if possible and offers a common version
824        if not.
825
826        Different color spaces are used in SVG Filters. Nearly every Filter test
827        case is a test for this patch and will be enabled, once Filters are enabled.
828        https://bugs.webkit.org/show_bug.cgi?id=27844
829
830        * GNUmakefile.am:
831        * WebCore.pro:
832        * html/canvas/CanvasRenderingContext2D.cpp:
833        (WebCore::CanvasRenderingContext2D::drawTextInternal):
834        * html/HTMLCanvasElement.cpp:
835        (WebCore::HTMLCanvasElement::createImageBuffer):
836        * platform/graphics/GeneratedImage.cpp:
837        (WebCore::GeneratedImage::drawPattern):
838        * platform/graphics/ImageBuffer.cpp: Added.
839        (WebCore::ImageBuffer::transformColorSpace):
840        * platform/graphics/ImageBuffer.h:
841        (WebCore::):
842        (WebCore::ImageBuffer::create):
843        * platform/graphics/cairo/ImageBufferCairo.cpp:
844        (WebCore::ImageBuffer::ImageBuffer):
845        (WebCore::ImageBuffer::platformTransformColorSpace):
846        * platform/graphics/cairo/ImageCairo.cpp:
847        (WebCore::Image::drawPattern):
848        * platform/graphics/cg/ImageBufferCG.cpp:
849        (WebCore::ImageBuffer::ImageBuffer):
850        * platform/graphics/chromium/TransparencyWin.cpp:
851        (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers):
852        * platform/graphics/filters/FilterEffect.cpp:
853        (WebCore::FilterEffect::getEffectContext):
854        * platform/graphics/qt/ImageBufferQt.cpp:
855        (WebCore::ImageBuffer::ImageBuffer):
856        (WebCore::ImageBuffer::platformTransformColorSpace):
857        * platform/graphics/qt/PathQt.cpp:
858        (WebCore::Path::strokeContains):
859        (WebCore::Path::strokeBoundingRect):
860        * platform/graphics/skia/ImageBufferSkia.cpp:
861        (WebCore::ImageBuffer::ImageBuffer):
862        (WebCore::ImageBuffer::platformTransformColorSpace):
863        * platform/graphics/skia/SkiaUtils.cpp:
864        (WebCore::scratchContext):
865        * platform/graphics/wx/ImageBufferWx.cpp:
866        (WebCore::ImageBuffer::ImageBuffer):
867        * platform/mac/ScrollbarThemeMac.mm:
868        (WebCore::ScrollbarThemeMac::paint):
869        * rendering/RenderBoxModelObject.cpp:
870        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
871        * svg/SVGMaskElement.cpp:
872        (WebCore::SVGMaskElement::drawMaskerContent):
873        * svg/SVGPatternElement.cpp:
874        (WebCore::SVGPatternElement::buildPattern):
875        * svg/graphics/SVGImage.cpp:
876        (WebCore::SVGImage::nativeImageForCurrentFrame):
877        * svg/graphics/SVGPaintServerGradient.cpp:
878        (WebCore::createMaskAndSwapContextForTextGradient):
879        * svg/graphics/SVGPaintServerPattern.cpp:
880        (WebCore::SVGPaintServerPattern::setup):
881        * svg/graphics/SVGResourceFilter.cpp:
882        (WebCore::SVGResourceFilter::prepareFilter):
883        (WebCore::SVGResourceFilter::applyFilter):
884        * svg/graphics/SVGResourceMasker.cpp:
885        (WebCore::SVGResourceMasker::applyMask):
886        * svg/graphics/filters/SVGFETile.cpp:
887        (WebCore::FETile::apply):
888
8892009-08-08  Xan Lopez  <xlopez@igalia.com>
890
891        Roll out r46928, since it wasn't done in accordance with the
892        agreed naming.
893
894        * bindings/gdom/GdomDOMObject.cpp: Removed.
895
8962009-08-08  Jan Michael Alonzo  <jmalonzo@webkit.org>
897
898        Reviewed by Xan Lopez.
899
900        [Gtk] Enable accessibility in Gtk DRT
901        https://bugs.webkit.org/show_bug.cgi?id=25989
902
903        Add SPI to get the focused accessible element to be used by DRT.
904
905        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
906        (webkit_accessible_get_focused_element):
907        * accessibility/gtk/AccessibilityObjectWrapperAtk.h:
908
9092009-08-07  Jan Michael Alonzo  <jmalonzo@webkit.org>
910
911        Gtk build fix - add html/canvas to the binding generator's include path
912
913        * GNUmakefile.am:
914
9152009-08-07  Oliver Hunt  <oliver@apple.com>
916
917        Another attempt to fix windows.
918
919        * WebCore.vcproj/WebCore.vcproj:
920        * WebCore.vcproj/WebCoreCommon.vsprops:
921
9222009-08-07  Oliver Hunt  <oliver@apple.com>
923
924        Windows build fix
925
926        * WebCore.vcproj/WebCore.vcproj:
927
9282009-08-07  Jan Michael Alonzo  <jmalonzo@webkit.org>
929
930        Gtk build fix - add html/canvas to the include path.
931
932        * GNUmakefile.am:
933
9342009-08-07  Adam Treat  <adam.treat@torchmobile.com>
935
936        Prospective build fix for Qt following r46937.
937
938        * WebCore.pro:
939
9402009-08-07  Yong Li  <yong.li@torchmobile.com>
941
942        WINCE PORT: store only width for GlyphBufferAdvance, to save space on low-memory devices
943        https://bugs.webkit.org/show_bug.cgi?id=27734
944
945        * platform/graphics/GlyphBuffer.h:
946        (WebCore::GlyphBuffer::advanceAt):
947        (WebCore::GlyphBuffer::advanceData):
948        (WebCore::GlyphBuffer::add):
949
9502009-08-07  Yong Li  <yong.li@torchmobile.com>
951
952        Reviewed by Eric Seidel.
953
954        WINCE PORT: pass unrecognized glyphs to GDI to handle
955        https://bugs.webkit.org/show_bug.cgi?id=27734
956
957        * platform/graphics/FontFastPath.cpp:
958        (WebCore::Font::glyphDataForCharacter):
959
9602009-08-07  Chris Marrin  <cmarrin@apple.com>
961
962        Reviewed by Oliver Hunt.
963
964        Move Canvas related file to a subdirectories
965        https://bugs.webkit.org/show_bug.cgi?id=28026
966
967        * DerivedSources.make:
968        * GNUmakefile.am:
969        * WebCore.gypi:
970        * WebCore.pro:
971        * WebCore.vcproj/WebCore.vcproj:
972        * WebCore.xcodeproj/project.pbxproj:
973        * WebCoreSources.bkl:
974        * html/CanvasGradient.cpp: Removed.
975        * html/CanvasGradient.h: Removed.
976        * html/CanvasGradient.idl: Removed.
977        * html/CanvasPattern.cpp: Removed.
978        * html/CanvasPattern.h: Removed.
979        * html/CanvasPattern.idl: Removed.
980        * html/CanvasPixelArray.cpp: Removed.
981        * html/CanvasPixelArray.h: Removed.
982        * html/CanvasPixelArray.idl: Removed.
983        * html/CanvasRenderingContext2D.cpp: Removed.
984        * html/CanvasRenderingContext2D.h: Removed.
985        * html/CanvasRenderingContext2D.idl: Removed.
986        * html/CanvasStyle.cpp: Removed.
987        * html/CanvasStyle.h: Removed.
988        * html/canvas: Added.
989        * html/canvas/CanvasGradient.cpp: Copied from WebCore/html/CanvasGradient.cpp.
990        * html/canvas/CanvasGradient.h: Copied from WebCore/html/CanvasGradient.h.
991        * html/canvas/CanvasGradient.idl: Copied from WebCore/html/CanvasGradient.idl.
992        * html/canvas/CanvasPattern.cpp: Copied from WebCore/html/CanvasPattern.cpp.
993        * html/canvas/CanvasPattern.h: Copied from WebCore/html/CanvasPattern.h.
994        * html/canvas/CanvasPattern.idl: Copied from WebCore/html/CanvasPattern.idl.
995        * html/canvas/CanvasPixelArray.cpp: Copied from WebCore/html/CanvasPixelArray.cpp.
996        * html/canvas/CanvasPixelArray.h: Copied from WebCore/html/CanvasPixelArray.h.
997        * html/canvas/CanvasPixelArray.idl: Copied from WebCore/html/CanvasPixelArray.idl.
998        * html/canvas/CanvasRenderingContext2D.cpp: Copied from WebCore/html/CanvasRenderingContext2D.cpp.
999        * html/canvas/CanvasRenderingContext2D.h: Copied from WebCore/html/CanvasRenderingContext2D.h.
1000        * html/canvas/CanvasRenderingContext2D.idl: Copied from WebCore/html/CanvasRenderingContext2D.idl.
1001        * html/canvas/CanvasStyle.cpp: Copied from WebCore/html/CanvasStyle.cpp.
1002        * html/canvas/CanvasStyle.h: Copied from WebCore/html/CanvasStyle.h.
1003
10042009-08-07  Szabo Carol  <carol.szabo@nokia.com>
1005
1006        Reviewed by David Hyatt.
1007
1008        QtWebkit ignores letter-spacing and word-spacing styles.
1009        QtWebkit handles custom letter-spacing and word-spacing in the native QFont
1010        class, but the values for these options are not not passed on from
1011        the platform independent part of the Font class.
1012        Fixed QtWebkit behavior by applying the options to QFont when it is
1013        returned via Font::font()
1014
1015        http://bugs.webkit.org/show_bug.cgi?id=27988
1016
1017        LayoutTests:
1018        fast/css/word-space-extra.html
1019        css2.1/t1604-c542-letter-sp-00-b-a.html
1020        css2.1/t1604-c541-word-sp-01-b-a.html
1021        css1/text_properties/word_spacing.html
1022
1023        * platform/graphics/qt/FontQt.cpp:
1024        (WebCore::Font::font):
1025
10262009-08-07  Nicolas Weber  <thakis@chromium.org>
1027
1028        Reviewed by Darin Adler.
1029
1030        Use correct highlight color for listboxes and completion popups.
1031
1032        https://bugs.webkit.org/show_bug.cgi?id=28090
1033
1034        * rendering/RenderThemeChromiumMac.h:
1035        * rendering/RenderThemeChromiumMac.mm:
1036        Rename activeListBoxSelectionBackgroundColor to
1037        platformActiveListBoxSelectionBackgroundColor, so that it actually
1038        overrides a virtual method.
1039
10402009-08-07  Maxime Simon  <simon.maxime@gmail.com>
1041
1042        Reviewed by Eric Seidel.
1043
1044        Added a fourth bunch of Haiku-specific files for WebCore.
1045        https://bugs.webkit.org/show_bug.cgi?id=26988
1046
1047        * platform/haiku/PasteboardHaiku.cpp: Added.
1048        (WebCore::Pasteboard::Pasteboard):
1049        (WebCore::Pasteboard::generalPasteboard):
1050        (WebCore::Pasteboard::writeSelection):
1051        (WebCore::Pasteboard::canSmartReplace):
1052        (WebCore::Pasteboard::plainText):
1053        (WebCore::Pasteboard::documentFragment):
1054        (WebCore::Pasteboard::writeURL):
1055        (WebCore::Pasteboard::writeImage):
1056        (WebCore::Pasteboard::clear):
1057        * platform/haiku/PlatformKeyboardEventHaiku.cpp: Added.
1058        (WebCore::keyIdentifierForHaikuKeyCode):
1059        (WebCore::windowsKeyCodeForKeyEvent):
1060        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1061        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
1062        (WebCore::PlatformKeyboardEvent::currentCapsLockState):
1063        * platform/haiku/PlatformMouseEventHaiku.cpp: Added.
1064        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1065        * platform/haiku/PlatformWheelEventHaiku.cpp: Added.
1066        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1067
10682009-08-07  Nicolas Weber  <thakis@chromium.org>
1069
1070        Teach WebKit how to decode jpegs in cmyk and ycck color spaces.
1071        Heavily inspired by Firefox's take on this issue.
1072
1073        https://bugs.webkit.org/show_bug.cgi?id=27909
1074
1075        Reviewed by Eric Seidel.
1076
1077        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1078        (WebCore::JPEGImageReader::decode):
1079        Tell jpeglib to convert ycck to cmyk and keep cmyk.
1080        (WebCore::convertCMYKToRGBA):
1081        Added function to convert cmyk to rgb.
1082        (WebCore::convertRGBToRGBA):
1083        Extracted existing conversion logic into its own function.
1084        (WebCore::JPEGImageDecoder::outputScanlines):
1085        Call convertCMYKToRGBA for cmyk images, convertRGBToRGBA for rgb
1086        images.
1087
10882009-08-07  Drew Wilson  <atwilson@google.com>
1089
1090        Reviewed by David Levin.
1091
1092        SharedWorkers should be shared
1093        https://bugs.webkit.org/show_bug.cgi?id=28058
1094
1095        Added tracking of shared workers to the SharedWorkerRepository.
1096
1097        * workers/DefaultSharedWorkerRepository.cpp:
1098        (WebCore::SharedWorkerProxy::create):
1099        Changed SharedWorkerProxy to derive from ThreadSafeShared, as it needs to outlive the repository (if closed while some documents are still loading).
1100        (WebCore::SharedWorkerProxy::thread):
1101        (WebCore::SharedWorkerProxy::closing):
1102        Added flag used to determine whether the worker has closed itself while loading.
1103        (WebCore::SharedWorkerProxy::url):
1104        (WebCore::SharedWorkerProxy::name):
1105        Proxy now tracks worker URL and name to allow validity checks per section 4.8.3 of the WebWorkers spec.
1106        (WebCore::SharedWorkerProxy::SharedWorkerProxy):
1107        (WebCore::SharedWorkerProxy::addToDocumentSet):
1108        Added API to track the document set for a worker to allow worker shutdown. Currently does nothing.
1109        (WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader):
1110        Renamed SharedWorkerLoader to be SharedWorkerScriptLoader for clarity.
1111        (WebCore::SharedWorkerScriptLoader::load):
1112        (WebCore::SharedWorkerScriptLoader::notifyFinished):
1113        (WebCore::DefaultSharedWorkerRepository::instance):
1114        (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
1115        Now handles "worker already loaded" case.
1116        (WebCore::SharedWorkerRepository::connect):
1117        Delegates to DefaultSharedWorkerRepository::connectToWorker
1118        (WebCore::DefaultSharedWorkerRepository::connectToWorker):
1119        Added code to track the SharedWorkerProxy in a map, and to handle the "worker already loaded" case.
1120        (WebCore::DefaultSharedWorkerRepository::getProxy):
1121        Atomic get-or-create operation on the internal tracking HashMap.
1122        * workers/DefaultSharedWorkerRepository.h:
1123        * workers/SharedWorker.cpp:
1124        (WebCore::SharedWorker::SharedWorker):
1125        * workers/SharedWorkerRepository.h:
1126        Removed instance() API and made constructor private to prevent instantiation.
1127        (WebCore::SharedWorkerRepository::SharedWorkerRepository):
1128
11292009-08-07  Maxime Simon  <simon.maxime@gmail.com>
1130
1131        Reviewed by Eric Seidel.
1132
1133        Added four Haiku-specific files for WebCore:
1134        PopupMenuHaiku.cpp, ScreenHaiku.cpp,
1135        SearchPopupMenuHaiku.cpp and SoundHaiku.cpp
1136        https://bugs.webkit.org/show_bug.cgi?id=28080
1137
1138        * platform/haiku/PopupMenuHaiku.cpp: Added.
1139        (WebCore::PopupMenu::PopupMenu):
1140        (WebCore::PopupMenu::~PopupMenu):
1141        (WebCore::PopupMenu::show):
1142        (WebCore::PopupMenu::hide):
1143        (WebCore::PopupMenu::updateFromElement):
1144        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
1145        * platform/haiku/ScreenHaiku.cpp: Added.
1146        (WebCore::screenRect):
1147        (WebCore::screenAvailableRect):
1148        (WebCore::screenDepth):
1149        (WebCore::screenDepthPerComponent):
1150        (WebCore::screenIsMonochrome):
1151        * platform/haiku/SearchPopupMenuHaiku.cpp: Added.
1152        (WebCore::SearchPopupMenu::SearchPopupMenu):
1153        (WebCore::SearchPopupMenu::saveRecentSearches):
1154        (WebCore::SearchPopupMenu::loadRecentSearches):
1155        (WebCore::SearchPopupMenu::enabled):
1156        * platform/haiku/SoundHaiku.cpp: Added.
1157        (WebCore::systemBeep):
1158
11592009-08-07  Maxime Simon  <simon.maxime@gmail.com>
1160
1161        Reviewed by Eric Seidel.
1162
1163        Added two Haiku-specific files to WebCore:
1164        TemporaryLinkStubs.cpp and WidgetHaiku.cpp
1165        https://bugs.webkit.org/show_bug.cgi?id=28080
1166
1167        * platform/haiku/TemporaryLinkStubs.cpp: Added.
1168        (loadResourceIntoArray):
1169        (WebCore::historyContains):
1170        (WebCore::supportedKeySizes):
1171        (WebCore::signedPublicKeyAndChallengeString):
1172        (WebCore::userIdleTime):
1173        (WebCore::callOnMainThread):
1174        (WebCore::SharedBuffer::createWithContentsOfFile):
1175        (WebCore::KURL::fileSystemPath):
1176        (WebCore::getSupportedKeySizes):
1177        * platform/haiku/WidgetHaiku.cpp: Added.
1178        (WebCore::Widget::Widget):
1179        (WebCore::Widget::~Widget):
1180        (WebCore::Widget::frameRect):
1181        (WebCore::Widget::setFrameRect):
1182        (WebCore::Widget::setFocus):
1183        (WebCore::Widget::setCursor):
1184        (WebCore::Widget::show):
1185        (WebCore::Widget::hide):
1186        (WebCore::Widget::paint):
1187        (WebCore::Widget::setIsSelected):
1188
11892009-08-07  Jian Li  <jianli@chromium.org>
1190
1191        Reviewed by Dimitri Glazkov.
1192
1193        [V8] Fix the problem that isAttribute is set to false for onerror and
1194        onmessage in worker custom code.
1195        https://bugs.webkit.org/show_bug.cgi?id=28083
1196
1197        * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
1198        (WebCore::getEventListener):
1199        (WebCore::ACCESSOR_SETTER):
1200        (WebCore::CALLBACK_FUNC_DECL):
1201        * bindings/v8/custom/V8WorkerContextCustom.cpp:
1202        (WebCore::ACCESSOR_SETTER):
1203        * bindings/v8/custom/V8WorkerCustom.cpp:
1204        (WebCore::getEventListener):
1205        (WebCore::ACCESSOR_SETTER):
1206
12072009-08-07  Vitaly Repeshko  <vitalyr@quad.spb.corp.google.com>
1208
1209        Reviewed by Dimitri Glazkov.
1210
1211        V8 bindings: speed up lookupDOMWrapper by using new V8 API function.
1212
1213        https://bugs.webkit.org/show_bug.cgi?id=28071
1214
1215        * bindings/v8/V8DOMWrapper.cpp:
1216        * bindings/v8/V8DOMWrapper.h:
1217        (WebCore::V8DOMWrapper::lookupDOMWrapper):
1218
12192009-08-07  Ryosuke Niwa  <rniwa@webkit.org>
1220
1221        Reviewed by Justin Garcia.
1222
1223        selectionHasStyle doesn't handle text-specific properties properly
1224        https://bugs.webkit.org/show_bug.cgi?id=27858
1225
1226        This patch modifies selectionHasStyle so that it returns TrueTriState when text styles
1227        (text-decoration, font-style, font-weight, & color) are present in all text nodes,
1228        regardless of whether the style is also present in their ancestor nodes or not.
1229        e.g. New behavior concludes that <b><i>hello</i><i>world</i></b> has italic style.
1230
1231        WebKit now applies the text styles (bold, italic, etc) if the specified style was not present on
1232        at least one text node, rather than at the beginning of selection except on Mac.
1233        On Mac, WebKit applies the text style if the style was not present at the beginning of style.
1234
1235        Test: editing/execCommand/toggle-compound-styles.html
1236
1237        * editing/ApplyStyleCommand.cpp:
1238        (WebCore::getPropertiesNotInComputedStyle): bug fix, must use copy instead of makeMutable for a mutable style.
1239        * editing/Editor.cpp:
1240        (WebCore::):
1241        (WebCore::triStateOfStyleInComputedStyle): Added a boolean type to ignore text-specific styles
1242        (WebCore::Editor::selectionHasStyle): Ignores text-specific styles for all but text nodes
1243        * editing/EditorCommand.cpp:
1244        (WebCore::executeToggleStyle): Uses selectionHasStyle instead of selectionStartHasStyle
1245
12462009-08-07  Jian Li  <jianli@chromium.org>
1247
1248        Reviewed by Dimitri Glazkov.
1249
1250        [V8] Do not register V8 error message listener in WorkerContextExecutionProxy.
1251        https://bugs.webkit.org/show_bug.cgi?id=28082
1252
1253        * bindings/v8/WorkerContextExecutionProxy.cpp:
1254        (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):
1255
12562009-08-07  Kwang Yul Seo  <skyul@company100.net>
1257
1258        Reviewed by Eric Seidel.
1259
1260        Cairo-based Windows port does not handle cookies properly
1261        https://bugs.webkit.org/show_bug.cgi?id=27414
1262
1263        curl handles cookies by itself, so using WinINet functions
1264        to get and set cookies is wrong.
1265
1266        Replace CookieJarWin.cpp with CookieJarCurl.cpp so that
1267        cookies can be implemented later once curl provides an API to
1268        get and set cookies.
1269
1270        * WebCore.vcproj/WebCore.vcproj:
1271
12722009-08-07  Michael Nordman  <michaeln@google.com>
1273
1274        Reviewed by Dimitri Glazkov.
1275
1276        https://bugs.webkit.org/show_bug.cgi?id=28074
1277
1278        V8 bindings for the window.applicationCache attribute.
1279
1280        * WebCore.gypi:
1281        * bindings/scripts/CodeGeneratorV8.pm:
1282        * bindings/v8/DOMObjectsInclude.h:
1283        * bindings/v8/DerivedSourcesAllInOne.cpp:
1284        * bindings/v8/V8DOMWrapper.cpp:
1285        (WebCore::V8DOMWrapper::getTemplate):
1286        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
1287        * bindings/v8/V8Index.cpp:
1288        * bindings/v8/V8Index.h:
1289        * bindings/v8/custom/V8CustomBinding.h:
1290        * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: Added.
1291
12922009-08-07  Alpha Lam  <hclam@chromium.org>
1293
1294        Reviewed by Eric Seidel.
1295
1296        Right click on timeline of media controls panel cause seek
1297        https://bugs.webkit.org/show_bug.cgi?id=27920
1298
1299        Add a test simulate the behavior of seeking by right clicking
1300        on the time bar of media controls while playing.
1301
1302        * media/controls-right-click-on-timebar-expected.txt: Added.
1303        * media/controls-right-click-on-timebar.html: Added.
1304
13052009-08-07  Ryosuke Niwa  <rniwa@webkit.org>
1306
1307        Reviewed by Justin Garcia.
1308
1309        deprecatedCopyInheritableProperties must be replaced by two different functions
1310        https://bugs.webkit.org/show_bug.cgi?id=28057
1311
1312        This patch deletes deprecatedInheritableProperties and modifies call callees to call either editingStyleAtPosition
1313        or prepareEditingStyleToApplyAt. The concept of editing style is introduced in this patch,
1314        which consists of all CSS properties need to be preserved under editing operations.
1315
1316        No test is added since this patch does not change any behavior.
1317
1318        * css/CSSComputedStyleDeclaration.cpp: Removed deprecatedCopyInheritableProperties
1319        * css/CSSComputedStyleDeclaration.h: Removed deprecatedCopyInheritableProperties
1320        * editing/ApplyStyleCommand.cpp:
1321        (WebCore::):
1322        (WebCore::editingStyleAtPosition): Obtains the editing-specific computed style at the position
1323        (WebCore::prepareEditingStyleToApplyAt): Removes redundant editing styles at the specified position
1324        (WebCore::removeStylesAddedByNode): Removes the style derived from the specified node
1325        * editing/ApplyStyleCommand.h:
1326        (WebCore::):
1327        * editing/CompositeEditCommand.cpp:
1328        (WebCore::CompositeEditCommand::moveParagraphs): Uses editingStyleAtPosition
1329        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Uses editingStyleAtPosition
1330        * editing/DeleteSelectionCommand.cpp:
1331        (WebCore::removeEnclosingAnchorStyle): Uses removeStyleOfNode
1332        (WebCore::DeleteSelectionCommand::saveTypingStyleState): Uses editingStyleAtPosition
1333        (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Uses prepareEditingStyleToApplyAt
1334        * editing/EditCommand.cpp:
1335        * editing/EditCommand.h:
1336        * editing/InsertParagraphSeparatorCommand.cpp:
1337        (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Uses editingStyleAtPosition
1338        (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Uses prepareEditingStyleToApplyAt
1339        * editing/RemoveFormatCommand.cpp:
1340        (WebCore::RemoveFormatCommand::doApply): Uses editingStyleAtPosition
1341        * editing/ReplaceSelectionCommand.cpp:
1342        (WebCore::handleStyleSpansBeforeInsertion): Uses editingStyleAtPosition
1343        (WebCore::ReplaceSelectionCommand::handleStyleSpans): Uses editingStyleAtPosition and prepareEditingStyleToApplyAt
1344        (WebCore::ReplaceSelectionCommand::doApply): Uses prepareEditingStyleToApplyAt
1345        * editing/markup.cpp:
1346        (WebCore::removeEnclosingMailBlockquoteStyle): Uses removeStyleOfNode
1347        (WebCore::removeDefaultStyles): Uses prepareEditingStyleToApplyAt
1348        (WebCore::createMarkup): Uses editingStyleAtPosition
1349
13502009-08-07  Steve Block  <steveblock@google.com>
1351
1352        Reviewed by Darin Adler.
1353
1354        Bug 27250: Geolocation callback function IDL files are superfluous
1355        https://bugs.webkit.org/show_bug.cgi?id=27250
1356
1357        The objects for the Geolocation success and error callbacks are created 'manually' in
1358        WebCore/bindings/js/JSGeolocationCustom.cpp. Furthermore, the callback interfaces are
1359        marked 'NoInterfaceObject' in the W3C spec, so the prototype should not
1360        appear on the window object. Hence IDL files for these callbacks are not required.
1361
1362        See http://www.w3.org/TR/geolocation-API/#geolocation_interface and
1363        http://www.w3.org/TR/WebIDL/#NoInterfaceObject.
1364
1365        No new tests required.
1366
1367        * DerivedSources.make: Modified. Removed reference to IDL files.
1368        * WebCore.gypi: Modified. Removed reference to IDL files.
1369        * WebCore.xcodeproj/project.pbxproj: Modified. Removed reference to IDL files.
1370        * page/PositionCallback.idl: Removed.
1371        * page/PositionErrorCallback.idl: Removed.
1372
13732009-08-07  Adam Treat  <adam.treat@torchmobile.com>
1374
1375        Reviewed by David Levin.
1376
1377        Build fix for Qt when ENABLE_VIDEO = 0.  This was necessitated by r46890 which
1378        put the idl files back into play regardless of compile time defines.
1379
1380        * html/TimeRanges.idl:
1381
13822009-08-07  Mike Fenton  <mike.fenton@torchmobile.com>
1383
1384        Reviewed by George Staikos.
1385
1386        Coding style patches for RenderThemeQt.cpp based on results from cpp_style.py.
1387
1388        https://bugs.webkit.org/show_bug.cgi?id=28050
1389
1390        * platform/qt/RenderThemeQt.cpp:
1391        (WebCore::RenderThemeQt::baselinePosition):
1392        (WebCore::inflateButtonRect):
1393        (WebCore::RenderThemeQt::supportsFocus):
1394        (WebCore::RenderThemeQt::applyTheme):
1395
13962009-08-07  Mike Fenton  <mike.fenton@torchmobile.com>
1397
1398        Reviewed by Eric Seidel.
1399
1400        Prevent RenderThemeQt AdjustStyle based calls for TextField, MenuList and MenuListButton
1401        from discarding style colour.
1402
1403        Add tests and remove tests from platform/qt/Skipped that now pass.
1404
1405        https://bugs.webkit.org/show_bug.cgi?id=28050
1406
1407        Tests: fast/forms/menulist-style-color.html
1408               fast/forms/text-style-color.html
1409
1410        * platform/qt/RenderThemeQt.cpp:
1411        (WebCore::RenderThemeQt::adjustTextFieldStyle):
1412        (WebCore::RenderThemeQt::adjustMenuListStyle):
1413        (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
1414
14152009-08-07  Dimitri Glazkov  <dglazkov@chromium.org>
1416
1417        Unreviewed, build fix.
1418
1419        https://bugs.webkit.org/show_bug.cgi?id=22495
1420        [V8] Re-land http://trac.webkit.org/changeset/46821, now that
1421        http://trac.webkit.org/changeset/46874 re-landed
1422
1423        * bindings/v8/DOMObjectsInclude.h:
1424        * bindings/v8/DerivedSourcesAllInOne.cpp:
1425        * bindings/v8/V8Index.cpp:
1426        * bindings/v8/V8Index.h:
1427
14282009-08-07  Adam Treat  <adam.treat@torchmobile.com>
1429
1430        Reviewed by Darin Adler and George Staikos.
1431
1432        Add rectToRect convenience function which returns the TransformationMatrix
1433        which maps the 'from' rectangle to the 'to' rectangle.
1434
1435        https://bugs.webkit.org/show_bug.cgi?id=28067
1436
1437        No tests as this would require binding the method to js and since it is static
1438        that doesn't seem possible.  Please check the math.
1439
1440        * platform/graphics/transforms/TransformationMatrix.cpp:
1441        (WebCore::TransformationMatrix::rectToRect):
1442        * platform/graphics/transforms/TransformationMatrix.h:
1443
14442009-08-07  Brady Eidson  <beidson@apple.com>
1445
1446        Reviewed by Darin Adler.
1447
1448        Implement the HTML5 hashchange event.
1449        https://bugs.webkit.org/show_bug.cgi?id=21605
1450
1451        Test: fast/loader/hashchange-event.html
1452
1453        * dom/EventNames.h: Add "hashchange"
1454        * html/HTMLAttributeNames.in: Add "onhashchange"
1455
1456        * loader/FrameLoader.cpp:
1457        (WebCore::HashChangeEventTask::create):
1458        (WebCore::HashChangeEventTask::performTask):
1459        (WebCore::HashChangeEventTask::HashChangeEventTask):
1460        (WebCore::FrameLoader::scrollToAnchor): When an anchor navigation is completed and the
1461          new fragment identifier is different from the old one, queue a hash change event
1462          on the Document.
1463
1464        Add a window event listener for the hashchange event if onhashchange is encountered:
1465        * html/HTMLBodyElement.cpp:
1466        (WebCore::HTMLBodyElement::parseMappedAttribute):
1467        * html/HTMLFrameSetElement.cpp:
1468        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
1469
1470        Add a new string utility method that gives "null and empty are equivalent" behavior:
1471        * platform/text/PlatformString.h:
1472        (WebCore::equalIgnoringNullity):
1473        * platform/text/StringImpl.cpp:
1474        (WebCore::equalIgnoringNullity):
1475        * platform/text/StringImpl.h:
1476
14772009-08-07  Jessie Berlin  <jberlin@apple.com>
1478
1479        Reviewed by Timothy Hatcher.
1480
1481        Add the initial implementation of the ability to resize the columns in
1482        a DataGrid in the Web Inspector. Enables that functionality in both the
1483        Profile View and in the Local Storage View.
1484
1485        https://bugs.webkit.org/show_bug.cgi?id=26182
1486
1487        In this version, resizing a column can change the width of at most two
1488        columns (the columns to the left and right of the resizer being dragged).
1489
1490        Possible changes in future patches:
1491
1492        1) Be able to specify the minimum size of a column and the maximum size
1493           of a column. If the minimum size is equal to the maximum size, the
1494           column can't be resized.
1495        2) Make the behavior more in line with the following description:
1496
1497        Everything before the column that is resized stays fixed size. The
1498        resized column changes sizes. The other columns except the last stay
1499        the same size. And the last column adjusts to fit with a minimum size.
1500        If the last column is already the minimum, the next to last column
1501        shrinks, etc.
1502
1503        3) Make it possible to scale the column sizes appropriately when the
1504           Web Inspector window gets resized.
1505
1506        * inspector/front-end/DOMStorageItemsView.js:
1507        (WebInspector.DOMStorageItemsView.prototype.update):
1508        Once the DataGrid is added to the DOM, update the widths of the
1509        DataGrid in order to put the resizers in place.
1510        (WebInspector.DOMStorageItemsView.prototype.resize):
1511        Update the widths of the DataGrid in order to correctly adjust the
1512        positions of the resizers.
1513
1514        * inspector/front-end/DataGrid.js:
1515        (WebInspector.DataGrid):
1516        Store column groups whose widths can later be changed when the columns
1517        are resized by the user.
1518        Also, keep track of whether the widths of the columns have been
1519        initialized.
1520        (WebInspector.DataGrid.prototype.updateWidths):
1521        Create the resizers for the columns.
1522        (WebInspector.DataGrid.prototype._clickInDataTable):
1523        Didn't actually change anything in this method, just added a comma to
1524        the end of the function.
1525        (WebInspector.DataGrid.prototype._startResizerDragging):
1526        Store the resizer that is currently dragging.
1527        (WebInspector.DataGrid.prototype._resizerDragging):
1528        Constrain the area that the resizer can be dragged to the column to
1529        it's left and right, with some padding added to make sure that the
1530        neighboring columns don't disappear.
1531        (WebInspector.DataGrid.prototype._endResizerDragging):
1532
1533        * inspector/front-end/DatabasesPanel.js:
1534        (WebInspector.DatabasesPanel.prototype.resize):
1535        Resize the view.
1536        (WebInspector.DatabasesPanel.prototype._updateSidebarWidth):
1537        ditto.
1538
1539        * inspector/front-end/ProfileView.js:
1540        (WebInspector.ProfileView.prototype.show):
1541        Now that the DataGrid is actually attached to the DOM, update the
1542        widths of the DataGrid in order to put the resizers in place.
1543        (WebInspector.ProfileView.prototype.resize):
1544        Update the widths of the DataGrid in order to correctly adjust the
1545        positions of the resizers.
1546
1547        * inspector/front-end/ProfilesPanel.js:
1548        (WebInspector.ProfilesPanel.prototype.resize):
1549        Resize the view.
1550        (WebInspector.ProfilesPanel.prototype._updateSidebarWidth):
1551        ditto.
1552
1553        * inspector/front-end/inspector.css:
1554        Add in a style rule for a resizer in the Data Grid.
1555
15562009-08-07  Simon Hausmann  <simon.hausmann@nokia.com>
1557
1558        Reviewed by Tor Arne Vestbø.
1559
1560        Back out r46847 and fix the Qt build system to always generate
1561        all the JS binding files from IDL files. The generated files
1562        have #if feature guards, so the #ifs are not needed in the
1563        files using them.
1564
1565        * WebCore.pro:
1566        * bindings/js/JSEventTarget.cpp:
1567        * bindings/js/JSWorkerContextBase.cpp:
1568        * bindings/js/WorkerScriptController.cpp:
1569
15702009-08-07  Shinichiro Hamaji  <hamaji@chromium.org>
1571
1572        Reviewed by Adele Peterson.
1573
1574        Cannot scroll for box-reflect:right
1575        https://bugs.webkit.org/show_bug.cgi?id=27979
1576
1577        Update m_overflowLeft an m_overflowWidth for reflection just like
1578        m_overflowTop and m_overflowHeight.
1579
1580        Test: fast/reflections/reflection-overflow-scroll.html
1581
1582        * rendering/RenderBlock.cpp:
1583        (WebCore::RenderBlock::layoutBlock):
1584
15852009-08-06  Shinichiro Hamaji  <hamaji@chromium.org>
1586
1587        Reviewed by Adam Barth.
1588
1589        box-shadow's spread is ignored with <table>
1590        https://bugs.webkit.org/show_bug.cgi?id=28017
1591
1592        Use RenderStyle::getBoxShadowExtent just like RenderBlock.
1593
1594        Test: fast/box-shadow/box-shadow-overflow-scroll.html
1595
1596        * rendering/RenderTable.cpp:
1597        (WebCore::RenderTable::layout):
1598
15992009-08-06  Joseph Pecoraro  <joepeck02@gmail.com>
1600
1601        Reviewed by Timothy Hatcher.
1602
1603        Inspector: NodeLists Don't Display Well in the Console
1604        https://bugs.webkit.org/show_bug.cgi?id=28061
1605
1606        * inspector/front-end/ConsoleView.js:
1607        (WebInspector.ConsoleView.prototype._format): Specific check if the object is a NodeList, display as an "array"
1608
16092009-08-06  Yusuke Sato  <yusukes@chromium.org>
1610
1611        Reviewed by David Levin.
1612
1613        Chromium Linux: add support for @font-face
1614        https://bugs.webkit.org/show_bug.cgi?id=28015
1615
1616        * loader/CachedFont.cpp:
1617        (WebCore::CachedFont::~CachedFont):
1618        (WebCore::CachedFont::ensureCustomFontData):
1619        (WebCore::CachedFont::platformDataFromCustomData):
1620        (WebCore::CachedFont::allClientsRemoved):
1621
1622        Modified #ifdefs so that chromium linux can load remote fonts.
1623
1624        * platform/graphics/chromium/FontCustomPlatformData.cpp:
1625        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
1626        (WebCore::FontCustomPlatformData::fontPlatformData):
1627        (WebCore::createFontCustomPlatformData):
1628
1629        Create SkTypeface for a web font by calling SkTypeface::CreateFromStream function.
1630
1631        (WebCore::RemoteFontStream::RemoteFontStream):
1632        (WebCore::RemoteFontStream::~RemoteFontStream):
1633        (WebCore::RemoteFontStream::rewind):
1634        (WebCore::RemoteFontStream::read):
1635
1636        New class that implements SkStream interface and wraps wtf's SharedBuffer.
1637
1638        * platform/graphics/chromium/FontCustomPlatformData.h:
1639        (WebCore::FontCustomPlatformData::FontCustomPlatformData):
1640
1641        Added member variables for Linux.
1642
16432009-08-06  Yong Li  <yong.li@torchmobile.com>
1644
1645        Reviewed by Eric Seidel.
1646
1647        Fix JPEGImageDecoder.cpp compile error on WinCE
1648        https://bugs.webkit.org/show_bug.cgi?id=28051
1649
1650        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1651
16522009-08-06  Kevin Ollivier  <kevino@theolliviers.com>
1653
1654        Reviewed by Eric Seidel.
1655
1656        Adding WebCore support for the waf build system for wx.
1657
1658        https://bugs.webkit.org/show_bug.cgi?id=27619
1659
1660        * wscript: Added.
1661
16622009-08-06  Adam Barth  <abarth@webkit.org>
1663
1664        Unreviewed revert.
1665
1666        http://bugs.webkit.org/show_bug.cgi?id=27879
1667
1668        Revert 46877 because it broke GTK.
1669
1670        * platform/graphics/wince/GraphicsContextWince.cpp:
1671
16722009-08-06  Chris Fleizach  <cfleizach@apple.com>
1673
1674        Reviewed by Eric Seidel.
1675
1676        Bug 27956 - AX: roleValue should be cached for performance
1677        https://bugs.webkit.org/show_bug.cgi?id=27956
1678
1679        Caches the role value of an accessibility object instead of calculating it everytime.
1680        The changes gained a 5% speedup using VoiceOver to navigate a webpage.
1681
1682        * accessibility/AXObjectCache.cpp:
1683        (WebCore::AXObjectCache::handleAriaRoleChanged):
1684
1685        Use generic role setter instead of specific ARIA role setter.
1686
1687        * accessibility/AccessibilityObject.cpp:
1688        (WebCore::AccessibilityObject::AccessibilityObject):
1689        * accessibility/AccessibilityObject.h:
1690        (WebCore::AccessibilityObject::headingLevel):
1691
1692        Make headingLevel into instance method so that it can *safely* be called in the constructor.
1693
1694        (WebCore::AccessibilityObject::setRoleValue):
1695        (WebCore::AccessibilityObject::roleValue):
1696        * accessibility/AccessibilityRenderObject.cpp:
1697        (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
1698        (WebCore::AccessibilityRenderObject::headingLevel):
1699        (WebCore::AccessibilityRenderObject::intValue):
1700        (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
1701        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
1702        * accessibility/AccessibilityRenderObject.h:
1703        * accessibility/mac/AccessibilityObjectWrapper.mm:
1704        (AXAttributeStringSetHeadingLevel):
1705
17062009-08-06  Zoltan Horvath  <hzoltan@inf.u-szeged.hu>
1707
1708        Reviewed by Adam Barth.
1709
1710        Change Noncopyable inheriting to public
1711        http://bugs.webkit.org/show_bug.cgi?id=27879
1712
1713        Since Noncopyable is inherited from FastAllocBase, Noncopyable's
1714        inheriting has been changed to public.
1715
1716        * platform/graphics/wince/GraphicsContextWince.cpp:
1717
17182009-08-06  Mark Rowe  <mrowe@apple.com>
1719
1720        Rubber-stamped by Sam Weinig.
1721
1722        Add explicit dependencies for our build verification scripts to ensure that they always run after linking has completed.
1723
1724        * WebCore.xcodeproj/project.pbxproj:
1725
17262009-08-05  Simon Fraser  <simon.fraser@apple.com>
1727
1728        Reviewed by Darin Adler.
1729
1730        Implement the matchMedium method on the Media interface described in the CSSOM View Module.
1731        https://bugs.webkit.org/show_bug.cgi?id=22495
1732
1733        Add a new Media interface, obtainable via the AbstractView, that can
1734        evaluate queries via its matchesMedium() method.
1735
1736        Test: fast/media/matchmedium-query-api.html
1737
1738        * DerivedSources.cpp:
1739        * DerivedSources.make:
1740        * GNUmakefile.am:
1741        * WebCore.gypi:
1742        * WebCore.pro:
1743        * WebCore.vcproj/WebCore.vcproj:
1744        * WebCore.xcodeproj/project.pbxproj:
1745        * WebCoreSources.bkl:
1746        Add Media.* files to the build.
1747
1748        * css/Media.cpp: Added.
1749        (WebCore::Media::Media):
1750        (WebCore::Media::type):
1751        (WebCore::Media::matchMedium):
1752        * css/Media.h: Added.
1753        (WebCore::Media::create):
1754        (WebCore::Media::document):
1755        * css/Media.idl: Added.
1756        Media::matchMedium() uses a MediaQueryEvaluator() to test the query.
1757
1758        * page/AbstractView.idl:
1759        * page/DOMWindow.cpp:
1760        (WebCore::DOMWindow::media):
1761        * page/DOMWindow.h:
1762        * page/DOMWindow.idl:
1763        Add a readonly attribute for Media.
1764
17652009-08-06  Michelangelo De Simone  <micdesim@gmail.com>
1766
1767        Reviewed by Darin Adler.
1768
1769        https://bugs.webkit.org/show_bug.cgi?id=27455
1770        Support for a custom validation message in ValidityState and related
1771        form controls.
1772        http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#dom-cva-setcustomvalidity
1773
1774        Tests: fast/forms/ValidityState-customError-001.html
1775               fast/forms/ValidityState-customError-002.html
1776               fast/forms/ValidityState-customError-003.html
1777               fast/forms/ValidityState-customError-004.html
1778
1779        * html/HTMLButtonElement.idl: setCustomValidity DOM method
1780        * html/HTMLFieldSetElement.idl: ditto
1781        * html/HTMLFormControlElement.cpp:
1782        (WebCore::HTMLFormControlElement::setCustomValidity): ditto
1783        * html/HTMLFormControlElement.h:
1784        (WebCore::HTMLFormControlElement::valueMissing): moved down
1785        * html/HTMLInputElement.idl: ditto
1786        * html/HTMLSelectElement.idl: ditto
1787        * html/HTMLTextAreaElement.idl:
1788        * html/ValidityState.h:
1789        (WebCore::ValidityState::setCustomErrorMessage): method to set custom
1790        validation message
1791        (WebCore::ValidityState::customError): validation flag
1792
17932009-08-06  Mark Rowe  <mrowe@apple.com>
1794
1795        Bring a little order to our otherwise out of control lives.
1796
1797        * WebCore.xcodeproj/project.pbxproj:
1798
17992009-08-06  Mark Rowe  <mrowe@apple.com>
1800
1801        Stop copying .idl files in to the framework resources directory.
1802
1803        * WebCore.xcodeproj/project.pbxproj:
1804
18052009-08-06  Mark Rowe  <mrowe@apple.com>
1806
1807        Fix the build some more.
1808
1809        Add JSWebSocket.cpp and JSWebSocket.h to the Xcode project, and move the WebSocket-related
1810        files and groups in to the appropriate locations.
1811
1812        * WebCore.xcodeproj/project.pbxproj:
1813
18142009-08-06  Fumitoshi Ukai  <ukai@chromium.org>
1815
1816        Reviewed by Alexey Proskuryakov.
1817
1818        Add WebSocket.idl
1819        https://bugs.webkit.org/show_bug.cgi?id=27209
1820
1821        Add WebSocket.idl in WebCore/websockets/.
1822        Add build systems only for GNUmakefile.am and WebCore.xcodeproj now.
1823        Other build systems will be updated once the code is functional.
1824
1825        * DerivedSources.make:
1826        * GNUmakefile.am:
1827        * WebCore.xcodeproj/project.pbxproj:
1828        * bindings/js/JSWebSocketConstructor.cpp: Added.
1829        * bindings/js/JSWebSocketConstructor.h: Added.
1830        * bindings/js/JSWebSocketCustom.cpp: Added.
1831        * websockets/WebSocket.cpp: Added.
1832        * websockets/WebSocket.h: Added.
1833        * websockets/WebSocket.idl: Added.
1834
18352009-08-06  Jian Li  <jianli@chromium.org>
1836
1837        Reviewed by Dimitri Glazkov.
1838
1839        [V8] Style cleaning for WorkerContextExecutionProxy.
1840        https://bugs.webkit.org/show_bug.cgi?id=27997
1841
1842        Cleanup WorkerContextExecutioonProxy related files to follow
1843        WebKit coding styles after all V8 binding codes are upstreamed.
1844        1) Lower-case the first letter of remaining functins in class
1845           WorkerContextExecutionProxy. Update the V8 code generator
1846           and all other references accordingly.
1847        2) Integrate getConstructor from WorkerContextExecutionProxy
1848           to V8DOMWrapper.
1849        3) Other misc changes, like removing trailing whitespaces and
1850           sorting the include files.
1851
1852        * bindings/scripts/CodeGeneratorV8.pm:
1853        * bindings/v8/ScheduledAction.cpp:
1854        (WebCore::ScheduledAction::execute):
1855        * bindings/v8/V8DOMWrapper.cpp:
1856        (WebCore::V8DOMWrapper::getConstructorForContext):
1857        (WebCore::V8DOMWrapper::convertToV8Object):
1858        * bindings/v8/V8DOMWrapper.h:
1859        * bindings/v8/V8WorkerContextEventListener.cpp:
1860        (WebCore::V8WorkerContextEventListener::~V8WorkerContextEventListener):
1861        (WebCore::V8WorkerContextEventListener::handleEvent):
1862        (WebCore::V8WorkerContextEventListener::reportError):
1863        (WebCore::V8WorkerContextEventListener::getReceiverObject):
1864        * bindings/v8/V8WorkerContextObjectEventListener.cpp:
1865        (WebCore::weakObjectEventListenerCallback):
1866        * bindings/v8/WorkerContextExecutionProxy.cpp:
1867        (WebCore::handleConsoleMessage):
1868        (WebCore::WorkerContextExecutionProxy::dispose):
1869        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
1870        (WebCore::WorkerContextExecutionProxy::convertToV8Object):
1871        (WebCore::WorkerContextExecutionProxy::convertEventToV8Object):
1872        (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
1873        (WebCore::WorkerContextExecutionProxy::convertWorkerContextToV8Object):
1874        (WebCore::WorkerContextExecutionProxy::toV8):
1875        (WebCore::WorkerContextExecutionProxy::forgetV8EventObject):
1876        (WebCore::WorkerContextExecutionProxy::removeEventListener):
1877        * bindings/v8/WorkerContextExecutionProxy.h:
1878        (WebCore::WorkerContextExecutionProxy::context):
1879        (WebCore::WorkerContextExecutionProxy::convertToV8Object):
1880        * bindings/v8/custom/V8WorkerContextCustom.cpp:
1881        (WebCore::ACCESSOR_GETTER):
1882        (WebCore::CALLBACK_FUNC_DECL):
1883
18842009-08-06  Darin Adler  <darin@apple.com>
1885
1886        Fix Mac Leopard debug build.
1887
1888        * platform/text/StringImpl.cpp:
1889        (WebCore::equalIgnoringCase): Removed meaningless assertion; an unsigned
1890        is always >= 0 and checking causes a warning in the newer versions of gcc.
1891
18922009-08-06  Adam Barth  <abarth@webkit.org>
1893
1894        Unreview rollout.
1895
1896        Revert 46840 because it broke the reliability tests.
1897
1898        * bindings/v8/ScheduledAction.cpp:
1899        (WebCore::ScheduledAction::ScheduledAction):
1900        (WebCore::ScheduledAction::execute):
1901        * bindings/v8/ScheduledAction.h:
1902        (WebCore::ScheduledAction::ScheduledAction):
1903        * bindings/v8/custom/V8DOMWindowCustom.cpp:
1904        (WebCore::V8Custom::WindowSetTimeoutImpl):
1905        * bindings/v8/custom/V8WorkerContextCustom.cpp:
1906        (WebCore::SetTimeoutOrInterval):
1907
19082009-08-06  Adam Barth  <abarth@webkit.org>
1909
1910        Unreviewed rollout.
1911
1912        Revert 46840 in preparation to revert 46838, which broke the reliability tests.
1913
1914        * bindings/v8/V8Proxy.cpp:
1915        (WebCore::V8Proxy::updateDocumentWrapperCache):
1916        (WebCore::V8Proxy::initContextIfNeeded):
1917        (WebCore::V8Proxy::mainWorldContext):
1918        * bindings/v8/V8Proxy.h:
1919        (WebCore::V8Proxy::context):
1920
19212009-08-06  Pavel Feldman  <pfeldman@chromium.org>
1922
1923        Reviewed by Timothy Hatcher.
1924
1925        WebInspector: move style-related utilities into InjectedScript.
1926
1927        http://bugs.webkit.org/show_bug.cgi?id=27939
1928
1929        * inspector/front-end/DOMAgent.js:
1930        (WebInspector.CSSStyleDeclaration):
1931        (WebInspector.CSSStyleDeclaration.prototype.isPropertyImplicit):
1932        (WebInspector.CSSStyleDeclaration.prototype.styleTextWithShorthands):
1933        (WebInspector.CSSStyleDeclaration.prototype.getLonghandProperties):
1934        (WebInspector.CSSStyleDeclaration.prototype.getShorthandPriority):
1935        * inspector/front-end/InjectedScript.js:
1936        (InjectedScript.applyStyleText):
1937        (InjectedScript.toggleStyleEnabled):
1938        (InjectedScript._serializeStyle):
1939        (InjectedScript._getUniqueStyleProperties):
1940        (InjectedScript._getLonghandProperties):
1941        (InjectedScript._getShorthandPriority):
1942        * inspector/front-end/StylesSidebarPane.js:
1943        (WebInspector.StylesSidebarPane.prototype._update):
1944        (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
1945        (WebInspector.StylePropertiesSection.prototype.onpopulate):
1946        (WebInspector.StylePropertyTreeElement.prototype.get priority):
1947        (WebInspector.StylePropertyTreeElement.prototype.get value):
1948        (WebInspector.StylePropertyTreeElement.prototype):
1949        * inspector/front-end/utilities.js:
1950
19512009-08-06  Simon Hausmann  <simon.hausmann@nokia.com>
1952
1953        Unreviewed build fix, add #ifdef guards around
1954        inclusions of shared worker specific files.
1955
1956        * bindings/js/JSEventTarget.cpp:
1957        * bindings/js/JSWorkerContextBase.cpp:
1958        * bindings/js/WorkerScriptController.cpp:
1959
19602009-08-06  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1961
1962        Reviewed by Darin Adler.
1963
1964        cssgrammar.cpp fails to compile with RVCT compiler
1965        https://bugs.webkit.org/show_bug.cgi?id=27952
1966
1967        * css/CSSGrammar.y: Do not convert to String to get rid of the stray
1968        memory allocation
1969
1970        * platform/text/StringImpl.cpp:
1971        (WebCore::equalIgnoringCase):
1972        * platform/text/StringImpl.h:
1973        (WebCore::equalIgnoringCase): Add charactersEqualIgnoringCase
1974          function that works with a character pointer and length
1975
19762009-08-06  Drew Wilson  <atwilson@google.com>
1977
1978        Reviewed by David Levin.
1979
1980        Created first working implementation of SharedWorkers (execution only, no sharing).
1981        https://bugs.webkit.org/show_bug.cgi?id=27927
1982
1983        Added initial implementations of SharedWorkerThread and SharedWorkerContext.
1984        No v8 bindings yet.
1985
1986        * DerivedSources.cpp:
1987        Added shared worker files.
1988        * DerivedSources.make:
1989        Added shared worker files.
1990        * GNUmakefile.am:
1991        Added shared worker files.
1992        * WebCore.gypi:
1993        Added shared worker files.
1994        * WebCore.pro:
1995        Added shared worker files.
1996        * WebCore.vcproj/WebCore.vcproj:
1997        Added shared worker files.
1998        * WebCore.xcodeproj/project.pbxproj:
1999        Added shared worker files.
2000        * bindings/js/JSEventTarget.cpp:
2001        (WebCore::toJS):
2002        Added code to convert from EventTarget to correct JS class.
2003        (WebCore::toEventTarget):
2004        Added code to cast from JS object to appropriate EventTarget impl class.
2005        * bindings/js/JSSharedWorkerConstructor.cpp:
2006        (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
2007        (WebCore::constructSharedWorker):
2008        Tweaked the constructor code to pass in the lexical global object like normal workers.
2009        * bindings/js/JSSharedWorkerContextCustom.cpp: Added.
2010        (WebCore::JSSharedWorkerContext::mark):
2011        Custom marking of the onconnect handler.
2012        * bindings/js/JSWorkerContextBase.cpp:
2013        (WebCore::toJSSharedWorkerContext):
2014        (WebCore::toJSWorkerContext):
2015        Added proper conversion to the correct WorkerContext derived class.
2016        * bindings/js/JSWorkerContextBase.h:
2017        * bindings/js/WorkerScriptController.cpp:
2018        (WebCore::WorkerScriptController::initScript):
2019        Updated WorkerScriptController to create the correct type of binding object (JSSharedWorkerContext vs JSDedicatedWorkerContext)
2020        * bindings/scripts/CodeGeneratorV8.pm:
2021        Added support for SharedWorkerContext.
2022        * bindings/v8/DOMObjectsInclude.h:
2023        Added shared worker bindings files.
2024        * dom/EventNames.h:
2025        Added connect event.
2026        * dom/EventTarget.cpp:
2027        (WebCore::EventTarget::toSharedWorkerContext):
2028        Added API for casting to new derived class (SharedWorkerContext).
2029        * dom/EventTarget.h:
2030        * workers/AbstractWorker.cpp:
2031        (WebCore::AbstractWorker::resolveURL):
2032        Moved code that resolves/validates URLs to base class so it can be shared between dedicated/shared workers.
2033        * workers/AbstractWorker.h:
2034        * workers/DedicatedWorkerContext.cpp:
2035        (WebCore::DedicatedWorkerContext::logException):
2036        Refactored exception handling code - moved onerror handling to base class.
2037        * workers/DedicatedWorkerContext.h:
2038        (WebCore::DedicatedWorkerContext::isDedicatedWorkerContext):
2039        * workers/SharedWorker.cpp:
2040        (WebCore::SharedWorker::SharedWorker):
2041        Changed constructor to fire up worker thread.
2042        * workers/SharedWorker.h:
2043        * workers/SharedWorkerContext.cpp: Added.
2044        (WebCore::SharedWorkerContext::SharedWorkerContext):
2045        (WebCore::SharedWorkerContext::~SharedWorkerContext):
2046        (WebCore::SharedWorkerContext::logException):
2047        (WebCore::SharedWorkerContext::addMessage):
2048        Placeholder methods until we add support for sending exceptions/messages to console.
2049        (WebCore::SharedWorkerContext::dispatchConnect):
2050        (WebCore::SharedWorkerContext::thread):
2051        * workers/SharedWorkerContext.h: Added.
2052        (WebCore::SharedWorkerContext::create):
2053        (WebCore::SharedWorkerContext::isSharedWorkerContext):
2054        (WebCore::SharedWorkerContext::toSharedWorkerContext):
2055        (WebCore::SharedWorkerContext::setOnconnect):
2056        (WebCore::SharedWorkerContext::onconnect):
2057        (WebCore::SharedWorkerContext::name):
2058        * workers/SharedWorkerContext.idl: Added.
2059        * workers/SharedWorkerRepository.h: Added.
2060        (WebCore::SharedWorkerRepository::~SharedWorkerRepository):
2061        * workers/DefaultSharedWorkerRepository.cpp: Added.
2062        Implementation of core singleton class that will be used to implement sharing.
2063        (WebCore::SharedWorkerProxy::setThread):
2064        Proxy object used to handle resource loading for a given shared worker.
2065        (WebCore::SharedWorkerProxy::postTaskToLoader):
2066        (WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext):
2067        Placeholder routines until we implement loading.
2068        (WebCore::SharedWorkerConnectTask::create):
2069        Creates a task to fire off a connect event on the worker thread.
2070        (WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask):
2071        (WebCore::SharedWorkerConnectTask::performTask):
2072        (WebCore::SharedWorkerLoader::SharedWorkerLoader):
2073        Added helper object to load the initial script for the worker.
2074        (WebCore::SharedWorkerLoader::load):
2075        (WebCore::SharedWorkerLoader::notifyFinished):
2076        (WebCore::SharedWorkerRepository::instance):
2077        (WebCore::DefaultSharedWorkerRepository::instance):
2078        (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
2079        Fires off the worker thread once the script is loaded.
2080        (WebCore::SharedWorkerRepository::connect):
2081        (WebCore::DefaultSharedWorkerRepository::DefaultSharedWorkerRepository):
2082        (WebCore::DefaultSharedWorkerRepository::~DefaultSharedWorkerRepository):
2083        * workers/DefaultSharedWorkerRepository.h: Added.
2084        * workers/SharedWorkerThread.cpp: Added.
2085        (WebCore::SharedWorkerThread::create):
2086        (WebCore::SharedWorkerThread::SharedWorkerThread):
2087        (WebCore::SharedWorkerThread::~SharedWorkerThread):
2088        (WebCore::SharedWorkerThread::createWorkerContext):
2089        * workers/SharedWorkerThread.h: Added.
2090        * workers/Worker.cpp:
2091        (WebCore::Worker::Worker):
2092        * workers/WorkerContext.cpp:
2093        (WebCore::WorkerContext::reportException):
2094        * workers/WorkerContext.h:
2095        (WebCore::WorkerContext::isSharedWorkerContext):
2096        (WebCore::WorkerContext::isDedicatedWorkerContext):
2097        Added APIs to determine the type of a given context.
2098
20992009-08-06  Chris Marrin  <cmarrin@apple.com>
2100
2101        Reviewed by David Hyatt.
2102
2103        Added ENABLE_3D_CANVAS flag to build, default to off
2104
2105        * Configurations/FeatureDefines.xcconfig:
2106
21072009-08-06  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
2108
2109        Reviewed by Simon Hausmann.
2110
2111        [Qt] windowsKeyCodeForKeyEvent fix
2112
2113        Fix windowsKeyCodeForKeyEvent to determine wheter the event comes from the keypad.
2114
2115        * platform/qt/PlatformKeyboardEventQt.cpp:
2116        (WebCore::windowsKeyCodeForKeyEvent):
2117        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2118
21192009-08-06  George Staikos  <george.staikos@torchmobile.com>
2120
2121        Rubber-stamped by Ariya Hidayat.
2122
2123        Remove the dead wince/ directory that should never have gone in.
2124
2125        * svg/graphics/wince: Removed.
2126        * svg/graphics/wince/SVGResourceFilterWince.cpp: Removed.
2127
21282009-08-06  Pavel Feldman  <pfeldman@chromium.org>
2129
2130        Reviewed by Timothy Hatcher.
2131
2132        WebInspector: Extract style editing into a separate file that is
2133        going to be loaded in page context.
2134
2135        https://bugs.webkit.org/show_bug.cgi?id=27939
2136
2137        * inspector/front-end/InjectedScript.js: Added.
2138        (InjectedScript.applyStyleText):
2139        (InjectedScript.setStyleText):
2140        (InjectedScript.toggleStyleEnabled):
2141        (InjectedScript.setStyleRule):
2142        * inspector/front-end/StylesSidebarPane.js:
2143        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.callback):
2144        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
2145        (WebInspector.StylePropertyTreeElement.prototype.):
2146        (WebInspector.StylePropertyTreeElement.prototype):
2147        * inspector/front-end/WebKit.qrc:
2148        * inspector/front-end/inspector.html:
2149
21502009-08-06  Adam Barth  <abarth@webkit.org>
2151
2152        Reviewed by David Levin.
2153
2154        [V8] Remove bug-bait V8Proxy::context()
2155        https://bugs.webkit.org/show_bug.cgi?id=27826
2156
2157        * bindings/v8/V8Proxy.cpp:
2158        (WebCore::V8Proxy::updateDocumentWrapperCache):
2159        (WebCore::V8Proxy::initContextIfNeeded):
2160        (WebCore::V8Proxy::mainWorldContext):
2161        * bindings/v8/V8Proxy.h:
2162
21632009-08-06  Adam Barth  <abarth@webkit.org>
2164
2165        Unreviewed attempt to fix the Chromium Linux build.  This function is
2166        not used.
2167
2168        * bindings/v8/OwnHandle.h:
2169
21702009-08-06  Adam Barth  <abarth@webkit.org>
2171
2172        Reviewed by Eric Seidel.
2173
2174        [V8] Teach ScheduledAction::execute about isolated worlds
2175        https://bugs.webkit.org/show_bug.cgi?id=27703
2176
2177        We now save a weak handle to the original context.  We use that handle
2178        to call the timeout in the right context / world.
2179
2180        Tests: http/tests/security/isolatedWorld/window-setTimeout-function.html
2181               http/tests/security/isolatedWorld/window-setTimeout-string.html
2182
2183        * bindings/v8/ScheduledAction.cpp:
2184        (WebCore::ScheduledAction::ScheduledAction):
2185        (WebCore::ScheduledAction::execute):
2186        * bindings/v8/ScheduledAction.h:
2187        (WebCore::ScheduledAction::ScheduledAction):
2188        * bindings/v8/custom/V8DOMWindowCustom.cpp:
2189        (WebCore::V8Custom::WindowSetTimeoutImpl):
2190        * bindings/v8/custom/V8WorkerContextCustom.cpp:
2191        (WebCore::SetTimeoutOrInterval):
2192
21932009-08-05  Dimitri Glazkov  <dglazkov@chromium.org>
2194
2195        Unreviewed, build fix.
2196
2197        [V8] Revert http://trac.webkit.org/changeset/46821, which was
2198        landed to supplement http://trac.webkit.org/changeset/46816, but
2199        now that the latter is reverted, the former needs the same.
2200
2201        * bindings/v8/DOMObjectsInclude.h:
2202        * bindings/v8/DerivedSourcesAllInOne.cpp:
2203        * bindings/v8/V8Index.cpp:
2204        * bindings/v8/V8Index.h:
2205
22062009-08-05  Joseph Pecoraro  <joepeck02@gmail.com>
2207
2208        Reviewed by Timothy Hatcher.
2209
2210        Color is only reported in rgb() format; should toggle between rgb() and hex
2211        https://bugs.webkit.org/show_bug.cgi?id=13516
2212
2213          New Class to Parse and Change Between Color Representations:
2214
2215        * inspector/front-end/Color.js: Added.
2216        (WebInspector.Color):
2217
2218          Representations of Colors in Raw Form. (May be Lazy Loaded):
2219
2220        (WebInspector.Color.prototype.get shorthex):
2221        (WebInspector.Color.prototype.get hex):
2222        (WebInspector.Color.prototype.set hex):
2223        (WebInspector.Color.prototype.get rgb):
2224        (WebInspector.Color.prototype.set rgb):
2225        (WebInspector.Color.prototype.get hsl):
2226        (WebInspector.Color.prototype.set hsl):
2227        (WebInspector.Color.prototype.get nickname):
2228        (WebInspector.Color.prototype.set nickname):
2229        (WebInspector.Color.prototype.get rgba):
2230        (WebInspector.Color.prototype.set rgba):
2231        (WebInspector.Color.prototype.get hsla):
2232        (WebInspector.Color.prototype.set hsla):
2233
2234          Helpers and Standard String Representations:
2235
2236        (WebInspector.Color.prototype.hasShortHex):
2237        (WebInspector.Color.prototype.toRgb):
2238        (WebInspector.Color.prototype.toHsl):
2239        (WebInspector.Color.prototype.toShortHex):
2240        (WebInspector.Color.prototype.toHex):
2241        (WebInspector.Color.prototype.toRgba):
2242        (WebInspector.Color.prototype.toHsla):
2243        (WebInspector.Color.prototype.toNickname):
2244
2245          Conversion Functions to Determine Other Representations:
2246          My Sources for all algorithms and sample data:
2247          Wikipedia: http://en.wikipedia.org/wiki/HSV_color_space
2248          CSS Specification: http://www.w3.org/TR/css3-color/#hsla-color
2249
2250        (WebInspector.Color.prototype.rgbToHex):
2251        (WebInspector.Color.prototype.hexToRgb):
2252        (WebInspector.Color.prototype.rgbToHsl):
2253        (WebInspector.Color.prototype.hslToRgb.hueToRgb):
2254        (WebInspector.Color.prototype.hslToRgb):
2255        (WebInspector.Color.prototype.rgbaToHsla):
2256        (WebInspector.Color.prototype.hslaToRgba):
2257
2258          Called from the constructor, attempts to parse and will throw an error
2259          if it cannot parse.  If simple then the "hex" value is guarenteed.
2260          If advanced then both the "rgba" and "hsla" are guarenteed.  If it is
2261          a nickname in any way (e.g. "transparent", "black") then this is
2262          guarenteed to be set as well.
2263
2264        (WebInspector.Color.prototype.parse):
2265
2266          Clicking on the swatch will rotate through Color Representations.
2267            Simple:   rgb -> hsl -> nickname? -> shorthex? -> hex -> (loop around)
2268            Advanced: rgba -> hsla -> nickname? -> (loop around)
2269
2270        * inspector/front-end/StylesSidebarPane.js:
2271        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.value.):
2272        (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
2273
2274          Load Color.js:
2275
2276        * inspector/front-end/inspector.html:
2277
22782009-08-05  John Abd-El-Malek  <jam@chromium.org>
2279
2280        Reviewed by Dimitri Glazkov.
2281
2282        Support setting event listeners for message ports in the worker process.
2283
2284        https://bugs.webkit.org/show_bug.cgi?id=28004
2285
2286        * bindings/v8/WorkerContextExecutionProxy.cpp:
2287        (WebCore::WorkerContextExecutionProxy::retrieve):
2288        (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object):
2289        * bindings/v8/WorkerContextExecutionProxy.h:
2290        * bindings/v8/custom/V8MessagePortCustom.cpp:
2291        (WebCore::getEventListener):
2292        (WebCore::ACCESSOR_SETTER):
2293        (WebCore::CALLBACK_FUNC_DECL):
2294
22952009-08-05  Stephen White  <senorblanco@chromium.org>
2296
2297        Reviewed by Dimitri Glazkov.
2298
2299        http://bugs.webkit.org/show_bug.cgi?id=28022
2300
2301        Minor fix for media code on chromium/skia.
2302
2303        * rendering/RenderThemeChromiumSkia.cpp:
2304        (WebCore::RenderThemeChromiumSkia::paintMediaSliderTrack):
2305
23062009-08-05  Darin Adler  <darin@apple.com>
2307
2308        Reviewed by Dan Bernstein.
2309
2310        Client side image maps did not handle zoom correctly.
2311        Client side image maps did not handle border and padding correctly.
2312
2313        Test: fast/images/image-map-zoom.html
2314
2315        * rendering/RenderImage.cpp:
2316        (WebCore::RenderImage::nodeAtPoint): Compute the values to pass in to the map
2317        element using the content box and the effective zoom.
2318
23192009-08-05  Alexey Proskuryakov  <ap@apple.com>
2320
2321        Reviewed by Oliver Hunt.
2322
2323        https://bugs.webkit.org/show_bug.cgi?id=28027
2324        <rdar://7064428> Files with accents in names are submitted incorrectly due to use of
2325        precomposed Unicode
2326
2327        * platform/network/mac/FormDataStreamMac.mm: (WebCore::setHTTPBody): Use getFileSize() from
2328        FileSystem.h instead of custom code for getting file size. This adds path normalization
2329        necessary with some file systems on Mac. This also loses a S_IFMT check, which didn't seem
2330        important anyway.
2331
23322009-08-05  Dimitri Glazkov  <dglazkov@chromium.org>
2333
2334        Unreviewed, build fix.
2335
2336        [V8] Include Media into V8 bindings.
2337
2338        * bindings/v8/DOMObjectsInclude.h: Added Media include.
2339        * bindings/v8/DerivedSourcesAllInOne.cpp: Added V8Media include.
2340        * bindings/v8/V8Index.cpp: Added decl for V8Media.
2341        * bindings/v8/V8Index.h: Added V8Media include.
2342
23432009-08-04  Jon Honeycutt  <jhoneycutt@apple.com>
2344
2345        Fix Windows layout test crashes.
2346
2347        PluginView::removeFromUnstartedListIfNecessary() would try to remove
2348        any unstarted PluginView from the Page's set of unstarted plug-ins,
2349        regardless of why the PluginView wasn't started. If we tried to start a
2350        plug-in, but it failed to start, we would hit an assertion in
2351        Page::removeUnstartedPlugin() that asserts that we would only modify the
2352        unstarted plug-ins set if we were not currently starting plug-ins.
2353
2354        Fix this by having PluginView track whether it's waiting to be started,
2355        and to check this before trying to remove itself from the Page's
2356        unstarted plug-ins set.
2357
2358        Reviewed by Darin Adler.
2359
2360        * page/Page.cpp:
2361        (WebCore::Page::removeUnstartedPlugin):
2362        Assert that the passed PluginView is in the unstarted set.
2363
2364        * plugins/PluginView.cpp:
2365        (WebCore::PluginView::start):
2366        Set that we are not waiting to be started.
2367        (WebCore::PluginView::startOrAddtoUnstartedList):
2368        Set that we are waiting to be started.
2369        (WebCore::PluginView::removeFromUnstartedListIfNecessary):
2370        Check not whether we are started, but whether we are waiting to be
2371        started.
2372        (WebCore::PluginView::PluginView):
2373
2374        * plugins/PluginView.h:
2375
23762009-08-05  Jeremy Orlow  <jorlow@chromium.org>
2377
2378       Fix DOM Storage memory leak
2379       https://bugs.webkit.org/show_bug.cgi?id=28029
2380
2381       Forgot to use adoptRef in one place.  This caused the = operator to
2382       increment the ref count when it shouldn't have, so StorageAreaImpl's were
2383       never freed.
2384
2385        * storage/StorageNamespaceImpl.cpp:
2386        (WebCore::StorageNamespaceImpl::storageArea):
2387
23882009-08-05  Dimitri Glazkov  <dglazkov@chromium.org>
2389
2390        Unreviewed, build fix.
2391
2392        [Chromium] Let CodeGeneratorV8.pm know that Media is ref-counted.
2393
2394        * bindings/scripts/CodeGeneratorV8.pm: Added Media check to IsRefPtrType.
2395
23962009-08-05  Darin Adler  <darin@apple.com>
2397
2398        Reviewed by David Levin.
2399
2400        Use checked casts for render tree
2401        https://bugs.webkit.org/show_bug.cgi?id=23522
2402
2403        Last patch. Makes all the casts of RenderObject use checked
2404        casts instead of using static_cast directly.
2405
2406        * accessibility/AccessibilityListBox.cpp:
2407        (WebCore::AccessibilityListBox::visibleChildren):
2408        (WebCore::AccessibilityListBox::doAccessibilityHitTest):
2409        * accessibility/AccessibilityListBoxOption.cpp:
2410        (WebCore::AccessibilityListBoxOption::elementRect):
2411        * accessibility/AccessibilityRenderObject.cpp:
2412        (WebCore::AccessibilityRenderObject::textUnderElement):
2413        (WebCore::AccessibilityRenderObject::stringValue):
2414        (WebCore::AccessibilityRenderObject::titleUIElement):
2415        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2416        * accessibility/AccessibilitySlider.cpp:
2417        (WebCore::AccessibilitySliderThumb::elementRect):
2418        * dom/InputElement.cpp:
2419        (WebCore::InputElement::updatePlaceholderVisibility):
2420        * dom/SelectElement.cpp:
2421        (WebCore::SelectElement::scrollToSelection):
2422        (WebCore::SelectElement::recalcStyle):
2423        (WebCore::SelectElement::setRecalcListItems):
2424        (WebCore::SelectElement::menuListDefaultEventHandler):
2425        (WebCore::SelectElement::listBoxDefaultEventHandler):
2426        * editing/BreakBlockquoteCommand.cpp:
2427        (WebCore::BreakBlockquoteCommand::doApply):
2428        * html/HTMLAppletElement.cpp:
2429        (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
2430        * html/HTMLCanvasElement.cpp:
2431        (WebCore::HTMLCanvasElement::reset):
2432        * html/HTMLEmbedElement.cpp:
2433        (WebCore::HTMLEmbedElement::updateWidget):
2434        * html/HTMLFrameElementBase.cpp:
2435        (WebCore::HTMLFrameElementBase::attach):
2436        * html/HTMLFrameSetElement.cpp:
2437        (WebCore::HTMLFrameSetElement::defaultEventHandler):
2438        * html/HTMLIFrameElement.cpp:
2439        (WebCore::HTMLIFrameElement::attach):
2440        * html/HTMLInputElement.cpp:
2441        (WebCore::HTMLInputElement::defaultEventHandler):
2442        (WebCore::HTMLInputElement::addSearchResult):
2443        (WebCore::HTMLInputElement::onSearch):
2444        * html/HTMLLIElement.cpp:
2445        (WebCore::HTMLLIElement::parseMappedAttribute):
2446        (WebCore::HTMLLIElement::attach):
2447        * html/HTMLMediaElement.cpp:
2448        (WebCore::HTMLMediaElement::setReadyState):
2449        (WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
2450        (WebCore::HTMLMediaElement::mediaPlayerSizeChanged):
2451        (WebCore::HTMLMediaElement::mediaPlayerRenderingCanBeAccelerated):
2452        (WebCore::HTMLMediaElement::mediaPlayerGraphicsLayer):
2453        (WebCore::HTMLMediaElement::defaultEventHandler):
2454        (WebCore::HTMLMediaElement::finishParsingChildren):
2455        * html/HTMLOListElement.cpp:
2456        (WebCore::HTMLOListElement::parseMappedAttribute):
2457        * html/HTMLObjectElement.cpp:
2458        (WebCore::HTMLObjectElement::updateWidget):
2459        * html/HTMLTextAreaElement.cpp:
2460        (WebCore::HTMLTextAreaElement::defaultEventHandler):
2461        * page/DragController.cpp:
2462        (WebCore::DragController::concludeEditDrag):
2463        * page/EventHandler.cpp:
2464        (WebCore::EventHandler::selectCursor):
2465        (WebCore::EventHandler::capsLockStateMayHaveChanged):
2466        * page/Frame.cpp:
2467        (WebCore::Frame::ownerRenderer):
2468        * page/FrameView.cpp:
2469        (WebCore::FrameView::detachCustomScrollbars):
2470        * page/wince/FrameWince.cpp:
2471        (WebCore::computePageRectsForFrame):
2472        * rendering/InlineFlowBox.cpp:
2473        (WebCore::InlineFlowBox::placeBoxesHorizontally):
2474        * rendering/MediaControlElements.cpp:
2475        (WebCore::MediaControlTimelineElement::defaultEventHandler):
2476        * rendering/RenderBlockLineLayout.cpp:
2477        (WebCore::RenderBlock::findNextLineBreak):
2478        * rendering/RenderCounter.cpp:
2479        (WebCore::planCounter):
2480        * rendering/RenderFrameSet.cpp:
2481        (WebCore::RenderFrameSet::computeEdgeInfo):
2482        (WebCore::RenderFrameSet::setIsResizing):
2483        * rendering/RenderLayerBacking.cpp:
2484        (WebCore::RenderLayerBacking::contentsBox):
2485        * rendering/RenderLayerCompositor.cpp:
2486        (WebCore::RenderLayerCompositor::updateBacking):
2487        (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
2488        * rendering/RenderListItem.cpp:
2489        (WebCore::previousListItem):
2490        (WebCore::RenderListItem::explicitValueChanged):
2491        * rendering/RenderObject.cpp:
2492        (WebCore::updateListMarkerNumbers):
2493        * rendering/RenderObjectChildList.cpp:
2494        (WebCore::updateListMarkerNumbers):
2495        (WebCore::invalidateCountersInContainer):
2496        * rendering/RenderScrollbarTheme.cpp:
2497        (WebCore::RenderScrollbarTheme::minimumThumbLength):
2498        (WebCore::RenderScrollbarTheme::backButtonRect):
2499        (WebCore::RenderScrollbarTheme::forwardButtonRect):
2500        (WebCore::RenderScrollbarTheme::trackRect):
2501        (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
2502        (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
2503        (WebCore::RenderScrollbarTheme::paintTrackBackground):
2504        (WebCore::RenderScrollbarTheme::paintTrackPiece):
2505        (WebCore::RenderScrollbarTheme::paintButton):
2506        (WebCore::RenderScrollbarTheme::paintThumb):
2507        * rendering/RenderSlider.cpp:
2508        (WebCore::SliderThumbElement::defaultEventHandler):
2509        * rendering/RenderThemeChromiumMac.mm:
2510        (WebCore::RenderThemeChromiumMac::paintSliderThumb):
2511        (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
2512        * rendering/RenderThemeChromiumWin.cpp:
2513        (WebCore::RenderThemeChromiumWin::determineSliderThumbState):
2514        * rendering/RenderThemeMac.mm:
2515        (WebCore::RenderThemeMac::paintSliderThumb):
2516        * rendering/RenderThemeSafari.cpp:
2517        (WebCore::RenderThemeSafari::paintSliderThumb):
2518        * rendering/RenderThemeWin.cpp:
2519        (WebCore::RenderThemeWin::determineSliderThumbState):
2520        * rendering/SVGCharacterLayoutInfo.cpp:
2521        (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
2522        * rendering/SVGRootInlineBox.cpp:
2523        (WebCore::findSVGRootObject):
2524        * rendering/TextControlInnerElements.cpp:
2525        (WebCore::RenderTextControlInnerBlock::nodeAtPoint):
2526        (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
2527        * svg/SVGImageElement.cpp:
2528        (WebCore::SVGImageElement::attach):
2529        * svg/SVGMarkerElement.cpp:
2530        (WebCore::SVGMarkerElement::canvasResource):
2531        * svg/SVGTextContentElement.cpp:
2532        (WebCore::rootInlineBoxForTextContentElement):
2533        * wml/WMLInputElement.cpp:
2534        (WebCore::WMLInputElement::defaultEventHandler):
2535        Use checked casts.
2536
2537        * rendering/RenderApplet.h:
2538        * rendering/RenderCounter.h:
2539        * rendering/RenderFieldset.h:
2540        * rendering/RenderFileUploadControl.h:
2541        * rendering/RenderFrame.h:
2542        * rendering/RenderFrameSet.h:
2543        * rendering/RenderHTMLCanvas.h:
2544        * rendering/RenderListBox.h:
2545        * rendering/RenderListItem.h:
2546        * rendering/RenderListMarker.h:
2547        * rendering/RenderMedia.h:
2548        * rendering/RenderMenuList.h:
2549        * rendering/RenderPart.h:
2550        * rendering/RenderPartObject.h:
2551        * rendering/RenderPath.h:
2552        * rendering/RenderSVGContainer.h:
2553        * rendering/RenderSVGRoot.h:
2554        * rendering/RenderSVGTextPath.h:
2555        * rendering/RenderSVGViewportContainer.h:
2556        * rendering/RenderScrollbar.h:
2557        * rendering/RenderSlider.h:
2558        * rendering/RenderTextControlMultiLine.h:
2559        * rendering/RenderTextControlSingleLine.h:
2560        * rendering/RenderVideo.h:
2561        Added a checked cast. Also made most members protected or private.
2562
2563        * rendering/RenderBlock.h:
2564        * rendering/RenderInline.h:
2565        * rendering/RenderReplaced.h:
2566        * rendering/RenderSVGBlock.h:
2567        * rendering/RenderSVGImage.h:
2568        * rendering/RenderSVGInlineText.h:
2569        * rendering/RenderSVGText.h:
2570        * rendering/RenderTextControl.h:
2571        Made most members protected or private.
2572
2573        * rendering/RenderInline.cpp:
2574        * rendering/RenderSVGContainer.cpp:
2575        * rendering/RenderSVGHiddenContainer.cpp:
2576        * rendering/RenderSVGImage.cpp:
2577        * rendering/RenderSVGRoot.cpp:
2578        Removed unneeded destructor.
2579
2580        * rendering/RenderSVGHiddenContainer.h:
2581        Removed unneeded virtual function overrides that did the same as
2582        the default and base class.
2583
2584        * rendering/RenderSVGViewportContainer.cpp:
2585        (WebCore::RenderSVGViewportContainer::paint): Updated to use m_viewport
2586        directly instead of using a function call.
2587        (WebCore::RenderSVGViewportContainer::applyViewportClip): Ditto.
2588        (WebCore::RenderSVGViewportContainer::viewportTransform): Ditto.
2589        (WebCore::RenderSVGViewportContainer::localToParentTransform): Ditto.
2590        (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): Ditto.
2591
2592        * rendering/RenderScrollbar.cpp:
2593        (WebCore::pseudoForScrollbarPart): Changed switch statement to use cases for
2594        all values instead of using a default case.
2595
2596        * rendering/RenderTreeAsText.cpp:
2597        (WebCore::operator<<): Removed dependency on casting to types that don't
2598        have any public members we need to get at. Instead, use function names to
2599        identify the type rather than doing so much overloading. Changed to use
2600        checked casts.
2601        (WebCore::write): Ditto.
2602
2603        * rendering/SVGRenderSupport.cpp:
2604        (WebCore::renderSubtreeToImage): Changed to use a checked cast and also
2605        added a comment about the fact that the code does not do sufficient type
2606        checking before doing the cast.
2607
2608        * rendering/SVGRenderTreeAsText.cpp:
2609        (WebCore::writeRenderSVGTextBox): Renamed this from operator<<.
2610        (WebCore::writeSVGInlineTextBoxes): Renamed this from writeSVGInlineText.
2611        (WebCore::writeSVGText): Renamed this from write.
2612        (WebCore::writeSVGInlineText): Ditto.
2613        (WebCore::writeSVGImage): Ditto.
2614        * rendering/SVGRenderTreeAsText.h: Updated for name changes. Removed
2615        unneeded default arguments.
2616
26172009-08-05  Peter Kasting  <pkasting@google.com>
2618
2619        Reviewed by Sam Weinig.
2620
2621        https://bugs.webkit.org/show_bug.cgi?id=27851
2622        Fix a pair of compiler warnings on the GTK Linux buildbot.
2623
2624        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
2625        (WebCore::BMPImageDecoder::processFileHeader): Don't use multi-character constants, they're not portable.
2626        * platform/image-decoders/ico/ICOImageDecoder.cpp:
2627        (WebCore::ICOImageDecoder::setSize): Simpler code that also doesn't compare signed with unsigned.
2628
26292009-08-05  Peter Kasting  <pkasting@google.com>
2630
2631        Reviewed by Eric Seidel.
2632
2633        https://bugs.webkit.org/show_bug.cgi?id=26460
2634        Return multiple icon entries from the ICO decoder as separate frames,
2635        sorted by decreasing quality (much like the CG ICO decoder does).
2636
2637        As a result of this change, we can eliminate the Skia-specific setData()
2638        hack that the Chromium port used to select the desired icon size -- now
2639        callers can just enumerate the frames and ask for the data from the one
2640        they like.
2641
2642        Under the hood, the ICO decoder now keeps vectors for a number of things
2643        (including directory entries and image decoders) where it used to have
2644        single members.  However, callers (that I have seen) will only request
2645        one frame from the icon, so practically there aren't going to be lots of
2646        instantiated image decoders.
2647
2648        * platform/graphics/ImageSource.h: Move |m_decoder| back to private now that Skia no longer needs to access it.
2649        * platform/graphics/cairo/ImageSourceCairo.cpp:
2650        (WebCore::createDecoder): Remove size argument from ICO decoder instantiation.
2651        * platform/graphics/skia/ImageSourceSkia.cpp:
2652        (WebCore::createDecoder): Remove size argument from ICO decoder instantiation.
2653        (WebCore::ImageSource::setData): Remove function to ask for a particular icon size.
2654        * platform/graphics/skia/ImageSourceSkia.h: Removed.
2655        * platform/graphics/wx/ImageSourceWx.cpp:
2656        (WebCore::createDecoder): Remove size argument from ICO decoder instantiation.
2657        * platform/image-decoders/ico/ICOImageDecoder.cpp:
2658        (WebCore::ICOImageDecoder::ICOImageDecoder):
2659        (WebCore::ICOImageDecoder::~ICOImageDecoder): Delete all instantiated per-frame decoders.
2660        (WebCore::ICOImageDecoder::setData): Send data to all instantiated per-frame decoders.
2661        (WebCore::ICOImageDecoder::isSizeAvailable): Use size from icon directory instead of PNG decoder (if applicable) so we can report it without decoding the PNG frames.
2662        (WebCore::ICOImageDecoder::size): Report frame-specific size if BMP decoder is calling.  Otherwise, use size from icon directory instead of PNG decoder (if applicable).
2663        (WebCore::ICOImageDecoder::frameSizeAtIndex): Implement.
2664        (WebCore::ICOImageDecoder::setSize): Sanity check value if BMP decoder is calling.
2665        (WebCore::ICOImageDecoder::frameCount): Implement.
2666        (WebCore::ICOImageDecoder::frameBufferAtIndex): Sanity check size for PNG frames.
2667        (WebCore::ICOImageDecoder::compareEntries): Add utility function for sorting entries.
2668        (WebCore::ICOImageDecoder::setDataForPNGDecoderAtIndex): Factor out utility function for passing correct data blob to a PNG decoder.
2669        (WebCore::ICOImageDecoder::decodeWithCheckForDataEnded): Split decode() into two pieces.
2670        (WebCore::ICOImageDecoder::decodeDirectory): The first part of the old decode().
2671        (WebCore::ICOImageDecoder::decodeAtIndex): The second part of the old decode(), split off so we avoid decoding an entry until it's requested.
2672        (WebCore::ICOImageDecoder::processDirectory): Add resizing of internal data structures based on directory contents.
2673        (WebCore::ICOImageDecoder::processDirectoryEntries): Sort entries by quality.
2674        (WebCore::ICOImageDecoder::imageTypeAtIndex): Return type to caller instead of setting a member.
2675        * platform/image-decoders/ico/ICOImageDecoder.h:
2676
26772009-08-05  Szabo Carol  <carol.szabo@nokia.com>
2678
2679        Reviewed by Darin Adler.
2680
2681        https://bugs.webkit.org/show_bug.cgi?id=27942
2682
2683        Test: fast/forms/select-reset-multiple-selections-4-single-selection.html
2684
2685        * dom/SelectElement.cpp:
2686        (WebCore::SelectElement::reset):
2687           Added HTML 4.01 compliant handling of broken webpages that
2688           specify more than one selected option for single selection SELECT
2689           element, in a manner that emulates Firefox and is similar to IE 7
2690
2691
26922009-08-05  Andras Becsi  <becsi.andras@stud.u-szeged.hu>
2693
2694        Reviewed by Simon Hausmann.
2695
2696        WebCore.pro bugfix
2697
2698        Fix the gperf lines to properly include the string.h header at compilation with gperf version 3.0.3 and newer.
2699
2700        * WebCore.pro:
2701
27022009-08-05  Chris Fleizach  <cfleizach@apple.com>
2703
2704        Fix Tiger build breakage.
2705
2706        * accessibility/mac/AccessibilityObjectWrapper.mm:
2707
27082009-08-04  Simon Hausmann  <hausmann@webkit.org>
2709
2710        Prospective build fix for Qt build bot: Fix dependency of HTMLNames.cpp
2711        to both source files, HTMLTagNames.in and HTMLAttributeNames.in
2712
2713        * WebCore.pro:
2714
27152009-08-04  Brian Weinstein  <bweinstein@apple.com>
2716
2717        Reviewed by Adele Peterson.
2718
2719        Keypress should exit from pan scrolling mode.
2720        https://bugs.webkit.org/show_bug.cgi?id=28005
2721
2722        Change the logic from only exiting pan scrolling on escape to exiting on any key press,
2723        making it easier for users to back out of an accidental pan scroll.
2724
2725        * page/EventHandler.cpp:
2726        (WebCore::EventHandler::keyEvent):
2727
27282009-08-04  Eric Seidel  <eric@webkit.org>
2729
2730        Reviewed by Simon Fraser.
2731
2732        REGRESSION (r45064): Drop caret remains in text control after the mouse exits
2733        https://bugs.webkit.org/show_bug.cgi?id=26787
2734
2735        Add back missing dragController()->clear() call.
2736
2737        * manual-tests/drag-caret.html: Added.
2738        * page/DragController.cpp:
2739        (WebCore::DragController::tryDocumentDrag):
2740
27412009-08-04  Chris Fleizach  <cfleizach@apple.com>
2742
2743        Bug 27994 - WAI-ARIA: aria-valuetext needs to be implemented
2744        https://bugs.webkit.org/show_bug.cgi?id=27994
2745
2746        Forgot to commit attribute names.
2747
2748        * html/HTMLAttributeNames.in:
2749
27502009-08-04  Chris Fleizach  <cfleizach@apple.com>
2751
2752        Reviewed by Darin Adler.
2753
2754        Bug 27994 - WAI-ARIA: aria-valuetext needs to be implemented
2755        https://bugs.webkit.org/show_bug.cgi?id=27994
2756
2757        Test: platform/mac/accessibility/aria-valuetext.html
2758
2759        * accessibility/AccessibilityObject.h:
2760        (WebCore::AccessibilityObject::valueDescription):
2761        * accessibility/AccessibilityRenderObject.cpp:
2762        (WebCore::AccessibilityRenderObject::valueDescription):
2763        * accessibility/AccessibilityRenderObject.h:
2764        * accessibility/mac/AccessibilityObjectWrapper.mm:
2765        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2766        * html/HTMLAttributeNames.in:
2767
27682009-08-04  Michael Nordman  <michaeln@google.com>
2769
2770        Reviewed by Alexey Proskuryakov.
2771
2772        https://bugs.webkit.org/show_bug.cgi?id=27821
2773
2774        No new features, no new tests. Existing layout tests pass.
2775
2776        * WebCore.base.exp:
2777
2778        Export AppliationCacheGroup::storeCopyOfCache
2779
2780        * WebCore.xcodeproj/project.pbxproj:
2781
2782        Restore DOMApplicationCache.h and ApplicationCacheHost.h to 'project' headers
2783        instead of 'private' headers since they're no longer in the DocumentLoader.h
2784        include graph.
2785
2786        * html/HTMLHtmlElement.cpp:
2787        (WebCore::HTMLHtmlElement::insertedIntoDocument):
2788
2789        Reinstate the test for manifest.isNull instead of .isEmtpty().
2790        Added a FIXME to revisit once the spec gets clarified.
2791
2792        * loader/DocumentLoader.cpp:
2793        (WebCore::DocumentLoader::DocumentLoader):
2794        (WebCore::DocumentLoader::mainReceivedError):
2795        (WebCore::DocumentLoader::detachFromFrame):
2796        * loader/DocumentLoader.h:
2797        (WebCore::DocumentLoader::applicationCacheHost):
2798
2799        ApplicationCacheHost is held in an OwnPtr<> by DocumentLoader. This was done
2800        for compile time friendliness, it results in a smaller include graph for files
2801        dependent on DocumentLoader.h.
2802
2803        * loader/FrameLoader.cpp:
2804        * loader/MainResourceLoader.cpp:
2805        * loader/ResourceLoader.cpp:
2806
2807        Cleanup ussage of ENABLE(xxx) around includes, generally remove those guards.
2808        This was done for readability at the include site. The included files contain appropriate guards,
2809        so they're not needed at the include site.
2810
2811        * loader/appcache/ApplicationCacheGroup.cpp:
2812        (WebCore::ApplicationCacheGroup::selectCache):
2813        (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
2814        (WebCore::ApplicationCacheGroup::failedLoadingMainResource):
2815        (WebCore::ApplicationCacheGroup::update):
2816        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
2817        (WebCore::ApplicationCacheGroup::manifestNotFound):
2818        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
2819        (WebCore::ApplicationCacheGroup::startLoadingEntry):
2820        (WebCore::CallCacheListenerTask::create):
2821        (WebCore::CallCacheListenerTask::performTask):
2822        (WebCore::CallCacheListenerTask::CallCacheListenerTask):
2823        (WebCore::ApplicationCacheGroup::postListenerTask):
2824        * loader/appcache/ApplicationCacheGroup.h:
2825
2826        Use ApplicationCachHost defined constants, no longer depends on DOMApplicationCache.
2827
2828        * loader/appcache/ApplicationCacheHost.cpp:
2829        (WebCore::ApplicationCacheHost::ApplicationCacheHost):
2830        (WebCore::ApplicationCacheHost::setDOMApplicationCache):
2831        (WebCore::ApplicationCacheHost::notifyEventListener):
2832        (WebCore::ApplicationCacheHost::status):
2833        * loader/appcache/ApplicationCacheHost.h:
2834        (WebCore::ApplicationCacheHost::):
2835        * loader/appcache/ApplicationCacheStorage.cpp:
2836        (WebCore::ApplicationCacheStorage::storeCopyOfCache):
2837        * loader/appcache/ApplicationCacheStorage.h:
2838
2839        Merge recently added transferApplicationCache and pre-existing storeCopyOfCache methods.
2840
2841        * loader/appcache/DOMApplicationCache.cpp:
2842        (WebCore::DOMApplicationCache::status):
2843        (WebCore::DOMApplicationCache::addEventListener):
2844        (WebCore::DOMApplicationCache::removeEventListener):
2845        (WebCore::DOMApplicationCache::callListener):
2846        (WebCore::DOMApplicationCache::toEventType):
2847        (WebCore::DOMApplicationCache::toEventID):
2848        * loader/appcache/DOMApplicationCache.h:
2849        (WebCore::DOMApplicationCache::setAttributeEventListener):
2850        (WebCore::DOMApplicationCache::getAttributeEventListener):
2851        (WebCore::DOMApplicationCache::clearAttributeEventListener):
2852        (WebCore::DOMApplicationCache::callEventListener):
2853        (WebCore::DOMApplicationCache::setOnchecking):
2854        (WebCore::DOMApplicationCache::onchecking):
2855        (WebCore::DOMApplicationCache::setOnerror):
2856        (WebCore::DOMApplicationCache::onerror):
2857        (WebCore::DOMApplicationCache::setOnnoupdate):
2858        (WebCore::DOMApplicationCache::onnoupdate):
2859        (WebCore::DOMApplicationCache::setOndownloading):
2860        (WebCore::DOMApplicationCache::ondownloading):
2861        (WebCore::DOMApplicationCache::setOnprogress):
2862        (WebCore::DOMApplicationCache::onprogress):
2863        (WebCore::DOMApplicationCache::setOnupdateready):
2864        (WebCore::DOMApplicationCache::onupdateready):
2865        (WebCore::DOMApplicationCache::setOncached):
2866        (WebCore::DOMApplicationCache::oncached):
2867        (WebCore::DOMApplicationCache::setOnobsolete):
2868        (WebCore::DOMApplicationCache::onobsolete):
2869
2870        Use ApplicationCachHost defined constants for Status and EventIDs.
2871
28722009-08-04  Nate Chapin  <japhet@chromium.org>
2873
2874        Reviewed by Dimitri Glazkov.
2875
2876        Revert r46421 and r46769, which appear to have totally hosed the v8 bindings.
2877
2878        https://bugs.webkit.org/show_bug.cgi?id=27719
2879
2880        * bindings/v8/V8AbstractEventListener.cpp: Revert r46421.
2881        (WebCore::V8AbstractEventListener::invokeEventHandler):
2882        * bindings/v8/custom/V8DOMWindowCustom.cpp: Revert r46769.
2883        (WebCore::ACCESSOR_GETTER):
2884
28852009-08-04  Chris Fleizach  <cfleizach@apple.com>
2886
2887        Reviewed by Darin Adler.
2888
2889        Bug 27993 - AXSliders are missing required attributes and actions
2890        https://bugs.webkit.org/show_bug.cgi?id=27993
2891
2892        Expose appropriate actions and attributes for sliders.
2893
2894        Test: platform/mac/accessibility/slider-supports-actions.html
2895
2896        * accessibility/AccessibilityObject.cpp:
2897        (WebCore::AccessibilityObject::orientation):
2898        * accessibility/AccessibilityObject.h:
2899        (WebCore::):
2900        * accessibility/AccessibilitySlider.cpp:
2901        (WebCore::AccessibilitySlider::orientation):
2902        * accessibility/AccessibilitySlider.h:
2903        * accessibility/mac/AccessibilityObjectWrapper.mm:
2904        (-[AccessibilityObjectWrapper accessibilityActionNames]):
2905        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2906        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2907
29082009-08-04  Jian Li  <jianli@chromium.org>
2909
2910        Reviewed by David Levin.
2911
2912        [V8] Fix an assert in WebCoreStringResource that causes worker script
2913        evaluation failed.
2914        https://bugs.webkit.org/show_bug.cgi?id=27996
2915
2916        The fix is to check for the same thread, instead of the main thread.
2917        This is because Chromium's workers use v8 in a single thread that is
2918        not the main thread.
2919
2920        * bindings/v8/V8Binding.cpp:
2921        (WebCore::WebCoreStringResource::WebCoreStringResource):
2922        (WebCore::WebCoreStringResource::~WebCoreStringResource):
2923        (WebCore::WebCoreStringResource::atomicString):
2924
29252009-08-04  Simon Fraser  <simon.fraser@apple.com>
2926
2927        Reviewed by Dave Hyatt.
2928
2929        Add support for transitions/animations of text-indent.
2930
2931        Test: transitions/text-indent-transition.html
2932
2933        * page/animation/AnimationBase.cpp:
2934        (WebCore::ensurePropertyMap):
2935
29362009-08-04  Simon Fraser  <simon.fraser@apple.com>
2937
2938        Reviewed by Dave Hyatt.
2939
2940        Add support for transitions of min- and max-width, and min- and max-height.
2941        https://bugs.webkit.org/show_bug.cgi?id=27990
2942
2943        Test: transitions/min-max-width-height-transitions.html
2944
2945        * page/animation/AnimationBase.cpp:
2946        (WebCore::ensurePropertyMap):
2947
29482009-08-04  Chris Fleizach  <cfleizach@apple.com>
2949
2950        Reviewed by Darin Adler.
2951
2952        Bug 27964 - WAI-ARIA: radio button does not determine its label from text content
2953        https://bugs.webkit.org/show_bug.cgi?id=27964
2954
2955        ARIA radio buttons also need to use the text inside of them, like buttons and other roles.
2956        Also fixed an issue where an extra space was being appended to some ARIA labels.
2957
2958        Test: platform/mac/accessibility/aria-radiobutton-text.html
2959
2960        * accessibility/AccessibilityObject.h:
2961        (WebCore::AccessibilityObject::ariaAccessibilityName):
2962        * accessibility/AccessibilityRenderObject.cpp:
2963        (WebCore::AccessibilityRenderObject::ariaAccessibilityName):
2964        (WebCore::AccessibilityRenderObject::ariaLabeledByAttribute):
2965        (WebCore::AccessibilityRenderObject::title):
2966        (WebCore::AccessibilityRenderObject::ariaDescribedByAttribute):
2967        * accessibility/AccessibilityRenderObject.h:
2968
29692009-08-04  Nate Chapin  <japhet@chromium.org>
2970
2971        Reviewed by Dimitri Glazkov.
2972
2973        Missed a place that expects window.event to be hidden when it shouldn't be.
2974
2975        https://bugs.webkit.org/show_bug.cgi?id=27719
2976
2977        * bindings/v8/custom/V8DOMWindowCustom.cpp:
2978        (WebCore::ACCESSOR_GETTER): window.event is no longer hidden.
2979
29802009-08-03  Chris Fleizach  <cfleizach@apple.com>
2981
2982        Reviewed by Jon Honeycutt.
2983
2984        Bug 27958 - WAI-ARIA: Implement 'aria-required' attribute.
2985        https://bugs.webkit.org/show_bug.cgi?id=27958
2986
2987        Test: platform/mac/accessibility/aria-required.html
2988
2989        * accessibility/AccessibilityObject.h:
2990        (WebCore::AccessibilityObject::isRequired):
2991        * accessibility/AccessibilityRenderObject.cpp:
2992        (WebCore::AccessibilityRenderObject::isRequired):
2993        * accessibility/AccessibilityRenderObject.h:
2994        * accessibility/mac/AccessibilityObjectWrapper.mm:
2995        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2996        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2997        * html/HTMLAttributeNames.in:
2998
29992009-08-04  Jakub Wieczorek  <faw217@gmail.com>
3000
3001        Reviewed by Simon Hausmann.
3002
3003        Add QWebPluginDatabase API to the Qt API.
3004
3005        https://bugs.webkit.org/show_bug.cgi?id=27651
3006
3007        * WebCore.pro:
3008
30092009-08-04  Ariya Hidayat  <ariya.hidayat@nokia.com>
3010
3011        Reviewed by Adam Treat.
3012
3013        [Qt] PlusDarker is not supported. Fall back to CompositionMode_Darken
3014        (as it is the closest match) instead of CompositionMode_SourceOver.
3015
3016        * platform/graphics/qt/GraphicsContextQt.cpp:
3017        (WebCore::toQtCompositionMode):
3018
30192009-08-04  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
3020
3021        Reviewed by Adam Barth.
3022
3023        [v8] Fix crash when converting empty v8 string to atomic webkit string.
3024        https://bugs.webkit.org/show_bug.cgi?id=27975
3025
3026        collection-null-like-arguments.html tests for this.
3027
3028        * bindings/v8/V8Binding.cpp:
3029        (WebCore::v8StringToAtomicWebCoreString):
3030
30312009-08-04  Ryosuke Niwa  <rniwa@webkit.org>
3032
3033        Reviewed by Eric Seidel.
3034
3035        selectionHasStyle needs clean up to fix Bug 27858
3036        https://bugs.webkit.org/show_bug.cgi?id=27865
3037
3038        This patch cleans up selectionStartHasStyle and selectionHasStyle.
3039        No test is added because the patch does not change any behavior.
3040
3041        * editing/ApplyStyleCommand.cpp:
3042        (WebCore::getPropertiesNotInComputedStyle): Used in triStateOfStyleInComputedStyle but will be used here as well
3043        * editing/ApplyStyleCommand.h: Added the prototype of getPropertiesNotInComputedStyle
3044        * editing/Editor.cpp:
3045        (WebCore::triStateOfStyleInComputedStyle): Determines if the specified style is present in the specified computed style.
3046        (WebCore::Editor::selectionStartHasStyle): Uses triStateOfStyleInComputedStyle
3047        (WebCore::Editor::selectionHasStyle): Uses triStateOfStyleInComputedStyle instead of updateState
3048
30492009-08-03  John Abd-El-Malek  <jam@chromium.org>
3050
3051        Reviewed by David Levin.
3052
3053        Fix MessagePort construction in worker process.  Also make the other object constructions match this.
3054
3055        https://bugs.webkit.org/show_bug.cgi?id=27906
3056
3057        * bindings/v8/V8DOMWrapper.cpp:
3058        (WebCore::V8DOMWrapper::convertToV8Object):
3059        * bindings/v8/V8Proxy.cpp:
3060        (WebCore::V8Proxy::setDOMException):
3061        * bindings/v8/WorkerContextExecutionProxy.cpp:
3062        (WebCore::WorkerContextExecutionProxy::ToV8Object):
3063
30642009-08-03  Christian Plesner Hansen  <christian.plesner.hansen@gmail.com>
3065
3066        Reviewed by David Levin.
3067
3068        [V8] Cache atomic strings in externalized v8 strings
3069        https://bugs.webkit.org/show_bug.cgi?id=27762
3070
3071        * bindings/scripts/CodeGeneratorV8.pm:
3072        * bindings/v8/V8Binding.cpp:
3073        (WebCore::WebCoreStringResource::WebCoreStringResource):
3074        (WebCore::WebCoreStringResource::~WebCoreStringResource):
3075        (WebCore::WebCoreStringResource::data):
3076        (WebCore::WebCoreStringResource::length):
3077        (WebCore::WebCoreStringResource::webcoreString):
3078        (WebCore::WebCoreStringResource::atomicString):
3079        (WebCore::WebCoreStringResource::toStringResource):
3080        (WebCore::v8StringToWebCoreString):
3081        (WebCore::v8StringToAtomicWebCoreString):
3082        (WebCore::v8ValueToWebCoreString):
3083        (WebCore::v8ValueToAtomicWebCoreString):
3084        * bindings/v8/V8Binding.h:
3085        (WebCore::):
3086        * dom/Document.idl:
3087
30882009-08-03  Joseph Pecoraro  <joepeck02@gmail.com>
3089
3090        Reviewed by Timothy Hatcher.
3091
3092        Inspector: DOM Storage Live Updating Should Not Affect Tabbing
3093        https://bugs.webkit.org/show_bug.cgi?id=27957
3094
3095        * inspector/front-end/DOMStorageDataGrid.js:
3096        (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode): disable storage event listener
3097        (WebInspector.DOMStorageDataGrid.prototype._startEditing): disable storage event listener
3098        (WebInspector.DOMStorageDataGrid.prototype._editingCancelled): enable storage event listener
3099        * inspector/front-end/DatabasesPanel.js:
3100        (WebInspector.DatabasesPanel.prototype._unregisterStorageEventListener): quick return if no listener
3101
31022009-08-03  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3103
3104        Reviewed by Eric Seidel.
3105
3106        [Qt] Consolidate common gcc flags to WebKit.pri
3107        https://bugs.webkit.org/show_bug.cgi?id=27934
3108
3109        * WebCore.pro:
3110
31112009-08-03  Jeremy Orlow  <jorlow@chromium.org>
3112
3113        Reviewed by Darin Fisher.
3114
3115        Chromium code sometimes isn't sandboxed and needs to access the FS.
3116        https://bugs.webkit.org/show_bug.cgi?id=27954
3117
3118        These changes are the WebKit side of http://codereview.chromium.org/159778 which
3119        aims to make LocalStorage persistent.
3120
3121        This change runs all FileSystem routines through the ChromiumBridge so that
3122        WebKitClients can handle them if they choose to.  For now, the only such client
3123        will be the one running in the browser process.
3124
3125        It also adds a method called sandboxEnabled to the Chromium bridge so that the
3126        SQLite file system code can shift its behavior depending on whether we're
3127        inside a sandbox or not.
3128
3129        * platform/chromium/ChromiumBridge.h:
3130        * platform/chromium/FileSystemChromium.cpp:
3131        (WebCore::deleteFile):
3132        (WebCore::deleteEmptyDirectory):
3133        (WebCore::getFileModificationTime):
3134        (WebCore::directoryName):
3135        (WebCore::pathByAppendingComponent):
3136        (WebCore::makeAllDirectories):
3137        (WebCore::fileExists):
3138        * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
3139        (WebCore::SQLiteFileSystem::openDatabase):
3140        * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
3141        (WebCore::SQLiteFileSystem::registerSQLiteVFS):
3142
31432009-08-03  Alpha Lam  <hclam@chromium.org>
3144
3145        Reviewed by David Levin.
3146
3147        [chromium] Implement media slider for chromium
3148        https://bugs.webkit.org/show_bug.cgi?id=27859
3149
3150        Implemented the media slider for chromium port. The implementation
3151        is using Skia for drawing the thumb and buffered region instead of
3152        using any native system controls so different platforms would have
3153        the same look and feel.
3154
3155        No new tests because this is covered by existing tests.
3156
3157        * css/mediaControlsChromium.css:
3158        * rendering/RenderThemeChromiumSkia.cpp:
3159        * rendering/RenderThemeChromiumSkia.h:
3160        * rendering/RenderThemeChromiumWin.cpp:
3161
31622009-07-27  Peter Kasting  <pkasting@google.com>
3163
3164        Reviewed by Eric Seidel.
3165
3166        https://bugs.webkit.org/show_bug.cgi?id=26460
3167        Plumbing and cleanup in advance of returning multiple frames from the
3168        ICOImageDecoder:
3169        * Make ImageDecoder::frameCount() return a size_t like
3170          ImageSource::frameCount() and BitmapImage::frameCount() already do.
3171        * Add ImageDecoder::frameSizeAtIndex() alongside size(), to report the
3172          size of a particular frame.  Hook all the
3173          ImageSource::frameSizeAtIndex() implementations to this.  No
3174          ImageDecoder implements this yet; that will come in my next change.
3175
3176        * platform/graphics/cairo/ImageSourceCairo.cpp:
3177        (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
3178        * platform/graphics/qt/ImageDecoderQt.cpp:
3179        (WebCore::ImageDecoderQt::frameCount): returns size_t.
3180        * platform/graphics/qt/ImageDecoderQt.h: frameCount() returns size_t.
3181        * platform/graphics/qt/ImageSourceQt.cpp:
3182        (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
3183        * platform/graphics/skia/ImageSourceSkia.cpp:
3184        (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
3185        * platform/graphics/win/ImageCGWin.cpp:
3186        (WebCore::BitmapImage::drawFrameMatchingSourceSize): frameCount() returns size_t.
3187        * platform/graphics/win/ImageCairoWin.cpp:
3188        (WebCore::BitmapImage::drawFrameMatchingSourceSize): frameCount() returns size_t.
3189        * platform/graphics/wx/ImageSourceWx.cpp:
3190        (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
3191        * platform/image-decoders/ImageDecoder.h:
3192        (WebCore::ImageDecoder::size): Clarify comment.
3193        (WebCore::ImageDecoder::frameSizeAtIndex): Add.
3194        (WebCore::ImageDecoder::frameCount): returns size_t.
3195        (WebCore::ImageDecoder::frameBufferAtIndex): Remove unneeded param name.
3196        * platform/image-decoders/gif/GIFImageDecoder.cpp:
3197        (WebCore::GIFImageDecoder::frameCount): returns size_t.
3198        (WebCore::GIFImageDecoder::frameBufferAtIndex): frameCount() returns size_t.
3199        * platform/image-decoders/gif/GIFImageDecoder.h: frameCount() returns size_t.
3200
32012009-08-03  Dumitru Daniliuc  <dumi@chromium.org>
3202
3203        Reviewed by Darin Adler.
3204
3205        Fix a bug that could cause an ASSERT to fail incorrectly, leading
3206        to a renderer crash in Chromium.
3207
3208        https://bugs.webkit.org/show_bug.cgi?id=27947
3209
3210        All tests in storage/ pass.
3211
3212        * platform/sql/SQLiteTransaction.cpp:
3213        (WebCore::SQLiteTransaction::~SQLiteTransaction):
3214        (WebCore::SQLiteTransaction::begin):
3215
32162009-08-03  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3217
3218        Reviewed by Simon Hausmann.
3219
3220        Based on work by Yael Aharon.
3221
3222        Implement keyboard event forwarding for windowless plugins
3223        for the Qt port.
3224
3225        * plugins/qt/PluginViewQt.cpp:
3226        (WebCore::PluginView::dispatchNPEvent):
3227        (WebCore::setSharedXEventFields):
3228        (WebCore::setXKeyEventSpecificFields):
3229        (WebCore::PluginView::handleKeyboardEvent):
3230        (WebCore::PluginView::handleMouseEvent):
3231
32322009-08-03  Joseph Pecoraro  <joepeck02@gmail.com>
3233
3234        Reviewed by Timothy Hatcher.
3235
3236        Inspector: Make Bottom "Drawer" More Extensible To Support Other Views
3237        https://bugs.webkit.org/show_bug.cgi?id=27928
3238
3239        * English.lproj/localizedStrings.js:
3240
3241          "Show changes view", "Hide changes view", "Clear changes log", "%d style change", "%d style changes"
3242
3243        * inspector/front-end/ChangesView.js: Added.
3244        (WebInspector.ChangesView):
3245        (WebInspector.ChangesView.prototype._clearButtonClicked):
3246        (WebInspector.ChangesView.prototype._toggleChangesButtonClicked):
3247        (WebInspector.ChangesView.prototype.attach):
3248        (WebInspector.ChangesView.prototype.show):
3249        (WebInspector.ChangesView.prototype.hide):
3250
3251          To be a new view to show Changes made via the inspector.  DOM, CSS, or otherwise.
3252
3253        * inspector/front-end/Console.js: Removed.
3254
3255          Sliding View aspect moved to Drawer.js.  The "console" itself has moved to ConsoleView.js
3256
3257        * inspector/front-end/ConsoleView.js: Added.
3258
3259          Little has changed from its move from Console.js other then support for working with the Drawer.
3260
3261        * inspector/front-end/Drawer.js: Added.
3262        (WebInspector.Drawer):
3263        (WebInspector.Drawer.prototype.get visibleView):
3264        (WebInspector.Drawer.prototype.set visibleView):
3265        (WebInspector.Drawer.prototype.show.animationFinished):
3266        (WebInspector.Drawer.prototype.show):
3267        (WebInspector.Drawer.prototype.hide.animationFinished):
3268        (WebInspector.Drawer.prototype.hide):
3269        (WebInspector.Drawer.prototype._safelyRemoveChildren):
3270        (WebInspector.Drawer.prototype._startStatusBarDragging):
3271        (WebInspector.Drawer.prototype._statusBarDragging):
3272        (WebInspector.Drawer.prototype._endStatusBarDragging):
3273
3274          Allow for multiple views inside the Sliding Drawer.
3275
3276        * inspector/front-end/ElementsPanel.js:
3277        (WebInspector.ElementsPanel):
3278        (WebInspector.ElementsPanel.prototype.renameSelector):
3279        (WebInspector.ElementsPanel.prototype.addStyleChange):
3280        (WebInspector.ElementsPanel.prototype.removeStyleChange):
3281        (WebInspector.ElementsPanel.prototype.generateStylesheet):
3282
3283          Starting work on the "Changes" Panel. The ability to generate a Stylesheet from Styles added via the Inspector.
3284
3285        * inspector/front-end/Images/styleIcon.png: Added.
3286
3287        * inspector/front-end/StylesSidebarPane.js:
3288        (WebInspector.StylePropertiesSection.prototype.isInspectorStylesheet):
3289        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
3290        (WebInspector.BlankStylePropertiesSection.prototype.makeNormal):
3291        (WebInspector.StylePropertyTreeElement.prototype):
3292
3293          Interface with ElementsPanel for generating a Stylesheet of Changes.
3294
3295        * inspector/front-end/WebKit.qrc:
3296        * inspector/front-end/inspector.css: Refactored to allow for multiple views in the drawer.
3297        * inspector/front-end/inspector.html: Refactored to allow for multiple views in the drawer.
3298
3299        * inspector/front-end/inspector.js:
3300        (WebInspector.get styleChanges):
3301        (WebInspector.set styleChanges):
3302        (WebInspector._updateChangesCount):
3303        (WebInspector.loaded):
3304        (WebInspector.documentKeyDown):
3305        (WebInspector.showConsole):
3306        (WebInspector.showChanges):
3307
3308          Support for the drawer and "styles changed icon" similar to the "errors and warnings" icons.
3309
33102009-08-03  Dean McNamee  <deanm@chromium.org>
3311
3312        Reviewed by Adam Barth.
3313
3314        Correct an assert on a PassRefPtr in the v8 svg bindings.
3315        https://bugs.webkit.org/show_bug.cgi?id=27951
3316
3317        * bindings/v8/V8SVGPODTypeWrapper.h:
3318        (WebCore::V8SVGDynamicPODTypeWrapper::V8SVGDynamicPODTypeWrapper):
3319
33202009-08-03  Dirk Pranke  <dpranke@chromium.org>
3321
3322        Reviewed by Sam Weinig.
3323
3324        Fix for https://bugs.webkit.org/show_bug.cgi?id=27748
3325        crash w/ stack overflow when same CSS file loaded repeatedly
3326
3327        Fix crash caused by a stack overflow when repeatedly loading very large
3328        CSS files. CSSRuleData in CSSStyleSelector.h destroyed itself
3329        recursively rather than iteratively.
3330
3331        Test: fast/css/large-list-of-rules-crash.html
3332
3333        * css/CSSStyleSelector.h:
3334        (WebCore::CSSRuleData::~CSSRuleData):
3335        (WebCore::CSSRuleDataList::~CSSRuleDataList):
3336
33372009-08-03  Simon Fraser  <simon.fraser@apple.com>
3338
3339        Reviewed by Dan Bernstein.
3340
3341        Make the DRT APIs to pause transitions and animations work for accelerated animations
3342        <https://bugs.webkit.org/show_bug.cgi?id=27627>
3343        <rdar://problem/6442932>
3344
3345        Fix the 'pauseAnimationAtTimeOnElementWithId' and 'pauseTransitionAtTimeOnElementWithId' APIs
3346        available to LayoutTests to work with accelerated animations and transitions. Done by sending
3347        the pause time down to the GraphicsLayer, and using it to stop time on the layer.
3348
3349        I also added an assertion to check that the animation has actually started when we
3350        try to pause it, to check that the pause time we compute is valid. This revealed a number
3351        of tests that tried to pause before animations started, required some amount of test fixing.
3352
3353        * page/animation/AnimationBase.cpp:
3354        (WebCore::AnimationBase::freezeAtTime):
3355        * page/animation/AnimationBase.h:
3356        * page/animation/CompositeAnimation.cpp:
3357        (WebCore::CompositeAnimation::pauseAnimationAtTime):
3358        (WebCore::CompositeAnimation::pauseTransitionAtTime):
3359        * platform/graphics/GraphicsLayer.cpp:
3360        (WebCore::GraphicsLayer::suspendAnimations):
3361        * platform/graphics/GraphicsLayer.h:
3362        * platform/graphics/mac/GraphicsLayerCA.h:
3363        * platform/graphics/mac/GraphicsLayerCA.mm:
3364        (WebCore::GraphicsLayerCA::suspendAnimations):
3365        * rendering/RenderLayerBacking.cpp:
3366        (WebCore::RenderLayerBacking::suspendAnimations):
3367        * rendering/RenderLayerBacking.h:
3368
33692009-08-03  Tony Chang  <tony@chromium.org>
3370
3371        Reviewed by Darin Adler.
3372
3373        Fix Chromium build by removing PluginView.h from Page.cpp.
3374        Chromium doesn't use PluginView and the pointer is never
3375        dereferenced so the header doesn't need to be included.
3376        https://bugs.webkit.org/show_bug.cgi?id=27946
3377
3378        No new tests because this is a build fix.
3379
3380        * page/Page.cpp:
3381
33822009-08-03  Eric Carlson  <eric.carlson@apple.com>
3383
3384        One more build fix after https://bugs.webkit.org/show_bug.cgi?id=46720.
3385
3386        Unreviewed.
3387
3388        * WebCoreSources.bkl:
3389
33902009-08-03  Eric Carlson  <eric.carlson@apple.com>
3391
3392        Build fix after https://bugs.webkit.org/show_bug.cgi?id=46720.
3393
3394        Unreviewed.
3395
3396        * GNUmakefile.am:
3397        * WebCore.gypi:
3398        * WebCore.pro:
3399        * WebCore.vcproj/WebCore.vcproj:
3400
34012009-08-03  Chris Fleizach  <cfleizach@apple.com>
3402
3403        Reviewed by Darin Adler.
3404
3405        Bug 27943: Need to implement ARIA role="radiogroup"
3406        https://bugs.webkit.org/show_bug.cgi?id=27943
3407
3408        Test: platform/mac/accessibility/aria-radiogroup.html
3409
3410        * accessibility/AccessibilityObject.h:
3411        (WebCore::AccessibilityObject::isRadioGroup):
3412        (WebCore::AccessibilityObject::selectedRadioButton):
3413        * accessibility/AccessibilityRenderObject.cpp:
3414        (WebCore::AccessibilityRenderObject::selectedRadioButton):
3415        (WebCore::RoleEntry::):
3416        * accessibility/AccessibilityRenderObject.h:
3417        * accessibility/mac/AccessibilityObjectWrapper.mm:
3418        (-[AccessibilityObjectWrapper roleDescription]):
3419        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
3420
34212009-08-03  Eric Carlson  <eric.carlson@apple.com>
3422
3423        Reviewed by Eric Seidel.
3424
3425        HTMLInputElement is not controllable by assistive technologies
3426        https://bugs.webkit.org/show_bug.cgi?id=27941
3427
3428        Test: accessibility/input-slider.html
3429
3430        * WebCore.xcodeproj/project.pbxproj:
3431            Add AccessibilitySlider.cpp/.h
3432
3433        * accessibility/AXObjectCache.cpp:
3434        (WebCore::AXObjectCache::getOrCreate):
3435            Create AccessibilitySlider and AccessibilitySliderThumb.
3436
3437        * accessibility/AccessibilityObject.h:
3438        (WebCore::AccessibilityObject::increment):
3439        (WebCore::AccessibilityObject::decrement):
3440            Add default, do nothing, base class methods.
3441
3442        * accessibility/AccessibilityRenderObject.cpp:
3443        (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
3444            Correct typo.
3445
3446        * accessibility/AccessibilitySlider.cpp: Added.
3447        (WebCore::AccessibilitySlider::AccessibilitySlider):
3448        (WebCore::AccessibilitySlider::create):
3449        (WebCore::AccessibilitySlider::children):
3450        (WebCore::AccessibilitySlider::addChildren):
3451        (WebCore::AccessibilitySlider::getAttribute):
3452        (WebCore::AccessibilitySlider::valueForRange):
3453        (WebCore::AccessibilitySlider::maxValueForRange):
3454        (WebCore::AccessibilitySlider::minValueForRange):
3455        (WebCore::AccessibilitySlider::changeValue):
3456        (WebCore::AccessibilitySlider::setValue):
3457        (WebCore::AccessibilitySlider::increment):
3458        (WebCore::AccessibilitySlider::decrement):
3459        (WebCore::AccessibilitySlider::element):
3460        (WebCore::AccessibilitySliderThumb::AccessibilitySliderThumb):
3461        (WebCore::AccessibilitySliderThumb::create):
3462        (WebCore::AccessibilitySliderThumb::elementRect):
3463        (WebCore::AccessibilitySliderThumb::size):
3464        * accessibility/AccessibilitySlider.h: Added.
3465        (WebCore::AccessibilitySlider::~AccessibilitySlider):
3466        (WebCore::AccessibilitySlider::roleValue):
3467        (WebCore::AccessibilitySlider::accessibilityIsIgnored):
3468        (WebCore::AccessibilitySlider::isSlider):
3469        (WebCore::AccessibilitySlider::canSetValueAttribute):
3470        (WebCore::AccessibilitySliderThumb::~AccessibilitySliderThumb):
3471        (WebCore::AccessibilitySliderThumb::roleValue):
3472        (WebCore::AccessibilitySliderThumb::accessibilityIsIgnored):
3473        (WebCore::AccessibilitySliderThumb::setParentObject):
3474        (WebCore::AccessibilitySliderThumb::parentObject):
3475
3476        * accessibility/mac/AccessibilityObjectWrapper.mm:
3477        (RoleEntry::):
3478            SliderThumbRole -> NSAccessibilityValueIndicatorRole
3479        (-[AccessibilityObjectWrapper roleDescription]):
3480            Return role description for NSAccessibilitySliderRole and NSAccessibilityValueIndicatorRole.
3481        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
3482            Minor coding style correction.
3483        (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
3484            If attachement view handles press action, don't also call object wrapper.
3485        (-[AccessibilityObjectWrapper accessibilityPerformIncrementAction]):
3486            New, call object's increment() method.
3487        (-[AccessibilityObjectWrapper accessibilityPerformDecrementAction]):
3488            New, call object's decrement() method.
3489        (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
3490            Respond to NSAccessibilityIncrementAction and NSAccessibilityDecrementAction.
3491
3492        * rendering/RenderSlider.cpp:
3493        (WebCore::RenderSlider::thumbRect):
3494            Factor logic out of layout so AccessibilitySliderThumb can get thumb location/size.
3495        (WebCore::RenderSlider::layout):
3496            Move code to thumbRect().
3497        * rendering/RenderSlider.h:
3498
34992009-08-03  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3500
3501        Reviewed by Eric Seidel.
3502
3503        Build fix if Netscape plugin support is turned off
3504        https://bugs.webkit.org/show_bug.cgi?id=27940
3505
3506        * plugins/PluginView.cpp:
3507        (WebCore::PluginView::stop): Do not call NPN_MemFree if NPAPI is
3508        disabled
3509        * plugins/PluginViewNone.cpp:
3510        (WebCore::PluginView::platformStart): Empty stub.
3511
35122009-07-31  Joe Mason  <joe.mason@torchmobile.com>
3513
3514        Reviewed by George Staikos.
3515
3516        WINCE port: LOAD_WITH_ALTERED_SEARCH_PATH param of LoadLibraryEx not supported on WINCE
3517        https://bugs.webkit.org/show_bug.cgi?id=27917
3518
3519        * plugins/win/PluginPackageWin.cpp:
3520        (WebCore::PluginPackage::load): use LoadLibrary instead of LoadLibraryEx
3521
35222009-08-02  Adam Barth  <abarth@webkit.org>
3523        Reviewed by Darin Adler.
3524
3525        SVGElementInstance::scriptExecutionContext should call document() instead of scriptExecutionContext()
3526
3527        https://bugs.webkit.org/show_bug.cgi?id=27932
3528
3529        There's no reason to pay for a virtual function call in this case.  We
3530        can just call document() directly because we know that element is a
3531        Node*.
3532
3533        * svg/SVGElementInstance.cpp:
3534        (WebCore::SVGElementInstance::scriptExecutionContext):
3535
35362009-08-02  Adam Barth  <abarth@webkit.org>
3537
3538        Reviewed by Darin Adler.
3539
3540        JSNodeCustom should call document() instead of scriptExecutionContext()
3541        https://bugs.webkit.org/show_bug.cgi?id=27931
3542
3543        We want to call document() because it's in inline function, instead of
3544        scriptExecutionContext() because it's a virtual function.  If we have a
3545        Node*, then we know that the virtual function will always return the
3546        document anyway.
3547
3548        There are more instance of this bug, but I'd like to start with a small
3549        patch and work up.
3550
3551        * bindings/js/JSDOMGlobalObject.cpp:
3552        (WebCore::toJSDOMGlobalObject):
3553        * bindings/js/JSDOMGlobalObject.h:
3554        * bindings/js/JSNodeCustom.cpp:
3555        (WebCore::JSNode::addEventListener):
3556        (WebCore::JSNode::removeEventListener):
3557
35582009-08-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3559
3560        Reviewed by Anders Carlsson.
3561
3562        Share implementation of PluginView::userAgent() and userAgentStatic()
3563
3564        https://bugs.webkit.org/show_bug.cgi?id=27706
3565
3566        Differences to the original implementation are as follows:
3567
3568            - The Win port used to return 0 for userAgentStatic, but now
3569              returns the quirk mode MozillaUserAgent as the other ports.
3570
3571        * plugins/PluginView.cpp:
3572        (WebCore::PluginView::userAgent):
3573        (WebCore::PluginView::userAgentStatic):
3574        * plugins/PluginViewNone.cpp:
3575        * plugins/gtk/PluginViewGtk.cpp:
3576        * plugins/mac/PluginViewMac.cpp:
3577        * plugins/qt/PluginViewQt.cpp:
3578        * plugins/win/PluginViewWin.cpp:
3579
35802009-07-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3581
3582        Reviewed by Anders Carlsson.
3583
3584        Unregister plugin from PluginMainThreadScheduler if NPP_New fails
3585
3586        https://bugs.webkit.org/show_bug.cgi?id=27706
3587
3588        Since the plugin has not been started yet (m_isStarted is not set),
3589        calling stop() will not have any affect, so we manually unregister
3590        in start() before returning.
3591
3592        * plugins/PluginView.cpp:
3593        (WebCore::PluginView::start):
3594
35952009-07-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
3596
3597        Reviewed by Anders Carlsson.
3598
3599        Join the various versions of PluginView::stop() into one shared implementation
3600
3601        https://bugs.webkit.org/show_bug.cgi?id=27706
3602
3603        The platform-dependent bits are now ifdef'ed in the shared implementation,
3604        using the XP_ defines (XP_WIN, XP_MACOSX, XP_UNIX) from npapi.h
3605
3606        Differences to the original implementation are as follows:
3607
3608            - The Qt port unregistered the plugin before calling NP_SetWindow
3609              with a 0 window handle. Now it's done after (similar to Win)
3610
3611            - The GTK and Qt ports unregistered the plugin before clearing
3612              the m_npWindow.ws_info struct. Now it's done after.
3613
3614            - The Win port constructed the DropAllLocks after unsubclassing
3615              the window. Now it's done before.
3616
3617            - The Mac, Qt, and GTK ports did not pass a NPSavedData struct
3618              to NP_Destroy (like the Win port). Now all ports do.
3619
3620            - The Win port did not call PluginView::setCurrentPluginView()
3621              before calling to NP-functions. Now it does.
3622
3623        * plugins/PluginView.cpp:
3624        * plugins/PluginViewNone.cpp:
3625        * plugins/gtk/PluginViewGtk.cpp:
3626        * plugins/mac/PluginViewMac.cpp:
3627        * plugins/qt/PluginViewQt.cpp:
3628        * plugins/win/PluginViewWin.cpp:
3629
36302009-07-30  Joseph Pecoraro  <joepeck02@gmail.com>
3631
3632        Reviewed by Timothy Hatcher.
3633
3634        Inspector: let me *edit* css styles in the web inspector.
3635        https://bugs.webkit.org/show_bug.cgi?id=27124
3636
3637        * English.lproj/localizedStrings.js:
3638        * inspector/front-end/ElementsPanel.js:
3639        (WebInspector.ElementsPanel): added property stylesheet pointing to 1 stylesheet added to the page if needed
3640        * inspector/front-end/StylesSidebarPane.js:
3641        (WebInspector.StylesSidebarPane.prototype.update): handle blank sections
3642        (WebInspector.StylesSidebarPane.prototype.addBlankSection): blank section in the correct position
3643        (WebInspector.StylesSidebarPane.prototype.appropriateSelectorForNode): helper to get a nice selector for the selectd node
3644        (WebInspector.StylePropertiesSection):
3645        (WebInspector.StylePropertiesSection.prototype.expand):
3646        (WebInspector.StylePropertiesSection.prototype.isPropertyInherited):
3647        (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
3648        (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
3649        (WebInspector.StylePropertiesSection.prototype._dblclickEmptySpace): easily create new properties
3650        (WebInspector.StylePropertiesSection.prototype._dblclickSelector):
3651        (WebInspector.StylePropertiesSection.prototype.startEditingSelector): allow for editing selectors
3652        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
3653        (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled):
3654        (WebInspector.StylePropertiesSection.prototype._doesSelectorAffectSelectedNode): helper to check if a selector applies to the selected node
3655        (WebInspector.BlankStylePropertiesSection.prototype._dblclick):
3656        (WebInspector.BlankStylePropertiesSection.prototype.startEditing):
3657        (WebInspector.BlankStylePropertiesSection.prototype.editingCancelled):
3658        (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted):
3659        (WebInspector.BlankStylePropertiesSection.prototype.makeNormal): morph into a StylePropertiesSection
3660        (WebInspector.StylePropertyTreeElement.prototype):
3661        (WebInspector.StylePropertyTreeElement.prototype.):
3662        * inspector/front-end/inspector.css:
3663
36642009-07-31  Anton Muhin  <antonm@chromium.org>
3665
3666        Reviewed by Adam Barth.
3667
3668        [v8] check if proxy is present before invoking a handler
3669        https://bugs.webkit.org/show_bug.cgi?id=27883
3670
3671        Do not invoke handler function if proxy is null pointer (that would lead to access violation
3672        anyway)
3673
3674        * bindings/v8/custom/V8CustomEventListener.cpp:
3675        (WebCore::V8EventListener::callListenerFunction):
3676
36772009-08-01  Pavel Feldman  <pfeldman@chromium.org>
3678
3679        Reviewed by Timothy Hatcher.
3680
3681        Web Inspector: Reimplement Elements Panel so that its
3682        interaction with DOM is serialized.
3683
3684        This is a first cut wuth read support for DOM elements
3685        tree as well as some limited editing. No properties, no
3686        styles, no search capabilities are implemented yet.
3687        Set Preferences.useDOMAgent to true in order to try it
3688        out, otherwise disabled by default.
3689
3690        https://bugs.webkit.org/show_bug.cgi?id=27771
3691
3692        * GNUmakefile.am:
3693        * WebCore.gypi:
3694        * WebCore.pro:
3695        * WebCore.vcproj/WebCore.vcproj:
3696        * WebCore.xcodeproj/project.pbxproj:
3697        * WebCoreSources.bkl:
3698        * inspector/InspectorBackend.cpp:
3699        (WebCore::InspectorBackend::getChildNodes):
3700        (WebCore::InspectorBackend::setAttribute):
3701        (WebCore::InspectorBackend::removeAttribute):
3702        (WebCore::InspectorBackend::setTextNodeValue):
3703        * inspector/InspectorBackend.h:
3704        * inspector/InspectorBackend.idl:
3705        * inspector/InspectorController.cpp:
3706        (WebCore::InspectorController::windowScriptObjectAvailable):
3707        (WebCore::InspectorController::setFrontendProxyObject):
3708        (WebCore::InspectorController::close):
3709        (WebCore::InspectorController::populateScriptObjects):
3710        (WebCore::InspectorController::didCommitLoad):
3711        * inspector/InspectorController.h:
3712        (WebCore::InspectorController::domAgent):
3713        * inspector/InspectorDOMAgent.cpp: Added.
3714        * inspector/InspectorDOMAgent.h: Added.
3715        * inspector/InspectorFrontend.cpp:
3716        * inspector/InspectorFrontend.h:
3717        * inspector/front-end/Callback.js: Added.
3718        * inspector/front-end/DOMAgent.js: Added.
3719        * inspector/front-end/ElementsPanel.js:
3720        * inspector/front-end/WebKit.qrc:
3721        * inspector/front-end/inspector.html:
3722        * inspector/front-end/inspector.js:
3723        (WebInspector.loaded):
3724
37252009-08-01  Ryosuke Niwa  <rniwa@webkit.org>
3726
3727        Reviewed by Adele Peterson.
3728
3729        isContentEditable function in htmlediting.* must be removed
3730        https://bugs.webkit.org/show_bug.cgi?id=27870
3731
3732        This patch removes isContentEditable function in htmlediting.cpp and
3733        replaces all usage by calling Node::isContentEditable or its derivatives.
3734
3735        * editing/AppendNodeCommand.cpp: ditto
3736        (WebCore::AppendNodeCommand::AppendNodeCommand): ditto
3737        * editing/IndentOutdentCommand.cpp: ditto
3738        (WebCore::IndentOutdentCommand::outdentParagraph): ditto
3739        * editing/InsertNodeBeforeCommand.cpp: ditto
3740        (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand): ditto
3741        * editing/htmlediting.cpp: ditto
3742        (WebCore::enclosingNodeWithTag): ditto
3743        (WebCore::enclosingNodeOfType): ditto
3744        (WebCore::canMergeLists): ditto
3745        * editing/htmlediting.h: Updated prototype
3746
37472009-08-01  John Abd-El-Malek  <jam@chromium.org>
3748
3749        Reviewed by Adam Barth.
3750
3751        Fix a message port handle always getting marked as reachable once it gets entangled.
3752
3753        https://bugs.webkit.org/show_bug.cgi?id=27824
3754
3755        No tests since this only arises with the Chromium multi-process message port implementation
3756        which isn't in this repostiory.
3757
3758        * bindings/v8/V8GCController.cpp:
3759        (WebCore::GCEpilogueVisitor::visitDOMWrapper):
3760
37612009-07-31  Yong Li  <yong.li@torchmobile.com>
3762
3763        Reviewed by Adam Barth.
3764
3765        Fix Geolocation permission problem
3766        https://bugs.webkit.org/show_bug.cgi?id=26993
3767
3768        * page/Geolocation.cpp:
3769        (WebCore::Geolocation::requestPermission):
3770
37712009-07-31  Norbert Leser  <norbert.leser@nokia.com>
3772
3773        Reviewed by Eric Seidel.
3774
3775        Added project properties as needed by symbian platform
3776
3777        * WebCore.pro:
3778
37792009-07-31  Xan Lopez  <xlopez@igalia.com>
3780
3781        Reviewed by Holger Freyther.
3782
3783        Fix compiler warning.
3784
3785        Initialize member variables in the correct order.
3786
3787        * plugins/PluginView.cpp:
3788        (WebCore::PluginView::PluginView):
3789
37902009-07-31  Jon Honeycutt  <jhoneycutt@apple.com>
3791
3792        Windows build fix!
3793
3794        Unreviewed.
3795
3796        * page/win/PageWin.cpp:
3797
37982009-07-31  Jon Honeycutt  <jhoneycutt@apple.com>
3799
3800        Mac build fix.
3801
3802        Unreviewed.
3803
3804        * page/Page.cpp:
3805        Move setCanStartPlugins() from here...
3806        * page/win/PageWin.cpp:
3807        (WebCore::Page::setCanStartPlugins):
3808        ... to here.
3809
38102009-07-29  Jon Honeycutt  <jhoneycutt@apple.com>
3811
3812        <rdar://problem/5698113> Safari shouldn't auto-activate plug-ins in
3813        background tabs (make Win consistent with Mac)
3814
3815        https://bugs.webkit.org/show_bug.cgi?id=27855
3816
3817        Reviewed by Anders Carlsson.
3818
3819        * loader/FrameLoaderClient.h:
3820        (WebCore::FrameLoaderClient::dispatchDidFailToStartPlugin):
3821        Declare a new function to dispatch failures to start plug-ins.
3822
3823        * page/Page.cpp:
3824        (WebCore::Page::Page):
3825        Initialize new member variable.
3826        (WebCore::Page::addUnstartedPlugin):
3827        Add the PluginView to the set of unstarted plug-ins.
3828        (WebCore::Page::removeUnstartedPlugin):
3829        Remove the PluginView from the set of unstarted plug-ins.
3830        (WebCore::Page::setCanStartPlugins):
3831        If we can now start plug-ins, iterate the set of unstarted plug-ins,
3832        starting them. If a plug-in fails to start, dispatch a failed-to-start-
3833        plug-in error. Clear the list of unstarted plug-ins.
3834
3835        * page/Page.h:
3836        Added m_canStartPlugins to track whether we can currently start
3837        plug-ins. Added m_unstartedPlugins to keep track of plug-ins in the
3838        page that are waiting to be started.
3839        (WebCore::Page::canStartPlugins):
3840
3841        * plugins/PluginView.cpp:
3842        (WebCore::PluginView::start):
3843        m_mimeType is now a WebCore::String, so we call .utf8(). If NPP_New()
3844        fails, set m_status to reflect this; this used to be set by init(), but
3845        start() will not be called by init() if we are delaying start().
3846        If NPP_New() succeeds, set m_status to reflect this, and call
3847        platformStart().
3848        (WebCore::PluginView::startOrAddToUnstartedList):
3849        If we cannot start plug-ins, add this view to the Page's list of
3850        unstarted plug-ins and return true. Otherwise, call start() and return
3851        the result.
3852        (WebCore::PluginView::removeFromUnstartedListIfNecessary):
3853        If we've been started or we don't have a Page, return early. Remove
3854        ourselves from the Page's list of unstarted plug-ins.
3855        (WebCore::PluginView::bindingInstance):
3856        If we haven't been started yet, return 0. This matches the Mac
3857        behavior.
3858        (WebCore::PluginView::setParameters):
3859        If we find the "plug-ins page" parameter, record it; it may be used if
3860        we fail to start the plug-in.
3861        (WebCore::PluginView::PluginView):
3862        Initialize new members m_haveUpdatedPluginWidget. Initialize m_mimeType
3863        with mimeType directly; m_mimeType is now a WebCore::String.
3864
3865        * plugins/PluginView.h:
3866        Made start() public, so Page can call it when we start unstarted
3867        plug-ins. Changed m_mimeType from CString to String and added
3868        m_pluginsPage; these are needed by dispatchDidFailToStartPlugin().
3869        (WebCore::PluginView::pluginsPage):
3870        Added for dispatchDidFailToStartPlugin().
3871        (WebCore::PluginView::mimeType):
3872        Ditto.
3873        (WebCore::PluginView::url):
3874        Ditto.
3875
3876        * plugins/gtk/PluginViewGtk.cpp:
3877        (WebCore::PluginView::platformStart):
3878        Stubbed.
3879
3880        * plugins/mac/PluginViewMac.cpp:
3881        (WebCore::PluginView::platformStart):
3882        Stubbed.
3883
3884        * plugins/qt/PluginViewQt.cpp:
3885        (WebCore::PluginView::platformStart):
3886        Stubbed.
3887
3888        * plugins/win/PluginViewWin.cpp:
3889        (WebCore::PluginView::updatePluginWidget):
3890        Use m_haveUpdatedPluginWidget to ensure that we will call MoveWindow()
3891        and SetWindowRgn() to position the plug-in and set its clip rect if an
3892        earlier call to updatePluginWidget() was made before
3893        setPlatformPluginWidget() was called to set the plug-in's HWND.
3894        (WebCore::PluginView::~PluginView):
3895        Call removeFromUnstartedListIfNecessary() to remove the plug-in from
3896        the unstarted list if the plug-in is destroyed before it is started.
3897        (WebCore::PluginView::init):
3898        Call startOrAddtoUnstartedList to start the plug-in or, if plug-ins
3899        cannot be started, to add it to the list of plug-ins waiting to be
3900        started. Set m_status to indicate success; this is also set by start(),
3901        but that may be delayed, and we don't want the loader to dispatch a
3902        failed-to-start-plug-in error when we return from init().
3903        (WebCore::PluginView::platformStart):
3904        Added; code moved from init(). This is now called by start() to perform
3905        any platform-specific tasks that need to take place after the plug-in
3906        has started. Added a call to updatePluginWidget() to ensure we position
3907        the plug-in and set its clip rect after the plug-in has started.
3908        Removed the setting of m_status; start() does this before calling this
3909        function (and we assert this at the head of the function).
3910
39112009-07-30  Darin Adler  <darin@apple.com>
3912
3913        Reviewed by David Levin.
3914
3915        Use checked casts for render tree
3916        https://bugs.webkit.org/show_bug.cgi?id=23522
3917
3918        Next step: Add casts for all the RenderTable classes and use them everywhere.
3919
3920        Also added a few uses in places that were still using static_cast.
3921        Also made some virtual member functions private.
3922        Also changed RenderTable::m_tableLayout to use OwnPtr.
3923
3924        * accessibility/AccessibilityTable.cpp:
3925        (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
3926        (WebCore::AccessibilityTable::addChildren):
3927        (WebCore::AccessibilityTable::cellForColumnAndRow):
3928        * accessibility/AccessibilityTableCell.cpp:
3929        (WebCore::AccessibilityTableCell::parentTable):
3930        (WebCore::AccessibilityTableCell::rowIndexRange):
3931        (WebCore::AccessibilityTableCell::columnIndexRange):
3932        (WebCore::AccessibilityTableCell::titleUIElement):
3933        * accessibility/AccessibilityTableColumn.cpp:
3934        (WebCore::AccessibilityTableColumn::headerObject):
3935        * accessibility/AccessibilityTableRow.cpp:
3936        (WebCore::AccessibilityTableRow::parentTable):
3937        * editing/DeleteSelectionCommand.cpp:
3938        (WebCore::DeleteSelectionCommand::removeNode):
3939        * editing/TextIterator.cpp:
3940        (WebCore::shouldEmitTabBeforeNode):
3941        (WebCore::shouldEmitNewlinesBeforeAndAfterNode):
3942        * html/HTMLTableCellElement.cpp:
3943        (WebCore::HTMLTableCellElement::parseMappedAttribute):
3944        * html/HTMLTableColElement.cpp:
3945        (WebCore::HTMLTableColElement::parseMappedAttribute):
3946        * page/Frame.cpp:
3947        (WebCore::Frame::searchForLabelsAboveCell):
3948        * page/mac/FrameMac.mm:
3949        (WebCore::Frame::searchForNSLabelsAboveCell):
3950        * rendering/AutoTableLayout.cpp:
3951        (WebCore::AutoTableLayout::recalcColumn):
3952        (WebCore::AutoTableLayout::fullRecalc):
3953        (WebCore::shouldScaleColumns):
3954        * rendering/FixedTableLayout.cpp:
3955        (WebCore::FixedTableLayout::calcWidthArray):
3956        * rendering/RenderBlock.cpp:
3957        (WebCore::RenderBlock::calcPrefWidths):
3958        * rendering/RenderBox.cpp:
3959        (WebCore::RenderBox::calcPercentageHeight):
3960        * rendering/RenderObject.cpp:
3961        (WebCore::RenderObject::addChild):
3962        (WebCore::RenderObject::containingBlock):
3963        * rendering/RenderTableCell.cpp:
3964        (WebCore::RenderTableCell::collapsedBottomBorder):
3965        * rendering/RenderTableCol.cpp:
3966        (WebCore::RenderTableCol::table):
3967        * rendering/RenderTableRow.cpp:
3968        (WebCore::RenderTableRow::addChild):
3969        (WebCore::RenderTableRow::layout):
3970        (WebCore::RenderTableRow::paint):
3971        * rendering/RenderTableSection.cpp:
3972        (WebCore::RenderTableSection::addChild):
3973        (WebCore::RenderTableSection::layoutRows):
3974        (WebCore::RenderTableSection::lowestPosition):
3975        (WebCore::RenderTableSection::rightmostPosition):
3976        (WebCore::RenderTableSection::leftmostPosition):
3977        (WebCore::RenderTableSection::paintObject):
3978        (WebCore::RenderTableSection::recalcCells):
3979        * rendering/RenderTreeAsText.cpp:
3980        (WebCore::operator<<):
3981        (WebCore::writeTextRun):
3982        Use checked casts.
3983
3984        * rendering/RenderTable.cpp:
3985        (WebCore::RenderTable::styleDidChange): Updated to use OwnPtr.
3986        (WebCore::RenderTable::addChild): Use checked cast.
3987        (WebCore::RenderTable::layout): Ditto.
3988        (WebCore::RenderTable::setCellWidths): Ditto.
3989        (WebCore::RenderTable::paintObject): Ditto.
3990        (WebCore::RenderTable::splitColumn): Ditto.
3991        (WebCore::RenderTable::appendColumn): Ditto.
3992        (WebCore::RenderTable::colElement): Ditto.
3993        (WebCore::RenderTable::recalcSections): Ditto.
3994        (WebCore::RenderTable::outerBorderBottom): Ditto.
3995        (WebCore::RenderTable::outerBorderLeft): Ditto.
3996        (WebCore::RenderTable::outerBorderRight): Ditto.
3997        (WebCore::RenderTable::sectionAbove): Ditto.
3998        (WebCore::RenderTable::sectionBelow): Ditto.
3999
4000        * rendering/RenderTable.h: Added checked cast. Made virtual
4001        functions private. Changed m_tableLayout to be a OwnPtr.
4002
4003        * rendering/RenderTableCell.h: Added checked cast.
4004        * rendering/RenderTableCol.h: Ditto. Made virtual functions private.
4005        * rendering/RenderTableRow.h: Ditto.
4006        * rendering/RenderTableSection.h: Ditto.
4007
40082009-07-31  Brady Eidson  <beidson@apple.com>
4009
4010        Reviewed by John Sullivan.
4011
4012        <rdar://problem/6973106> and https://bugs.webkit.org/show_bug.cgi?id=27896
4013        Favicons are still loaded when automatic image loading is disabled.
4014
4015        People who want to avoid loading images generally want to avoid loading all images.
4016
4017        Test: http/tests/misc/favicon-loads-with-images-disabled.html
4018
4019        * loader/FrameLoader.cpp:
4020        (WebCore::FrameLoader::startIconLoader): After committing the URL mapping, don't actually
4021          perform the load if images shouldn't be loading.
4022
40232009-07-31  Simon Fraser  <simon.fraser@apple.com>
4024
4025        Reviewed by Anders Carlsson.
4026
4027        Accelerated animations stutter on pages with lots of animations and 3d transforms
4028        https://bugs.webkit.org/show_bug.cgi?id=27884
4029
4030        This patch changes the strategy for synchronizing painting view the view,
4031        and compositing layer updates. Previously the strategy was to disable screen
4032        updates between the time we updated the layer tree, and painted the view. That
4033        left screen updates disabled for too long (hundreds of milliseconds) in some
4034        cases, causing animation stutter.
4035
4036        The new strategy is to batch up changes to the CA layer tree, and commit them
4037        all at once just before painting happens (referred to as a "sync" in the code).
4038        GraphicsLayerCA now keeps a bitmask of changed properties, and then migrates
4039        the values stored in GraphicsLayer into the CA layer tree at commit time.
4040
4041        Compositing layers are then synced in FrameView::paintContents(). However, not
4042        all style/layout changes will result in painting; to deal with style changes that
4043        touch only compositing properties, we set up a runloop observer that takes care
4044        of comitting layer changes when no painting happens.
4045
4046        * WebCore.base.exp: Export FrameView::syncCompositingStateRecursive()
4047
4048        * loader/EmptyClients.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive()
4049        * page/ChromeClient.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive()
4050
4051        * page/FrameView.h:
4052        * page/FrameView.cpp:
4053        (WebCore::FrameView::syncCompositingStateRecursive): syncCompositingState() on the
4054        view and all subviews. Like layoutIfNeededRecursive(). If layout is pending, does not
4055        sync and returns false, since we only want to sync when layout is done.
4056
4057        (WebCore::FrameView::paintContents): syncCompositingState() before painting.
4058
4059        * page/animation/KeyframeAnimation.cpp:
4060        (WebCore::KeyframeAnimation::endAnimation):
4061        Call animationPaused() to notify the graphics layers about animation pausing.
4062
4063        * platform/graphics/FloatPoint3D.h:
4064        (WebCore::operator==):
4065        (WebCore::operator!=):
4066        Add missing comparison operators.
4067
4068        * platform/graphics/GraphicsLayer.cpp:
4069        (WebCore::GraphicsLayer::setOpacity):
4070        (WebCore::GraphicsLayer::setBackgroundColor): Simple setters no longer care about animation info.
4071
4072        (WebCore::GraphicsLayer::paintGraphicsLayerContents): Null-check client.
4073
4074        * platform/graphics/GraphicsLayer.h:
4075        (WebCore::AnimationValue:):
4076        (WebCore::TransformAnimationValue:):
4077        (WebCore::KeyframeValueList:):
4078        (WebCore::KeyframeValueList::insert):
4079        Cleaned up versions of FloatValue and TransformValue, used to store information
4080        about keyframes values.
4081
4082        (WebCore::GraphicsLayer::contentsRect):
4083        (WebCore::GraphicsLayer::setContentsRect):
4084        ContentsRect is now a simple setter.
4085
4086        (WebCore::GraphicsLayer::addAnimation):
4087        (WebCore::GraphicsLayer::removeAnimationsForProperty):
4088        (WebCore::GraphicsLayer::removeAnimationsForKeyframes):
4089        (WebCore::GraphicsLayer::pauseAnimation):
4090        Simplified animation api.
4091
4092        (WebCore::GraphicsLayer::setGeometryOrientation):
4093        (WebCore::GraphicsLayer::geometryOrientation):
4094        setGeometryOrientation is now just a normal member variable.
4095
4096        (WebCore::GraphicsLayer::contentsOrientation): add a getter.
4097        (WebCore::GraphicsLayer::syncCompositingState): Entry into the layer sync code.
4098
4099        * platform/graphics/GraphicsLayerClient.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive)
4100
4101        * platform/graphics/mac/GraphicsLayerCA.h:
4102        * platform/graphics/mac/GraphicsLayerCA.mm:
4103        Lots of cleanup and refactoring. Main points:
4104        - Layer changes are all batched, and only committed to the CA layer on syncCompositingState().
4105        - Bitmask is used to store which properties have changed. More efficient than before.
4106        - Simpler animation interface; simple setters are no longer confounded with animations.
4107        - Refactored code that creates CA animations, and stores which animations are running.
4108
4109        * platform/graphics/transforms/TransformOperations.h:
4110        (WebCore::TransformOperations::size):
4111        (WebCore::TransformOperations::at): Useful accessors for size and indexed access.
4112
4113        * rendering/RenderLayerBacking.h:
4114        * rendering/RenderLayerBacking.cpp:
4115        Renamed 'contentsLayer' to 'foregroundLayer' to avoid confusion with GraphicsLayer's
4116        contentsLayer.
4117        Adapt to GraphicsLayer's simpler animation API.
4118        Pass animation pausing through to the graphics layers.
4119        contentsBox() is no longer a callback via GraphicsLayerClient.
4120
4121        * rendering/RenderLayerCompositor.h:
4122        * rendering/RenderLayerCompositor.cpp:
4123        (WebCore::RenderLayerCompositor::setCompositingLayersNeedRebuild):
4124        (WebCore::RenderLayerCompositor::scheduleSync):
4125        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
4126        scheduleViewUpdate() is no longer required. Instead, we plumb through "compositingLayerSync"
4127        notifications, which travel up to WebKit and set up a runloop observer.
4128
41292009-07-30  Jeremy Orlow  <jorlow@chromium.org>
4130
4131        Reviewed by David Levin.
4132
4133        Guard needs //'s between #endif and ENABLE(DATAGRID)
4134        https://bugs.webkit.org/show_bug.cgi?id=27862
4135
4136        Compiling this file causes a build break without this change.
4137
4138        * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
4139
41402009-07-31  Greg Bolsinga  <bolsinga@apple.com>
4141
4142        Reviewed by Eric Seidel.
4143
4144        Geolocation clean up when no longer updating
4145        https://bugs.webkit.org/show_bug.cgi?id=27888
4146
4147        When Geolocation::disconnectFrame() is called, need to call
4148        Document::setUsingGeolocation(false) to mirror the true call
4149        when it is set up.
4150
4151        When handling an error, and there are no more listeners, call
4152        GeolocationService::stopUpdating().
4153
4154        * page/Geolocation.cpp:
4155        (WebCore::Geolocation::disconnectFrame):
4156        (WebCore::Geolocation::handleError):
4157
41582009-07-31  Greg Bolsinga  <bolsinga@apple.com>
4159
4160        Reviewed by George Staikos.
4161
4162        Consolidate GeoLocation code to send positions and errors
4163        https://bugs.webkit.org/show_bug.cgi?id=27863
4164
4165        Create helper methods that will send positions and errors to either
4166        one shots or watchers.
4167
4168        * page/Geolocation.cpp:
4169        (WebCore::Geolocation::sendError):
4170        (WebCore::Geolocation::sendErrorToOneShots):
4171        (WebCore::Geolocation::sendErrorToWatchers):
4172        (WebCore::Geolocation::sendPosition):
4173        (WebCore::Geolocation::sendPositionToOneShots):
4174        (WebCore::Geolocation::sendPositionToWatchers):
4175        * page/Geolocation.h:
4176
41772009-07-31  Xan Lopez  <xlopez@igalia.com>
4178
4179        Roll out previous change as it might be causing some weirdness in
4180        the bots.
4181
4182        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
4183        (WebCore::BMPImageDecoder::processFileHeader):
4184
41852009-07-31  Xan Lopez  <xlopez@igalia.com>
4186
4187        Reviewed by Mark Rowe.
4188
4189        Fix compiler warning.
4190        https://bugs.webkit.org/show_bug.cgi?id=27851
4191
4192        GCC does not like multi-character character constants, so use the
4193        explicit numerical value of 'BM' in the enum.
4194
4195        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
4196        (WebCore::BMPImageDecoder::processFileHeader):
4197
41982009-07-30  Brady Eidson  <beidson@apple.com>
4199
4200        Reviewed by Mark Rowe, but Dan Bernstein also reviewed and asked thoughtful questions.
4201
4202        <rdar://problem/7106968> and https://bugs.webkit.org/show_bug.cgi?id=27868
4203        http://www.ruthhuntcandy.com/ goes into infinite refresh in WebKit, works in others.
4204
4205        Test: http/tests/misc/meta-refresh-stray-single-quote.html
4206
4207        * platform/network/HTTPParsers.cpp:
4208        (WebCore::parseHTTPRefresh): Allow for a stray quote character at the start of the URL string.
4209
42102009-07-30  Mark Rowe  <mrowe@apple.com>
4211
4212        Reviewed by Adele Peterson and Jon Honeycutt.
4213
4214        Fix <https://bugs.webkit.org/show_bug.cgi?id=27828> for Mac.
4215        Bug 27828: Title attribute is not respected on option elements
4216
4217        No tests added as it is not clear how to test a tool tip from DumpRenderTree.
4218
4219        * platform/PopupMenuClient.h: Add a method for retrieving the tool tip of an item.
4220        * platform/mac/PopupMenuMac.mm:
4221        (WebCore::PopupMenu::populate): Set the tool tip of the menu item to that of the represented item.
4222        * rendering/RenderMenuList.cpp:
4223        (WebCore::RenderMenuList::itemToolTip): Expose the title attribute of the element as the tool tip.
4224        * rendering/RenderMenuList.h:
4225        * rendering/RenderTextControlSingleLine.h:
4226        (WebCore::RenderTextControlSingleLine::itemToolTip): Return an empty string, indicating no tool tip, for
4227        the popup menu in RenderTextControlSingleLine.
4228
42292009-07-30  Xiaomei Ji  <xji@chromium.org>
4230
4231        Reviewed by Dan Bernstein.
4232
4233        Remove ChromeClientChromium::setToolTip().
4234        https://bugs.webkit.org/show_bug.cgi?id=27861
4235
4236        This patch is just to remove a temporarily introduced overloaded empty
4237        virtual function. No test is needed.
4238
4239        * page/chromium/ChromeClientChromium.h:
4240
42412009-07-30  Michael Nordman  <michaeln@google.com>
4242
4243        Reviewed by Darin Fisher.
4244
4245        https://bugs.webkit.org/show_bug.cgi?id=27821
4246
4247        ApplicationCacheHost refactoring.
4248
4249        1) Better encapsulate the interfaces between webcore common code
4250        and the appcache system within a new class ApplicationCacheHost.
4251
4252        2) Use that interface throughout the loader system, replacing inline appcache logic.
4253
4254        3) Implement the interface in terms of webcore's appcache system.
4255
4256        4) Add the new files to various makefiles.
4257
4258        5) Implement protocolHostAndPortAreEqual() in KURLGoogle.cpp
4259
4260        No new features, no new tests. The existing layout tests all pass.
4261
4262        * GNUmakefile.am:
4263        * WebCore.base.exp:
4264        * WebCore.gypi:
4265        * WebCore.pro:
4266        * WebCore.vcproj/WebCore.vcproj:
4267        * WebCore.xcodeproj/project.pbxproj:
4268        * WebCoreSources.bkl:
4269        * html/HTMLHtmlElement.cpp:
4270        (WebCore::HTMLHtmlElement::insertedIntoDocument):
4271        * loader/DocumentLoader.cpp:
4272        (WebCore::DocumentLoader::DocumentLoader):
4273        (WebCore::DocumentLoader::~DocumentLoader):
4274        (WebCore::DocumentLoader::mainReceivedError):
4275        (WebCore::DocumentLoader::detachFromFrame):
4276        (WebCore::DocumentLoader::setPrimaryLoadComplete):
4277        * loader/DocumentLoader.h:
4278        (WebCore::DocumentLoader::applicationCacheHost):
4279        * loader/FrameLoader.cpp:
4280        (WebCore::FrameLoader::canCachePageContainingThisFrame):
4281        (WebCore::FrameLoader::logCanCacheFrameDecision):
4282        (WebCore::FrameLoader::loadResourceSynchronously):
4283        * loader/MainResourceLoader.cpp:
4284        (WebCore::MainResourceLoader::didReceiveResponse):
4285        (WebCore::MainResourceLoader::didReceiveData):
4286        (WebCore::MainResourceLoader::didFinishLoading):
4287        (WebCore::MainResourceLoader::didFail):
4288        (WebCore::MainResourceLoader::load):
4289        * loader/MainResourceLoader.h:
4290        * loader/ResourceLoader.cpp:
4291        (WebCore::ResourceLoader::load):
4292        (WebCore::ResourceLoader::willSendRequest):
4293        (WebCore::ResourceLoader::didReceiveResponse):
4294        (WebCore::ResourceLoader::didFail):
4295        * loader/ResourceLoader.h:
4296        * loader/appcache/ApplicationCacheGroup.cpp:
4297        (WebCore::ApplicationCacheGroup::selectCache):
4298        (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
4299        (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
4300        (WebCore::ApplicationCacheGroup::failedLoadingMainResource):
4301        (WebCore::ApplicationCacheGroup::disassociateDocumentLoader):
4302        (WebCore::ApplicationCacheGroup::update):
4303        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
4304        (WebCore::ApplicationCacheGroup::manifestNotFound):
4305        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
4306        (WebCore::ApplicationCacheGroup::startLoadingEntry):
4307        (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache):
4308        (WebCore::CallCacheListenerTask::create):
4309        (WebCore::CallCacheListenerTask::performTask):
4310        (WebCore::CallCacheListenerTask::CallCacheListenerTask):
4311        (WebCore::ApplicationCacheGroup::postListenerTask):
4312        * loader/appcache/ApplicationCacheGroup.h:
4313        * loader/appcache/ApplicationCacheHost.cpp: Added.
4314        * loader/appcache/ApplicationCacheHost.h: Added.
4315        * loader/appcache/ApplicationCacheStorage.cpp:
4316        (WebCore::ApplicationCacheStorage::transferApplicationCache):
4317        * loader/appcache/ApplicationCacheStorage.h:
4318        * loader/appcache/DOMApplicationCache.cpp:
4319        (WebCore::DOMApplicationCache::DOMApplicationCache):
4320        (WebCore::DOMApplicationCache::disconnectFrame):
4321        (WebCore::DOMApplicationCache::applicationCacheHost):
4322        (WebCore::DOMApplicationCache::status):
4323        (WebCore::DOMApplicationCache::update):
4324        (WebCore::DOMApplicationCache::swapCache):
4325        (WebCore::DOMApplicationCache::addEventListener):
4326        (WebCore::DOMApplicationCache::removeEventListener):
4327        (WebCore::DOMApplicationCache::dispatchEvent):
4328        (WebCore::DOMApplicationCache::callListener):
4329        (WebCore::DOMApplicationCache::toEventName):
4330        (WebCore::DOMApplicationCache::toEventType):
4331        * loader/appcache/DOMApplicationCache.h:
4332        (WebCore::DOMApplicationCache::):
4333        (WebCore::DOMApplicationCache::setAttributeEventListener):
4334        (WebCore::DOMApplicationCache::getAttributeEventListener):
4335        (WebCore::DOMApplicationCache::clearAttributeEventListener):
4336        (WebCore::DOMApplicationCache::callEventListener):
4337        (WebCore::DOMApplicationCache::setOnchecking):
4338        (WebCore::DOMApplicationCache::onchecking):
4339        (WebCore::DOMApplicationCache::setOnerror):
4340        (WebCore::DOMApplicationCache::onerror):
4341        (WebCore::DOMApplicationCache::setOnnoupdate):
4342        (WebCore::DOMApplicationCache::onnoupdate):
4343        (WebCore::DOMApplicationCache::setOndownloading):
4344        (WebCore::DOMApplicationCache::ondownloading):
4345        (WebCore::DOMApplicationCache::setOnprogress):
4346        (WebCore::DOMApplicationCache::onprogress):
4347        (WebCore::DOMApplicationCache::setOnupdateready):
4348        (WebCore::DOMApplicationCache::onupdateready):
4349        (WebCore::DOMApplicationCache::setOncached):
4350        (WebCore::DOMApplicationCache::oncached):
4351        (WebCore::DOMApplicationCache::setOnobsolete):
4352        (WebCore::DOMApplicationCache::onobsolete):
4353        (WebCore::DOMApplicationCache::~DOMApplicationCache):
4354        * platform/KURLGoogle.cpp:
4355        (WebCore::protocolHostAndPortAreEqual):
4356
43572009-07-30  Chris Fleizach  <cfleizach@apple.com>
4358
4359        Reviewed by Darin Adler.
4360
4361        Bug 27854 - crash at WebCore::AXObjectCache::notificationPostTimerFired
4362        https://bugs.webkit.org/show_bug.cgi?id=27854
4363
4364        AccessibilityObjects need to be retained while waiting to fire their notifications, otherwise
4365        they can disappear and then lead to crashes.
4366
4367        * accessibility/AXObjectCache.cpp:
4368        (WebCore::AXObjectCache::notificationPostTimerFired):
4369        (WebCore::AXObjectCache::postNotification):
4370        * accessibility/AXObjectCache.h:
4371
43722009-07-30  Simon Fraser  <simon.fraser@apple.com>
4373
4374        Minor change to earlier commit suggested by Darin Adler.
4375        Use the variable rather than dereferencing 'it' again.
4376
4377        * css/CSSStyleSelector.cpp:
4378        (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
4379
43802009-07-30  Simon Fraser  <simon.fraser@apple.com>
4381
4382        Reviewed by Dan Bernstein.
4383
4384        Animation with a timing function property in a keyframe eats CPU
4385        https://bugs.webkit.org/show_bug.cgi?id=27856
4386        <rdar://problem/7104476> Animation demo uses lots of CPU
4387
4388        Don't include animation-timing-function in the list of properties to
4389        animate in a keyframe animation, because this property is not animated;
4390        instead, it describes the timing function to apply to this keyframe.
4391
4392        This prevents the animation code from thinking that there's a property
4393        that it has to software-animate, and thus firing the animation timer frequently.
4394
4395        Not testable because there is no visible impact.
4396
4397        * css/CSSStyleSelector.cpp:
4398        (WebCore::CSSStyleSelector::keyframeStylesForAnimation): Don't add
4399        CSSPropertyWebkitAnimationTimingFunction to the list of properties to animate.
4400
4401        * page/animation/KeyframeAnimation.cpp
4402        (WebCore::KeyframeAnimation::getKeyframeAnimationInterval): Add a comment
4403
44042009-07-30  Mike Fenton  <mike.fenton@torchmobile.com>
4405
4406         Reviewed by Adam Treat.
4407
4408         Apply colour style to buttons that use Theme settings in Qt.
4409
4410         https://bugs.webkit.org/show_bug.cgi?id=27814
4411
4412         * platform/qt/RenderThemeQt.cpp:
4413         (WebCore::RenderThemeQt::adjustButtonStyle):
4414
4415=== End merge of nitro-extreme branch 2009-07-30 ===
4416
44172009-05-11  Geoffrey Garen  <ggaren@apple.com>
4418
4419        Reviewed by Sam Weinig.
4420
4421        Make WebCore compile with the new JS number representation.
4422
4423        * ForwardingHeaders/runtime/JSAPIValueWrapper.h: Added.
4424        * ForwardingHeaders/runtime/JSNumberCell.h: Removed.
4425        * bindings/js/ScriptEventListener.cpp:
4426        * bindings/scripts/CodeGeneratorJS.pm:
4427        * bridge/c/c_instance.cpp:
4428
4429=== Start merge of nitro-extreme branch 2009-07-30 ===
4430
44312009-07-30  Dean McNamee  <deanm@chromium.org>
4432
4433        Reviewed by Dimitri Glazkov.
4434
4435        Don't try to hash member function pointers, instead use a precomputed value based on the field.
4436        https://bugs.webkit.org/show_bug.cgi?id=27843
4437
4438        * bindings/scripts/CodeGeneratorV8.pm:
4439        * bindings/v8/V8SVGPODTypeWrapper.h:
4440        (WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo):
4441        (WebCore::PODTypeWrapperCacheInfo::operator==):
4442        (WebCore::PODTypeWrapperCacheInfoHash::hash):
4443        (WebCore::V8SVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
4444
44452009-07-30  Xan Lopez  <xlopez@igalia.com>
4446
4447        Reviewed by Simon Fraser.
4448
4449        Fix compiler warning.
4450
4451        * dom/SelectElement.cpp:
4452        (WebCore::SelectElement::menuListDefaultEventHandler):
4453
44542009-07-29  Matt Perry  <mpcomplete@chromium.org>
4455
4456        Reviewed by Adam Barth.
4457
4458        Add a way to register V8 extensions for Isolated Worlds only.
4459        https://bugs.webkit.org/show_bug.cgi?id=27785
4460
4461        * bindings/v8/ScriptController.cpp:
4462        (WebCore::ScriptController::evaluateInNewWorld):
4463        (WebCore::ScriptController::evaluateInNewContext):
4464        * bindings/v8/ScriptController.h:
4465        * bindings/v8/V8IsolatedWorld.cpp:
4466        (WebCore::V8IsolatedWorld::evaluate):
4467        * bindings/v8/V8IsolatedWorld.h:
4468        * bindings/v8/V8Proxy.cpp:
4469        (WebCore::V8Proxy::evaluateInNewWorld):
4470        (WebCore::V8Proxy::evaluateInNewContext):
4471        (WebCore::V8Proxy::createNewContext):
4472        (WebCore::V8Proxy::initContextIfNeeded):
4473        (WebCore::V8Proxy::registerExtensionWithV8):
4474        (WebCore::V8Proxy::registerExtension):
4475        * bindings/v8/V8Proxy.h:
4476
44772009-07-30  Mike Fenton  <mike.fenton@torchmobile.com>
4478
4479         Reviewed by Adam Treat.
4480
4481         Add previously defined out support to PopupMenuQt for marking entries as
4482         disabled and for selecting the desired item.
4483
4484         https://bugs.webkit.org/show_bug.cgi?id=27772
4485
4486         * platform/qt/PopupMenuQt.cpp:
4487         (WebCore::PopupMenu::populate):
4488
44892009-07-30  Darin Adler  <darin@apple.com>
4490
4491        Reviewed by David Levin.
4492
4493        Use checked casts for render tree
4494        https://bugs.webkit.org/show_bug.cgi?id=23522
4495
4496        Next step: Add new toRenderWidget cast and use it everywhere.
4497
4498        Use checked casts in all the places that were using static_cast
4499        but there is a checked cast available.
4500
4501        * accessibility/AccessibilityRenderObject.cpp:
4502        (WebCore::AccessibilityRenderObject::stringValue):
4503        (WebCore::AccessibilityRenderObject::widget):
4504        (WebCore::AccessibilityRenderObject::widgetForAttachmentView):
4505        (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
4506        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
4507        (getPangoLayoutForAtk):
4508        * dom/Document.cpp:
4509        (WebCore::widgetForNode):
4510        (WebCore::Document::setFocusedNode):
4511        * html/HTMLEmbedElement.cpp:
4512        (WebCore::findWidgetRenderer):
4513        * html/HTMLMediaElement.cpp:
4514        (WebCore::HTMLMediaElement::defaultEventHandler):
4515        * html/HTMLObjectElement.cpp:
4516        (WebCore::HTMLObjectElement::renderWidgetForJSBindings):
4517        * html/HTMLPlugInElement.cpp:
4518        (WebCore::HTMLPlugInElement::defaultEventHandler):
4519        * loader/FrameLoader.cpp:
4520        (WebCore::FrameLoader::loadSubframe):
4521        * loader/PluginDocument.cpp:
4522        (WebCore::PluginTokenizer::writeRawData):
4523        * page/EventHandler.cpp:
4524        (WebCore::EventHandler::hitTestResultAtPoint):
4525        (WebCore::subframeForTargetNode):
4526        (WebCore::EventHandler::handleWheelEvent):
4527        * page/Frame.cpp:
4528        (WebCore::isFrameElement):
4529        * page/PrintContext.cpp:
4530        (WebCore::PrintContext::computePageRects):
4531        * page/android/EventHandlerAndroid.cpp:
4532        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
4533        * page/chromium/EventHandlerChromium.cpp:
4534        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
4535        * page/chromium/FrameChromium.cpp:
4536        (WebCore::computePageRectsForFrame):
4537        * page/gtk/EventHandlerGtk.cpp:
4538        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
4539        * page/haiku/EventHandlerHaiku.cpp:
4540        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
4541        * page/mac/EventHandlerMac.mm:
4542        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
4543        (WebCore::EventHandler::passSubframeEventToSubframe):
4544        * page/win/FrameWin.cpp:
4545        (WebCore::computePageRectsForFrame):
4546        * page/wx/EventHandlerWx.cpp:
4547        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
4548        * platform/chromium/ClipboardChromium.cpp:
4549        (WebCore::getCachedImage):
4550        * platform/chromium/PasteboardChromium.cpp:
4551        (WebCore::Pasteboard::writeImage):
4552        * platform/gtk/PasteboardGtk.cpp:
4553        (WebCore::Pasteboard::writeImage):
4554        * platform/mac/PasteboardMac.mm:
4555        (WebCore::Pasteboard::writeImage):
4556        * platform/qt/ClipboardQt.cpp:
4557        (WebCore::getCachedImage):
4558        * platform/qt/PasteboardQt.cpp:
4559        (WebCore::Pasteboard::writeImage):
4560        * platform/win/ClipboardWin.cpp:
4561        (WebCore::getCachedImage):
4562        * platform/win/PasteboardWin.cpp:
4563        (WebCore::Pasteboard::writeImage):
4564        * rendering/InlineBox.h:
4565        (WebCore::InlineBox::boxModelObject):
4566        * rendering/RenderInline.cpp:
4567        (WebCore::RenderInline::splitInlines):
4568        (WebCore::RenderInline::addChildToContinuation):
4569        * rendering/RenderLayerBacking.cpp:
4570        (WebCore::RenderLayerBacking::updateImageContents):
4571        * rendering/TextControlInnerElements.cpp:
4572        (WebCore::RenderTextControlInnerBlock::positionForPoint):
4573        Use checked cast instead of static_cast.
4574
4575        * rendering/RenderWidget.h: Added toRenderWidget.
4576
45772009-07-30  Yong Li  <yong.li@torchmobile.com>
4578
4579        Reviewed by George Staikos.
4580
4581        WINCE PORT: some files modified to build for WINCE
4582        https://bugs.webkit.org/show_bug.cgi?id=27816
4583
4584        * accessibility/AccessibilityObject.h:
4585        * page/win/EventHandlerWin.cpp:
4586        (WebCore::EventHandler::createDraggingClipboard):
4587        * platform/win/PlatformMouseEventWin.cpp:
4588        (WebCore::messageToEventType):
4589        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
4590        * platform/win/PlatformScreenWin.cpp:
4591        (WebCore::deviceInfoForWidget):
4592        (WebCore::screenIsMonochrome):
4593        * platform/win/PopupMenuWin.cpp:
4594        (WebCore::PopupMenu::show):
4595        (WebCore::PopupMenu::paint):
4596        (WebCore::registerPopup):
4597        (WebCore::PopupWndProc):
4598
45992009-07-30  Yong Li  <yong.li@torchmobile.com>
4600
4601        Reviewed by George Staikos.
4602
4603        WINCE PORT: modified graphics files
4604        https://bugs.webkit.org/show_bug.cgi?id=27779
4605
4606        * platform/graphics/BitmapImage.h:
4607        (WebCore::BitmapImage::mayFillWithSolidColor):
4608        * platform/graphics/Gradient.h:
4609        * platform/graphics/GraphicsContext.cpp:
4610        * platform/graphics/GraphicsContext.h:
4611        * platform/graphics/ImageSource.h:
4612        * platform/graphics/MediaPlayer.cpp:
4613        * platform/graphics/Path.h:
4614        * platform/graphics/Pattern.h:
4615        * platform/graphics/transforms/Matrix3DTransformOperation.cpp:
4616        (WebCore::Matrix3DTransformOperation::blend):
4617        * platform/graphics/transforms/MatrixTransformOperation.cpp:
4618        (WebCore::MatrixTransformOperation::blend):
4619        * platform/graphics/transforms/TransformationMatrix.h:
4620        (WebCore::TransformationMatrix::operator*):
4621        * platform/graphics/win/IconWin.cpp:
4622        (WebCore::Icon::createIconForFile):
4623        (WebCore::Icon::createIconForFiles):
4624        (WebCore::Icon::paint):
4625
46262009-07-30  Kenneth Rohde Christiansen  <kenneth@webkit.org>
4627
4628        Reviewed by Ariya Hidayat.
4629
4630        Improve efficiency by rewriting code doing three hash table
4631        lookups, which can be replaced by just one as pointed out
4632        by Darin Adler.
4633
4634        Though being slightly less clear, this should be considerable
4635        faster.
4636
4637        * plugins/PluginDatabase.cpp:
4638        (WebCore::PluginDatabase::remove):
4639
46402009-07-30  Antonio Gomes   <antonio.gomes@openbossa.org>
4641
4642        Reviewed by Gustavo Noronha.
4643
4644        [Gtk] Code cleanup in MediaPlayerPrivateGStreamer.cpp|h and VideoSinkGStreamer.cpp|h (Part 2)
4645        https://bugs.webkit.org/show_bug.cgi?id=27651
4646
4647        Removed unneeded includes (gdk.h and gtk.h) and added glib.h and cairo.h instead.
4648
4649        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
4650        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
4651
46522009-07-30  Antonio Gomes   <antonio.gomes@openbossa.org>
4653
4654        Reviewed by Gustavo Noronha.
4655
4656        [Gtk] Code cleanup in MediaPlayerPrivateGStreamer.cpp|h and VideoSinkGStreamer.cpp|h (Part 1)
4657        https://bugs.webkit.org/show_bug.cgi?id=27651
4658
4659        Fixed many code style issues pointed by WebKitTools/Scripts/modules/cpplint.py
4660        No functionality change at all.
4661
4662        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
4663        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
4664        * platform/graphics/gtk/VideoSinkGStreamer.cpp:
4665        * platform/graphics/gtk/VideoSinkGStreamer.h:
4666
46672009-07-30  Jakub Wieczorek  <faw217@gmail.com>
4668
4669        Reviewed by Simon Hausmann.
4670
4671        Allow to explicitly choose a preferred plugin for a mimetype.
4672
4673        https://bugs.webkit.org/show_bug.cgi?id=27651
4674
4675        When the preferred plugin is set for a specific MIME type, it will be
4676        always picked up, regardless of its version, quirks etc.
4677
4678        Client applications may want to use that API to resolve mimetype
4679        ambiguity in a custom way, rather than in the default way that is
4680        currently used in WebKit.
4681
4682        * plugins/PluginDatabase.cpp:
4683        (WebCore::PluginDatabase::pluginForMIMEType):
4684        (WebCore::PluginDatabase::MIMETypeForExtension):
4685        (WebCore::PluginDatabase::setPreferredPluginForMIMEType): Added.
4686        (WebCore::PluginDatabase::remove):
4687        (WebCore::PluginDatabase::clear):
4688        * plugins/PluginDatabase.h:
4689
46902009-07-30  Jakub Wieczorek  <faw217@gmail.com>
4691
4692        [Qt] Fix build with Qt 4.4 after r46535.
4693
4694        * platform/network/qt/ResourceHandleQt.cpp:
4695
46962009-07-30  Eric Carlson  <eric.carlson@apple.com>
4697
4698        Reviewed by Simon Fraser.
4699
4700        Video elements fires another "load" event when attached to DOM
4701        https://bugs.webkit.org/show_bug.cgi?id=27623
4702
4703        Test: media/media-load-event.html
4704
4705        * html/HTMLMediaElement.cpp:
4706        (WebCore::HTMLMediaElement::insertedIntoDocument):
4707            Only schedule load when element's network state is NETWORK_EMPTY.
4708
47092009-07-30  Anton Muhin  <antonm@chromium.org>
4710
4711        Reviewed by David Levin.
4712
4713        Cache v8 strings when converting from WebCore::String to v8 string.
4714        https://bugs.webkit.org/show_bug.cgi?id=27655
4715
4716        * bindings/v8/V8Binding.cpp:
4717        (WebCore::v8String): now just immediately calls v8ExternalString
4718        (WebCore::enableStringImplCache): enables caching of conversions from WebCore::StringImpl to
4719        v8::String
4720        (WebCore::makeExternalString): utilty function to create external v8::String out of
4721        WebCore::String
4722        (WebCore::getStringCache): static function to access string cache
4723        (WebCore::cachedStringCallback): callback for weak handles of v8::Strings stored in the
4724        cache
4725        (WebCore::v8ExternalString): if caching enabled, checks if there is already v8::String for
4726        the given WebCore::StringImpl.  If present, returns it, otherwise creates a new v8 external
4727        string.
4728        * bindings/v8/V8Binding.h:
4729
47302009-07-30  Xan Lopez  <xlopez@igalia.com>
4731
4732        Reviewed by Maciej Stachowiak.
4733
4734        https://bugs.webkit.org/show_bug.cgi?id=25535
4735        [GTK] object:state-changed:checked events missing for radio buttons and checkboxes
4736
4737        Implement state-changed:checked for radio buttons and checkboxes.
4738
4739        * accessibility/gtk/AXObjectCacheAtk.cpp:
4740        (WebCore::AXObjectCache::postPlatformNotification):
4741        * html/HTMLInputElement.cpp:
4742        (WebCore::HTMLInputElement::setChecked):
4743
47442009-07-30  Xan Lopez  <xlopez@igalia.com>
4745
4746        Forgot the 'break'.
4747
4748        * platform/ContextMenu.cpp:
4749        (WebCore::ContextMenu::checkOrEnableIfNeeded):
4750
47512009-07-30  Xan Lopez  <xlopez@igalia.com>
4752
4753        Try to fix Mac build.
4754
4755        * platform/ContextMenu.cpp:
4756        (WebCore::ContextMenu::checkOrEnableIfNeeded):
4757
47582009-07-29  Xan Lopez  <xlopez@igalia.com>
4759
4760        Reviewed by Adam Barth.
4761
4762        Add missing enumeration value to switch.
4763
4764        * platform/ContextMenu.cpp:
4765        (WebCore::ContextMenu::checkOrEnableIfNeeded):
4766
47672009-07-29  Jian Li  <jianli@chromium.org>
4768
4769        Reviewed by Darin Adler.
4770
4771        Workers need to throw an exception when presented with invalid URLs.
4772        https://bugs.webkit.org/show_bug.cgi?id=27770
4773
4774        Tests covered by worker-constructor.html and worker-redirect.html.
4775
4776        * bindings/js/JSWorkerConstructor.cpp:
4777        (WebCore::constructWorker):
4778        * bindings/v8/custom/V8WorkerCustom.cpp:
4779        (WebCore::CALLBACK_FUNC_DECL):
4780        * workers/Worker.cpp:
4781        (WebCore::Worker::Worker):
4782        * workers/Worker.h:
4783        (WebCore::Worker::create):
4784        * workers/WorkerContext.cpp:
4785        (WebCore::WorkerContext::importScripts):
4786        * workers/WorkerScriptLoader.cpp:
4787        (WebCore::WorkerScriptLoader::loadSynchronously):
4788        (WebCore::WorkerScriptLoader::loadAsynchronously):
4789        (WebCore::WorkerScriptLoader::createResourceRequest):
4790        * workers/WorkerScriptLoader.h:
4791
47922009-07-29  Brady Eidson  <beidson@apple.com>
4793
4794        Reviewed by Darin Adler.
4795
4796        (REGRESSION: r46039) Should restore previous connections-per-host limit for non-http(s) hosts
4797        https://bugs.webkit.org/show_bug.cgi?id=27822 and <rdar://problem/7091659>
4798
4799        * loader/loader.cpp:
4800        (WebCore::Loader::Host::servePendingRequests): For non-http(s) hosts, restore the previous behavior of
4801          only limiting connections while parsing and still trying to figure out stylesheet urls.
4802
48032009-07-29  Yong Li  <yong.li@torchmobile.com>
4804
4805        Reviewed by George Staikos.
4806
4807        WINCE PORT: Add WebCore/page/wince/FrameWince.cpp
4808        https://bugs.webkit.org/show_bug.cgi?id=27729
4809
4810        * page/wince/FrameWince.cpp: Added.
4811
48122009-07-29  Ryosuke Niwa  <rniwa@webkit.org>
4813
4814        Reviewed by Justin Garcia.
4815
4816        REGRESSION(r46370-46426): /editing/style/remove-underline-from-stylesheet.html fails
4817        https://bugs.webkit.org/show_bug.cgi?id=27809
4818
4819        The patch primarily rebaselines the tests but also fixes the bug in currentlyHasStyle.
4820        To determine that a particular text decoration is present, currentlyHasStyle should refer to
4821        -webkit-text-decorations-in-effect to take care of styles set by u, s, strike tags and ancestors' CSS.
4822        We also need to update layout to accommodate the changes made within ApplyStyleCommand.
4823
4824        * editing/ApplyStyleCommand.cpp: ditto
4825        (WebCore::StyleChange::currentlyHasStyle): ditto
4826
48272009-07-29  Yong Li  <yong.li@torchmobile.com>
4828
4829        Reviewed by George Staikos.
4830
4831        WINCE PORT: changes to platform/text files
4832        https://bugs.webkit.org/show_bug.cgi?id=27715
4833
4834        * platform/text/String.cpp:
4835        (WebCore::String::format):
4836        * platform/text/TextEncoding.cpp:
4837        (WebCore::TextEncoding::encode):
4838        * platform/text/TextEncodingRegistry.cpp:
4839        (WebCore::buildBaseTextCodecMaps):
4840        (WebCore::extendTextCodecMaps):
4841
48422009-07-29  Yong Li  <yong.li@torchmobile.com>
4843
4844        Reviewed by Adam Roben.
4845
4846        FIX: HDC leaks in PopupMenuWin.cpp
4847        https://bugs.webkit.org/show_bug.cgi?id=27817
4848
4849        * platform/win/PopupMenuWin.cpp:
4850        (WebCore::PopupMenu::~PopupMenu):
4851        (WebCore::PopupMenu::paint):
4852
48532009-07-29  Darin Adler  <darin@apple.com>
4854
4855        Reviewed by Dan Bernstein.
4856
4857        Illegal values for <ol start> cause list numbering start at 0 (should start at 1)
4858        https://bugs.webkit.org/show_bug.cgi?id=27810
4859
4860        Test: fast/lists/ol-start-parsing.html
4861
4862        * html/HTMLOListElement.cpp:
4863        (WebCore::HTMLOListElement::parseMappedAttribute): Check the result of toInt
4864        and use the value 1 if it failed to parse. Before we were getting toInt's default
4865        behavior, which is to return 0.
4866
48672009-07-29  Kevin McCullough  <kmccullough@apple.com>
4868
4869        Reviewed by Darin Adler.
4870
4871        Added foundation work to allow a testing infrastructure for the Web
4872        Inspector.
4873
4874        * inspector/InspectorClient.h:
4875        * inspector/InspectorController.cpp:
4876        (WebCore::InspectorController::scriptObjectReady): Tell the testing
4877        harness that the window object is ready.
4878        * loader/EmptyClients.h: Empty class support for SVG.
4879        (WebCore::EmptyInspectorClient::inspectorWindowObjectCleared):
4880
48812009-07-29  Chris Fleizach  <cfleizach@apple.com>
4882
4883        Build fix for windows after landing
4884        Bug 27807 - AX: move re-usable code into more common areas for other platforms
4885
4886        Apparently bzero doesn't exist on windows.
4887
4888        * accessibility/AXObjectCache.cpp:
4889        (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
4890
48912009-07-29  Chris Fleizach  <cfleizach@apple.com>
4892
4893        Reviewed by Justin Garcia.
4894
4895        Bug 27807 - AX: move re-usable code into more common areas for other platforms
4896        https://bugs.webkit.org/show_bug.cgi?id=27807
4897
4898        Moves some accessibility code that was in the Mac file to a more common place so
4899        it can be used by other platforms.
4900        This includes:
4901           Making TextMarkerData from a VisiblePosition.
4902           Making a VisiblePosition from TextMarkerData.
4903           Finding the anchor accessibility object for an arbitrary Node.
4904
4905        * accessibility/AXObjectCache.cpp:
4906        (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
4907        (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
4908        * accessibility/AXObjectCache.h:
4909        * accessibility/AccessibilityObject.cpp:
4910        (WebCore::AccessibilityObject::anchorElementForNode):
4911        * accessibility/AccessibilityObject.h:
4912        (WebCore::AccessibilityObject::visiblePositionForIndex):
4913        * accessibility/mac/AccessibilityObjectWrapper.mm:
4914        (textMarkerForVisiblePosition):
4915        (visiblePositionForTextMarker):
4916        (AXAttributedStringAppendText):
4917
49182009-07-29  Dan Bernstein  <mitz@apple.com>
4919
4920        Reviewed by Simon Fraser.
4921
4922        Inset box shadows are incorrectly accounted for in visual overflow
4923        computations
4924        https://bugs.webkit.org/show_bug.cgi?id=27811
4925
4926        * rendering/InlineFlowBox.cpp:
4927        (WebCore::InlineFlowBox::placeBoxesHorizontally): Use
4928            getBoxShadowHorizontalExtent().
4929        (WebCore::InlineFlowBox::placeBoxesVertically): Use
4930            getBoxShadowVerticalExtent(). Removed duplicate code to get the
4931            text-shadow overflow.
4932        (WebCore::InlineFlowBox::paint): Use getBoxShadowHorizontalExtent().
4933        * rendering/RenderBlock.cpp:
4934        (WebCore::RenderBlock::overflowHeight): Use
4935            getBoxShadowVerticalExtent().
4936        (WebCore::RenderBlock::overflowWidth): Use
4937            getBoxShadowHorizontalExtent().
4938        (WebCore::RenderBlock::overflowLeft): Ditto.
4939        (WebCore::RenderBlock::overflowTop): Use getBoxShadowVerticalExtent().
4940        (WebCore::RenderBlock::overflowRect): Use getBoxShadowExtent().
4941        (WebCore::RenderBlock::layoutBlock): Ditto.
4942        * rendering/RenderFlexibleBox.cpp:
4943        (WebCore::RenderFlexibleBox::layoutBlock): Ditto.
4944        * rendering/RenderLayer.cpp:
4945        (WebCore::RenderLayer::calculateRects): Exclude inset shadows.
4946        * rendering/RenderObject.cpp:
4947        (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Use
4948            getBoxShadowHorizontalExtent() and getBoxShadowVerticalExtent().
4949        (WebCore::RenderObject::adjustRectForOutlineAndShadow): Exclude inset
4950            shadows.
4951        * rendering/RenderReplaced.cpp:
4952        (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Ditto.
4953        * rendering/style/RenderStyle.cpp:
4954        (WebCore::RenderStyle::setTextShadow): Also assert that text-shadows are
4955            not inset.
4956        (WebCore::RenderStyle::getBoxShadowExtent): Added. Excludes inset
4957            shadows.
4958        (WebCore::RenderStyle::getBoxShadowHorizontalExtent): Ditto.
4959        (WebCore::RenderStyle::getBoxShadowVerticalExtent): Ditto.
4960        * rendering/style/RenderStyle.h:
4961
49622009-07-29  Simon Fraser  <simon.fraser@apple.com>
4963
4964        Reviewed by Dan Bernstein.
4965
4966        Fix crash when an element with display: table-row is composited (e.g. via a 3d-transform)
4967        https://bugs.webkit.org/show_bug.cgi?id=27796
4968
4969        Avoid repainting when a layer becomes composited if the renderer is not parented
4970        yet, because it makes no sense to do so.
4971
4972        If the table row is a repaint container, default to the RenderBox implementation
4973        of clippedOverflowRectForRepaint(), because we cannot hand off the repaint rect
4974        computation to something that is above the repaint container.
4975
4976        Test: fast/table/table-row-compositing-repaint-crash.html
4977
4978        * rendering/RenderLayerCompositor.cpp:
4979        (WebCore::RenderLayerCompositor::repaintOnCompositingChange):
4980        * rendering/RenderTableRow.cpp:
4981        (WebCore::RenderTableRow::clippedOverflowRectForRepaint):
4982
49832009-07-29  Brady Eidson  <beidson@apple.com>
4984
4985        Reviewed by Sam Weinig.
4986
4987        https://bugs.webkit.org/show_bug.cgi?id=27791
4988        307 redirects of POSTs should use POST, not GET
4989
4990        Test: http/tests/loading/redirect-methods.html
4991
4992        * platform/network/cf/ResourceHandleCFNet.cpp:
4993        (WebCore::willSendRequest):
4994
4995        * platform/network/mac/ResourceHandleMac.mm:
4996        (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
4997
49982009-07-29  Chris Marrin  <cmarrin@apple.com>
4999
5000        Reviewed by Simon Fraser.
5001
5002        Adding -webkit-animation-play-state back in
5003        https://bugs.webkit.org/show_bug.cgi?id=26867
5004
5005        We've decided to keep -webkit-animation-play-state. So this
5006        just adds back in the code from https://bugs.webkit.org/show_bug.cgi?id=22907.
5007
5008        Test: animations/play-state.html
5009
5010        * css/CSSComputedStyleDeclaration.cpp:
5011        (WebCore::):
5012        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
5013        * css/CSSParser.cpp:
5014        (WebCore::CSSParser::parseValue):
5015        (WebCore::CSSParser::parseAnimationPlayState):
5016        (WebCore::CSSParser::parseAnimationProperty):
5017        * css/CSSParser.h:
5018        * css/CSSPropertyNames.in:
5019        * css/CSSStyleSelector.cpp:
5020        (WebCore::CSSStyleSelector::applyProperty):
5021        (WebCore::CSSStyleSelector::mapAnimationPlayState):
5022        * css/CSSStyleSelector.h:
5023        * platform/animation/Animation.h:
5024        * rendering/style/RenderStyleConstants.h:
5025        (WebCore::):
5026
50272009-07-29  Jakub Wieczorek  <faw217@gmail.com>
5028
5029        Reviewed by Simon Hausmann.
5030
5031        Expose the default plugin directories and the current directory set of
5032        the plugin database as public API.
5033
5034        https://bugs.webkit.org/show_bug.cgi?id=27651
5035
5036        * plugins/PluginDatabase.h:
5037        (WebCore::PluginDatabase::pluginDirectories):
5038
50392009-07-29  Alpha Lam  <hclam@chromium.org>
5040
5041        Reviewed by David Levin.
5042
5043        [chromium] Font size for current time display in media controls panel
5044        is affected by body font size.
5045        https://bugs.webkit.org/show_bug.cgi?id=27799
5046
5047        Fixing the problem of rendering by explicitly setting the font size
5048        for the time displays.
5049
5050        No new tests since this is covered by existing media tests.
5051
5052        * css/mediaControlsChromium.css:
5053
50542009-07-29  Mike Fenton  <mike.fenton@torchmobile.com>
5055
5056        Reviewed by David Levin.
5057
5058        Update WebCore/page/ContextMenuController.cpp to conform to WebKit
5059        Style Guidelines as identified by cpp_style.py.
5060        https://bugs.webkit.org/show_bug.cgi?id=27613
5061
5062        * page/ContextMenuController.cpp:
5063        (WebCore::openNewWindow):
5064        (WebCore::ContextMenuController::contextMenuItemSelected):
5065
50662009-07-29  Dean McNamee  <deanm@chromium.org>
5067
5068        Reviewed by Dimitri Glazkov.
5069
5070        Removed unused wrapCPointer/extractCPointer from the v8 bindings.
5071        https://bugs.webkit.org/show_bug.cgi?id=27805
5072
5073        * bindings/v8/V8DOMWrapper.h:
5074
50752009-07-29  Jakub Wieczorek  <faw217@gmail.com>
5076
5077        Reviewed by Simon Hausmann.
5078
5079        Expose the PluginDatabase::pluginForMIMEType() function as public API.
5080        https://bugs.webkit.org/show_bug.cgi?id=27651
5081
5082        It can be used to determine the appropriate plugin for a mime type,
5083        without guessing the mimetype from the extension.
5084
5085        * plugins/PluginDatabase.h:
5086
50872009-07-29  Jakub Wieczorek  <faw217@gmail.com>
5088
5089        Reviewed by Adam Treat.
5090
5091        Allow to enable/disable particular plugin packages.
5092        https://bugs.webkit.org/show_bug.cgi?id=27651
5093
5094        Disabled plugins will not be picked up when looking for a plugin
5095        supporting the requested mimetypes.
5096
5097        Client applications may want to use that API to disable specific
5098        plugins.
5099
5100        * plugins/PluginDatabase.cpp:
5101        (WebCore::PluginDatabase::pluginForMIMEType):
5102        (WebCore::PluginDatabase::MIMETypeForExtension):
5103        * plugins/PluginPackage.cpp:
5104        (WebCore::PluginPackage::PluginPackage):
5105        (WebCore::PluginPackage::setEnabled):
5106        * plugins/PluginPackage.h:
5107        (WebCore::PluginPackage::isEnabled):
5108
51092009-07-29  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
5110
5111        Reviewed by Adam Treat.
5112
5113        [WML] Running WML tests in random order multiple times exposes subtle bugs
5114        https://bugs.webkit.org/show_bug.cgi?id=27801
5115
5116        Remove superflous assertions regarding the parent node. Under certain circumstances
5117        these can even fire (related to garbage collection while destructing). Fixes random order
5118        WML tests (run-webkit-tests fast/wml wml http/tests/wml fast/wml ... --random)
5119
5120        The wml/enter-first-card-with-events.html test relied on a bug in our implementation of
5121        WMLPageState::reset() - the history stack should still contain the current card afterwards.
5122        Fix that bug by preserving the first item in BackForwardList::clearWMLPageHistory().
5123
5124        * history/BackForwardList.cpp: Preserve first item in history stack, as demanded by the spec.
5125        (WebCore::BackForwardList::clearWMLPageHistory):
5126        * wml/WMLDoElement.cpp:
5127        (WebCore::WMLDoElement::insertedIntoDocument):
5128        (WebCore::WMLDoElement::removedFromDocument):
5129        * wml/WMLNoopElement.cpp:
5130        (WebCore::WMLNoopElement::insertedIntoDocument):
5131        * wml/WMLOnEventElement.cpp:
5132        (WebCore::eventHandlingParent):
5133        * wml/WMLPostfieldElement.cpp:
5134        (WebCore::WMLPostfieldElement::insertedIntoDocument):
5135        (WebCore::WMLPostfieldElement::removedFromDocument):
5136        * wml/WMLSetvarElement.cpp:
5137        (WebCore::WMLSetvarElement::insertedIntoDocument):
5138        (WebCore::WMLSetvarElement::removedFromDocument):
5139        * wml/WMLTaskElement.cpp:
5140        (WebCore::WMLTaskElement::insertedIntoDocument):
5141        (WebCore::WMLTaskElement::removedFromDocument):
5142        * wml/WMLTimerElement.cpp:
5143        (WebCore::WMLTimerElement::insertedIntoDocument):
5144        (WebCore::WMLTimerElement::removedFromDocument):
5145
51462009-07-29  Yongjun Zhang  <yongjun.zhang@nokia.com>
5147
5148        Reviewed by Simon Hausmann.
5149
5150        https://bugs.webkit.org/show_bug.cgi?id=26848
5151        [Qt] ResourceHandle::willLoadFromCache needs to be implemented QtWebKit.
5152
5153        * loader/FrameLoader.cpp:
5154        (WebCore::FrameLoader::loadItem):
5155        * platform/network/ResourceHandle.h:
5156        * platform/network/cf/ResourceHandleCFNet.cpp:
5157        (WebCore::ResourceHandle::willLoadFromCache):
5158        * platform/network/curl/ResourceHandleCurl.cpp:
5159        (WebCore::ResourceHandle::willLoadFromCache):
5160        * platform/network/mac/ResourceHandleMac.mm:
5161        (WebCore::ResourceHandle::willLoadFromCache):
5162        * platform/network/qt/ResourceHandleQt.cpp:
5163        (WebCore::ResourceHandle::willLoadFromCache):
5164        * platform/network/soup/ResourceHandleSoup.cpp:
5165        (WebCore::):
5166
51672009-07-29  Alpha Lam  <hclam@chromium.org>
5168
5169        Reviewed by David Levin.
5170
5171        Media control panel for <video> in MediaDocument is mis-placed
5172        https://bugs.webkit.org/show_bug.cgi?id=27798
5173
5174        Fixing a rendering problem: When <video> is displayed in MediaDocument,
5175        the media control panel overlaps with the video by 16 pixels.
5176
5177        No new tests as this is covered by existing media tests.
5178
5179        * css/mediaControlsChromium.css:
5180
51812009-07-29  Adam Barth  <abarth@webkit.org>
5182
5183        Unreviewed build fix for Chromium.  Those last two patches weren't
5184        independent despite the clean merge.
5185
5186        * bindings/v8/V8AbstractEventListener.cpp:
5187        (WebCore::V8AbstractEventListener::V8AbstractEventListener):
5188
51892009-07-29  Avi Drissman  <avi@chromium.org>
5190
5191        Reviewed by Darin Adler.
5192
5193        ImageSourceCG makes bad data refs (race condition causes blank images)
5194        https://bugs.webkit.org/show_bug.cgi?id=27777
5195
5196        Make ImageSourceCG guarantee that the lifetime of the SharedBuffer that
5197        backs the CFDataRef will be long enough.
5198
5199        No new tests, as this fixes a bug with a race condition that is
5200        difficult to trigger.
5201
5202        * platform/graphics/cg/ImageSourceCG.cpp:
5203        (WebCore::ImageSource::setData):
5204
52052009-07-29  Keishi Hattori  <casey.hattori@gmail.com>
5206
5207        Reviewed by Timothy Hatcher.
5208
5209        Inspector: Console should show completions for the command line APIs
5210        https://bugs.webkit.org/show_bug.cgi?id=27696
5211
5212        * inspector/front-end/Console.js:
5213        (WebInspector.Console.prototype._reportCompletions): Adds properties from _inspectorCommandLineAPI to
5214        completions when available.
5215        * inspector/front-end/utilities.js:
5216        (Object.properties): Added.
5217        (Object.sortedProperties):
5218
52192009-07-29  Shinichiro Hamaji  <hamaji@chromium.org>
5220
5221        Reviewed by Eric Seidel.
5222
5223        Refactor the first step of layout in RenderFlexibleBox.cpp
5224        https://bugs.webkit.org/show_bug.cgi?id=27704
5225
5226        No new tests as this change is just a refactoring.
5227
5228        * rendering/RenderFlexibleBox.cpp:
5229        (WebCore::gatherFlexChildrenInfo):
5230        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
5231        (WebCore::RenderFlexibleBox::layoutVerticalBox):
5232
52332009-07-29  Kent Tamura  <tkent@chromium.org>
5234
5235        Reviewed by Nikolas Zimmermann.
5236
5237        Fix a bug that HTMLOptionElement::value() returns an incorrect
5238        value in a case that the element has a label attribute and no
5239        value attribute.
5240        https://bugs.webkit.org/show_bug.cgi?id=27760
5241
5242        Test: fast/forms/option-value-and-label.html
5243
5244        * dom/OptionElement.cpp:
5245        (WebCore::OptionElement::collectOptionLabelOrText):
5246        (WebCore::OptionElement::collectOptionInnerText):
5247        (WebCore::OptionElement::normalizeText):
5248        (WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
5249        (WebCore::OptionElement::collectOptionValue):
5250        * dom/OptionElement.h:
5251        * html/HTMLOptionElement.cpp:
5252        (WebCore::HTMLOptionElement::text):
5253        * wml/WMLOptionElement.cpp:
5254        (WebCore::WMLOptionElement::text):
5255
52562009-07-29  Adam Barth  <abarth@webkit.org>
5257
5258        Reviewed by Dimitri Glazkov.
5259
5260        [V8] Fix isolated world wrappers for event handlers
5261        https://bugs.webkit.org/show_bug.cgi?id=27533
5262
5263        Instead of getting the context from the frame, we cache the context
5264        when the listener is created so that we get the context for the right
5265        world.
5266
5267        Test: http/tests/security/isolatedWorld/click-event.html
5268
5269        * WebCore.gypi:
5270        * bindings/v8/OwnHandle.h: Added.
5271        (WebCore::OwnHandle::OwnHandle):
5272        (WebCore::OwnHandle::~OwnHandle):
5273        (WebCore::OwnHandle::get):
5274        (WebCore::OwnHandle::set):
5275        (WebCore::OwnHandle::release):
5276        (WebCore::OwnHandle::adopt):
5277        (WebCore::OwnHandle::swap):
5278        (WebCore::OwnHandle::clear):
5279        (WebCore::OwnHandle::makeWeak):
5280        (WebCore::OwnHandle::weakCallback):
5281        * bindings/v8/V8AbstractEventListener.cpp:
5282        (WebCore::V8AbstractEventListener::V8AbstractEventListener):
5283        (WebCore::V8AbstractEventListener::handleEvent):
5284        * bindings/v8/V8AbstractEventListener.h:
5285        * bindings/v8/V8DOMWrapper.h:
5286
52872009-07-29  Adam Barth  <abarth@webkit.org>
5288
5289        Reviewed by Dimitri Glazkov.
5290
5291        [V8] Teach V8Proxy::context about isolated worlds
5292        https://bugs.webkit.org/show_bug.cgi?id=27701
5293
5294        Change V8Proxy::context(Frame*) to understand isolated worlds.  Audit
5295        all callers of this method to make sure they want isolated worlds.  In
5296        cases where we really want the main world, I've changed the call to
5297        V8Proxy::mainWorldContext(Frame*).
5298
5299        The main visible change is to the document.open method when called with
5300        more than two arguments.  This design seems more likely to lead to
5301        future correct code.
5302
5303        Test: http/tests/security/isolatedWorld/document-open.html
5304
5305        * bindings/v8/ScriptController.cpp:
5306        (WebCore::ScriptController::processingUserGesture):
5307        (WebCore::ScriptController::evaluate):
5308        (WebCore::ScriptController::bindToWindowObject):
5309        (WebCore::ScriptController::collectGarbage):
5310        (WebCore::createScriptObject):
5311        (WebCore::ScriptController::createScriptObjectForPluginElement):
5312        * bindings/v8/ScriptObjectQuarantine.cpp:
5313        (WebCore::getQuarantinedScriptObject):
5314        * bindings/v8/V8AbstractEventListener.cpp:
5315        (WebCore::V8AbstractEventListener::handleEvent):
5316        * bindings/v8/V8DOMWrapper.cpp:
5317        (WebCore::V8DOMWrapper::getConstructor):
5318        (WebCore::V8DOMWrapper::setHiddenWindowReference):
5319        (WebCore::V8DOMWrapper::convertNodeToV8Object):
5320        (WebCore::V8DOMWrapper::convertWindowToV8Object):
5321        * bindings/v8/V8Helpers.cpp:
5322        (WebCore::toV8Context):
5323        * bindings/v8/V8LazyEventListener.cpp:
5324        (WebCore::V8LazyEventListener::getListenerFunction):
5325        (WebCore::V8LazyEventListener::getWrappedListenerFunction):
5326        * bindings/v8/V8Proxy.cpp:
5327        (WebCore::V8Proxy::context):
5328        (WebCore::V8Proxy::mainWorldContext):
5329        (WebCore::V8Proxy::bindJsObjectToWindow):
5330        * bindings/v8/V8Proxy.h:
5331
53322009-07-29  Balazs Kelemen  <kelemen.balazs.3@stud.u-szeged.hu>
5333
5334        Reviewed by Simon Hausmann.
5335
5336        Fix the Qt build, add missing file.
5337
5338        * WebCore.pro:
5339
53402009-07-28  Jon Honeycutt  <jhoneycutt@apple.com>
5341
5342        Speculative fix for <rdar://problem/7005077> WER: Crash in
5343        WebCore::PluginStream::destroyStream+279 (1310510882)
5344
5345        Reviewed by Oliver Hunt.
5346
5347        * plugins/PluginStream.cpp:
5348        (WebCore::PluginStream::destroyStream):
5349        Move the "protector" RefPtr out of the block that dispatches
5350        notifications and into the function level; if NPN_DestroyStream were
5351        called from NPP_NewStream as the comment warns, we would be deleted at
5352        the end of the block.
5353
53542009-07-28  Joseph Pecoraro  <joepeck02@gmail.com>
5355
5356        Inspector: Tab Through the DOM Storage DataGrid when Editing
5357
5358        https://bugs.webkit.org/show_bug.cgi?id=27746
5359
5360        Reviewed by Timothy Hatcher.
5361
5362        * inspector/front-end/DOMStorageDataGrid.js:
5363        (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode): refactored to directly edit and select a column
5364        (WebInspector.DOMStorageDataGrid.prototype._startEditing):
5365        (WebInspector.DOMStorageDataGrid.prototype._editingCommitted.moveToNextIfNeeded): handles moveDirection on a commit
5366        (WebInspector.DOMStorageDataGrid.prototype._editingCommitted): uses moveToNext to traverse appropriately
5367
53682009-07-28  Joseph Pecoraro  <joepeck02@gmail.com>
5369
5370        Inspector: Create New DOM Storage Items via DataGrid
5371
5372        https://bugs.webkit.org/show_bug.cgi?id=27322
5373
5374        Reviewed by Timothy Hatcher.
5375
5376        * inspector/front-end/DOMStorageDataGrid.js:
5377        (WebInspector.DOMStorageDataGrid.prototype._startEditing): click anyway means creationNode
5378        (WebInspector.DOMStorageDataGrid.prototype._editingCommitted): fix unintended globals
5379        (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow): creationNode is special case
5380        * inspector/front-end/DataGrid.js:
5381        (WebInspector.DataGrid.prototype.addCreationNode): maintain a quick ref to the single creationNode
5382        (WebInspector.CreationDataGridNode): new type of node
5383        (WebInspector.CreationDataGridNode.prototype.makeNormal): convert to a normal node
5384        * inspector/front-end/DatabasesPanel.js:
5385        (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage): add a creationNode to the GridData
5386
53872009-07-28  Joseph Pecoraro  <joepeck02@gmail.com>
5388
5389        Inspector: Automatically Refresh DOM Storage Grids on "storage" event
5390
5391        https://bugs.webkit.org/show_bug.cgi?id=27400
5392
5393        Reviewed by Timothy Hatcher.
5394
5395        * inspector/front-end/DatabasesPanel.js:
5396        (WebInspector.DatabasesPanel.prototype.show): trigger adding the listener
5397        (WebInspector.DatabasesPanel.prototype.reset): trigger removing the listener
5398        (WebInspector.DatabasesPanel.prototype._registerStorageEventListener): register the listener on the inspected window
5399        (WebInspector.DatabasesPanel.prototype._unregisterStorageEventListener): unregister the listener on the inspected window
5400        (WebInspector.DatabasesPanel.prototype._storageEvent): handle the storage event
5401
54022009-07-28  Keishi Hattori  <casey.hattori@gmail.com>
5403
5404        Inspector should support inspect() in the command line.
5405
5406        https://bugs.webkit.org/show_bug.cgi?id=19874
5407        rdar://problem/6070225
5408
5409        Reviewed by Timothy Hatcher.
5410
5411        * inspector/front-end/Console.js:
5412        (WebInspector.Console.prototype._ensureCommandLineAPIInstalled.inspectObject):
5413        (WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
5414        * inspector/front-end/DatabasesPanel.js:
5415        (WebInspector.DatabasesPanel.prototype.revealAndSelectDomStorage): Added.
5416        (WebInspector.DatabasesPanel.prototype.revealAndSelectDatabase): Added.
5417        (WebInspector.DatabasesPanel.prototype.showDatabase):
5418
54192009-07-28  Keishi Hattori  <casey.hattori@gmail.com>
5420
5421        The rest of: Web Inspector: Add inspected node using public console API.
5422
5423        https://bugs.webkit.org/show_bug.cgi?id=27758
5424
5425        Reviewed by Timothy Hatcher.
5426
5427        * inspector/front-end/Console.js:
5428        (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): Removed _inspectorCommandLineAPI._addInspectedNode.
5429        (WebInspector.Console.prototype.addInspectedNode): Added.
5430
54312009-07-28  Pavel Feldman  <pfeldman@chromium.org>
5432
5433        Reviewed by Timothy Hatcher.
5434
5435        WebInspector: Accept autocomplete on 'End' key pressed.
5436
5437        https://bugs.webkit.org/show_bug.cgi?id=27447.
5438
5439        * inspector/front-end/TextPrompt.js:
5440        (WebInspector.TextPrompt.prototype.handleKeyEvent):
5441
54422009-07-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
5443
5444        Reviewed by David Levin.
5445
5446        [Qt] Build fix after r46502
5447        https://bugs.webkit.org/show_bug.cgi?id=27789
5448
5449        * WebCore.pro: Remove StorageArea.cpp
5450
54512009-07-28  Mark Rowe  <mrowe@apple.com>
5452
5453        Reviewed by Darin Adler.
5454
5455        Follow-on fix to r35582.  Replace main thread assertions with WebCoreObjCScheduleDeallocateOnMainThread
5456        in -dealloc overrides in DOMObject subclasses.
5457
5458        * bindings/scripts/CodeGeneratorObjC.pm:
5459
54602009-07-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
5461
5462        Reviewed by Adam Treat.
5463
5464        [WML] WML*Element classes mostly implement insertedIntoDocument(), not removedFromDocument()
5465        https://bugs.webkit.org/show_bug.cgi?id=27786
5466
5467        WML*Element classes mostly implement insertedIntoDocument(), not removedFromDocument().
5468        The only case where this is relevant in WML is error handling. The parsed WML
5469        tree fragment is inserted in an XHTML compound error document. This requires
5470        removedFromDocument() to be correctly implemented otherwhise we run into
5471        trouble (visible when using run-webkit-tests fast/wml --random).
5472
5473        * wml/WMLAnchorElement.cpp:
5474        (WebCore::WMLAnchorElement::registerTask):
5475        (WebCore::WMLAnchorElement::deregisterTask):
5476        * wml/WMLAnchorElement.h:
5477        * wml/WMLDoElement.cpp:
5478        (WebCore::WMLDoElement::removedFromDocument):
5479        (WebCore::WMLDoElement::registerTask):
5480        (WebCore::WMLDoElement::deregisterTask):
5481        * wml/WMLDoElement.h:
5482        * wml/WMLEventHandlingElement.cpp:
5483        (WebCore::WMLEventHandlingElement::registerDoElement):
5484        (WebCore::WMLEventHandlingElement::deregisterDoElement):
5485        * wml/WMLEventHandlingElement.h:
5486        * wml/WMLFieldSetElement.cpp:
5487        (WebCore::WMLFieldSetElement::removedFromDocument):
5488        * wml/WMLGoElement.cpp:
5489        (WebCore::WMLGoElement::registerPostfieldElement):
5490        (WebCore::WMLGoElement::deregisterPostfieldElement):
5491        * wml/WMLGoElement.h:
5492        * wml/WMLIntrinsicEventHandler.cpp:
5493        (WebCore::WMLIntrinsicEventHandler::deregisterIntrinsicEvent):
5494        * wml/WMLIntrinsicEventHandler.h:
5495        * wml/WMLOnEventElement.cpp:
5496        (WebCore::eventHandlingParent):
5497        (WebCore::WMLOnEventElement::registerTask):
5498        (WebCore::WMLOnEventElement::deregisterTask):
5499        * wml/WMLOnEventElement.h:
5500        * wml/WMLPostfieldElement.cpp:
5501        (WebCore::WMLPostfieldElement::removedFromDocument):
5502        * wml/WMLPostfieldElement.h:
5503        * wml/WMLSetvarElement.cpp:
5504        (WebCore::WMLSetvarElement::removedFromDocument):
5505        * wml/WMLSetvarElement.h:
5506        * wml/WMLTaskElement.cpp:
5507        (WebCore::WMLTaskElement::removedFromDocument):
5508        (WebCore::WMLTaskElement::registerVariableSetter):
5509        (WebCore::WMLTaskElement::deregisterVariableSetter):
5510        (WebCore::WMLTaskElement::storeVariableState):
5511        * wml/WMLTaskElement.h:
5512        * wml/WMLTimerElement.cpp:
5513        (WebCore::WMLTimerElement::removedFromDocument):
5514        * wml/WMLTimerElement.h:
5515
55162009-07-28  David Levin  <levin@chromium.org>
5517
5518        Suggested by Drew Wilson.
5519
5520        Speculative gtk build fix, follow up to:
5521        https://bugs.webkit.org/show_bug.cgi?id=27697
5522
5523        * GNUmakefile.am:
5524
55252009-07-28  Dan Bernstein  <mitz@apple.com>
5526
5527        Reviewed by Simon Fraser.
5528
5529        [CSS3 Backgrounds and Borders] Drop the prefix from the border-radius
5530        properties
5531        https://bugs.webkit.org/show_bug.cgi?id=27578
5532
5533        [CSS3 Backgrounds and Borders] Handle the / and 4 values in
5534        border-radius
5535        https://bugs.webkit.org/show_bug.cgi?id=27584
5536
5537        Test: fast/borders/border-radius-parsing.html
5538
5539        Dropped the -webkit- prefix from the individual corner border-radius
5540        properties. Added border-radius with the / and 4-value syntax, and
5541        maintained -webkit-border-radius with legacy 2-value syntax.
5542
5543        * css/CSSComputedStyleDeclaration.cpp:
5544        (computedProperties): Removed Webkit prefix.
5545        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Ditto.
5546        * css/CSSParser.cpp:
5547        (WebCore::CSSParser::parseValue): Removed Webkit prefix from the
5548            single-corner properties. Call out to parseBorderRadius() to parse
5549            border-radius and -webkit-border-radius.
5550        (WebCore::completeBorderRadii): Added this helper function that
5551            completes the values for all four corners when fewer than four are
5552            specified.
5553        (WebCore::CSSParser::parseBorderRadius): Added.
5554        (WebCore::cssPropertyID): Map -webkit-border-*-*-radius to the
5555            unprefixed property.
5556        * css/CSSParser.h:
5557        * css/CSSPropertyLonghand.cpp:
5558        (WebCore::initShorthandMap): Removed the Webkit prefix. Added an entry
5559            for border-radius. Kept the entry for -webkit-border-radius.
5560        * css/CSSPropertyNames.in: Removed the -webkit- prefix from the
5561            single-corenr properties. Added border-radius. Kept
5562            -webkit-border-radius because of its conflicting syntax.
5563        * css/CSSStyleSelector.cpp:
5564        (WebCore::CSSStyleSelector::applyProperty): Removed the Webkit prefix.
5565        * page/animation/AnimationBase.cpp:
5566        (WebCore::ensurePropertyMap): Ditto.
5567
55682009-07-28  Drew Wilson  <atwilson@google.com>
5569
5570        Reviewed by David Levin.
5571
5572        Refactored dedicated-worker-specific code from WorkerThread into DedicatedWorkerThread class.
5573
5574        WorkerThread needs to be refactored to separate out dedicated-worker functionality.
5575        https://bugs.webkit.org/show_bug.cgi?id=27697
5576
5577        This is just a refactoring, so existing tests suffice.
5578
5579        * GNUmakefile.am:
5580        Added DedicatedWorkerThread.h/.cpp
5581        * WebCore.gypi:
5582        Added DedicatedWorkerThread.h/.cpp
5583        * WebCore.pro:
5584        Added DedicatedWorkerThread.h/.cpp
5585        * WebCore.vcproj/WebCore.vcproj:
5586        Added DedicatedWorkerThread.h/.cpp
5587        * WebCore.xcodeproj/project.pbxproj:
5588        Added DedicatedWorkerThread.h/.cpp
5589        * bindings/js/WorkerScriptController.cpp:
5590        (WebCore::WorkerScriptController::evaluate):
5591        Removed code to track pending activity - this is handled by DedicatedWorkerContext::importScripts() now.
5592        * bindings/v8/WorkerScriptController.cpp:
5593        (WebCore::WorkerScriptController::evaluate):
5594        Removed code to track pending activity - this is handled by DedicatedWorkerContext::importScripts() now.
5595        * workers/DedicatedWorkerContext.cpp:
5596        (WebCore::DedicatedWorkerContext::DedicatedWorkerContext):
5597        (WebCore::DedicatedWorkerContext::addMessage):
5598        Forwards console messages to parent document.
5599        (WebCore::DedicatedWorkerContext::importScripts):
5600        Now sends the updated pending activity status after importing scripts.
5601        (WebCore::DedicatedWorkerContext::thread):
5602        Helper routine that casts WorkerThread to DedicatedWorkerThread.
5603        * workers/DedicatedWorkerContext.h:
5604        (WebCore::DedicatedWorkerContext::create):
5605        * workers/DedicatedWorkerThread.cpp: Added.
5606        (WebCore::DedicatedWorkerThread::create):
5607        (WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
5608        (WebCore::DedicatedWorkerThread::~DedicatedWorkerThread):
5609        (WebCore::DedicatedWorkerThread::createWorkerContext):
5610        Implementation of the base class factory method to create the appropriate worker context.
5611        (WebCore::DedicatedWorkerThread::runEventLoop):
5612        Reports pending activity before running the event loop.
5613        * workers/DedicatedWorkerThread.h: Added.
5614        (WebCore::DedicatedWorkerThread::workerObjectProxy):
5615        Moved from base class.
5616        * workers/WorkerContext.cpp:
5617        * workers/WorkerContext.h:
5618        * workers/WorkerMessagingProxy.cpp:
5619        (WebCore::WorkerMessagingProxy::startWorkerContext):
5620        Now creates DedicatedWorkerThread.
5621        (WebCore::WorkerMessagingProxy::workerThreadCreated):
5622        Now is passed a DedicatedWorkerThread.
5623        * workers/WorkerMessagingProxy.h:
5624        * workers/WorkerThread.cpp:
5625        (WebCore::WorkerThread::WorkerThread):
5626        Moved workerObjectProxy param into derived class constructor.
5627        (WebCore::WorkerThread::workerThread):
5628        (WebCore::WorkerThread::runEventLoop):
5629        Moved the event loop execution into a virtual function so DedicatedWorkerThread could report pending activity first.
5630        * workers/WorkerThread.h:
5631        (WebCore::WorkerThread::workerContext):
5632
56332009-07-28  Nate Chapin  <japhet@chromium.org>
5634
5635        Reviewed by Darin Fisher.
5636
5637        Fix V8NPUtils' handling of UTF8 identifiers.
5638
5639        https://bugs.webkit.org/show_bug.cgi?id=27782
5640
5641        * bindings/v8/V8NPUtils.cpp:
5642        (getStringIdentifier): Treat the input string as UTF8 instead of ASCII,
5643            since NPN_GetStringIdentifier() is expecting UTF8.
5644
56452009-07-28  Jeremy Orlow  <jorlow@chromium.org>
5646
5647        Reviewed by Eric Seidel.
5648
5649        Misc cleanup in DOM Storage.
5650        https://bugs.webkit.org/show_bug.cgi?id=27517
5651
5652        The StorageAreaImpl changes are all for Chromium.  Because the DOM Storage implementation
5653        runs in a different process from where the Frame object lives, Chromium passes in NULL
5654        for the sourceFrame.  This affects events and handling privateBrowsing.  Chromium's
5655        incognito mode does not use the private browsing setting, so that's not a concern.  As for
5656        events, I've decided to simply disable them for now.
5657
5658        The StorageNamespaceImpl changes get rid of a stale comment (path is .copy'ed for thread-
5659        safety) and to add an assert that .copy is only ever called on a SessionStorage namespace.
5660
5661        Also cleaned up tailing whitespace in several parts of StorageAreaImpl.cpp
5662
5663        * storage/StorageArea.cpp: Removed.  (It was empty anyway.)
5664        * storage/StorageAreaImpl.cpp:
5665        (WebCore::privateBrowsingEnabled): Factored out the check.
5666        (WebCore::StorageAreaImpl::setItem): Make frame optional.
5667        (WebCore::StorageAreaImpl::removeItem): ditto
5668        (WebCore::StorageAreaImpl::clear): ditto
5669        (WebCore::StorageAreaImpl::dispatchStorageEvent): Disable in Chromium for now.
5670        * storage/StorageNamespaceImpl.cpp:
5671        (WebCore::StorageNamespaceImpl::StorageNamespaceImpl): Remove stale comment.
5672        (WebCore::StorageNamespaceImpl::copy): Add assert that it's SessionStorage.
5673
56742009-07-28  Alpha Lam  <hclam@google.com>
5675
5676        Reviewed by David Levin.
5677
5678        [chromium] Default UI controls for <video> has rendering problems
5679        https://bugs.webkit.org/show_bug.cgi?id=27669
5680
5681        Fixes the bug that <video> in MediaDocument is 1 pixel tall if
5682        it is playing an audio file by changing the style to be 32px
5683        tall.
5684
5685        Also fixes a problem of default styled audio tag that hides the
5686        all the time digits by expanding the width to 300px.
5687
5688        Changed the size and position of the current time and remaining
5689        display to give enough space for the hour digit to be shown.
5690
5691        There are no new tests provided because this is already covered
5692        by existing tests.
5693
5694        * css/mediaControlsChromium.css:
5695
56962009-07-28  Jakub Wieczorek  <faw217@gmail.com>
5697
5698        Reviewed by Eric Seidel.
5699
5700        Fix style in PluginPackage and PluginDatabase.
5701        Part of https://bugs.webkit.org/show_bug.cgi?id=27651
5702
5703        * plugins/PluginDatabase.cpp:
5704        (WebCore::PluginDatabase::refresh):
5705        (WebCore::PluginDatabase::findPlugin):
5706        * plugins/PluginDatabase.h:
5707        * plugins/PluginPackage.cpp:
5708        (WebCore::PluginPackage::~PluginPackage):
5709        (WebCore::PluginPackage::freeLibrarySoon):
5710        (WebCore::PluginPackage::freeLibraryTimerFired):
5711        (WebCore::PluginPackage::unloadWithoutShutdown):
5712        (WebCore::PluginPackage::initializeBrowserFuncs):
5713        * plugins/PluginPackage.h:
5714
57152009-07-28  Anantanarayanan Iyengar  <ananta@chromium.org>
5716
5717        Reviewed by Dimitri Glazkov.
5718
5719        https://bugs.webkit.org/show_bug.cgi?id=27769
5720        The V8 bindings function V8Proxy::createNewContext can be
5721        called during frame shutdown where the activeDocumentLoader
5722        function in FrameLoader can return NULL. Added a check for the
5723        same.
5724
5725        No new tests added as this is an edge case where the V8
5726        bindings code is reentered via NPAPI during shutdown. It is
5727        difficult to write a consistently reproducible test for this.
5728
5729        * bindings/v8/V8Proxy.cpp:
5730        (WebCore::V8Proxy::createNewContext):
5731
57322009-07-28  Ivan Posva  <iposva@chromium.org>
5733
5734        Reviewed by Dimitri Glazkov.
5735
5736        Associate the CanvasPixelData backing store with the
5737        indexed properties of the wrapper object.
5738
5739        https://bugs.webkit.org/show_bug.cgi?id=27773
5740
5741        No new tests: Relying on existing Canvas tests.
5742
5743        * bindings/v8/V8DOMWrapper.cpp:
5744        (WebCore::V8DOMWrapper::getTemplate):
5745        (WebCore::V8DOMWrapper::convertToV8Object):
5746
57472009-07-28  Xan Lopez  <xlopez@igalia.com>
5748
5749        Reviewed by Gustavo Noronha.
5750
5751        Nuke all references to JSWorkerContextBase.lut.h, it was removed
5752        back in April.
5753
5754        * GNUmakefile.am:
5755
57562009-07-28  Robert Agoston  <Agoston.Robert@stud.u-szeged.hu>
5757
5758        Reviewed by Simon Hausmann.
5759
5760        Fixed references to script generate-webkitversion.pl, and
5761        removed duplicated generate-webkitversion.pl
5762
5763        https://bugs.webkit.org/show_bug.cgi?id=27158
5764
5765        * WebCore.pro:
5766        * platform/generate-webkitversion.pl: Removed.
5767
57682009-07-28  Pavel Feldman  <pfeldman@chromium.org>
5769
5770        Reviewed by Dmitry Glazkov.
5771
5772        Web Inspector: encapsulate ScriptState into the ScriptObject, get rid of
5773        InspectorJSONObject.
5774
5775        https://bugs.webkit.org/show_bug.cgi?id=27766
5776
5777        * GNUmakefile.am:
5778        * WebCore.gypi:
5779        * WebCore.pro:
5780        * WebCore.vcproj/WebCore.vcproj:
5781        * WebCore.xcodeproj/project.pbxproj:
5782        * WebCoreSources.bkl:
5783        * bindings/js/ScriptArray.cpp:
5784        (WebCore::ScriptArray::ScriptArray):
5785        (WebCore::ScriptArray::set):
5786        (WebCore::ScriptArray::length):
5787        (WebCore::ScriptArray::createNew):
5788        * bindings/js/ScriptArray.h:
5789        * bindings/js/ScriptFunctionCall.cpp:
5790        (WebCore::ScriptFunctionCall::construct):
5791        * bindings/js/ScriptObject.cpp:
5792        (WebCore::ScriptObject::ScriptObject):
5793        (WebCore::ScriptObject::set):
5794        (WebCore::ScriptObject::createNew):
5795        (WebCore::ScriptGlobalObject::get):
5796        * bindings/js/ScriptObject.h:
5797        * bindings/js/ScriptObjectQuarantine.cpp:
5798        (WebCore::getQuarantinedScriptObject):
5799        * bindings/v8/ScriptArray.cpp:
5800        (WebCore::ScriptArray::ScriptArray):
5801        (WebCore::ScriptArray::set):
5802        (WebCore::ScriptArray::length):
5803        (WebCore::ScriptArray::createNew):
5804        * bindings/v8/ScriptArray.h:
5805        * bindings/v8/ScriptFunctionCall.cpp:
5806        (WebCore::ScriptFunctionCall::construct):
5807        * bindings/v8/ScriptObject.cpp:
5808        (WebCore::ScriptObject::ScriptObject):
5809        (WebCore::ScriptObject::set):
5810        (WebCore::ScriptObject::createNew):
5811        (WebCore::ScriptGlobalObject::get):
5812        * bindings/v8/ScriptObject.h:
5813        (WebCore::ScriptObject::ScriptObject):
5814        * bindings/v8/ScriptObjectQuarantine.cpp:
5815        (WebCore::getQuarantinedScriptObject):
5816        * inspector/ConsoleMessage.cpp:
5817        (WebCore::ConsoleMessage::addToConsole):
5818        * inspector/InspectorDOMStorageResource.cpp:
5819        (WebCore::InspectorDOMStorageResource::bind):
5820        * inspector/InspectorDatabaseResource.cpp:
5821        (WebCore::InspectorDatabaseResource::bind):
5822        * inspector/InspectorFrontend.cpp:
5823        (WebCore::InspectorFrontend::newScriptArray):
5824        (WebCore::InspectorFrontend::newScriptObject):
5825        (WebCore::InspectorFrontend::addMessageToConsole):
5826        (WebCore::InspectorFrontend::addResource):
5827        (WebCore::InspectorFrontend::updateResource):
5828        (WebCore::InspectorFrontend::addDatabase):
5829        (WebCore::InspectorFrontend::addDOMStorage):
5830        * inspector/InspectorFrontend.h:
5831        * inspector/InspectorJSONObject.cpp: Removed.
5832        * inspector/InspectorJSONObject.h: Removed.
5833        * inspector/InspectorResource.cpp:
5834        (WebCore::populateHeadersObject):
5835        (WebCore::InspectorResource::createScriptObject):
5836        (WebCore::InspectorResource::updateScriptObject):
5837
58382009-07-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
5839
5840        Reviewed by George Staikos.
5841
5842        [WML] Variable substitution recursion seems to have bugs
5843        https://bugs.webkit.org/show_bug.cgi?id=27726
5844
5845        Allow <setvar> elements to depend on the value specified by preceeding <setvar> elements.
5846        Required by the specification - assure it only works in linear order. A setvar element may
5847        not depend on the variable state of a following setvar element, only the previous ones.
5848
5849        Extend wml/variable-reference-valid.html layout test to cover these cases.
5850
5851        * wml/WMLTaskElement.cpp:
5852        (WebCore::WMLTaskElement::storeVariableState):
5853
58542009-07-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
5855
5856        Reviewed by George Staikos.
5857
5858        [WML] Page title doesn't update after variable substitution, if it contained variables
5859        https://bugs.webkit.org/show_bug.cgi?id=27725
5860
5861        Fix bug in containsVariableReference() function, we we're decreasing the nameEndPosition
5862        too much, leading to a bug with 1-char variable names, which were not detected properly.
5863
5864        Extend wml/variable-reference-valid.html layout test to cover 1-char variable names.
5865        Also fixes manual-tests/wml/task-refresh-in-anchor.wml, which happened to use 1-char variable names.
5866
5867        * wml/WMLVariables.cpp:
5868        (WebCore::containsVariableReference):
5869
58702009-07-28  Robert Hogan  <robert@roberthogan.net>
5871
5872        Reviewed by Simon Hausmann.
5873
5874        Add WebKit version API to Qt.
5875
5876        Get the current version of WebKit from WebKit/mac/Configurations/Version.xcconfig
5877        at compile time and make it available to webkit ports through WebKitVersion.h.
5878
5879        https://bugs.webkit.org/show_bug.cgi?id=27158
5880
5881        * WebCore.pro: Call generate-webkitversion.pl
5882
58832009-07-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
5884
5885        Unreviewed make dist build fix.
5886
5887        * GNUmakefile.am:
5888
58892009-07-28  Mike Fenton  <mike.fenton@torchmobile.com>
5890
5891        Reviewed by Adam Treat.
5892
5893        Replace hardcoded separator text with proper separator.
5894        Also adjusts include order as per style guidelines.
5895
5896        https://bugs.webkit.org/show_bug.cgi?id=27763
5897
5898        * platform/qt/PopupMenuQt.cpp:
5899        (WebCore::PopupMenu::populate):
5900
59012009-07-28  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
5902
5903        Reviewed by Steve Falkenburg.
5904
5905        Add output directory for VS pre-build steps to enable out-of-tree builds
5906
5907        https://bugs.webkit.org/show_bug.cgi?id=27700
5908
5909        The tmp.obj file is now placed in the intermediate build directory.
5910
5911        * WebCore.vcproj/WebCoreCommon.vsprops:
5912
59132009-07-28  Pavel Feldman  <pfeldman@chromium.org>
5914
5915        Reviewed by Timothy Hatcher.
5916
5917        Web Inspector: Add inspected node using public console API.
5918
5919        https://bugs.webkit.org/show_bug.cgi?id=27758
5920
5921        * inspector/front-end/Console.js:
5922        (WebInspector.Console.prototype.addInspectedNode):
5923        * inspector/front-end/ElementsPanel.js:
5924        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
5925        (WebInspector.ElementsPanel):
5926
59272009-07-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
5928
5929        Reviewed by George Staikos.
5930
5931        [WML] <do> elements with a <noop> task shouldn't be exposed to the user
5932        https://bugs.webkit.org/show_bug.cgi?id=27724
5933
5934        Fix WMLNoopElement to disable it's parent WMLDoElement, as required by the spec.
5935        Moved manual-tests/wml/task-noop-in-do.wml to LayoutTests/fast/wml/task-noop-in-do.wml.
5936
5937        * manual-tests/wml/task-noop-in-do.wml: Removed.
5938        * wml/WMLNoopElement.cpp:
5939        (WebCore::WMLNoopElement::insertedIntoDocument):
5940
59412009-07-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
5942
5943        Reviewed by Simon Hausmann.
5944
5945        [Qt] Disable some compiler warnings for the win build
5946        https://bugs.webkit.org/show_bug.cgi?id=27709
5947
5948        * WebCore.pro: Move the msvc options to WebKit.pri
5949
59502009-07-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
5951
5952        Reviewed by Tor Arne Vestbø
5953
5954        Make equality checks for logging channel names ignore casing.
5955
5956        * platform/Logging.cpp:
5957        (WebCore::getChannelFromName):
5958
59592009-07-28  Jan Michael Alonzo  <jmalonzo@webkit.org>
5960
5961        Reviewed by Xan Lopez.
5962
5963        [Gtk] Refactor ResourceHandleSoup - make start* functions static
5964        https://bugs.webkit.org/show_bug.cgi?id=27687
5965
5966        * platform/network/ResourceHandle.h:
5967        * platform/network/soup/ResourceHandleSoup.cpp:
5968        (WebCore::startData):
5969        (WebCore::startHttp):
5970        (WebCore::):
5971
59722009-07-28  Xan Lopez  <xlopez@igalia.com>
5973
5974        Reviewed by Gustavo Noronha.
5975
5976        https://bugs.webkit.org/show_bug.cgi?id=25415
5977        [GTK][ATK] Please implement support for get_text_at_offset
5978
5979        Do not cache the pango layout in the object, since the layout of
5980        the page can change between calls.
5981
5982        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
5983
59842009-07-23  Anton Muhin  <antonm@chromium.org>
5985
5986        Reviewed by Adam Barth.
5987
5988        Simplify management of Nodes in weak handles callbacks.
5989        https://bugs.webkit.org/show_bug.cgi?id=27628
5990
5991        * bindings/v8/V8DOMMap.cpp:
5992        (WebCore::weakNodeCallback):
5993
59942009-07-28  Brian Weinstein  <bweinstein@apple.com>
5995
5996        Rubber-stamped by David Levin.
5997
5998        Fix error handling of GetIconInfo (returns a bool).
5999
6000        * platform/win/DragImageWin.cpp:
6001        (WebCore::createDragImageIconForCachedImage):
6002
60032009-07-27  Brian Weinstein  <bweinstein@apple.com>
6004
6005        Reviewed by Jon Honeycutt.
6006
6007        Fix of <rdar://5015949> Drag Icon is not produced for over sized images.
6008
6009        Implemented the createDragImageIconForCachedImage function by using the Windows
6010        SHFILEINFO structure.
6011
6012        * platform/win/DragImageWin.cpp:
6013        (WebCore::createDragImageIconForCachedImage):
6014
60152009-07-25  Adam Barth  <abarth@webkit.org>
6016
6017        Reviewed by David Levin.
6018
6019        [V8] Split up V8DOMMap.cpp by class
6020        https://bugs.webkit.org/show_bug.cgi?id=27685
6021
6022        No behavior change.  Just copy-and-paste.
6023
6024        * WebCore.gypi:
6025        * bindings/v8/ChildThreadDOMData.cpp: Added.
6026        (WebCore::ChildThreadDOMData::ChildThreadDOMData):
6027        (WebCore::ChildThreadDOMData::getStore):
6028        * bindings/v8/ChildThreadDOMData.h: Added.
6029        * bindings/v8/DOMData.cpp: Added.
6030        (WebCore::DOMData::DOMData):
6031        (WebCore::DOMData::getCurrent):
6032        (WebCore::DOMData::getCurrentMainThread):
6033        (WebCore::DOMData::handleWeakObject):
6034        (WebCore::DOMData::ensureDeref):
6035        (WebCore::DOMData::derefObject):
6036        (WebCore::DOMData::derefDelayedObjects):
6037        (WebCore::DOMData::derefDelayedObjectsInCurrentThread):
6038        (WebCore::DOMData::removeObjectsFromWrapperMap):
6039        * bindings/v8/DOMData.h: Added.
6040        (WebCore::):
6041        * bindings/v8/DOMDataStore.cpp: Added.
6042        (WebCore::DOMDataStore::DOMDataStore):
6043        (WebCore::DOMDataStore::~DOMDataStore):
6044        (WebCore::DOMDataStore::allStores):
6045        (WebCore::DOMDataStore::allStoresMutex):
6046        (WebCore::DOMDataStore::getDOMWrapperMap):
6047        (WebCore::forget):
6048        (WebCore::DOMDataStore::weakDOMObjectCallback):
6049        (WebCore::DOMDataStore::weakActiveDOMObjectCallback):
6050        (WebCore::DOMDataStore::weakNodeCallback):
6051        (WebCore::DOMDataStore::weakSVGElementInstanceCallback):
6052        (WebCore::DOMDataStore::weakSVGObjectWithContextCallback):
6053        * bindings/v8/DOMDataStore.h: Added.
6054        (WebCore::DOMDataStore::):
6055        (WebCore::DOMDataStore::InternalDOMWrapperMap::InternalDOMWrapperMap):
6056        (WebCore::DOMDataStore::InternalDOMWrapperMap::forgetOnly):
6057        (WebCore::DOMDataStore::domData):
6058        (WebCore::DOMDataStore::domNodeMap):
6059        (WebCore::DOMDataStore::domObjectMap):
6060        (WebCore::DOMDataStore::activeDomObjectMap):
6061        (WebCore::DOMDataStore::domSvgElementInstanceMap):
6062        (WebCore::DOMDataStore::domSvgObjectWithContextMap):
6063        * bindings/v8/MainThreadDOMData.cpp: Added.
6064        (WebCore::MainThreadDOMData::MainThreadDOMData):
6065        (WebCore::MainThreadDOMData::getStore):
6066        * bindings/v8/MainThreadDOMData.h: Added.
6067        * bindings/v8/ScopedDOMDataStore.cpp: Added.
6068        (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
6069        (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
6070        * bindings/v8/ScopedDOMDataStore.h: Added.
6071        * bindings/v8/StaticDOMDataStore.cpp: Added.
6072        (WebCore::StaticDOMDataStore::StaticDOMDataStore):
6073        * bindings/v8/StaticDOMDataStore.h: Added.
6074        * bindings/v8/V8DOMMap.cpp:
6075
60762009-07-27  Mark Rowe  <mrowe@apple.com>
6077
6078        Reviewed by Darin Adler.
6079
6080        <rdar://problem/7091036> REGRESSION: Microsoft Messenger crashes during file send/receive due to use of WebKit on non-main thread
6081
6082        Add a method for detecting if we're being used within Microsoft Messenger.
6083
6084        * WebCore.base.exp: Export applicationIsMicrosoftMessenger and sort existing entries.
6085        * platform/mac/RuntimeApplicationChecks.h:
6086        * platform/mac/RuntimeApplicationChecks.mm:
6087        (WebCore::applicationIsMicrosoftMessenger):
6088
60892009-07-27  Jian Li  <jianli@chromium.org>
6090
6091        Reviewed by David Levin.
6092
6093        [V8] Implement EventListener::reportError for V8 event listeners in worker context.
6094        https://bugs.webkit.org/show_bug.cgi?id=27731
6095
6096        * bindings/v8/V8WorkerContextEventListener.cpp:
6097        (WebCore::V8WorkerContextEventListener::reportError):
6098        * bindings/v8/V8WorkerContextEventListener.h:
6099
61002009-07-27  Stephen White  <senorblanco@chromium.org>
6101
6102        Reviewed by Eric Seidel and David Levin.
6103
6104        Re-apply chromium/skia border fix (originally landed in r46157,
6105        reverted in r46363), since it was not the cause of the reliability
6106        failures in Chromium.
6107
6108        http://bugs.webkit.org/show_bug.cgi?id=27388
6109
6110        * platform/graphics/skia/GraphicsContextSkia.cpp:
6111        (WebCore::GraphicsContext::drawLine):
6112        * platform/graphics/skia/PlatformContextSkia.cpp:
6113        (PlatformContextSkia::setupPaintForStroking):
6114
61152009-07-27  Ryosuke Niwa  <rniwa@webkit.org>
6116
6117        Reviewed by Justin Garcia.
6118
6119        createMarkup does not handle CSS properly
6120        https://bugs.webkit.org/show_bug.cgi?id=27660
6121
6122        This patch isolates code that creates markup for styles in addStyleMarkup
6123        It also makes all presentational elements (u, s, strike, i, em, b, strong) special ancestor in createMarkup
6124        so that we can assume no text decoration style is passed to addStyleMarkup.
6125
6126        * editing/markup.cpp:
6127        (WebCore::propertyMissingOrEqualToNone): Changed the first argument from CSSMutableStyleDecleration to CSSStyleDeclaration
6128        (WebCore::isElementPresentational): Used to be elementHasTextDecorationProperty, now supports presentational tags
6129        (WebCore::addStyleMarkup): Adds markup for style span and div
6130        (WebCore::createMarkup): Uses isElementPresentational and addStyleMarkup
6131
61322009-07-27  Eric Seidel  <eric@webkit.org>
6133
6134        Reviewed by Adam Barth.
6135
6136        fix more obvious global object lookups
6137        https://bugs.webkit.org/show_bug.cgi?id=27745
6138
6139        No new tests for these changes.  I believe in many cases
6140        testing to be impossible.  Lack of testing justification next to
6141        each change below.  The remaining pieces of bug 27634 will all
6142        need tests.
6143
6144        * bindings/js/JSDOMWindowBase.cpp:
6145        (WebCore::JSDOMWindowBase::updateDocument): not testable.
6146        * bindings/js/JSDataGridColumnListCustom.cpp:
6147        (WebCore::JSDataGridColumnList::nameGetter): no testing for this incomplete feature.
6148        * bindings/js/JSEventListener.cpp:
6149        (WebCore::JSEventListener::handleEvent): would require outer frame to trigger an event in the inner frame
6150        * bindings/js/JSEventTarget.cpp:
6151        (WebCore::toJS): covered by other tests, always correct to pass the globalObject through.
6152        * bindings/js/JSHTMLElementCustom.cpp:
6153        (WebCore::JSHTMLElement::pushEventHandlerScope): unclear when this could be triggered.
6154        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
6155        (WebCore::JSHTMLOptionsCollection::remove): toJS seems superfluous here to begin with.
6156        * bindings/js/JSLazyEventListener.cpp:
6157        (WebCore::JSLazyEventListener::parseCode): would require outer frame to trigger inner frame event.
6158        * bindings/js/ScriptController.cpp:
6159        (WebCore::ScriptController::jsObjectForPluginElement): only used for NPAPI binding, unclear how to test.
6160        * bindings/js/ScriptEventListener.cpp:
6161        (WebCore::createAttributeEventListener): unclear how to test.
6162        * bindings/js/ScriptObject.cpp:
6163        (WebCore::ScriptGlobalObject::set): unclear how to test/inspector only.
6164        * bindings/js/ScriptObjectQuarantine.cpp:
6165        (WebCore::getQuarantinedScriptObject): unclear how to test.
6166        * bindings/objc/DOMInternal.mm:
6167        (-[WebScriptObject _initializeScriptDOMNodeImp]): unclear how to test.
6168
61692009-07-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
6170
6171        Reviewed by George Staikos.
6172
6173        [WML] 'title' attribute handling not correct for <a> / <anchor> elements
6174        https://bugs.webkit.org/show_bug.cgi?id=27720
6175
6176        Unify title() implementation in WMLElement instead of several copies of the same logic.
6177        We forgot WMLAnchorElement/WMLAElement, that lead to bugs. Fixes hovering links in the
6178        WML manual-test suite.
6179
6180        * wml/WMLCardElement.cpp:
6181        * wml/WMLCardElement.h:
6182        * wml/WMLElement.cpp:
6183        (WebCore::WMLElement::title):
6184        * wml/WMLElement.h:
6185        * wml/WMLOptGroupElement.cpp:
6186        * wml/WMLOptGroupElement.h:
6187        * wml/WMLSelectElement.cpp:
6188        * wml/WMLSelectElement.h:
6189
61902009-07-27  Adam Treat  <adam.treat@torchmobile.com>
6191
6192        Speculative build fix for Windows and WinCE.
6193
6194        * plugins/win/PluginPackageWin.cpp:
6195        (WebCore::PluginPackage::load):
6196
61972009-07-27  Ojan Vafai  <ojan@chromium.org>
6198
6199        Reviewed by Darin Adler.
6200
6201        https://bugs.webkit.org/show_bug.cgi?id=27474
6202        Fixes crashes due to renderer getting destroyed in updateLayout.
6203        We need to call updateLayout before we call into the renderer.
6204        Removed the updateLayout call from RenderTextControl and moved it
6205        into the calling sites.
6206
6207        Also changes updateLayout to updateLayoutIgnorePendingStylesheets so
6208        this works with pending stylesheets. Unfortunately, this seems to be
6209        untestable. Loading an external stylesheet and then having an inline
6210        script hit this code did not result in an pending stylesheets.
6211
6212        The are other cases of this bug in the rendering code. I'll file a
6213        followup bug to audit the calls to updateLayout.
6214
6215        Test: fast/dom/text-control-crash-on-select.html
6216
6217        * dom/Document.h:
6218        (WebCore::Document::inStyleRecalc): Added so the ASSERTs in updateFocusAppearance
6219            and setSelectionRange could deal with cases of reentrancy into updateLayout
6220            calls. This happens in a couple layout tests.
6221        * dom/InputElement.cpp:
6222        (WebCore::InputElement::updateSelectionRange):
6223        * html/HTMLInputElement.cpp:
6224        (WebCore::isTextFieldWithRendererAfterUpdateLayout):
6225        (WebCore::HTMLInputElement::setSelectionStart):
6226        (WebCore::HTMLInputElement::setSelectionEnd):
6227        (WebCore::HTMLInputElement::select):
6228        * html/HTMLTextAreaElement.cpp:
6229        (WebCore::rendererAfterUpdateLayout):
6230        (WebCore::HTMLTextAreaElement::setSelectionStart):
6231        (WebCore::HTMLTextAreaElement::setSelectionEnd):
6232        (WebCore::HTMLTextAreaElement::select):
6233        (WebCore::HTMLTextAreaElement::setSelectionRange):
6234        (WebCore::HTMLTextAreaElement::updateFocusAppearance):
6235        * rendering/RenderTextControl.cpp:
6236        (WebCore::RenderTextControl::setSelectionRange):
6237
62382009-07-27  Dimitri Glazkov  <dglazkov@chromium.org>
6239
6240        Reviewed by Dave Levin.
6241
6242        [V8] Remove parameterless frame/window retrieval methods from V8Proxy.
6243        https://bugs.webkit.org/show_bug.cgi?id=27737
6244
6245        Refactoring, no new behavior, covered by existing tests.
6246
6247        * bindings/v8/ScriptCallStack.cpp:
6248        (WebCore::ScriptCallStack::ScriptCallStack):
6249        * bindings/v8/V8NPUtils.cpp:
6250        (convertV8ObjectToNPVariant): Ditto.
6251        * bindings/v8/V8Proxy.cpp:
6252        (WebCore::V8Proxy::retrieve): Ditto.
6253        (WebCore::V8Proxy::canAccessPrivate): Ditto.
6254        * bindings/v8/V8Proxy.h: Removed parameterless retrieveWindow/retrieveProxy decls.
6255        * bindings/v8/custom/V8DatabaseCustom.cpp:
6256        (WebCore::CALLBACK_FUNC_DECL): Changed to use V8Proxy::retrieveFrameForCurrentContext().
6257        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
6258        (WebCore::CALLBACK_FUNC_DECL): Ditto.
6259        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
6260        (WebCore::CALLBACK_FUNC_DECL): Ditto.
6261        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
6262        (WebCore::CALLBACK_FUNC_DECL): Ditto.
6263        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
6264        (WebCore::CALLBACK_FUNC_DECL): Ditto.
6265        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
6266        (WebCore::CALLBACK_FUNC_DECL): Ditto.
6267        * bindings/v8/custom/V8WorkerCustom.cpp:
6268        (WebCore::CALLBACK_FUNC_DECL): Ditto.
6269        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
6270        (WebCore::CALLBACK_FUNC_DECL): Ditto.
6271
62722009-07-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
6273
6274        Reviewed by George Staikos.
6275
6276        [WML] 'onpick' intrinsic event handling missing
6277        https://bugs.webkit.org/show_bug.cgi?id=27723
6278
6279        Trigger 'onpick' intrinsic events from WMLOptionElement::setSelectedState().
6280        All was in place, just forgot to enable the relevant code.
6281
6282        Fixes manual-tests/wml/select-onpick-event.wml
6283        Test: wml/option-element-onpick.html
6284
6285        * wml/WMLOptionElement.cpp:
6286        (WebCore::WMLOptionElement::setSelectedState):
6287
62882009-07-27  Alexey Proskuryakov  <ap@webkit.org>
6289
6290        Reviewed by Darin Adler.
6291
6292        https://bugs.webkit.org/show_bug.cgi?id=27735
6293        Give a helpful name to JSLock constructor argument
6294
6295        * bindings/js/GCController.cpp:
6296        (WebCore::collect):
6297        (WebCore::GCController::gcTimerFired):
6298        (WebCore::GCController::garbageCollectNow):
6299        * bindings/js/JSCustomPositionCallback.cpp:
6300        (WebCore::JSCustomPositionCallback::handleEvent):
6301        * bindings/js/JSCustomPositionErrorCallback.cpp:
6302        (WebCore::JSCustomPositionErrorCallback::handleEvent):
6303        * bindings/js/JSCustomSQLStatementCallback.cpp:
6304        (WebCore::JSCustomSQLStatementCallback::handleEvent):
6305        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
6306        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
6307        * bindings/js/JSCustomSQLTransactionCallback.cpp:
6308        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
6309        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
6310        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
6311        * bindings/js/JSCustomVoidCallback.cpp:
6312        (WebCore::JSCustomVoidCallback::handleEvent):
6313        * bindings/js/JSCustomXPathNSResolver.cpp:
6314        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
6315        * bindings/js/JSEventCustom.cpp:
6316        (WebCore::toJS):
6317        * bindings/js/JSEventListener.cpp:
6318        (WebCore::JSEventListener::handleEvent):
6319        * bindings/js/JSInspectorBackendCustom.cpp:
6320        (WebCore::JSInspectorBackend::currentCallFrame):
6321        (WebCore::JSInspectorBackend::profiles):
6322        * bindings/js/JSNodeFilterCondition.cpp:
6323        (WebCore::JSNodeFilterCondition::acceptNode):
6324        * bindings/js/ScheduledAction.cpp:
6325        (WebCore::ScheduledAction::executeFunctionInContext):
6326        * bindings/js/ScriptArray.cpp:
6327        (WebCore::ScriptArray::set):
6328        (WebCore::ScriptArray::createNew):
6329        * bindings/js/ScriptCachedFrameData.cpp:
6330        (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
6331        (WebCore::ScriptCachedFrameData::restore):
6332        (WebCore::ScriptCachedFrameData::clear):
6333        * bindings/js/ScriptController.cpp:
6334        (WebCore::ScriptController::evaluate):
6335        (WebCore::ScriptController::clearWindowShell):
6336        (WebCore::ScriptController::initScript):
6337        (WebCore::ScriptController::updateDocument):
6338        (WebCore::ScriptController::bindingRootObject):
6339        (WebCore::ScriptController::windowScriptNPObject):
6340        (WebCore::ScriptController::jsObjectForPluginElement):
6341        (WebCore::ScriptController::clearScriptObjects):
6342        * bindings/js/ScriptControllerMac.mm:
6343        (WebCore::ScriptController::windowScriptObject):
6344        * bindings/js/ScriptEventListener.cpp:
6345        (WebCore::createAttributeEventListener):
6346        * bindings/js/ScriptFunctionCall.cpp:
6347        (WebCore::ScriptFunctionCall::appendArgument):
6348        (WebCore::ScriptFunctionCall::call):
6349        (WebCore::ScriptFunctionCall::construct):
6350        * bindings/js/ScriptObject.cpp:
6351        (WebCore::ScriptObject::set):
6352        (WebCore::ScriptObject::createNew):
6353        (WebCore::ScriptGlobalObject::set):
6354        (WebCore::ScriptGlobalObject::get):
6355        (WebCore::ScriptGlobalObject::remove):
6356        * bindings/js/ScriptObjectQuarantine.cpp:
6357        (WebCore::quarantineValue):
6358        (WebCore::getQuarantinedScriptObject):
6359        * bindings/js/ScriptValue.cpp:
6360        (WebCore::ScriptValue::getString):
6361        * bindings/js/WorkerScriptController.cpp:
6362        (WebCore::WorkerScriptController::initScript):
6363        (WebCore::WorkerScriptController::evaluate):
6364        * bindings/objc/WebScriptObject.mm:
6365        (-[WebScriptObject callWebScriptMethod:withArguments:]):
6366        (-[WebScriptObject evaluateWebScript:]):
6367        (-[WebScriptObject setValue:forKey:]):
6368        (-[WebScriptObject valueForKey:]):
6369        (-[WebScriptObject removeWebScriptKey:]):
6370        (-[WebScriptObject stringRepresentation]):
6371        (-[WebScriptObject webScriptValueAtIndex:]):
6372        (-[WebScriptObject setWebScriptValueAtIndex:value:]):
6373        (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
6374        * bridge/NP_jsobject.cpp:
6375        (_NPN_InvokeDefault):
6376        (_NPN_Invoke):
6377        (_NPN_Evaluate):
6378        (_NPN_GetProperty):
6379        (_NPN_SetProperty):
6380        (_NPN_RemoveProperty):
6381        (_NPN_HasProperty):
6382        (_NPN_HasMethod):
6383        (_NPN_Enumerate):
6384        (_NPN_Construct):
6385        * bridge/c/c_class.cpp:
6386        (JSC::Bindings::CClass::~CClass):
6387        (JSC::Bindings::CClass::methodsNamed):
6388        (JSC::Bindings::CClass::fieldNamed):
6389        * bridge/c/c_instance.cpp:
6390        (JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
6391        (JSC::Bindings::CInstance::invokeMethod):
6392        (JSC::Bindings::CInstance::invokeDefaultMethod):
6393        (JSC::Bindings::CInstance::invokeConstruct):
6394        (JSC::Bindings::CInstance::getPropertyNames):
6395        * bridge/c/c_runtime.cpp:
6396        (JSC::Bindings::CField::valueFromInstance):
6397        (JSC::Bindings::CField::setValueToInstance):
6398        * bridge/c/c_utility.cpp:
6399        (JSC::Bindings::convertValueToNPVariant):
6400        (JSC::Bindings::convertNPVariantToValue):
6401        * bridge/jni/jni_class.cpp:
6402        (JavaClass::JavaClass):
6403        (JavaClass::~JavaClass):
6404        * bridge/jni/jni_instance.cpp:
6405        (JavaInstance::stringValue):
6406        * bridge/jni/jni_jsobject.mm:
6407        (JavaJSObject::call):
6408        (JavaJSObject::eval):
6409        (JavaJSObject::getMember):
6410        (JavaJSObject::setMember):
6411        (JavaJSObject::removeMember):
6412        (JavaJSObject::getSlot):
6413        (JavaJSObject::setSlot):
6414        (JavaJSObject::toString):
6415        (JavaJSObject::convertValueToJObject):
6416        (JavaJSObject::convertJObjectToValue):
6417        * bridge/jni/jni_objc.mm:
6418        (JSC::Bindings::dispatchJNICall):
6419        * bridge/jni/jni_runtime.cpp:
6420        (JavaMethod::signature):
6421        * bridge/jni/jni_runtime.h:
6422        (JSC::Bindings::JavaString::JavaString):
6423        (JSC::Bindings::JavaString::_commonInit):
6424        (JSC::Bindings::JavaString::~JavaString):
6425        (JSC::Bindings::JavaString::UTF8String):
6426        * bridge/jni/jni_utility.cpp:
6427        (JSC::Bindings::convertValueToJValue):
6428        * bridge/objc/objc_instance.mm:
6429        (ObjcInstance::moveGlobalExceptionToExecState):
6430        (ObjcInstance::invokeMethod):
6431        (ObjcInstance::invokeDefaultMethod):
6432        (ObjcInstance::setValueOfUndefinedField):
6433        (ObjcInstance::getValueOfUndefinedField):
6434        * bridge/objc/objc_runtime.mm:
6435        (JSC::Bindings::ObjcField::valueFromInstance):
6436        (JSC::Bindings::ObjcField::setValueToInstance):
6437        * bridge/objc/objc_utility.mm:
6438        (JSC::Bindings::convertValueToObjcValue):
6439        (JSC::Bindings::convertNSStringToString):
6440        (JSC::Bindings::convertObjcValueToValue):
6441        * bridge/qt/qt_instance.cpp:
6442        (JSC::Bindings::QtRuntimeObjectImp::removeFromCache):
6443        (JSC::Bindings::QtInstance::~QtInstance):
6444        (JSC::Bindings::QtInstance::getQtInstance):
6445        (JSC::Bindings::QtInstance::createRuntimeObject):
6446        * bridge/qt/qt_runtime.cpp:
6447        (JSC::Bindings::convertValueToQVariant):
6448        (JSC::Bindings::convertQVariantToValue):
6449        (JSC::Bindings::QtRuntimeMetaMethod::call):
6450        (JSC::Bindings::QtRuntimeConnectionMethod::call):
6451        (JSC::Bindings::QtConnectionObject::execute):
6452        * bridge/runtime.cpp:
6453        (JSC::Bindings::Instance::createRuntimeObject):
6454        * inspector/InspectorController.cpp:
6455        (WebCore::InspectorController::addScriptProfile):
6456        * inspector/JavaScriptCallFrame.cpp:
6457        (WebCore::JavaScriptCallFrame::evaluate):
6458        * inspector/JavaScriptDebugServer.cpp:
6459        (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
6460        * inspector/JavaScriptProfileNode.cpp:
6461        (WebCore::getTotalTime):
6462        (WebCore::getSelfTime):
6463        (WebCore::getTotalPercent):
6464        (WebCore::getSelfPercent):
6465        (WebCore::getNumberOfCalls):
6466        (WebCore::getChildren):
6467        (WebCore::getParent):
6468        (WebCore::getHead):
6469        (WebCore::getVisible):
6470        (WebCore::getCallUID):
6471        * plugins/PluginView.cpp:
6472        (WebCore::PluginView::start):
6473        (WebCore::getString):
6474        (WebCore::PluginView::performRequest):
6475        (WebCore::PluginView::bindingInstance):
6476        * plugins/gtk/PluginViewGtk.cpp:
6477        (WebCore::PluginView::dispatchNPEvent):
6478        (WebCore::PluginView::handleKeyboardEvent):
6479        (WebCore::PluginView::handleMouseEvent):
6480        (WebCore::PluginView::setNPWindowIfNeeded):
6481        (WebCore::PluginView::stop):
6482        (WebCore::PluginView::init):
6483        * plugins/mac/PluginViewMac.cpp:
6484        (WebCore::PluginView::stop):
6485        (WebCore::PluginView::setNPWindowIfNeeded):
6486        (WebCore::PluginView::dispatchNPEvent):
6487        * plugins/qt/PluginViewQt.cpp:
6488        (WebCore::PluginView::setNPWindowIfNeeded):
6489        (WebCore::PluginView::stop):
6490        (WebCore::PluginView::init):
6491        * plugins/win/PluginViewWin.cpp:
6492        (WebCore::PluginView::dispatchNPEvent):
6493        (WebCore::PluginView::handleKeyboardEvent):
6494        (WebCore::PluginView::handleMouseEvent):
6495        (WebCore::PluginView::setNPWindowRect):
6496        (WebCore::PluginView::stop):
6497
64982009-07-27  Yong Li  <yong.li@torchmobile.com>
6499
6500        Reviewed by George Staikos.
6501
6502        WINCE PORT: Make plugin work for WINCE
6503        https://bugs.webkit.org/show_bug.cgi?id=27713
6504
6505        * plugins/win/PluginDatabaseWin.cpp:
6506        (SHGetValue):
6507        (PathRemoveFileSpec):
6508        (WebCore::addWindowsMediaPlayerPluginDirectory):
6509        (WebCore::addMacromediaPluginDirectories):
6510        * plugins/win/PluginPackageWin.cpp:
6511        (WebCore::PluginPackage::load):
6512        * plugins/win/PluginViewWin.cpp:
6513        (WebCore::registerPluginView):
6514        (WebCore::PluginView::wndProc):
6515        (WebCore::PluginView::updatePluginWidget):
6516        (WebCore::PluginView::paintWindowedPluginIntoContext):
6517        (WebCore::PluginView::paint):
6518        (WebCore::PluginView::handleMouseEvent):
6519        (WebCore::PluginView::setParent):
6520        (WebCore::PluginView::setNPWindowRect):
6521        (WebCore::PluginView::stop):
6522        (WebCore::PluginView::init):
6523
65242009-07-27  Joseph Pecoraro  <joepeck02@gmail.com>
6525
6526        Inspector: Tab Through Element Attributes and CSS Properties When Editing
6527
6528        https://bugs.webkit.org/show_bug.cgi?id=27673
6529
6530        Reviewed by Timothy Hatcher.
6531
6532        * inspector/front-end/ElementsTreeOutline.js:
6533        (WebInspector.ElementsTreeElement):
6534        (WebInspector.ElementsTreeElement.prototype._startEditing): refactored parameter
6535        (WebInspector.ElementsTreeElement.prototype._addNewAttribute): refactored to remove excess
6536        (WebInspector.ElementsTreeElement.prototype._triggerEditAttribute): provide an attribute name and this will start editing it
6537        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.moveToNextAttributeIfNeeded): move between attributes
6538        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
6539        * inspector/front-end/StylesSidebarPane.js:
6540        (WebInspector.StylePropertiesSection.prototype.onpopulate):
6541        (WebInspector.StylePropertiesSection.prototype.findTreeElementWithName): search through treeElements for a style property name
6542        (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty): initialize a blank property for adding new properties
6543        (WebInspector.StylePropertyTreeElement.prototype.updateTitle): add references to the name and value elements
6544        (WebInspector.StylePropertyTreeElement.prototype.):
6545        (WebInspector.StylePropertyTreeElement.prototype):
6546        * inspector/front-end/inspector.js:
6547        (WebInspector.startEditing.editingCommitted): include the move direction as a parameter to the commit callback
6548        (WebInspector.startEditing.element.handleKeyEvent): handle the tab key to specify the move direction
6549        (WebInspector.startEditing):
6550
65512009-07-27  Mike Fenton  <mike.fenton@torchmobile.com>
6552
6553        Reviewed by Adam Treat.
6554
6555        Add mapping FontWeight to QFont::Weight values as requested via FIXME.
6556        https://bugs.webkit.org/show_bug.cgi?id=27663
6557
6558        * platform/graphics/qt/FontCacheQt.cpp:
6559        (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
6560        * platform/graphics/qt/FontPlatformData.h:
6561        (WebCore::FontPlatformData::toQFontWeight):
6562        * platform/graphics/qt/FontPlatformDataQt.cpp:
6563        (WebCore::FontPlatformData::FontPlatformData):
6564
65652009-07-27  Jakub Wieczorek  <faw217@gmail.com>
6566
6567         Reviewed by Adam Treat.
6568
6569         When clearing the plugin database, clear also the timestamp map.
6570
6571         https://bugs.webkit.org/show_bug.cgi?id=27651
6572
6573         Currently, if we clear the database, it will still think that it is up
6574         to date with the plugin directories so refreshing the database again
6575         after changing the search paths may not work.
6576
6577         * plugins/PluginDatabase.cpp:
6578         (WebCore::PluginDatabase::clear):
6579
65802009-07-27  Albert J. Wong  <ajwong@chromium.org>
6581
6582        Reviewed by David Levin.
6583
6584        Add in trivial implementation of FontPlatformData::description() for
6585        linux to fix build bustage in chromium.
6586
6587        Fix chromium linux build by adding missing function implementation.
6588        https://bugs.webkit.org/show_bug.cgi?id=27732
6589
6590        Tested with a build of chromium on linux.
6591
6592        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
6593        (WebCore::FontPlatformData::description):
6594        * platform/graphics/chromium/FontPlatformDataLinux.h:
6595
65962009-07-27  Brent Fulgham  <bfulgham@webkit.org>
6597
6598        Build correct, no review.
6599
6600        Final correction for WinCairo builds.
6601        CoreServices only exists in Apple builds, but
6602        some of its internal includes (e.g., <windows.h>) are needed
6603        for other Windows targets.
6604
6605        * WebCorePrefix.h: When building for WinCairo, make sure
6606          to include <windows.h>, <stdio.h>, and <ConditionalMacros.h>
6607
66082009-07-27  Michelangelo De Simone  <micdesim@gmail.com>
6609
6610        Reviewed by Darin Adler.
6611
6612        https://bugs.webkit.org/show_bug.cgi?id=25552
6613        Added new "pattern" attribute to HTMLInputElement and validation code
6614        (validity.patternMismatch) as per HTML5 specs.
6615        http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr-input-pattern
6616
6617        Tests: fast/forms/ValidityState-002.html
6618               fast/forms/ValidityState-patternMismatch-001.html
6619               fast/forms/ValidityState-patternMismatch-002.html
6620               fast/forms/ValidityState-patternMismatch-003.html
6621               fast/forms/ValidityState-patternMismatch-004.html
6622               fast/forms/ValidityState-patternMismatch-005.html
6623               fast/forms/ValidityState-patternMismatch-006.html
6624               fast/forms/ValidityState-patternMismatch-007.html
6625               fast/forms/pattern-attribute-001.html
6626               fast/forms/pattern-attribute-002.html
6627               fast/forms/pattern-attribute-003.html
6628
6629        * html/HTMLAttributeNames.in: pattern attribute
6630        * html/HTMLFormControlElement.h:
6631        (WebCore::HTMLFormControlElement::patternMismatch): method definition
6632        * html/HTMLInputElement.cpp:
6633        (WebCore::HTMLInputElement::patternMismatch): validation method
6634        * html/HTMLInputElement.h:
6635        * html/HTMLInputElement.idl:
6636        * html/ValidityState.h:
6637        (WebCore::ValidityState::patternMismatch): validation flag
6638
66392009-07-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
6640
6641        Reviewed by George Staikos.
6642
6643        [WML] Manual WML tests aren't properly working
6644        https://bugs.webkit.org/show_bug.cgi?id=27718
6645
6646        Fix file paths in the manual WML layout tests, remove unneeded tests (already covered by DRT tests).
6647        Add missing resources directory and test image. Reformat all testcases to a common style.
6648        Add new StartTests.wml file, which should be used as starting point to crawl through the manual tests.
6649
6650        Filing bugs soon for all tests exposing bugs (7 in total).
6651
6652        * manual-tests/wml/StartTests.wml: Added.
6653        * manual-tests/wml/a-br-element.wml:
6654        * manual-tests/wml/a-element.wml:
6655        * manual-tests/wml/a-img-element.wml:
6656        * manual-tests/wml/access-target.wml:
6657        * manual-tests/wml/anchor-br-element.wml:
6658        * manual-tests/wml/anchor-element.wml:
6659        * manual-tests/wml/anchor-img-element.wml:
6660        * manual-tests/wml/card-newcontext-attr.wml:
6661        * manual-tests/wml/card-onenterbackward.wml:
6662        * manual-tests/wml/card-onenterforward.wml:
6663        * manual-tests/wml/card-ontimer.wml:
6664        * manual-tests/wml/card-title-attr.wml: Removed.
6665        * manual-tests/wml/deck-access-control.wml:
6666        * manual-tests/wml/go-element.wml: Removed.
6667        * manual-tests/wml/input-emptyok.wml: Removed.
6668        * manual-tests/wml/input-format.wml:
6669        * manual-tests/wml/onevent-go.wml:
6670        * manual-tests/wml/onevent-noop.wml:
6671        * manual-tests/wml/onevent-prev.wml:
6672        * manual-tests/wml/onevent-refresh.wml:
6673        * manual-tests/wml/onevent-shadow.wml:
6674        * manual-tests/wml/postfield-get.wml: Removed.
6675        * manual-tests/wml/postfield-post.wml: Removed.
6676        * manual-tests/wml/resources: Added.
6677        * manual-tests/wml/resources/smiley.png: Added.
6678        * manual-tests/wml/select-element.wml:
6679        * manual-tests/wml/select-onpick-event.wml:
6680        * manual-tests/wml/setvar-element.wml:
6681        * manual-tests/wml/targetdeck.wml:
6682        * manual-tests/wml/task-go-in-anchor.wml:
6683        * manual-tests/wml/task-noop-in-do.wml:
6684        * manual-tests/wml/task-noop-in-onevent.wml: Removed.
6685        * manual-tests/wml/task-prev-in-anchor.wml:
6686        * manual-tests/wml/task-refresh-in-anchor.wml:
6687        * manual-tests/wml/template-go.wml:
6688        * manual-tests/wml/template-onevent.wml: Removed.
6689        * manual-tests/wml/template-ontimer.wml:
6690        * manual-tests/wml/timer.wml:
6691        * manual-tests/wml/variable-substitution.wml:
6692
66932009-07-27  Nate Chapin  <japhet@chromium.org>
6694
6695        Reviewed by Dimitri Glazkov.
6696
6697        Fix a regression introduced in r42671, which caused the js event
6698        object to be hidden (some websites depend on being able to access it).
6699
6700        https://bugs.webkit.org/show_bug.cgi?id=27719
6701
6702        * bindings/v8/V8AbstractEventListener.cpp:
6703        (WebCore::V8AbstractEventListener::invokeEventHandler): Make the event object visible to javascript, instead of hidden.
6704
67052009-07-27  Dumitru Daniliuc  <dumi@chromium.org>
6706
6707        Reviewed by Dimitri Glazkov.
6708
6709        Removing a no-op block of code in DatabaseTracker.cpp that
6710        should've been removed in the patch for bug 26054.
6711
6712        https://bugs.webkit.org/show_bug.cgi?id=27666
6713
6714        All tests in WebCore/storage pass.
6715
6716        * storage/DatabaseTracker.cpp:
6717        (WebCore::DatabaseTracker::fullPathForDatabase): Removed a no-op
6718        block of code that was moved to SQLiteFileSystem.cpp and should
6719        have been removed from DatabaseTracker.cpp
6720
67212009-07-27  Jian Li  <jianli@chromium.org>
6722
6723        Reviewed by David Levin.
6724
6725        Fix error handling in dedicated worker and worker context.
6726        https://bugs.webkit.org/show_bug.cgi?id=27525
6727
6728        The following problems have been fixed:
6729        1) The uncaught runtime script error is not reported using the
6730        WorkerGlobalScope object's onerror attribute.
6731        2) If the error is still not handled afterwards (onerror attribute
6732        is not defined as a function or it returns true), the error should
6733        be reported back to the associated Worker object by firing an
6734        ErrorEvent.
6735        3) If the error is still not handled by the associated Worker
6736        object, the error should be reported to the user.
6737
6738        Test: fast/workers/worker-script-error.html
6739
6740        * bindings/js/JSEventListener.cpp:
6741        (WebCore::JSEventListener::reportError):
6742        * bindings/js/JSEventListener.h:
6743        * dom/EventListener.h:
6744        (WebCore::EventListener::reportError): adds a function to call
6745        EventListener as a function with 3 arguments to report an error.
6746        * workers/AbstractWorker.cpp:
6747        (WebCore::AbstractWorker::dispatchScriptErrorEvent):
6748        * workers/AbstractWorker.h:
6749        * workers/DedicatedWorkerContext.cpp:
6750        (WebCore::DedicatedWorkerContext::reportException):
6751        * workers/WorkerContext.cpp:
6752        (WebCore::WorkerContext::reportException):
6753        * workers/WorkerContext.h:
6754        * workers/WorkerMessagingProxy.cpp:
6755        (WebCore::WorkerExceptionTask::performTask):
6756        * workers/WorkerMessagingProxy.h:
6757
67582009-07-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
6759
6760        Reviewed by George Staikos.
6761
6762        [WML] History handling / page cache / loading is buggy and depends on several hacks
6763        https://bugs.webkit.org/show_bug.cgi?id=27707
6764
6765        Redesign WML history/loading handling. In detail:
6766
6767        - Remove FrameLoader::setForceReloadWmlDeck(). WML used to force a special loading behaviour
6768          by calling this method from WMLGoElement & friends - instead teach FrameLoader to detect
6769          WML content itself.
6770
6771          WML content is usually a standalone WML document (isWMLDocument()=true) or as special case
6772          an XHTML document which embeds a WML document (that's the way the WML layout tests work).
6773          Force WML loading behaviour even for XHTML document which embed WML documents. This only
6774          applies to our layout tests, not for any real world site. Though it gives us a perfect
6775          way to test the WML loading code even when we're not operating on a standalone WML document.
6776
6777          Whenever a WMLCardElement is inserted into the document it will check wheter it's inserted
6778          in a standalone WML document or wheter the main frame document is different. If it differs
6779          the main frame documents' "containsWMLContent" property is set to true.
6780
6781          -> Make FrameLoader::shouldReload() use the new frameContainsWMLContent() method, which
6782             checks if the associated frame document is a WML document or wheter it contains WML content.
6783
6784        - Change FrameLoader::loadItem() to use the new frameContainsWMLContent() method for 'shouldScroll'
6785          detection. WML documents (or those containing WML content) always want new loads even for in-page
6786          navigation. No "scroll to anchor" mechanism should apply.
6787
6788        - Modify FrameLoader::canCachePageContainingThisFrame() to check for !frameContainsWMLContent().
6789          WML pages should never be cached, potential security problem due the use of variables (per spec).
6790
6791        Add two new WML tests which were broken before, testing onenterforward/onenterbackward event handling
6792        and history navigation (<prev/> task).
6793
6794        Tests: wml/enter-card-with-events.html
6795               wml/enter-first-card-with-events.html
6796
6797        * dom/Document.cpp: Initialize new 'm_containsWMLContent' property.
6798        (WebCore::Document::Document):
6799        * dom/Document.h: Add new helper methods and 'm_containsWMLContent" variable (explained above).
6800        (WebCore::Document::setContainsWMLContent):
6801        (WebCore::Document::containsWMLContent):
6802        * history/BackForwardList.cpp:
6803        (WebCore::BackForwardList::clearWMLPageHistory): Renamed from clearWmlPageHistory() & slight cleanup.
6804        * history/BackForwardList.h:
6805        * loader/FrameLoader.cpp: Rework WML loading behaviour (explained above).
6806        (WebCore::FrameLoader::FrameLoader):
6807        (WebCore::frameContainsWMLContent):
6808        (WebCore::FrameLoader::canCachePageContainingThisFrame):
6809        (WebCore::FrameLoader::shouldReload):
6810        (WebCore::FrameLoader::loadItem):
6811        * loader/FrameLoader.h:
6812        * wml/WMLCardElement.cpp:
6813        (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): No need anymore to manually track history length.
6814        (WebCore::WMLCardElement::insertedIntoDocument): Handle setting containsWMLContent on the main frame document.
6815        * wml/WMLGoElement.cpp:
6816        (WebCore::WMLGoElement::executeTask): Remove call to FrameLoader::setForceReloadWmlDeck()
6817        * wml/WMLPageState.cpp: Remove 'm_historyLength' - no need anymore to track history length on our own.
6818        (WebCore::WMLPageState::WMLPageState):
6819        (WebCore::WMLPageState::dump):
6820        (WebCore::WMLPageState::reset):
6821        * wml/WMLPageState.h:
6822
68232009-07-27  Pavel Feldman  <pfeldman@chromium.org>
6824
6825        Reviewed by Adam Roben.
6826
6827        Fix Chromium build breakage introduced in 46388.
6828
6829        https://bugs.webkit.org/show_bug.cgi?id=27705
6830
6831        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
6832        (WebCore::FontPlatformData::description):
6833        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
6834
68352009-07-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
6836
6837        Reviewed by Simon Hausmann.
6838
6839        Add some more debug logging to PluginViewMac.
6840
6841        * plugins/mac/PluginViewMac.cpp:
6842
68432009-07-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
6844
6845        Reviewed by Jan Michael Alonzo.
6846
6847        Remove dead code from the GTK NPAPI implementation.
6848
6849        * plugins/gtk/PluginViewGtk.cpp:
6850
68512009-07-27  Csaba Osztrogonac  <oszi@inf.u-szeged.hu>
6852
6853        Reviewed by Simon Hausmann.
6854
6855        [Qt] Buildfix on Windows.
6856        https://bugs.webkit.org/show_bug.cgi?id=27702
6857
6858        * plugins/win/PluginViewWin.cpp:
6859        (WebCore::PluginView::hookedEndPaint):
6860            Constraint of (*endPaint) operand modified from "g" to "m" (memory) in inline
6861            assembly, because with "g" constraint, wrong assembly code generated.
6862
68632009-07-27  Pavel Feldman  <pfeldman@chromium.org>
6864
6865        Reviewed by Timothy Hatcher.
6866
6867        WebCore bindings: Implement ScriptArray bindings.
6868
6869        https://bugs.webkit.org/show_bug.cgi?id=27691
6870
6871        * GNUmakefile.am:
6872        * WebCore.gypi:
6873        * WebCore.pro:
6874        * WebCore.vcproj/WebCore.vcproj:
6875        * WebCore.xcodeproj/project.pbxproj:
6876        * bindings/js/ScriptArray.cpp: Added.
6877        (WebCore::ScriptArray::ScriptArray):
6878        (WebCore::handleException):
6879        (WebCore::ScriptArray::set):
6880        (WebCore::length):
6881        (WebCore::ScriptArray::createNew):
6882        * bindings/js/ScriptArray.h: Added.
6883        (WebCore::ScriptArray::ScriptArray):
6884        (WebCore::ScriptArray::jsArray):
6885        * bindings/v8/ScriptArray.cpp: Added.
6886        (WebCore::ScriptArray::ScriptArray):
6887        (WebCore::ScriptArray::set):
6888        (WebCore::ScriptArray::length):
6889        (WebCore::ScriptArray::createNew):
6890        * bindings/v8/ScriptArray.h: Added.
6891        (WebCore::ScriptArray::ScriptArray):
6892        (WebCore::ScriptArray::~ScriptArray):
6893
68942009-07-27  Brent Fulgham  <bfulgham@webkit.org>
6895
6896        Build correct, no review.
6897
6898        Change in r46407 broke Apple Windows build.
6899        Switch to WinCairo-only test, to avoid any
6900        other platform break.
6901
6902        * WebCorePrefix.h:
6903
69042009-07-26  Brent Fulgham  <bfulgham@webkit.org>
6905
6906        Build correct, no review.
6907
6908        Change in r46407 broke Apple Windows build.
6909
6910        * WebCorePrefix.h: Use WTF_PLATFORM_CG to decide if
6911          CoreServices.h should be included.
6912
69132009-07-26  Brent Fulgham  <bfulgham@webkit.org>
6914
6915        Build correction, no review.
6916
6917        Change in r46195 broke WinCairo build.
6918
6919        * WebCorePrefix.h: CoreServices should be ignored
6920          for non-Apple build.
6921
69222009-07-26  Pavel Feldman  <pfeldman@chromium.org>
6923
6924        Reviewed by Timothy Hatcher.
6925
6926        Web Inspector: Implement the breakpoints sidebar pane.
6927        This change adds simple UI support into the existing
6928        BreakpointSidebarPane.
6929
6930        https://bugs.webkit.org/show_bug.cgi?id=11175
6931
6932        * inspector/front-end/Breakpoint.js:
6933        (WebInspector.Breakpoint.prototype.set enabled):
6934        (WebInspector.Breakpoint.prototype.get label):
6935        (WebInspector.Breakpoint.prototype.get id):
6936        * inspector/front-end/BreakpointsSidebarPane.js:
6937        (WebInspector.BreakpointsSidebarPane):
6938        (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint):
6939        (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement):
6940        (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement.labelClicked):
6941        (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint):
6942        (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
6943        * inspector/front-end/ScriptsPanel.js:
6944        (WebInspector.ScriptsPanel):
6945        (WebInspector.ScriptsPanel.prototype.scriptOrResourceForID):
6946        * inspector/front-end/inspector.css:
6947
69482009-07-16  Shinichiro Hamaji  <hamaji@chromium.org>
6949
6950        Reviewed by Oliver Hunt.
6951
6952        Canvas: rotation of 'no-repeat' pattern still has small error
6953        https://bugs.webkit.org/show_bug.cgi?id=26749
6954
6955        Use 1<<22 as steps of no-repeat pattern to make the error less
6956        than 0.5.  The previous value may cause 1 pixel errors.
6957
6958        Add another test to show this bug clearly.
6959        Also add png expected image which was missing in the previous patch.
6960
6961        Test: fast/canvas/image-pattern-rotate.html
6962
6963        * platform/graphics/cg/PatternCG.cpp:
6964        (WebCore::Pattern::createPlatformPattern):
6965
69662009-07-25  Kwang Yul Seo  <skyul@company100.net>
6967
6968        Reviewed by Darin Adler.
6969
6970        Windows build break due to warning C4819
6971        https://bugs.webkit.org/show_bug.cgi?id=27416
6972
6973        Disable C4819 warning to fix build.
6974
6975        * WebCore.vcproj/QTMovieWin.vcproj:
6976        * WebCore.vcproj/WebCore.vcproj:
6977
69782009-07-25  Joseph Pecoraro  <joepeck02@gmail.com>
6979
6980        Reviewed by Kevin McCullough.
6981
6982        Inspector: Keyboard Shortcuts to Switch Panels
6983        https://bugs.webkit.org/show_bug.cgi?id=27286
6984
6985        * inspector/front-end/inspector.js:
6986        (WebInspector.loaded): save a list of the order of the panels
6987        (WebInspector.documentKeyDown): handle the keyboard shortcuts to traverse the panels
6988
69892009-07-25  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
6990
6991        Reviewed by George Staikos.
6992
6993        [Qt] Fix build break after r46369
6994        https://bugs.webkit.org/show_bug.cgi?id=27680
6995
6996        * WebCore.pro:
6997
69982009-07-25  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
6999
7000        Reviewed by George Staikos.
7001
7002        [WML] Variable substitution is buggy
7003        https://bugs.webkit.org/show_bug.cgi?id=27677
7004
7005        Substitute variables upon attach() time instead of insertedIntoDocument(). Otherwhise variable substitution
7006        won't work during inter-deck jumps (same URL, different fragment). Covered by new test fast/wml/newcontext-same-deck.html.
7007
7008        * dom/Text.cpp:
7009        (WebCore::Text::attach):
7010        * dom/Text.h:
7011
70122009-07-25  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
7013
7014        Reviewed by George Staikos.
7015
7016        [WML] WMLDoElement doesn't update its RenderButton object upon attach()
7017        https://bugs.webkit.org/show_bug.cgi?id=27676
7018
7019        WMLDoElement needs to implement attach() and call updateFromElement() on its associated RenderButton.
7020        Mimics HTMLButtonElement/HTMLFormControlElement behaviour and fixes several painting/styling issues covered by existing tests in fast/wml.
7021
7022        * wml/WMLDoElement.cpp:
7023        (WebCore::WMLDoElement::attach):
7024        * wml/WMLDoElement.h:
7025
70262009-07-25  Pavel Feldman  <pfeldman@chromium.org>
7027
7028        Fix Windows build breakage introduced in 46390.
7029
7030        * WebCore.vcproj/WebCore.vcproj:
7031
70322009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
7033
7034        Reviewed by Oliver Hunt.
7035
7036        Inspector: Properties Should be Sorted more Naturally
7037        https://bugs.webkit.org/show_bug.cgi?id=27329
7038
7039        * inspector/front-end/ObjectPropertiesSection.js:
7040        (WebInspector.ObjectPropertiesSection.prototype.update): use the displaySort when showing properties
7041        (WebInspector.ObjectPropertiesSection.prototype._displaySort): alphaNumerical sort
7042        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): use the displaySort when showing properties
7043        * inspector/front-end/utilities.js:
7044        (Object.sortedProperties): allow for an optional sorting function in Object.sortedProperties
7045
70462009-07-24  Pavel Feldman  <pfeldman@chromium.org>
7047
7048        Reviewed by Timothy Hatcher.
7049
7050        Web Inspector: Split InspectorController into InspectorController
7051        and InspectorBackend. Everything frontend needs from InspectorController
7052        will slowly migrate into the InspectorBackend.
7053
7054        https://bugs.webkit.org/show_bug.cgi?id=27541
7055
7056        * DerivedSources.make:
7057        * GNUmakefile.am:
7058        * WebCore.gypi:
7059        * WebCore.pro:
7060        * WebCore.xcodeproj/project.pbxproj:
7061        * WebCoreSources.bkl:
7062        * bindings/js/JSInspectorBackendCustom.cpp: Added.
7063        (WebCore::JSInspectorBackend::highlightDOMNode):
7064        (WebCore::JSInspectorBackend::search):
7065        (WebCore::JSInspectorBackend::databaseTableNames):
7066        (WebCore::JSInspectorBackend::inspectedWindow):
7067        (WebCore::JSInspectorBackend::setting):
7068        (WebCore::JSInspectorBackend::setSetting):
7069        (WebCore::JSInspectorBackend::wrapCallback):
7070        (WebCore::JSInspectorBackend::currentCallFrame):
7071        (WebCore::JSInspectorBackend::profiles):
7072        * bindings/v8/custom/V8InspectorBackendCustom.cpp: Added.
7073        (WebCore::CALLBACK_FUNC_DECL):
7074        * bindings/js/JSInspectorControllerCustom.cpp: Removed.
7075        * bindings/js/ScriptObject.cpp:
7076        (WebCore::ScriptGlobalObject::set):
7077        * bindings/js/ScriptObject.h:
7078        * bindings/v8/DOMObjectsInclude.h:
7079        * bindings/v8/DerivedSourcesAllInOne.cpp:
7080        * bindings/v8/ScriptObject.cpp:
7081        (WebCore::ScriptGlobalObject::set):
7082        * bindings/v8/ScriptObject.h:
7083        * bindings/v8/V8Index.cpp:
7084        * bindings/v8/V8Index.h:
7085        * bindings/v8/custom/V8CustomBinding.h:
7086        * bindings/v8/custom/V8InspectorControllerCustom.cpp: Removed.
7087        * inspector/InspectorController.cpp:
7088        (WebCore::InspectorController::InspectorController):
7089        (WebCore::InspectorController::windowScriptObjectAvailable):
7090        * inspector/InspectorController.h:
7091        (WebCore::InspectorController::inspectorBackend):
7092        * inspector/InspectorBackend.cpp: Added.
7093        * inspector/InspectorBackend.h: Added.
7094        (WebCore::InspectorBackend::create):
7095        (WebCore::InspectorBackend::inspectorController):
7096        * inspector/InspectorBackend.idl: Added.
7097        * inspector/InspectorController.idl: Removed.
7098        * inspector/front-end/Resource.js:
7099        * page/Page.cpp:
7100        (WebCore::Page::Page):
7101        * page/Page.h:
7102
71032009-07-25  Mike Fenton  <mike.fenton@torchmobile.com>
7104
7105        Reviewed by George Staikos.
7106
7107        Update WebCore/page/Frame.cpp/h to conform to WebKit
7108        Style Guidelines as identified by cpplint.py.
7109        https://bugs.webkit.org/show_bug.cgi?id=27654
7110
7111        * page/Frame.cpp:
7112        (WebCore::Frame::Frame):
7113        (WebCore::Frame::~Frame):
7114        (WebCore::Frame::setDocument):
7115        (WebCore::Frame::firstRectForRange):
7116        (WebCore::createRegExpForLabels):
7117        (WebCore::Frame::searchForLabelsBeforeElement):
7118        (WebCore::Frame::matchLabelsAgainstElement):
7119        (WebCore::Frame::selectionLayoutChanged):
7120        (WebCore::Frame::setZoomFactor):
7121        (WebCore::Frame::reapplyStyles):
7122        (WebCore::Frame::isContentEditable):
7123        (WebCore::Frame::computeAndSetTypingStyle):
7124        (WebCore::Frame::selectionStartStylePropertyValue):
7125        (WebCore::Frame::selectionComputedStyle):
7126        (WebCore::Frame::applyEditingStyleToBodyElement):
7127        (WebCore::Frame::removeEditingStyleFromBodyElement):
7128        (WebCore::Frame::applyEditingStyleToElement):
7129        (WebCore::Frame::selectionBounds):
7130        (WebCore::Frame::currentForm):
7131        (WebCore::Frame::revealSelection):
7132        (WebCore::Frame::styleForSelectionStart):
7133        (WebCore::Frame::setSelectionFromNone):
7134        (WebCore::Frame::findString):
7135        (WebCore::Frame::markAllMatchesForText):
7136        (WebCore::Frame::setMarkedTextMatchesAreHighlighted):
7137        (WebCore::Frame::clearFormerDOMWindow):
7138        (WebCore::Frame::unfocusWindow):
7139        (WebCore::Frame::respondToChangedSelection):
7140        (WebCore::Frame::documentAtPoint):
7141        * page/Frame.h:
7142        (WebCore::Frame::create):
7143        (WebCore::Frame::displayStringModifiedByEncoding):
7144        (WebCore::Frame::pageZoomFactor):
7145        (WebCore::Frame::textZoomFactor):
7146
71472009-07-24  Dan Bernstein  <mitz@apple.com>
7148
7149        Reviewed by Darin Adler.
7150
7151        Add functions to print the glyph page trees for debugging
7152        https://bugs.webkit.org/show_bug.cgi?id=27671
7153
7154        * platform/graphics/FontData.h: Defined a description() method.
7155
7156        * platform/graphics/GlyphPageTreeNode.cpp:
7157        (WebCore::GlyphPageTreeNode::showSubtree): Added. Prints the node and
7158            its descendants.
7159        (showGlyphPageTrees): Added. Prints all glyph page trees.
7160        (showGlyphPageTree): Added. Prints the glyph page tree for a given page.
7161        * platform/graphics/GlyphPageTreeNode.h:
7162
7163        * platform/graphics/SegmentedFontData.cpp:
7164        (WebCore::SegmentedFontData::description): Added.
7165
7166        * platform/graphics/SegmentedFontData.h:
7167        * platform/graphics/SimpleFontData.cpp:
7168        (WebCore::SimpleFontData::description): Added. Uses the platform data
7169            as the description for non-svg, non-custom fonts.
7170        * platform/graphics/SimpleFontData.h:
7171
7172        * platform/graphics/gtk/FontPlatformData.h:
7173        * platform/graphics/gtk/FontPlatformDataGtk.cpp:
7174        (WebCore::FontPlatformData::description): Added. Returns a null string.
7175        * platform/graphics/gtk/FontPlatformDataPango.cpp:
7176        (WebCore::FontPlatformData::description): Added. Returns a null string.
7177
7178        * platform/graphics/mac/FontPlatformData.h:
7179        * platform/graphics/mac/FontPlatformDataMac.mm:
7180        (WebCore::FontPlatformData::description): Added. Returns the
7181            description of the CGFont, the size and the synthetic style flags,
7182            if set.
7183
7184        * platform/graphics/qt/FontPlatformData.h:
7185        * platform/graphics/qt/FontPlatformDataQt.cpp:
7186        (WebCore::FontPlatformData::description): Added. Returns a null string.
7187
7188        * platform/graphics/win/FontPlatformData.h:
7189        * platform/graphics/win/FontPlatformDataWin.cpp:
7190        (WebCore::FontPlatformData::description): Added. Returns a null string.
7191
7192        * platform/graphics/wince/FontPlatformData.cpp:
7193        (WebCore::FontPlatformData::description): Added. Returns a null string.
7194        * platform/graphics/wince/FontPlatformData.h:
7195
7196        * platform/graphics/wx/FontPlatformData.h:
7197        * platform/graphics/wx/FontPlatformDataWx.cpp:
7198        (WebCore::FontPlatformData::description): Added. Returns a null string.
7199
72002009-07-24  Mads Ager  <ager@chromium.org>
7201
7202        Reviewed by Adam Barth.
7203
7204        SVG and XPath memory leaks in V8 bindings
7205        https://bugs.webkit.org/show_bug.cgi?id=27488
7206
7207        Add proper 'create' methods to SVGPodTypeWrappers and
7208        XPathNSResolvers in the V8 bindings to avoid memory leaks.
7209
7210        Introduce convertToV8Object methods that accept PassRefPtrs and
7211        clean up the use of get() and release() on RefPtrs.
7212
7213        * bindings/scripts/CodeGeneratorV8.pm:
7214        * bindings/v8/V8DOMWrapper.h:
7215        (WebCore::V8DOMWrapper::convertNodeToV8Object):
7216        (WebCore::V8DOMWrapper::convertEventToV8Object):
7217        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
7218        (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
7219        * bindings/v8/V8SVGPODTypeWrapper.h:
7220        (WebCore::V8SVGPODTypeWrapperCreatorForList::create):
7221        (WebCore::V8SVGPODTypeWrapperCreatorForList::V8SVGPODTypeWrapperCreatorForList):
7222        (WebCore::V8SVGStaticPODTypeWrapper::create):
7223        (WebCore::V8SVGStaticPODTypeWrapper::V8SVGStaticPODTypeWrapper):
7224        (WebCore::V8SVGStaticPODTypeWrapperWithPODTypeParent::create):
7225        (WebCore::V8SVGStaticPODTypeWrapperWithPODTypeParent::V8SVGStaticPODTypeWrapperWithPODTypeParent):
7226        (WebCore::V8SVGStaticPODTypeWrapperWithParent::create):
7227        (WebCore::V8SVGStaticPODTypeWrapperWithParent::V8SVGStaticPODTypeWrapperWithParent):
7228        (WebCore::V8SVGDynamicPODTypeWrapper::create):
7229        (WebCore::V8SVGDynamicPODTypeWrapper::V8SVGDynamicPODTypeWrapper):
7230        (WebCore::V8SVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
7231        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
7232        (WebCore::CALLBACK_FUNC_DECL):
7233        * bindings/v8/custom/V8ClientRectListCustom.cpp:
7234        (WebCore::INDEXED_PROPERTY_GETTER):
7235        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
7236        (WebCore::V8CustomXPathNSResolver::create):
7237        * bindings/v8/custom/V8CustomXPathNSResolver.h:
7238        * bindings/v8/custom/V8DOMWindowCustom.cpp:
7239        (WebCore::NAMED_PROPERTY_GETTER):
7240        * bindings/v8/custom/V8DocumentCustom.cpp:
7241        (WebCore::CALLBACK_FUNC_DECL):
7242        * bindings/v8/custom/V8ElementCustom.cpp:
7243        (WebCore::CALLBACK_FUNC_DECL):
7244        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
7245        (WebCore::getNamedItems):
7246        (WebCore::getItem):
7247        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
7248        (WebCore::NAMED_PROPERTY_GETTER):
7249        (WebCore::ACCESSOR_GETTER):
7250        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
7251        (WebCore::INDEXED_PROPERTY_GETTER):
7252        (WebCore::NAMED_PROPERTY_GETTER):
7253        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
7254        (WebCore::INDEXED_PROPERTY_GETTER):
7255        * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
7256        (WebCore::NAMED_PROPERTY_GETTER):
7257        * bindings/v8/custom/V8InspectorControllerCustom.cpp:
7258        (WebCore::CALLBACK_FUNC_DECL):
7259        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
7260        (WebCore::INDEXED_PROPERTY_GETTER):
7261        (WebCore::NAMED_PROPERTY_GETTER):
7262        * bindings/v8/custom/V8NodeIteratorCustom.cpp:
7263        (WebCore::toV8):
7264        * bindings/v8/custom/V8NodeListCustom.cpp:
7265        (WebCore::NAMED_PROPERTY_GETTER):
7266        * bindings/v8/custom/V8SVGMatrixCustom.cpp:
7267        (WebCore::CALLBACK_FUNC_DECL):
7268        * bindings/v8/custom/V8TreeWalkerCustom.cpp:
7269        (WebCore::toV8):
7270        * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
7271        (WebCore::CALLBACK_FUNC_DECL):
7272
72732009-07-24  Brian Weinstein  <bweinstein@apple.com>
7274
7275        Reviewed by Jon Honeycutt.
7276
7277        Fix of <rdar://6310538> Middle-click panning should be springloaded while dragging
7278        https://bugs.webkit.org/show_bug.cgi?id=21794
7279
7280        Create two new booleans to determine whether we have done a springloaded pan scroll, and update
7281        the name of setPanScrollCursor to updatePanScrollState to more accurately describe what the function
7282        does.
7283
7284        * page/EventHandler.cpp:
7285        (WebCore::EventHandler::EventHandler): Initialized two new booleans.
7286        (WebCore::EventHandler::autoscrollTimerFired):
7287        (WebCore::EventHandler::updatePanScrollState): Renamed from setPanScrollCursor.
7288        (WebCore::EventHandler::stopAutoscrollTimer): Clear the pan scrolling in progress flag.
7289        (WebCore::EventHandler::handleMouseReleaseEvent): Clear the pan scrolling button pressed flag.
7290        * page/EventHandler.h:
7291
72922009-07-24  Yong Li  <yong.li@torchmobile.com>
7293
7294        Reviewed by George Staikos.
7295
7296        https://bugs.webkit.org/show_bug.cgi?id=27657
7297        Add more wince port files to WebCore
7298
7299        Written by Yong Li  <yong.li@torchmobile.com> and Lyon Chen <lyon.chen@torchmobile.com>
7300
7301        * loader/icon/wince/IconDatabaseWince.cpp: Added.
7302        * rendering/RenderThemeWince.cpp: Added.
7303        * rendering/RenderThemeWince.h: Added.
7304        * storage/wince/DatabaseThreadWince.cpp: Added.
7305        * storage/wince/DatabaseThreadWince.h: Added.
7306        * storage/wince/LocalStorageThreadWince.cpp: Added.
7307        * storage/wince/LocalStorageThreadWince.h: Added.
7308        * svg/graphics/wince/SVGResourceFilterWince.cpp: Added.
7309
73102009-07-24  Ryosuke Niwa  <rniwa@webkit.org>
7311
7312        Reviewed by Justin Garcia.
7313
7314        execCommand('underline') can modify DOM outside of the contentEditable area
7315        https://bugs.webkit.org/show_bug.cgi?id=24333
7316
7317        highestAncestorWithTextDecoration stops at the closest unsplittable element so that if text-decoration is applied
7318        outside of it, we don't accidently modify the style attribute.
7319
7320        Tests: editing/style/textdecoration-outside-of-rooteditable.html
7321               editing/style/textdecoration-outside-of-unsplittable-element.html
7322
7323        * editing/ApplyStyleCommand.cpp:
7324        (WebCore::StyleChange::init):
7325        (WebCore::highestAncestorWithTextDecoration):
7326
73272009-07-24  Daniel Bates  <dbates@intudata.com>
7328
7329        Reviewed by Adam Barth.
7330
7331        https://bugs.webkit.org/show_bug.cgi?id=27639
7332
7333        Fixes false positives when evaluating certain strings that only contain
7334        non-canonical characters.
7335
7336        Test: http/tests/security/xssAuditor/script-tag-safe.html
7337
7338        * page/XSSAuditor.cpp:
7339        (WebCore::isNonCanonicalCharacter):
7340        (WebCore::XSSAuditor::findInRequest):
7341
73422009-07-24  Drew Wilson  <atwilson@google.com>
7343
7344        Reviewed by David Levin.
7345
7346        Changed WorkerContext destructor to not access possibly-freed WorkerThread.
7347
7348        Failed assertion in WorkerContext::~WorkerContext().
7349        https://bugs.webkit.org/show_bug.cgi?id=27665
7350
7351       * workers/DedicatedWorkerContext.cpp:
7352        (WebCore::DedicatedWorkerContext::~DedicatedWorkerContext):
7353        * workers/WorkerContext.cpp:
7354        (WebCore::WorkerContext::~WorkerContext):
7355        Removed assertion that relies on WorkerThread still being alive (moved to DedicatedWorkerContext destructor).
7356
73572009-07-24  Drew Wilson  <atwilson@google.com>
7358
7359        Reviewed by Adam Barth.
7360
7361        Updated code generator to properly generate bindings for WorkerContext exposed functions.
7362
7363        Storing a reference to WorkerContext.postMessage() and calling it later yields a TypeError
7364        https://bugs.webkit.org/show_bug.cgi?id=27419
7365
7366        Test: fast/workers/worker-call.html
7367
7368        * bindings/js/JSWorkerContextBase.cpp:
7369        (WebCore::toJSDedicatedWorkerContext):
7370        (WebCore::toJSWorkerContext):
7371        Functions that convert from JSValue to the appropriate WorkerContext/DedicatedWorkerContext object.
7372        * bindings/js/JSWorkerContextBase.h:
7373        Added toJS*WorkerContext APIs.
7374        * bindings/scripts/CodeGeneratorJS.pm:
7375        Added code to appropriately check the passed-in this object when invoking functions at global scope.
7376
73772009-07-24  Drew Wilson  <atwilson@google.com>
7378
7379        Reviewed by Adam Barth.
7380
7381        Refactor WorkerContext to move DedicatedWorker-specific APIs into DedicatedWorkerContext
7382        https://bugs.webkit.org/show_bug.cgi?id=27420
7383
7384        No new tests as the existing tests already provide sufficient coverage (this is just a refactoring with no new functionality).
7385
7386        * DerivedSources.cpp:
7387        Added JSDerivedWorkerContext.cpp
7388        * DerivedSources.make:
7389        Added DerivedWorkerContext files
7390        * GNUmakefile.am:
7391        Added DerivedWorkerContext files
7392        * WebCore.gypi:
7393        Added DerivedWorkerContext files
7394        * WebCore.pro:
7395        Added DerivedWorkerContext files
7396        * WebCore.vcproj/WebCore.vcproj:
7397        Added DerivedWorkerContext files
7398        * WebCore.xcodeproj/project.pbxproj:
7399        Added DerivedWorkerContext files
7400        * bindings/js/JSDedicatedWorkerContextCustom.cpp: Added.
7401        (WebCore::JSDedicatedWorkerContext::mark):
7402        Custom mark function for onmessage event handler.
7403        * bindings/js/JSEventTarget.cpp:
7404        (WebCore::toJS):
7405        Supports conversion to JSDedicatedWorkerContext.
7406        (WebCore::toEventTarget):
7407        * bindings/js/JSWorkerContextCustom.cpp:
7408        (WebCore::JSWorkerContext::mark):
7409        Moved onmessage mark handling into DedicatedWorkerContext.
7410        * bindings/js/WorkerScriptController.cpp:
7411        Added appropriate casts to DedicatedWorkerContext for postMessage().
7412        (WebCore::WorkerScriptController::initScript):
7413        Manually sets up the prototype chain for the worker context.
7414        * bindings/scripts/CodeGeneratorJS.pm:
7415        Changed special case code for WorkerContext to be triggered by new IsWorkerContext attribute.
7416        * bindings/scripts/CodeGeneratorV8.pm:
7417        Changed hard-coded tests for WorkerContext to support DedicatedWorkerContext.
7418        * bindings/v8/DOMObjectsInclude.h:
7419        Added DedicatedWorkerContext.h
7420        * bindings/v8/DerivedSourcesAllInOne.cpp:
7421        Added V8DedicatedWorkerContext.cpp
7422        * bindings/v8/V8DOMWrapper.cpp:
7423        (WebCore::V8DOMWrapper::getTemplate):
7424        Added code to reserve extra fields for V8DedicatedWorkerContext.
7425        * bindings/v8/V8Index.cpp:
7426        Now includes V8DedicatedWorkerContext.h in addition to V8WorkerContext.h
7427        * bindings/v8/V8Index.h:
7428        Added DedicatedWorkerContext as a non-node wrapper type.
7429        Removed WORKERCONTEXT as a valid template type.
7430        * bindings/v8/WorkerContextExecutionProxy.cpp:
7431        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
7432        Creates DedicatedWorkerContext instead of WorkerContext.
7433        (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object):
7434        Returns DedicatedWorkerContext instead of WorkerContext.
7435        (WebCore::WorkerContextExecutionProxy::retrieve):
7436        Refactored to deal with DedicatedWorkerContext.
7437        * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
7438        * bindings/v8/custom/V8CustomBinding.h:
7439        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: Added.
7440        Moved onmessage code from V8WorkerContextCustom.cpp
7441        (WebCore::ACCESSOR_GETTER):
7442        (WebCore::ACCESSOR_SETTER):
7443        * bindings/v8/custom/V8WorkerContextCustom.cpp:
7444        Moved onmessage code to V8DedicatedWorkerContextCustom.cpp
7445        * dom/EventTarget.cpp:
7446        (WebCore::EventTarget::toDedicatedWorkerContext):
7447        * dom/EventTarget.h:
7448        * workers/DedicatedWorkerContext.cpp: Added.
7449        Moved DedicatedWorker-only APIs from WorkerContext.
7450        (WebCore::DedicatedWorkerContext::DedicatedWorkerContext):
7451        (WebCore::DedicatedWorkerContext::~DedicatedWorkerContext):
7452        (WebCore::DedicatedWorkerContext::reportException):
7453        (WebCore::DedicatedWorkerContext::postMessage):
7454        (WebCore::DedicatedWorkerContext::dispatchMessage):
7455        * workers/DedicatedWorkerContext.h: Added.
7456        Moved DedicatedWorker-only APIs from WorkerContext.
7457        (WebCore::DedicatedWorkerContext::create):
7458        (WebCore::DedicatedWorkerContext::toDedicatedWorkerContext):
7459        (WebCore::DedicatedWorkerContext::setOnmessage):
7460        (WebCore::DedicatedWorkerContext::onmessage):
7461        * workers/DedicatedWorkerContext.idl: Added.
7462        * workers/WorkerContext.cpp:
7463        (WebCore::WorkerContext::~WorkerContext):
7464        Moved code that notifies parent that worker is closing down into DedicatedWorkerContext.
7465        * workers/WorkerContext.h:
7466        (WebCore::WorkerContext::isClosing):
7467        Exposed closing flag as an API so derived classes can access it.
7468        * workers/WorkerContext.idl:
7469        * workers/WorkerMessagingProxy.cpp:
7470        (WebCore::MessageWorkerContextTask::performTask):
7471        Calls into DedicatedWorkerContext to handle message.
7472        * workers/WorkerThread.cpp:
7473        (WebCore::WorkerThread::workerThread):
7474        Creates a DedicatedWorkerContext when the thread starts up.
7475
74762009-07-24  Eric Seidel  <eric@webkit.org>
7477
7478        Reviewed by Adam Barth.
7479
7480        Move more callers to using 3 argument toJS
7481        https://bugs.webkit.org/show_bug.cgi?id=27661
7482
7483        No functional changes, thus no tests.
7484        These are all the places where we can't yet pass the
7485        correct globalObject because we don't have or don't know the right one.
7486
7487        * bindings/js/JSCustomPositionCallback.cpp:
7488        (WebCore::JSCustomPositionCallback::handleEvent):
7489        * bindings/js/JSCustomPositionErrorCallback.cpp:
7490        (WebCore::JSCustomPositionErrorCallback::handleEvent):
7491        * bindings/js/JSCustomSQLStatementCallback.cpp:
7492        (WebCore::JSCustomSQLStatementCallback::handleEvent):
7493        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
7494        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
7495        * bindings/js/JSCustomSQLTransactionCallback.cpp:
7496        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
7497        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
7498        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
7499        * bindings/js/JSNodeFilterCondition.cpp:
7500        (WebCore::JSNodeFilterCondition::acceptNode):
7501
75022009-07-24  Eric Seidel  <eric@webkit.org>
7503
7504        Reviewed by Adam Barth.
7505
7506        Fix the last of the x-frame constructor calls to have the right prototype chains
7507        https://bugs.webkit.org/show_bug.cgi?id=27645
7508
7509        Fix the last few constructors to use their stored globalObject pointer when
7510        constructing objects instead of the lexicalGlobalObject().
7511
7512        * bindings/js/JSAudioConstructor.cpp:
7513        (WebCore::constructAudio):
7514        * bindings/js/JSImageConstructor.cpp:
7515        (WebCore::constructImage):
7516        * bindings/js/JSMessageChannelConstructor.cpp:
7517        (WebCore::JSMessageChannelConstructor::construct):
7518        * bindings/js/JSOptionConstructor.cpp:
7519        (WebCore::constructHTMLOptionElement):
7520        * bindings/js/JSWebKitPointConstructor.cpp:
7521        (WebCore::constructWebKitPoint):
7522        * bindings/js/JSWorkerConstructor.cpp:
7523        (WebCore::constructWorker):
7524
75252009-07-24  Jian Li  <jianli@chromium.org>
7526
7527        Reviewed by Adam Barth.
7528
7529        [V8] Cleanup exception handling in worker evaluation code.
7530        https://bugs.webkit.org/show_bug.cgi?id=27282
7531
7532        * bindings/v8/WorkerContextExecutionProxy.cpp:
7533        (WebCore::WorkerContextExecutionProxy::evaluate):
7534        * bindings/v8/WorkerContextExecutionProxy.h:
7535        (WebCore::WorkerContextExecutionState::WorkerContextExecutionState):
7536        * bindings/v8/WorkerScriptController.cpp:
7537        (WebCore::WorkerScriptController::evaluate):
7538        (WebCore::WorkerScriptController::setException):
7539
75402009-07-24  Stephen White  <senorblanco@chromium.org>
7541
7542        Reviewed by David Levin.
7543
7544        Reverting r46157, since it may be causing problems with Chromium
7545        reliability (see http://crbug.com/17569).
7546
7547        https://bugs.webkit.org/show_bug.cgi?id=27388
7548
7549        * platform/graphics/skia/GraphicsContextSkia.cpp:
7550        (WebCore::GraphicsContext::drawLine):
7551        * platform/graphics/skia/PlatformContextSkia.cpp:
7552        (PlatformContextSkia::setupPaintForStroking):
7553
75542009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
7555
7556        Reviewed by Timothy Hatcher.
7557
7558        REGRESSION: inspector seems broken in ToT WebKit
7559        https://bugs.webkit.org/show_bug.cgi?id=27646
7560
7561        * inspector/front-end/Console.js:
7562        (WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
7563
75642009-07-24  Dan Bernstein  <mitz@apple.com>
7565
7566        Reviewed by Anders Carlsson.
7567
7568        Add the shadow style member to the ShadowData constructor and ==
7569        operator
7570
7571        * rendering/style/ShadowData.cpp:
7572        (WebCore::ShadowData::ShadowData):
7573        (WebCore::ShadowData::operator==):
7574
75752009-07-24  Jian Li  <jianli@chromium.org>
7576
7577        Reviewed by Eric Seidel.
7578
7579        [V8] More V8 bindings changes to use ErrorEvent.
7580        https://bugs.webkit.org/show_bug.cgi?id=27630
7581
7582        * bindings/v8/DOMObjectsInclude.h:
7583        * bindings/v8/DerivedSourcesAllInOne.cpp:
7584        * bindings/v8/V8DOMWrapper.cpp:
7585        (WebCore::V8DOMWrapper::convertEventToV8Object):
7586        * bindings/v8/V8Index.cpp:
7587        * bindings/v8/V8Index.h:
7588
75892009-07-24  Brent Fulgham  <bfulgham@webkit.org>
7590
7591        Reviewed by Dave Hyatt.
7592
7593        Clean up dependencies on Apple support libraries for non-Apple build.
7594        http://bugs.webkit.org/show_bug.cgi?id=27532.
7595
7596        * platform/graphics/win/SimpleFontDataWin.cpp: Conditionalize references
7597          to ApplicationServices.h and WebKitSystemInterface.h
7598
75992009-07-24  Dan Bernstein  <mitz@apple.com>
7600
7601        Another attempted build fix
7602
7603        * bindings/js/JSAbstractWorkerCustom.cpp:
7604
76052009-07-24  Dan Bernstein  <mitz@apple.com>
7606
7607        Attempted build fix
7608
7609        * bindings/js/JSAbstractWorkerCustom.cpp:
7610        (WebCore::toJS):
7611
76122009-07-24  Kenneth Rohde Christiansen  <kenneth@webkit.org>
7613
7614        Build fix for 64 bit Linux.
7615
7616        int64_t is long on Linux 64 bit and not long long, thus
7617        getFileSize with a int64_t out value fails to build.
7618
7619        Use a temporary to work around the problem.
7620
7621        * loader/appcache/ApplicationCacheStorage.cpp:
7622        (WebCore::ApplicationCacheStorage::spaceNeeded):
7623
76242009-07-24  Eric Seidel  <eric@webkit.org>
7625
7626        Reviewed by Adam Barth.
7627
7628        Update all CREATE_DOM_*_WRAPPER callers to pass globalObject
7629        https://bugs.webkit.org/show_bug.cgi?id=27644
7630
7631        This is another attempt at making the change for bug 27634 smaller.
7632        I included the changes to make_names.pl as well as any file which
7633        used CREATE_DOM_*_WRAPPER macros.
7634
7635        The changes to the construct* functions are what fix the cases in
7636        fast/dom/constructed-objects-prototypes.html
7637
7638        The changes to passing globalObject through CREATE_* are what fix
7639        fast/dom/prototype-inheritance-2.html
7640
7641        * bindings/js/JSCDATASectionCustom.cpp:
7642        (WebCore::toJSNewlyCreated): pass globalObject.
7643        * bindings/js/JSCSSRuleCustom.cpp:
7644        (WebCore::toJS): pass globalObject.
7645        * bindings/js/JSCSSValueCustom.cpp:
7646        (WebCore::toJS): pass globalObject.
7647        * bindings/js/JSDOMBinding.h: updated macros to pass globalObject.
7648        * bindings/js/JSDocumentCustom.cpp:
7649        (WebCore::toJS): pass globalObject.
7650        * bindings/js/JSElementCustom.cpp:
7651        (WebCore::JSElement::setAttributeNode): use globalObject() for wrapping return value.
7652        (WebCore::JSElement::setAttributeNodeNS): use globalObject() for wrapping return value.
7653        (WebCore::toJSNewlyCreated): pass globalObject.
7654        * bindings/js/JSEventCustom.cpp:
7655        (WebCore::JSEvent::clipboardData): pass globalObject.
7656        (WebCore::toJS): pass globalObject.
7657        * bindings/js/JSHTMLCollectionCustom.cpp:
7658        (WebCore::getNamedItems): use globalObject() for wrapping returned collection items.
7659        (WebCore::callHTMLCollection): use globalObject() for wrapping returned collection items.
7660        (WebCore::JSHTMLCollection::item): use globalObject() for wrapping returned collection items.
7661        (WebCore::toJS): pass globalObject.
7662        * bindings/js/JSImageDataCustom.cpp:
7663        (WebCore::toJS): pass globalObject.
7664        * bindings/js/JSNodeCustom.cpp:
7665        (WebCore::createWrapper): pass globalObject.
7666        * bindings/js/JSSVGPathSegCustom.cpp:
7667        (WebCore::toJS): pass globalObject.
7668        * bindings/js/JSStyleSheetCustom.cpp:
7669        (WebCore::toJS): pass globalObject.
7670        * bindings/js/JSTextCustom.cpp:
7671        (WebCore::toJSNewlyCreated): pass globalObject.
7672        * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
7673        (WebCore::constructWebKitCSSMatrix): use constructors globalObject when constructing
7674        * bindings/js/JSXMLHttpRequestConstructor.cpp:
7675        (WebCore::constructXMLHttpRequest): use constructors globalObject when constructing
7676        * bindings/js/JSXSLTProcessorConstructor.cpp:
7677        (WebCore::constructXSLTProcessor): use constructors globalObject when constructing
7678        * dom/make_names.pl:
7679            Pass globalObject through CREATE_* macros and various support functions.
7680
76812009-07-24  Eric Seidel  <eric@webkit.org>
7682
7683        Reviewed by Adam Barth.
7684
7685        Update CodeGeneratorJS.pm to support passing JSDOMGlobalObject* to toJS calls
7686        https://bugs.webkit.org/show_bug.cgi?id=27643
7687
7688        This is an attempt to make this change as small as possible.
7689        I started by including all changes to CodeGeneratorJS.pm from bug 27634,
7690        and then made the minimal amount of other changes needed to support that change.
7691
7692        Most toJS implementations ignore their passed JSDOMGlobalObject.
7693        There are stub 2-argument toJS, toJSNewlyCreated implementations to help compiling.
7694        All places where it is not clear what we should pass as the global object
7695        (or where the global object is simply not available, like for some SVG bindings)
7696        we pass deprecatedGlobalObjectForPrototype instead.
7697
7698        * bindings/js/JSCDATASectionCustom.cpp:
7699        (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
7700        * bindings/js/JSCSSRuleCustom.cpp:
7701        (WebCore::toJS): add ignored JSDOMGlobalObject*
7702        * bindings/js/JSCSSValueCustom.cpp:
7703        (WebCore::toJS): add ignored JSDOMGlobalObject*
7704        * bindings/js/JSDOMBinding.cpp:
7705        (WebCore::setDOMException): pass the wrong globalObject for now
7706        * bindings/js/JSDOMBinding.h:
7707            Pass the wrong global object to the CREATE_ macros for now.
7708            In the next change we'll come back and pass the correct one.
7709            That will require changes to make_names.pl.
7710        (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext):
7711        (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
7712        (WebCore::DOMObjectWithGlobalPointer::~DOMObjectWithGlobalPointer):
7713        (WebCore::createDOMObjectWrapper):
7714        (WebCore::getDOMObjectWrapper):
7715        (WebCore::createDOMNodeWrapper):
7716        (WebCore::getDOMNodeWrapper):
7717        (WebCore::toJS): added to convert 2 arg calls to 3 arg calls to limit the scope of this change.
7718        (WebCore::toJSNewlyCreated):
7719        * bindings/js/JSDOMWindowBase.cpp:
7720        (WebCore::toJS): DOMWindow always uses its own prototype chain.
7721        * bindings/js/JSDOMWindowBase.h:
7722        * bindings/js/JSDocumentCustom.cpp:
7723        (WebCore::toJS): add ignored JSDOMGlobalObject*
7724        * bindings/js/JSElementCustom.cpp:
7725        (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
7726        * bindings/js/JSEventCustom.cpp:
7727        (WebCore::toJS): add ignored JSDOMGlobalObject*
7728        * bindings/js/JSEventTarget.cpp:
7729        (WebCore::toJS): add ignored JSDOMGlobalObject*
7730        * bindings/js/JSEventTarget.h:
7731        * bindings/js/JSHTMLCollectionCustom.cpp:
7732        (WebCore::toJS): add ignored JSDOMGlobalObject*
7733        * bindings/js/JSImageDataCustom.cpp:
7734        (WebCore::toJS): add ignored JSDOMGlobalObject*
7735        * bindings/js/JSNodeCustom.cpp:
7736        (WebCore::createWrapper): pass globalObject to toJS(Document*) to avoid recursion
7737        (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
7738        (WebCore::toJS): add ignored JSDOMGlobalObject*
7739        * bindings/js/JSSVGElementInstanceCustom.cpp:
7740        (WebCore::toJS): pass globalObject along
7741        * bindings/js/JSSVGMatrixCustom.cpp:
7742        (WebCore::JSSVGMatrix::inverse): pass wrong globalObject for now.
7743        (WebCore::JSSVGMatrix::rotateFromVector): pass wrong globalObject for now.
7744        * bindings/js/JSSVGPathSegCustom.cpp:
7745        (WebCore::toJS):
7746        * bindings/js/JSSVGPathSegListCustom.cpp:
7747            All of these methods need a globalObject, but most SVG binding don't have
7748            space for one, so we just pass the lexicalGlobalObject for now.
7749        (WebCore::JSSVGPathSegList::initialize):
7750        (WebCore::JSSVGPathSegList::getItem):
7751        (WebCore::JSSVGPathSegList::insertItemBefore):
7752        (WebCore::JSSVGPathSegList::replaceItem):
7753        (WebCore::JSSVGPathSegList::removeItem):
7754        (WebCore::JSSVGPathSegList::appendItem):
7755        * bindings/js/JSSVGPointListCustom.cpp:
7756        (WebCore::finishGetter): pass wrong globalObject for now.
7757        (WebCore::finishSetter):
7758        (WebCore::finishSetterReadOnlyResult):
7759        * bindings/js/JSSVGTransformListCustom.cpp:
7760        (WebCore::finishGetter): pass wrong globalObject for now.
7761        (WebCore::finishSetter):
7762        (WebCore::finishSetterReadOnlyResult):
7763        * bindings/js/JSStyleSheetCustom.cpp:
7764        (WebCore::toJS): add ignored JSDOMGlobalObject*
7765        * bindings/js/JSTextCustom.cpp:
7766        (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject*
7767        * bindings/js/JSWorkerContextBase.cpp:
7768        (WebCore::toJS): WorkerContext always uses its own prototype chain since it's a GlobalObject subclass.
7769        * bindings/js/JSWorkerContextBase.h:
7770        * bindings/scripts/CodeGeneratorJS.pm:
7771            All generated toJS calls now pass a globalObject.
7772            All generated toJS implementations now expect a globalObject.
7773            Simplified all the slot casts by using a "castedThis" local.
7774            SVG bindings which don't have a globalObject() accessor pass the deprecated lexicalGlobalObject instead.
7775            Simplified printing of constructor objects using a $constructorClassName variable.
7776            All generated constructor functions follow the construct$className form to match the custom constructors.
7777
77782009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
7779
7780        Reviewed by Timothy Hatcher.
7781
7782        typing "document.__proto__" in inspector throws exception
7783        https://bugs.webkit.org/show_bug.cgi?id=27169
7784
7785        * inspector/front-end/utilities.js:
7786        (Object.type):
7787
77882009-07-24  Andrei Popescu  <andreip@google.com>
7789
7790        Reviewed by Anders Carlsson.
7791
7792        ApplicationCache should have size limit
7793        https://bugs.webkit.org/show_bug.cgi?id=22700
7794
7795        https://lists.webkit.org/pipermail/webkit-dev/2009-May/007560.html
7796
7797        This change implements a mechanism for limiting the maximum size of
7798        the application cache file. When this size is reached, a ChromeClient
7799        callback is invoked asynchronously and the saving of the last (failed)
7800        cache is retried automatically.
7801
7802        This change also extends the ApplicationCacheStorage API by allowing
7803        a client to query or modify the application cache without having to
7804        load any resources into memory.
7805
7806        Test: http/tests/appcache/max-size.html
7807
7808        * WebCore.base.exp:
7809        Exports the symbols required by the DumpRenderTree test application.
7810        * loader/EmptyClients.h:
7811        Adds empty implementation of the new ChromeClient methods.
7812        * loader/appcache/ApplicationCache.cpp:
7813        * loader/appcache/ApplicationCache.h:
7814        Adds the ability to calculate the approximate size of an ApplicationCache object.
7815        * loader/appcache/ApplicationCacheGroup.cpp:
7816        * loader/appcache/ApplicationCacheGroup.h:
7817        Invokes the ChromeClient callback when the storage layer runs out of space.
7818        After the callback is invoked, we re-attempt to store the newest cache,
7819        in case the ChromeClient has freed some space.
7820        * loader/appcache/ApplicationCacheResource.cpp:
7821        * loader/appcache/ApplicationCacheResource.h:
7822        Adds the ability to calculate the approximate size of an ApplicationCacheResource object.
7823        * loader/appcache/ApplicationCacheStorage.cpp:
7824        * loader/appcache/ApplicationCacheStorage.h:
7825        Enforces a maximum size for the application cache file.
7826        * page/ChromeClient.h:
7827        Adds a new callback, invoked when the ApplicationCacheStorage reports that it has
7828        reached the maximum size for its database file.
7829        * platform/sql/SQLiteDatabase.cpp:
7830        * platform/sql/SQLiteDatabase.h:
7831        Adds a new method that allows querying for the amount of unused space inside the
7832        application cache database file.
7833
78342009-07-24  Xan Lopez  <xlopez@igalia.com>
7835
7836        Reviewed by Jan Alonzo.
7837
7838        https://bugs.webkit.org/show_bug.cgi?id=25415
7839        [GTK][ATK] Please implement support for get_text_at_offset
7840
7841        Use TextEncoding facilities to convert between UTF16 and UTF8
7842        instead of rolling our own solution.
7843
7844        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
7845        (convertUniCharToUTF8):
7846
78472009-07-24  Xan Lopez  <xlopez@igalia.com>
7848
7849        Reviewed by Jan Alonzo.
7850
7851        https://bugs.webkit.org/show_bug.cgi?id=25415
7852        [GTK][ATK] Please implement support for get_text_at_offset
7853
7854        Fix confusion in g_substr between length in bytes and length in
7855        characters. Was causing crashes in some situations when dealing
7856        with non-ASCII text encoded as UTF8.
7857
7858        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
7859        (g_substr):
7860
78612009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
7862
7863        Reviewed by Timothy Hatcher.
7864
7865        Inspector: Impossible to add an attribute to a node without attributes
7866        https://bugs.webkit.org/show_bug.cgi?id=21108
7867
7868        * inspector/front-end/ElementsTreeOutline.js:
7869        (WebInspector.ElementsTreeElement):
7870        (WebInspector.ElementsTreeElement.prototype.set hovered):
7871        (WebInspector.ElementsTreeElement.prototype.toggleNewButton):
7872        (WebInspector.ElementsTreeElement.prototype.ondblclick):
7873        (WebInspector.ElementsTreeElement.prototype._startEditing):
7874        (WebInspector.ElementsTreeElement.prototype._addNewAttribute):
7875        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
7876        * inspector/front-end/inspector.css:
7877
78782009-07-24  Keishi Hattori  <casey.hattori@gmail.com>
7879
7880        Reviewed by Timothy Hatcher.
7881
7882        Web Inspector: Adds support for Firebug's magic $0 variable to access inspected node
7883        https://bugs.webkit.org/show_bug.cgi?id=17907
7884
7885        * inspector/front-end/Console.js:
7886        (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): Added _inspectorCommandLineAPI.{
7887            _inspectedNodes, _addInspectedNode, $0, $1, $n}
7888        * inspector/front-end/ElementsPanel.js:
7889        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): Stores the inspected node history
7890            in _inspectorCommandLineAPI._inspectedNodes
7891        (WebInspector.ElementsPanel):
7892
78932009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
7894
7895        Reviewed by Timothy Hatcher.
7896
7897        Dragging a resource in the sidebar should drag it's URL
7898        https://bugs.webkit.org/show_bug.cgi?id=14410
7899
7900        * inspector/front-end/ResourcesPanel.js:
7901        (WebInspector.ResourceSidebarTreeElement.prototype.onattach):
7902
79032009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
7904
7905        Reviewed by Timothy Hatcher.
7906
7907        Double click on a resource in the sidebar should open that resource in Safari
7908        https://bugs.webkit.org/show_bug.cgi?id=14409
7909
7910        * inspector/front-end/ResourcesPanel.js:
7911        (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick): open a resource url
7912
79132009-07-24  Jan Michael Alonzo  <jmalonzo@webkit.org>
7914
7915        Reviewed by Xan Lopez.
7916
7917        Bump pango version requirement to 1.12 and remove unnecessary #ifdefs.
7918
7919        * platform/graphics/gtk/FontGtk.cpp:
7920        (WebCore::getDefaultPangoLayout):
7921        * platform/graphics/gtk/FontPlatformDataPango.cpp:
7922        (WebCore::FontPlatformData::FontPlatformData):
7923        * platform/gtk/Language.cpp:
7924
79252009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
7926
7927        Reviewed by Timothy Hatcher.
7928
7929        Inspector: Missing UIString and other localizedString.js fixes
7930        https://bugs.webkit.org/show_bug.cgi?id=27288
7931
7932        * English.lproj/localizedStrings.js:
7933
79342009-07-24  Joseph Pecoraro  <joepeck02@gmail.com>
7935
7936        Reviewed by Timothy Hatcher.
7937
7938        Inspector: Should Syntax Highlight JSON
7939        https://bugs.webkit.org/show_bug.cgi?id=27503
7940
7941        * inspector/front-end/SourceView.js:
7942        (WebInspector.SourceView.prototype._contentLoaded):
7943
79442009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
7945
7946        Reviewed by Eric Seidel.
7947
7948        Update WebCore/page/DOMTimer.cpp/h to conform to WebKit
7949        Style Guidelines as identified by cpplint.py.
7950        https://bugs.webkit.org/show_bug.cgi?id=27624
7951
7952        * page/DragController.cpp:
7953        (WebCore::DragController::~DragController):
7954        (WebCore::documentFragmentFromDragData):
7955        (WebCore::DragController::dragEnded):
7956        (WebCore::DragController::dragEntered):
7957        (WebCore::DragController::dragExited):
7958        (WebCore::DragController::dragUpdated):
7959        (WebCore::DragController::performDrag):
7960        (WebCore::asFileInput):
7961        (WebCore::DragController::tryDocumentDrag):
7962        (WebCore::DragController::delegateDragSourceAction):
7963        (WebCore::DragController::concludeEditDrag):
7964        (WebCore::DragController::canProcessDrag):
7965        (WebCore::DragController::tryDHTMLDrag):
7966        (WebCore::DragController::mayStartDragAtEventLocation):
7967        (WebCore::getCachedImage):
7968        (WebCore::getImage):
7969        (WebCore::prepareClipboardForImageDrag):
7970        (WebCore::dragLocForDHTMLDrag):
7971        (WebCore::DragController::startDrag):
7972        (WebCore::DragController::doImageDrag):
7973        (WebCore::DragController::doSystemDrag):
7974        (WebCore::DragController::placeDragCaret):
7975
79762009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
7977
7978        Reviewed by Eric Seidel.
7979
7980        Update WebCore/page/Chrome.cpp to conform to WebKit
7981        Style Guidelines as identified by cpplint.py.
7982        https://bugs.webkit.org/show_bug.cgi?id=27608
7983
7984        * page/Chrome.cpp:
7985        (WebCore::Chrome::runBeforeUnloadConfirmPanel):
7986        (WebCore::Chrome::runJavaScriptAlert):
7987        (WebCore::Chrome::runJavaScriptConfirm):
7988        (WebCore::Chrome::runJavaScriptPrompt):
7989        (WebCore::Chrome::shouldInterruptJavaScript):
7990        (WebCore::Chrome::setToolTip):
7991        (WebCore::Chrome::requestGeolocationPermissionForFrame):
7992        (WebCore::ChromeClient::generateReplacementFile):
7993        (WebCore::ChromeClient::paintCustomScrollbar):
7994
79952009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
7996
7997        Reviewed by Eric Seidel.
7998
7999        Update WebCore/page/Coordinates.cpp to conform to WebKit
8000        Style Guidelines as identified by cpplint.py.
8001        https://bugs.webkit.org/show_bug.cgi?id=27614
8002
8003        * page/Coordinates.cpp:
8004        (WebCore::Coordinates::toString):
8005
80062009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
8007
8008        Reviewed by Eric Seidel.
8009
8010        Update WebCore/page/DOMSelection.cpp/h to conform to WebKit
8011        Style Guidelines as identified by cpplint.py.
8012        https://bugs.webkit.org/show_bug.cgi?id=27614
8013
8014        * page/DOMSelection.cpp:
8015        (WebCore::DOMSelection::setBaseAndExtent):
8016        (WebCore::DOMSelection::modify):
8017        (WebCore::DOMSelection::addRange):
8018        (WebCore::DOMSelection::deleteFromDocument):
8019        * page/DOMSelection.h:
8020
80212009-07-24  Mike Fenton  <mike.fenton@torchmobile.com>
8022
8023        Reviewed by Eric Seidel.
8024
8025        Update WebCore/page/DOMTimer.cpp/h to conform to WebKit
8026        Style Guidelines as identified by cpplint.py.
8027        https://bugs.webkit.org/show_bug.cgi?id=27618
8028
8029        * page/DOMTimer.cpp:
8030        (WebCore::DOMTimer::DOMTimer):
8031        (WebCore::DOMTimer::~DOMTimer):
8032        (WebCore::DOMTimer::fired):
8033        (WebCore::DOMTimer::suspend):
8034        (WebCore::DOMTimer::resume):
8035        (WebCore::DOMTimer::canSuspend):
8036        * page/DOMTimer.h:
8037        (WebCore::DOMTimer::minTimerInterval):
8038        (WebCore::DOMTimer::setMinTimerInterval):
8039
80402009-07-24  Eric Seidel  <eric@webkit.org>
8041
8042        Reviewed by Adam Barth.
8043
8044        Classes call DOMObject::mark() explicitly, should call DOMObjectWithGlobal::mark() instead
8045        https://bugs.webkit.org/show_bug.cgi?id=27641
8046
8047        Nothing uses globalObject() yet, but this was causing crashes
8048        in the patch for bug 27634.  This is covered by fast/dom/gc-6.html.
8049
8050        I decided to change these to Base:: instead of DOMObjectWithGlobal::
8051        for future-proofing.  All autogenerated classes use a typedef Base
8052        to avoid bugs like these.  Sadly C++ does not have a built-in super:: we could use.
8053
8054        * WebCore.xcodeproj/project.pbxproj:
8055        * bindings/js/JSAbstractWorkerCustom.cpp:
8056        (WebCore::JSAbstractWorker::mark):
8057        * bindings/js/JSDOMApplicationCacheCustom.cpp:
8058        (WebCore::JSDOMApplicationCache::mark):
8059        * bindings/js/JSMessageChannelCustom.cpp:
8060        (WebCore::JSMessageChannel::mark):
8061        * bindings/js/JSMessagePortCustom.cpp:
8062        (WebCore::JSMessagePort::mark):
8063        * bindings/js/JSNamedNodesCollection.cpp:
8064        (WebCore::JSNamedNodesCollection::getOwnPropertySlot):
8065        * bindings/js/JSNodeCustom.cpp:
8066        (WebCore::JSNode::mark):
8067        * bindings/js/JSNodeFilterCustom.cpp:
8068        (WebCore::JSNodeFilter::mark):
8069        * bindings/js/JSNodeIteratorCustom.cpp:
8070        (WebCore::JSNodeIterator::mark):
8071        * bindings/js/JSSVGElementInstanceCustom.cpp:
8072        (WebCore::JSSVGElementInstance::mark):
8073        * bindings/js/JSTreeWalkerCustom.cpp:
8074        (WebCore::JSTreeWalker::mark):
8075
80762009-07-22  Eric Seidel  <eric@webkit.org>
8077
8078        Reviewed by Adam Barth.
8079
8080        Make most DOMObjects hold onto a JSDOMGlobalObject*
8081        https://bugs.webkit.org/show_bug.cgi?id=27588
8082
8083        This change is almost entirely plumbing.  Only one functional
8084        change as part of this all (window.document.constructor has the correct prototype)
8085        Changes are detailed below.
8086
8087        inner.document.constructor is fixed because all properties on the window
8088        object are created with the correct globalObject (instead of the lexical one).
8089        Since all objects now carry a globalObject pointer, when document creates
8090        HTMLDocumentConstructor it now has the right globalObject to use.
8091
8092        Tests:
8093          fast/dom/prototype-inheritance.html
8094          fast/dom/prototype-inheritance-2.html
8095
8096        * bindings/js/DOMObjectWithSVGContext.h:
8097        (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext):
8098            Update the comment and add an ignored globalObject argument.
8099        * bindings/js/JSDOMBinding.h:
8100            Pass a globalObject to all DOMObjects during creation.  Currently it's the wrong global object.
8101            Once toJS is passed a globalObject it will be the right one.
8102        (WebCore::createDOMObjectWrapper):
8103        (WebCore::createDOMNodeWrapper):
8104        * bindings/js/JSDOMGlobalObject.h:
8105        (WebCore::JSDOMGlobalObject::globalObject): Makes binding generation easier.
8106        * bindings/js/JSDOMWindowCustom.cpp:
8107        (WebCore::JSDOMWindow::history): JSHistory is now passed a globalObject, but since it has no custom constructor it doesn't use it.
8108        (WebCore::JSDOMWindow::location): JSLocation is now passed a globalObject, but since it has no custom constructor it doesn't use it.
8109        * bindings/js/JSDocumentCustom.cpp:
8110        (WebCore::JSDocument::location): JSLocation is now passed a globalObject, but since it has no custom constructor it doesn't use it.
8111        * bindings/js/JSHTMLAllCollection.h:
8112        (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
8113        * bindings/js/JSHTMLCollectionCustom.cpp: Re-factoring needed to pass globalObject to JSNamedNodesCollection constructor.
8114        (WebCore::getNamedItems):
8115        (WebCore::callHTMLCollection):
8116        (WebCore::JSHTMLCollection::canGetItemsForName):
8117        (WebCore::JSHTMLCollection::nameGetter):
8118        (WebCore::JSHTMLCollection::item):
8119        (WebCore::JSHTMLCollection::namedItem):
8120        * bindings/js/JSHTMLFormElementCustom.cpp:
8121        (WebCore::JSHTMLFormElement::nameGetter):
8122        * bindings/js/JSNamedNodesCollection.cpp:
8123             Now passed globalObject.  This is tested by inner.document.forms.testForm.
8124             The passed globalObject is still wrong until toJS is fixed.
8125        (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
8126        * bindings/js/JSNamedNodesCollection.h:
8127        * bindings/js/JSSharedWorkerConstructor.cpp:
8128             Add DOMConstructorObject missed by http://trac.webkit.org/changeset/45938
8129             This class is not compiled by default, so not testable.
8130        (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
8131        * bindings/js/JSSharedWorkerConstructor.h:
8132        * bindings/scripts/CodeGeneratorJS.pm:
8133             Make all bindings objects carry a globalObject pointer using DOMObjectWithGlobalPointer.
8134             SVG bindings which need a context() pointer do not have enough space for globalObject() too.
8135             WorkerContext does not need a globalObject (it is one), so special case it.
8136             Make all .constructor calls use the stored globalObject().  This is what fixes window.document.constructor.
8137             Make all constructors inherit from DOMConstructorObject for consistency.  Since the auto-bound constructors
8138             override createStructure anyway, there is no functional change here.  Just completing work started in r45938.
8139
81402009-07-23  Brady Eidson  <beidson@apple.com>
8141
8142        Reviewed by Geoff Garen.
8143
8144        WebCore has a few places that don't gracefully handle a null request returned from willSendRequest.
8145        https://bugs.webkit.org/show_bug.cgi?id=27595
8146
8147        Test: http/tests/misc/will-send-request-returns-null-on-redirect.html
8148
8149        * inspector/InspectorController.cpp:
8150        (WebCore::InspectorController::removeResource): Null-check the request URL.
8151
8152        * platform/network/cf/ResourceHandleCFNet.cpp: Ditto, and return null instead of creating an empty one.
8153        (WebCore::willSendRequest):
8154
81552009-07-23  Chris Fleizach  <cfleizach@apple.com>
8156
8157        Reviewed by Darin Adler.
8158
8159        Bug 27633 - AXLoadComplete can be fired off to frequently
8160        https://bugs.webkit.org/show_bug.cgi?id=27633
8161
8162        An integration issue left out some curly braces.
8163
8164        * dom/Document.cpp:
8165        (WebCore::Document::implicitClose):
8166
81672009-07-23  Darin Adler  <darin@apple.com>
8168
8169        Reviewed by Brady Eidson.
8170
8171        URL appears in back/forward button menu instead of title for items with custom representation
8172        https://bugs.webkit.org/show_bug.cgi?id=27586
8173        rdar://problem/5060337
8174
8175        * WebCore.base.exp: Exported DocumentLoader::setTitle for use by Mac WebKit.
8176        * loader/FrameLoader.cpp:
8177        (WebCore::FrameLoader::didChangeTitle): Tightened code to check if the document
8178        loader is the correct one; previously this would never happen because we'd
8179        commit the load before any title changes could be registered, but now we can
8180        encounter a case where we get a title during a provisional load.
8181
81822009-07-23  Dan Bernstein  <mitz@apple.com>
8183
8184        Reviewed by Dave Hyatt.
8185
8186        [CSS3 Backgrounds and Borders] Add support for inset box shadows
8187        https://bugs.webkit.org/show_bug.cgi?id=27582
8188
8189        Test: fast/box-shadow/inset.html
8190
8191        * css/CSSComputedStyleDeclaration.cpp:
8192        (WebCore::valueForShadow): Set the ShadowValue’s shadow style to 'inset'
8193            as needed.
8194
8195        * css/CSSParser.cpp:
8196        (WebCore::ShadowParseContext::ShadowParseContext): Added style and allowStyle
8197            members. Initialize the allowStyle member.
8198        (WebCore::ShadowParseContext::commitValue): Pass the style value to the
8199            ShadowValue constructor. Reset allowStyle.
8200        (WebCore::ShadowParseContext::commitLength): Update allowStyle.
8201        (WebCore::ShadowParseContext::commitColor): Ditto.
8202        (WebCore::ShadowParseContext::commitStyle): Added. Sets the style member and
8203            updates the state.
8204        (WebCore::CSSParser::parseShadow): Parse the 'inset' keyword.
8205
8206        * css/CSSStyleSelector.cpp:
8207        (WebCore::CSSStyleSelector::applyProperty): Get the style value from the
8208            shadow value and pass it to the ShadowData constructor.
8209
8210        * css/ShadowValue.cpp:
8211        (WebCore::ShadowValue::ShadowValue): Added style.
8212        (WebCore::ShadowValue::cssText): Added style.
8213
8214        * css/ShadowValue.h:
8215        (WebCore::ShadowValue::create): Added style.
8216
8217        * page/animation/AnimationBase.cpp:
8218        (WebCore::blendFunc): Added a blend function for shadow styles. When blending
8219            between normal and inset shadows, all intermediate values map to normal.
8220        (WebCore::PropertyWrapperShadow::blend): Added normal style to the default
8221            shadow.
8222
8223        * rendering/InlineFlowBox.cpp:
8224        (WebCore::InlineFlowBox::paintBoxShadow): Added a shadow style parameter,
8225            which is passed through to RenderBoxModelObject::paintBoxShadow().
8226
8227        (WebCore::InlineFlowBox::paintBoxDecorations): Paint inset shadows on top of
8228            the background.
8229
8230        * rendering/InlineFlowBox.h:
8231
8232        * rendering/RenderBox.cpp:
8233        (WebCore::RenderBox::paintBoxDecorations): Paint inset shadows on top of the
8234            background.
8235
8236        * rendering/RenderBoxModelObject.cpp:
8237        (WebCore::RenderBoxModelObject::paintBoxShadow): Added a shadow style
8238            parameter, and code to paint inset shadows.
8239
8240        * rendering/RenderBoxModelObject.h:
8241
8242        * rendering/RenderFieldset.cpp:
8243        (WebCore::RenderFieldset::paintBoxDecorations): Paint inset shadows on top of
8244            the background.
8245
8246        * rendering/RenderTable.cpp:
8247        (WebCore::RenderTable::paintBoxDecorations): Ditto.
8248
8249        * rendering/RenderTableCell.cpp:
8250        (WebCore::RenderTableCell::paintBoxDecorations): Ditto.
8251
8252        * rendering/style/ShadowData.h:
8253        Added a ShadowStyle enum.
8254        (WebCore::ShadowData::ShadowData): Add and initialize a style member.
8255
82562009-07-23  Simon Fraser  <simon.fraser@apple.com>
8257
8258        Fix the build with UNUSED_PARAM(frame) for when ENABLE(3D_RENDERING) is not defined.
8259
8260        * css/MediaQueryEvaluator.cpp:
8261        (WebCore::transform_3dMediaFeatureEval):
8262
82632009-07-23  Simon Fraser  <simon.fraser@apple.com>
8264
8265        Reviewed by Adele Peterson.
8266
8267        3d-transforms media query needs to look check that accelerated compositing is enabled
8268        https://bugs.webkit.org/show_bug.cgi?id=27621
8269
8270        When evaluating a media query with '-webkit-transform-3d', we need to check the
8271        runtime switch that toggles accererated compositing, and therefore 3D.
8272
8273        No test because we can't disable the pref dynamically in DRT.
8274
8275        * css/MediaQueryEvaluator.cpp:
8276        (WebCore::transform_3dMediaFeatureEval):
8277
82782009-07-22  Ryosuke Niwa  <rniwa@webkit.org>
8279
8280        Reviewed by Eric Seidel.
8281
8282        execCommand('underline') can't remove <U> underlines
8283        https://bugs.webkit.org/show_bug.cgi?id=20215
8284
8285        This patch adds support for u, s, and strike to implicitlyStyledElementShouldBeRemovedWhenApplyingStyle so that
8286        WebKit can remove those presentational tags when necessary.
8287        It also modifies StyleChange::init not to add "text-decoration: none".  Not only is this style meaningless
8288        (does not override inherited styles) but it was also causing WebKit to generate extra spans with this style.
8289
8290        * css/CSSValueList.cpp:
8291        (WebCore::CSSValueList::hasValue): True if the property contains the specified value
8292        * css/CSSValueList.h: Updated prototype
8293        * editing/ApplyStyleCommand.cpp:
8294        (WebCore::StyleChange::init): No longer adds "text-decoration: none"
8295        (WebCore::ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle): Supports text-decoration-related elements
8296
82972009-07-23  Jessie Berlin  <jberlin@apple.com>
8298
8299        Reviewed by Dan Bernstein.
8300
8301        https://bugs.webkit.org/show_bug.cgi?id=27554
8302        Expose the value of text-overflow in getComputedStyle.
8303
8304        Test: fast/css/getComputedStyle/getComputedStyle-text-overflow.html
8305
8306        * css/CSSComputedStyleDeclaration.cpp:
8307        (WebCore::):
8308        Add text-overflow to the list of computedProperties.
8309        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
8310        Return the value of the text-overflow property.
8311
83122009-07-23  Yongjun Zhang  <yongjun.zhang@nokia.com>
8313
8314        Reviewed by Simon Hausmann.
8315
8316        https://bugs.webkit.org/show_bug.cgi?id=27510
8317
8318        [S60 QtWebKit] Don't put some intermediate generated files into the final mmp project
8319        file for linking. This is a temporary workaround for qmake bug in Symbian port, should
8320        be reverted after qmake is fixed.
8321
8322        * WebCore.pro:
8323
83242009-07-23  Jian Li  <jianli@chromium.org>
8325
8326        Reviewed by David Levin.
8327
8328        [V8] Fix an assert in running workers in Chrome.
8329        https://bugs.webkit.org/show_bug.cgi?id=27620
8330
8331        The fix is to change V8DOMMap::removeAllDOMObjectsInCurrentThreadHelper
8332        to do not call removeObjectsFromWrapperMap for certain types of DOM
8333        objects that exist only in main thread.
8334
8335        * bindings/v8/V8DOMMap.cpp:
8336        (WebCore::removeAllDOMObjectsInCurrentThreadHelper):
8337
83382009-07-23  David Hyatt  <hyatt@apple.com>
8339
8340        Reviewed by Dan Bernstein.
8341
8342        https://bugs.webkit.org/show_bug.cgi?id=27572
8343        Implement support for background-attachment:local.
8344
8345        Added new test fast/overflow/overflow-with-local-attachment.html.
8346
8347        * css/CSSComputedStyleDeclaration.cpp:
8348        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
8349        * css/CSSParser.cpp:
8350        (WebCore::CSSParser::parseFillProperty):
8351        * css/CSSPrimitiveValueMappings.h:
8352        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
8353        (WebCore::CSSPrimitiveValue::operator EFillAttachment):
8354        * css/CSSStyleSelector.cpp:
8355        (WebCore::CSSStyleSelector::mapFillAttachment):
8356        * css/CSSValueKeywords.in:
8357        * rendering/RenderBoxModelObject.cpp:
8358        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
8359        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
8360        * rendering/style/FillLayer.h:
8361        (WebCore::FillLayer::attachment):
8362        (WebCore::FillLayer::setAttachment):
8363        (WebCore::FillLayer::hasFixedImage):
8364        (WebCore::FillLayer::initialFillAttachment):
8365        * rendering/style/RenderStyle.h:
8366        (WebCore::InheritedFlags::backgroundAttachment):
8367        (WebCore::InheritedFlags::maskAttachment):
8368        * rendering/style/RenderStyleConstants.h:
8369        (WebCore::):
8370
83712009-07-23  Ryosuke Niwa  <rniwa@webkit.org>
8372
8373        Reviewed by Eric Seidel.
8374
8375        copyInheritableProperties and removeComputedInheritablePropertiesFrom should be deprecated
8376        https://bugs.webkit.org/show_bug.cgi?id=27325
8377
8378        This patch deprecates copyInheritableProperties because it has been used for two different purposes:
8379        1.  Calculating the typing style.
8380        2.  Moving HTML subtrees and seeking to remove redundant styles.
8381        These tasks should be broken out into two separate functions.  New code should not use this function.
8382
8383        It deletes removeComputedInheritablePropertiesFrom because it hasn't been used anywhere.
8384
8385        There is no test since the patch does not change any behavior.
8386
8387        * css/CSSComputedStyleDeclaration.cpp: removeComputedInheritablePropertiesFrom has been removed
8388        (WebCore::CSSComputedStyleDeclaration::deprecatedCopyInheritableProperties): has been renamed from copyInheritableProperties
8389        * css/CSSComputedStyleDeclaration.h: ditto
8390        * editing/DeleteSelectionCommand.cpp: ditto
8391        (WebCore::removeEnclosingAnchorStyle): ditto
8392        (WebCore::DeleteSelectionCommand::saveTypingStyleState): ditto
8393        * editing/EditCommand.cpp: ditto
8394        (WebCore::EditCommand::styleAtPosition): ditto
8395        * editing/RemoveFormatCommand.cpp: ditto
8396        (WebCore::RemoveFormatCommand::doApply): ditto
8397        * editing/ReplaceSelectionCommand.cpp: ditto
8398        (WebCore::handleStyleSpansBeforeInsertion): ditto
8399        (WebCore::ReplaceSelectionCommand::handleStyleSpans): ditto
8400        * editing/markup.cpp: ditto
8401        (WebCore::removeEnclosingMailBlockquoteStyle): ditto
8402        (WebCore::removeDefaultStyles): ditto
8403        (WebCore::createMarkup): ditto
8404
84052009-07-22  Pierre d'Herbemont  <pdherbemont@apple.com>
8406
8407        Reviewed by Simon Fraser.
8408
8409        Audio element at default width shouldn't have time field.
8410        https://bugs.webkit.org/show_bug.cgi?id=27589
8411
8412        * rendering/MediaControlElements.cpp:
8413        (WebCore::MediaControlTimeDisplayElement::setVisible): Make sure we don't
8414        forget to remember the visibility if there is no renderer.
8415
84162009-07-23  Beth Dakin  <bdakin@apple.com>
8417
8418        Reviewed by Darin Adler.
8419
8420        Fix for https://bugs.webkit.org/show_bug.cgi?id=27598 Clean up the
8421        AccessibilityObject class
8422
8423        Mostly this is just moving empty stubs into the header rather than
8424        muddying the cpp file with them. A few functions were made pure
8425        virtual.
8426
8427        * accessibility/AccessibilityObject.cpp:
8428        (WebCore::AccessibilityObject::isARIAControl):
8429        (WebCore::AccessibilityObject::clickPoint):
8430        (WebCore::AccessibilityObject::documentFrameView):
8431        (WebCore::AccessibilityObject::actionVerb):
8432        * accessibility/AccessibilityObject.h:
8433        (WebCore::AccessibilityObject::intValue):
8434        (WebCore::AccessibilityObject::layoutCount):
8435        (WebCore::AccessibilityObject::doAccessibilityHitTest):
8436        (WebCore::AccessibilityObject::focusedUIElement):
8437        (WebCore::AccessibilityObject::firstChild):
8438        (WebCore::AccessibilityObject::lastChild):
8439        (WebCore::AccessibilityObject::previousSibling):
8440        (WebCore::AccessibilityObject::nextSibling):
8441        (WebCore::AccessibilityObject::parentObjectIfExists):
8442        (WebCore::AccessibilityObject::observableObject):
8443        (WebCore::AccessibilityObject::linkedUIElements):
8444        (WebCore::AccessibilityObject::titleUIElement):
8445        (WebCore::AccessibilityObject::ariaRoleAttribute):
8446        (WebCore::AccessibilityObject::isPresentationalChildOfAriaRole):
8447        (WebCore::AccessibilityObject::ariaRoleHasPresentationalChildren):
8448        (WebCore::AccessibilityObject::roleValue):
8449        (WebCore::AccessibilityObject::ariaAccessiblityName):
8450        (WebCore::AccessibilityObject::ariaLabeledByAttribute):
8451        (WebCore::AccessibilityObject::ariaDescribedByAttribute):
8452        (WebCore::AccessibilityObject::accessibilityDescription):
8453        (WebCore::AccessibilityObject::ariaSelectedTextDOMRange):
8454        (WebCore::AccessibilityObject::axObjectCache):
8455        (WebCore::AccessibilityObject::axObjectID):
8456        (WebCore::AccessibilityObject::setAXObjectID):
8457        (WebCore::AccessibilityObject::anchorElement):
8458        (WebCore::AccessibilityObject::actionElement):
8459        (WebCore::AccessibilityObject::boundingBoxRect):
8460        (WebCore::AccessibilityObject::selectedTextRange):
8461        (WebCore::AccessibilityObject::selectionStart):
8462        (WebCore::AccessibilityObject::selectionEnd):
8463        (WebCore::AccessibilityObject::url):
8464        (WebCore::AccessibilityObject::selection):
8465        (WebCore::AccessibilityObject::stringValue):
8466        (WebCore::AccessibilityObject::title):
8467        (WebCore::AccessibilityObject::helpText):
8468        (WebCore::AccessibilityObject::textUnderElement):
8469        (WebCore::AccessibilityObject::text):
8470        (WebCore::AccessibilityObject::textLength):
8471        (WebCore::AccessibilityObject::selectedText):
8472        (WebCore::AccessibilityObject::accessKey):
8473        (WebCore::AccessibilityObject::widget):
8474        (WebCore::AccessibilityObject::widgetForAttachmentView):
8475        (WebCore::AccessibilityObject::setFocused):
8476        (WebCore::AccessibilityObject::setSelectedText):
8477        (WebCore::AccessibilityObject::setSelectedTextRange):
8478        (WebCore::AccessibilityObject::setValue):
8479        (WebCore::AccessibilityObject::setSelected):
8480        (WebCore::AccessibilityObject::makeRangeVisible):
8481        (WebCore::AccessibilityObject::childrenChanged):
8482        (WebCore::AccessibilityObject::addChildren):
8483        (WebCore::AccessibilityObject::hasChildren):
8484        (WebCore::AccessibilityObject::selectedChildren):
8485        (WebCore::AccessibilityObject::visibleChildren):
8486        (WebCore::AccessibilityObject::visiblePositionRange):
8487        (WebCore::AccessibilityObject::visiblePositionRangeForLine):
8488        (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
8489        (WebCore::AccessibilityObject::setSelectedVisiblePositionRange):
8490        (WebCore::AccessibilityObject::visiblePositionForPoint):
8491        (WebCore::AccessibilityObject::nextVisiblePosition):
8492        (WebCore::AccessibilityObject::previousVisiblePosition):
8493        (WebCore::AccessibilityObject::visiblePositionForIndex):
8494        (WebCore::AccessibilityObject::indexForVisiblePosition):
8495        (WebCore::AccessibilityObject::index):
8496        (WebCore::AccessibilityObject::doAXRangeForLine):
8497        (WebCore::AccessibilityObject::doAXRangeForIndex):
8498        (WebCore::AccessibilityObject::doAXStringForRange):
8499        (WebCore::AccessibilityObject::doAXBoundsForRange):
8500        (WebCore::AccessibilityObject::updateBackingStore):
8501
85022009-07-23  Brian Weinstein  <bweinstein@apple.com>
8503
8504        Reviewed by David Hyatt.
8505
8506        Fix of <rdar://4877658> Dragging from the area between the horizontal/vertical scrollbars when status bar is showing starts a selection and autoscroll.
8507
8508        * page/EventHandler.cpp:
8509        (WebCore::EventHandler::handleMousePressEvent):
8510        * platform/ScrollView.cpp:
8511        (WebCore::ScrollView::wheelEvent):
8512        * platform/ScrollView.h:
8513
85142009-07-23  David Hyatt  <hyatt@apple.com>
8515
8516        Reviewed by Dan Bernstein.
8517
8518        https://bugs.webkit.org/show_bug.cgi?id=27581
8519        Drop the prefix from the box-shadow property.
8520
8521        * css/CSSComputedStyleDeclaration.cpp:
8522        (WebCore::):
8523        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
8524        * css/CSSParser.cpp:
8525        (WebCore::CSSParser::parseValue):
8526        (WebCore::ShadowParseContext::commitLength):
8527        (WebCore::cssPropertyID):
8528        * css/CSSPropertyNames.in:
8529        * css/CSSStyleSelector.cpp:
8530        (WebCore::CSSStyleSelector::applyProperty):
8531        * page/animation/AnimationBase.cpp:
8532        (WebCore::ensurePropertyMap):
8533
85342009-07-22  Viet-Trung Luu  <viettrungluu@gmail.com>
8535
8536        Reviewed by David Hyatt.
8537
8538        https://bugs.webkit.org/show_bug.cgi?id=27289
8539        When a mouse click occurs on a scrollbar without a preceding mouse move
8540        onto it, the release isn't handled correctly (since
8541        EventHandler::m_lastScrollbarUnderMouse isn't set on mouse down, but
8542        only on mouse move). (Side comment: That scrollbar-handling code
8543        in EventHandler is ugly. It should be fixed properly.)
8544
8545        Tests: scrollbars/scrollbar-miss-mousemove.html
8546               scrollbars/scrollbar-miss-mousemove-disabled.html
8547
8548        * page/EventHandler.cpp:
8549        (WebCore::EventHandler::handleMousePressEvent):
8550        (WebCore::EventHandler::handleMouseMoveEvent):
8551        (WebCore::EventHandler::updateLastScrollbarUnderMouse):
8552        * page/EventHandler.h:
8553
85542009-07-23  Mike Fenton  <mike.fenton@torchmobile.com>
8555
8556        Reviewed by David Levin.
8557
8558        Update WebCore/page/BarInfo.cpp to conform to WebKit
8559        Style Guidelines as identified by cpplint.py.
8560        https://bugs.webkit.org/show_bug.cgi?id=27606
8561
8562        * page/BarInfo.cpp:
8563        (WebCore::BarInfo::visible):
8564
85652009-07-23  Mike Fenton  <mike.fenton@torchmobile.com>
8566
8567        Reviewed by David Levin.
8568
8569        Update WebCore/page/Console.cpp to conform to WebKit
8570        Style Guidelines as identified by cpplint.py.
8571        https://bugs.webkit.org/show_bug.cgi?id=27606
8572
8573        * page/Console.cpp:
8574        (WebCore::printMessageSourceAndLevelPrefix):
8575        (WebCore::Console::profile):
8576        (WebCore::Console::time):
8577
85782009-07-23  Simon Hausmann  <simon.hausmann@nokia.com>
8579
8580        Reviewed by Holger Freyther.
8581
8582        Fix crashes with the QObject bindings after garbage collection.
8583
8584        There is one QtInstance per wrapped QObject, and that QtInstance keeps
8585        references to cached JSObjects for slots. When those objects get
8586        deleted due to GC, then they becoming dangling pointers.
8587
8588        When a cached member dies, it is now removed from the QtInstance's
8589        cache.
8590
8591        As we cannot track the lifetime of the children, we have to remove
8592        them from QtInstance alltogether. They are not cached and were
8593        only used for mark(), but we _want_ them to be subject to gc.
8594
8595        * bridge/qt/qt_instance.cpp:
8596        (JSC::Bindings::QtInstance::~QtInstance): Minor coding style cleanup,
8597        use qDeleteAll().
8598        (JSC::Bindings::QtInstance::removeCachedMethod): New function, to
8599        clean m_methods and m_defaultMethod.
8600        (JSC::Bindings::QtInstance::mark): Avoid marking already marked objects.
8601        (JSC::Bindings::QtField::valueFromInstance): Don't save children for
8602        marking.
8603        * bridge/qt/qt_instance.h: Declare removeCachedMethod.
8604        * bridge/qt/qt_runtime.cpp:
8605        (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod): Call removeCachedMethod
8606        with this on the instance.
8607
86082009-07-23  Xan Lopez  <xlopez@igalia.com>
8609
8610        Reviewed by Mark Rowe.
8611
8612        https://bugs.webkit.org/show_bug.cgi?id=27599
8613        'const unsigned' in return value
8614
8615        Remove const modifier from unsigned return value, as it does not
8616        make sense.
8617
8618        * dom/ErrorEvent.h:
8619
86202009-07-22  Jens Alfke  <snej@chromium.org>
8621
8622        Reviewed by David Levin.
8623
8624        Bug 22784: Improve keyboard navigation of Select elements.
8625        Home/End and PageUp/PageDn buttons do not do anything in drop down lists,
8626        on non-Mac platforms.
8627        https://bugs.webkit.org/show_bug.cgi?id=22784
8628        http://code.google.com/p/chromium/issues/detail?id=4576
8629
8630        New test: LayoutTests/fast/forms/select-popup-pagekeys.html
8631
8632        * dom/SelectElement.cpp:
8633        (WebCore::nextValidIndex):
8634        New utility fn for traversing items of a select's list.
8635        (WebCore::SelectElement::menuListDefaultEventHandler):
8636        Added code to handle Home/End and PageUp/PageDn when ARROW_KEYS_POP_MENU is false.
8637
86382009-07-23  Xan Lopez  <xlopez@igalia.com>
8639
8640        Reviewed by Mark Rowe.
8641
8642        Fix a couple of compiler warnings.
8643
8644        * platform/graphics/cairo/ImageBufferCairo.cpp:
8645        (copySurface):
8646        * platform/graphics/gtk/SimpleFontDataGtk.cpp:
8647        (WebCore::SimpleFontData::containsCharacters):
8648
86492009-07-22  Simon Hausmann  <simon.hausmann@nokia.com>
8650
8651        Rubber-stamped by David Levin.
8652
8653        Enable HTML5 Datagrid defines for the Qt build.
8654
8655        * WebCore.pro:
8656
86572009-07-22  Adam Barth  <abarth@webkit.org>
8658
8659        Reviewed by David Levin.
8660
8661        [V8] Make Node wrappers go fast
8662        https://bugs.webkit.org/show_bug.cgi?id=27597
8663
8664        Profiles indicate we're spending a lot of time asking whether we're on
8665        the main thread when looking up DOM wrappers for Nodes, but there isn't
8666        much point in doing that work because Nodes only exist on the main
8667        thread.  I've also added an assert to keep us honest in this regard.
8668
8669        * bindings/v8/V8DOMMap.cpp:
8670        (WebCore::):
8671        (WebCore::getDOMNodeMap):
8672        (WebCore::DOMData::getCurrent):
8673        (WebCore::DOMData::getCurrentMainThread):
8674
86752009-07-22  Adam Barth  <abarth@webkit.org>
8676
8677        Reviewed by Alexey Proskuryakov.
8678
8679        Remove unneeded virtual destructor from ScriptSourceProvider
8680        https://bugs.webkit.org/show_bug.cgi?id=27563
8681
8682        * bindings/js/ScriptSourceProvider.h:
8683
86842009-07-22  Ryosuke Niwa  <rniwa@webkit.org>
8685
8686        Reviewed by Eric Seidel.
8687
8688        execCommand('underline' / 'strikeThrough') doesn't work properly with multiple styles in text-decoration
8689        https://bugs.webkit.org/show_bug.cgi?id=27476
8690
8691        executeStrikethrough and executeUnderline were toggling between "line-through" / "underline" and "none".
8692        This patch adds executeToggleStyleInList that toggles a style in CSSValueList instead of toggling the entire value.
8693        It modifies CSSComputedStyleDeclaration to return CSSValueList instead of CSSPrimitiveValue for text decorations,
8694        and adds removeAll member function to CSSValueList.
8695
8696        Tests: editing/execCommand/toggle-text-decorations.html
8697               fast/css/getComputedStyle/getComputedStyle-text-decoration.html
8698
8699        * css/CSSComputedStyleDeclaration.cpp:
8700        (WebCore::renderTextDecorationFlagsToCSSValue): Creates a CSSValueList
8701        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Returns a CSSValueList instead of CSSValue
8702        * css/CSSParser.cpp:
8703        (WebCore::CSSParser::parseValue): Text decorations are space separated instead of comma separated
8704        * css/CSSValueList.cpp:
8705        (WebCore::CSSValueList::removeAll): Removes all values that match the specified value
8706        * css/CSSValueList.h:
8707        * editing/EditorCommand.cpp:
8708        (WebCore::applyCommandToFrame): Apply style to a frame using specified command
8709        (WebCore::executeApplyStyle): Uses applyCommandToFrame
8710        (WebCore::executeToggleStyleInList): Uses applyCommandToFrame
8711        (WebCore::executeToggleStyle): Toggles a style in CSSValueList
8712        (WebCore::executeStrikethrough): Uses executeToggleStyleInList
8713        (WebCore::executeUnderline): Uses executeToggleStyleInList
8714
87152009-07-22  Daniel Bates  <dbates@intudata.com>
8716
8717        Reviewed by Adam Barth.
8718
8719        https://bugs.webkit.org/show_bug.cgi?id=27174
8720        And
8721        https://bugs.webkit.org/show_bug.cgi?id=26938
8722
8723        Code cleanup. Implements support for detecting attacks transformed by
8724        PHP Magic Quotes/PHP addslashes().
8725
8726        Tests: http/tests/security/xssAuditor/script-tag-addslashes-backslash.html
8727               http/tests/security/xssAuditor/script-tag-addslashes-double-quote.html
8728               http/tests/security/xssAuditor/script-tag-addslashes-null-char.html
8729               http/tests/security/xssAuditor/script-tag-addslashes-single-quote.html
8730
8731        * page/XSSAuditor.cpp:
8732        (WebCore::isInvalidCharacter):
8733        (WebCore::XSSAuditor::canEvaluate):
8734        (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
8735        (WebCore::XSSAuditor::canLoadObject):
8736        (WebCore::XSSAuditor::normalize): Decodes HTML entities, removes backslashes,
8737        and removes control characters that could otherwise cause a discrepancy between
8738        the source code of a script and the outgoing HTTP parameters.
8739        (WebCore::XSSAuditor::decodeURL):
8740        (WebCore::XSSAuditor::decodeHTMLEntities):
8741        (WebCore::XSSAuditor::findInRequest):
8742        * page/XSSAuditor.h:
8743
87442009-07-22  Oliver Hunt  <oliver@apple.com>
8745
8746        Reviewed by Adele Peterson.
8747
8748        Null deref in JSObject::mark due to null xhr wrapper
8749        https://bugs.webkit.org/show_bug.cgi?id=27565
8750
8751        Make event target binding for appcache and xhr behave in the same way as
8752        it does for all other events.
8753
8754        No test as I couldn't make a testcase which was remotely reliable.
8755
8756        * bindings/js/JSEventTarget.cpp:
8757        (WebCore::toJS):
8758
87592009-07-22  Mads Ager  <ager@chromium.org>
8760
8761        Reviewed by David Levin.
8762
8763        Inform V8 of the amount of WebCore string memory it is keeping alive.
8764        https://bugs.webkit.org/show_bug.cgi?id=27537
8765
8766        V8 uses external strings that are backed by WebCore strings. Since
8767        the external strings themselves are small, V8 has no way of
8768        knowing how much memory it is actually holding on to. With this
8769        change, we inform V8 of the amount of WebCore string data it is
8770        holding on to with external strings.
8771
8772        * bindings/v8/V8Binding.cpp:
8773        (WebCore::WebCoreStringResource::WebCoreStringResource):
8774        (WebCore::WebCoreStringResource::~WebCoreStringResource):
8775
87762009-07-22  David Hyatt  <hyatt@apple.com>
8777
8778        Reviewed by Beth Dakin.
8779
8780        https://bugs.webkit.org/show_bug.cgi?id=27562
8781        Add the finalized versions of background-clip and background-origin.  Remove background-clip from
8782        the background shorthand and have it be auto-set based off background-origin's value.
8783
8784        Three new tests added in fast/backgrounds/size
8785
8786        * css/CSSComputedStyleDeclaration.cpp:
8787        (WebCore::):
8788        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
8789        * css/CSSMutableStyleDeclaration.cpp:
8790        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
8791        * css/CSSParser.cpp:
8792        (WebCore::CSSParser::parseValue):
8793        (WebCore::CSSParser::parseFillShorthand):
8794        (WebCore::CSSParser::parseFillProperty):
8795        * css/CSSPropertyLonghand.cpp:
8796        (WebCore::initShorthandMap):
8797        * css/CSSPropertyNames.in:
8798        * css/CSSStyleSelector.cpp:
8799        (WebCore::CSSStyleSelector::applyProperty):
8800        * css/CSSValueKeywords.in:
8801
88022009-07-22  Jens Alfke  <snej@chromium.org>
8803
8804        Reviewed by Darin Fisher.
8805
8806        Hook up V8 bindings for DataGrid elements.
8807        https://bugs.webkit.org/show_bug.cgi?id=27383
8808        http://code.google.com/p/chromium/issues/detail?id=16730
8809
8810        Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/*
8811        to handle exceptions, check appropriate JS prototypes, and
8812        test column-list's item() method as well as array-indexing.
8813
8814        * WebCore.gypi: Added new source files.
8815        * bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes.
8816        * bindings/v8/DOMObjectsInclude.h: #include DataGrid headers.
8817        * bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates.
8818        (WebCore::V8DOMWrapper::getTemplate): Customize datagrid template.
8819        * bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource)
8820        (WebCore::V8DataGridDataSource::V8DataGridDataSource):
8821        (WebCore::V8DataGridDataSource::~V8DataGridDataSource):
8822        * bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource)
8823        (WebCore::V8DataGridDataSource::create):
8824        (WebCore::V8DataGridDataSource::isJSDataGridDataSource):
8825        (WebCore::V8DataGridDataSource::jsDataSource):
8826        (WebCore::asV8DataGridDataSource):
8827        * bindings/v8/V8GCController.h: Added new handle type "DATASOURCE".
8828        * bindings/v8/V8Index.h: Conditionalize datagrid stuff.
8829        * bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize.
8830        * bindings/v8/custom/V8DataGridColumnListCustom.cpp: Added.
8831        * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors.
8832        (WebCore::ACCESSOR_GETTER):
8833        (WebCore::ACCESSOR_SETTER):
8834
88352009-07-22  Ryosuke Niwa  <rniwa@webkit.org>
8836
8837        Reviewed by Eric Seidel.
8838
8839        pushDownTextDecorationStyleAroundNode needs clean up
8840        https://bugs.webkit.org/show_bug.cgi?id=27556
8841
8842        Cleaned up. pushDownTextDecorationStyleAroundNode traverses tree vertically from highestAncestor to targetNode
8843        While traversing, it will apply the specified style to all nodes but targetNode.
8844        i.e. the style is applies to all ancestor nodes and their siblings of targetNode.
8845
8846        * editing/ApplyStyleCommand.cpp:
8847        (WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode): Cleaned up and added comments
8848        * editing/ApplyStyleCommand.h: Updated prototype
8849
88502009-07-22  Peter Kasting  <pkasting@google.com>
8851
8852        Reviewed by David Kilzer.
8853
8854        https://bugs.webkit.org/show_bug.cgi?id=27323
8855        Handle any type of line endings in WebCore/css/*CSSPropertyNames.in.
8856
8857        * DerivedSources.make:
8858        * css/makeprop.pl:
8859        * css/makevalues.pl:
8860
88612009-07-22  Paul Godavari  <paul@chromium.org>
8862
8863        Reviewed by Darin Fisher.
8864
8865        Chromium has a build break after removal of JSRGBColor bindings
8866        https://bugs.webkit.org/show_bug.cgi?id=27548
8867
8868        Fix a build break in Chromium V8 after the JSRGBColor bindings change:
8869        https://bugs.webkit.org/show_bug.cgi?id=27242
8870
8871        * bindings/scripts/CodeGeneratorV8.pm:
8872
88732009-07-22  Adam Langley  <agl@google.com>
8874
8875        Reviewed by Darin Fisher.
8876
8877        Chromium Linux: add static functions to FontPlatformData which allow
8878        for setting the global font rendering preferences.
8879
8880        https://bugs.webkit.org/show_bug.cgi?id=27513
8881        http://code.google.com/p/chromium/issues/detail?id=12179
8882
8883        This should not affect any layout tests.
8884
8885        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
8886        (WebCore::FontPlatformData::setHinting):
8887        (WebCore::FontPlatformData::setAntiAlias):
8888        (WebCore::FontPlatformData::setSubpixelGlyphs):
8889        (WebCore::FontPlatformData::setupPaint):
8890        * platform/graphics/chromium/FontPlatformDataLinux.h:
8891
88922009-07-22  Mikhail Naganov  <mnaganov@chromium.org>
8893
8894        Reviewed by Timothy Hatcher.
8895
8896        Move Inspector panels creation into a function to make possible introducing
8897        custom panels.
8898
8899        * inspector/front-end/inspector.js:
8900        (WebInspector._createPanels):
8901        (WebInspector.loaded):
8902
89032009-07-22  Pavel Feldman  <pfeldman@chromium.org>
8904
8905        Reviewed by Timothy Hatcher.
8906
8907        WebInspector: Print console command message upon evaluate
8908        selection request; Handle errors in evaluation request
8909        properly.
8910
8911        https://bugs.webkit.org/show_bug.cgi?id=27535
8912
8913        * inspector/front-end/ScriptsPanel.js:
8914        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
8915        * inspector/front-end/SourceFrame.js:
8916        (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
8917
89182009-07-22  Xan Lopez  <xlopez@igalia.com>
8919
8920        Attempt to fix the GTK+ build.
8921
8922        * GNUmakefile.am:
8923
89242009-07-21  Simon Hausmann  <simon.hausmann@nokia.com>
8925
8926        Fix the Qt build.
8927
8928        * WebCore.pro: Add RGBColor.cpp to the build, remove JSRGBColor.
8929
89302009-07-21  Daniel Bates  <dbates@intudata.com>
8931
8932        Reviewed by Adam Barth.
8933
8934        https://bugs.webkit.org/show_bug.cgi?id=27494
8935
8936        Fixes an issue that can cause a crash or unexpected behavior when calling
8937        WebCore::ScriptSourceCode::source on a cached script.
8938
8939        * GNUmakefile.am:
8940        * WebCore.gypi:
8941        * WebCore.pro:
8942        * WebCore.vcproj/WebCore.vcproj:
8943        * WebCore.xcodeproj/project.pbxproj:
8944        * bindings/js/CachedScriptSourceProvider.h: Modified to inherit from
8945        WebCore::ScriptSourceCode.
8946        (WebCore::CachedScriptSourceProvider::source):
8947        (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
8948        * bindings/js/ScriptSourceCode.h:
8949        (WebCore::ScriptSourceCode::ScriptSourceCode): Separated out source provider and
8950        rewrote to use WebCore::ScriptSourceProvider.
8951        (WebCore::ScriptSourceCode::source):
8952        * bindings/js/ScriptSourceProvider.h: Added.
8953        (WebCore::ScriptSourceProvider::ScriptSourceProvider):
8954        (WebCore::ScriptSourceProvider::~ScriptSourceProvider):
8955        * bindings/js/StringSourceProvider.h: Modified to inherit from
8956        WebCore::ScriptSourceCode.
8957        (WebCore::StringSourceProvider::StringSourceProvider):
8958
89592009-07-21  Sam Weinig  <sam@webkit.org>
8960
8961        Another attempt to fix the Windows build.
8962
8963        * WebCore.vcproj/WebCore.vcproj:
8964
89652009-07-21  Sam Weinig  <sam@webkit.org>
8966
8967        Attempt to fix the Windows build.
8968
8969        * DerivedSources.cpp:
8970
89712009-07-21  Sam Weinig  <sam@webkit.org>
8972
8973        Attempt to fix the GTK build.
8974
8975        * GNUmakefile.am:
8976
89772009-07-21  Sam Weinig  <sam@webkit.org>
8978
8979        Reviewed by Dan Bernstein.
8980
8981        Autogenerate Objective-C binding implementation for RGBColor.
8982
8983        No functionality change.
8984
8985        * WebCore.xcodeproj/project.pbxproj:
8986        * bindings/objc/DOMRGBColor.mm: Removed.
8987        * bindings/scripts/CodeGeneratorObjC.pm: Add logic to convert from
8988        WebCore::Color to NSColor*.
8989        * css/RGBColor.idl:
8990
89912009-07-21  Sam Weinig  <sam@webkit.org>
8992
8993        Reviewed by Dan Bernstein.
8994
8995        Fix for https://bugs.webkit.org/show_bug.cgi?id=27242
8996        JSC bindings should use an auto-bound RGBColor class instead of hand-rolled JSRGBColor
8997
8998        Move the JSC and Objective-C bindings onto using the RGBColor object instead
8999        of just an unsigned int. The JSC bindings are now completely autogenerated for
9000        this class. (Also removes the last lut from WebCore).
9001
9002        * DerivedSources.make:
9003        * GNUmakefile.am:
9004        * WebCore.pro:
9005        * WebCore.vcproj/WebCore.vcproj:
9006        * WebCore.xcodeproj/project.pbxproj:
9007        * WebCoreSources.bkl:
9008        * bindings/js/JSRGBColor.cpp: Removed.
9009        * bindings/js/JSRGBColor.h: Removed.
9010        * bindings/objc/DOM.mm:
9011        (-[DOMRGBColor _color]):
9012        * bindings/objc/DOMRGBColor.mm:
9013        (-[DOMRGBColor dealloc]):
9014        (-[DOMRGBColor finalize]):
9015        (-[DOMRGBColor red]):
9016        (-[DOMRGBColor green]):
9017        (-[DOMRGBColor blue]):
9018        (-[DOMRGBColor alpha]):
9019        (-[DOMRGBColor color]):
9020        * bindings/scripts/CodeGenerator.pm:
9021        * bindings/scripts/CodeGeneratorJS.pm:
9022        * bindings/scripts/CodeGeneratorObjC.pm:
9023        * css/CSSParser.cpp:
9024        (WebCore::CSSParser::parseColor):
9025        * css/CSSPrimitiveValue.cpp:
9026        (WebCore::CSSPrimitiveValue::getRGBColorValue):
9027        * css/CSSPrimitiveValue.h:
9028        (WebCore::CSSPrimitiveValue::getRGBA32Value):
9029        * css/CSSStyleSelector.cpp:
9030        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
9031        * css/RGBColor.cpp:
9032        (WebCore::RGBColor::alpha):
9033        * css/RGBColor.h:
9034        (WebCore::RGBColor::color):
9035        (WebCore::RGBColor::RGBColor):
9036        * css/RGBColor.idl:
9037        * page/DOMWindow.idl:
9038        * svg/SVGColor.cpp:
9039        (WebCore::SVGColor::rgbColor):
9040        * svg/SVGColor.h:
9041
90422009-07-21  Jian Li  <jianli@chromium.org>
9043
9044        Reviewed by David Levin.
9045
9046        Implement AbstractWorker::dispatchScriptErrorEvent by generating an ErrorEvent.
9047        https://bugs.webkit.org/show_bug.cgi?id=27515
9048
9049        * workers/AbstractWorker.cpp:
9050        (WebCore::AbstractWorker::dispatchScriptErrorEvent):
9051
90522009-07-21  Eric Seidel  <eric@webkit.org>
9053
9054        Reviewed by Adam Barth.
9055
9056        Move m_context out of generator into a superclass
9057        https://bugs.webkit.org/show_bug.cgi?id=27521
9058
9059        Mostly this is removing code from CodeGeneratorJS
9060        and instead using a DOMObjectWithSVGContext superclass in JSDOMBinding.h.
9061
9062        DOMObjectWithSVGContext.h is its own file so that WebKit doesn't need to
9063        know about SVGElement.h (WebKit includes JSDOMBinding.h for some reason).
9064
9065        I also removed context pointer from SVGZoomEvent since it was never used.
9066
9067        * WebCore.gypi:
9068        * WebCore.pro:
9069        * WebCore.vcproj/WebCore.vcproj:
9070        * WebCore.xcodeproj/project.pbxproj:
9071        * bindings/js/DOMObjectWithSVGContext.h: Added.
9072        (WebCore::DOMObjectWithSVGContext::context):
9073        (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext):
9074        * bindings/js/JSDOMBinding.h:
9075        * bindings/js/JSEventCustom.cpp:
9076        (WebCore::toJS):
9077        * bindings/scripts/CodeGeneratorJS.pm:
9078
90792009-07-21  Ryosuke Niwa  <rniwa@webkit.org>
9080
9081        Reviewed by Eric Seidel.
9082
9083        REGRESSION (r46142):  editing/execCommand/19087.html & editing/execCommand/19653-1.html fail in Windows build
9084        https://bugs.webkit.org/show_bug.cgi?id=27480
9085
9086        Because m_anchorType : 2 is treated as a signed integer by cl.exe, anchorType() wasn't returning the correct value.
9087        We made m_anchorType unsigned so that anchorType() returns the correct value.
9088
9089        * dom/Position.h:
9090        (WebCore::Position::anchorType): statically cast to AnchorType
9091
90922009-07-21  Jian Li  <jianli@chromium.org>
9093
9094        Reviewed by David Levin.
9095
9096        [V8] Add V8 bindings for onerror in WorkerContext.
9097        https://bugs.webkit.org/show_bug.cgi?id=27518
9098
9099        * bindings/v8/custom/V8CustomBinding.h:
9100        * bindings/v8/custom/V8WorkerContextCustom.cpp:
9101        (WebCore::ACCESSOR_GETTER):
9102        (WebCore::ACCESSOR_SETTER):
9103
91042009-07-21  Jian Li  <jianli@chromium.org>
9105
9106        Fix the incorrect patch being landed for bug 27516 that has already been reviewed.
9107        https://bugs.webkit.org/show_bug.cgi?id=27516
9108
9109        * workers/WorkerContext.h:
9110        (WebCore::WorkerContext::setOnerror):
9111        (WebCore::WorkerContext::onerror):
9112        * workers/WorkerContext.idl:
9113
91142009-07-21  Jian Li  <jianli@chromium.org>
9115
9116        Reviewed by David Levin.
9117
9118        Add onerror to WorkerContext.
9119        https://bugs.webkit.org/show_bug.cgi?id=27516
9120
9121        * bindings/js/JSWorkerContextCustom.cpp:
9122        (WebCore::JSWorkerContext::mark):
9123        * workers/WorkerContext.h:
9124        (WebCore::WorkerContext::setOnerror):
9125        (WebCore::WorkerContext::onerror):
9126        * workers/WorkerContext.idl:
9127
91282009-07-21  Yong Li  <yong.li@torchmobile.com>
9129
9130        Reviewed by George Staikos.
9131
9132        https://bugs.webkit.org/show_bug.cgi?id=27509
9133        Add font-related files for the WinCE port.
9134
9135        Written by Yong Li <yong.li@torchmobile.com>
9136
9137        * platform/graphics/wince/FontCacheWince.cpp: Added.
9138        * platform/graphics/wince/FontCustomPlatformData.cpp: Added.
9139        * platform/graphics/wince/FontCustomPlatformData.h: Added.
9140        * platform/graphics/wince/FontPlatformData.cpp: Added.
9141        * platform/graphics/wince/FontPlatformData.h: Added.
9142        * platform/graphics/wince/FontWince.cpp: Added.
9143        * platform/graphics/wince/GlyphPageTreeNodeWince.cpp: Added.
9144        * platform/graphics/wince/SimpleFontDataWince.cpp: Added.
9145
91462009-07-21  Kevin Ollivier  <kevino@theolliviers.com>
9147
9148        Fix the Windows build, and update the comment on top now that wx uses WebCorePrefix.h too.
9149
9150        * WebCorePrefix.h:
9151
91522009-07-21  Kevin Ollivier  <kevino@theolliviers.com>
9153
9154        WebCorePrefix.h build fixes for non-Mac and wx / CURL builds.
9155
9156        * WebCorePrefix.h:
9157
91582009-07-21  Eric Seidel  <eric@webkit.org>
9159
9160        Reviewed by Adam Barth.
9161
9162        All DOMConstructorObjects should hold a pointer to the JSDOMGlobalObject
9163        https://bugs.webkit.org/show_bug.cgi?id=27478
9164
9165        This is just moving code.
9166        I've added two new classes: DOMObjectWithGlobalPointer and DOMConstructorWithDocument.
9167
9168        DOMObjectWithGlobalPointer is a new baseclass for DOMConstructorObject.
9169        (It's a baseclass because eventually all DOMObjects will have a global pointer, but
9170        I'll be moving them onto DOMObjectWithGlobalPointer in stages.)
9171
9172        DOMConstructorWithDocument is a new baseclass for the 3 constructor objects
9173        which require a backpointer to the Document to function.  I made this a subclass of
9174        DOMConstructorObject to make clear that most constructors can hold no-such assumptions
9175        about having a back-pointer to the Document (since many constructors can be used from Workers).
9176
9177        * bindings/js/JSAudioConstructor.cpp:
9178        (WebCore::JSAudioConstructor::JSAudioConstructor):
9179        * bindings/js/JSAudioConstructor.h:
9180        * bindings/js/JSDOMBinding.h:
9181        (WebCore::DOMObjectWithGlobalPointer::globalObject):
9182        (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext):
9183        (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
9184        (WebCore::DOMObjectWithGlobalPointer::mark):
9185        (WebCore::DOMConstructorObject::DOMConstructorObject):
9186        (WebCore::DOMConstructorWithDocument::document):
9187        (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
9188        * bindings/js/JSImageConstructor.cpp:
9189        (WebCore::JSImageConstructor::JSImageConstructor):
9190        * bindings/js/JSImageConstructor.h:
9191        * bindings/js/JSMessageChannelConstructor.cpp:
9192        (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
9193        * bindings/js/JSMessageChannelConstructor.h:
9194        * bindings/js/JSOptionConstructor.cpp:
9195        (WebCore::JSOptionConstructor::JSOptionConstructor):
9196        * bindings/js/JSOptionConstructor.h:
9197        * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
9198        (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
9199        * bindings/js/JSWebKitPointConstructor.cpp:
9200        (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
9201        * bindings/js/JSWorkerConstructor.cpp:
9202        (WebCore::JSWorkerConstructor::JSWorkerConstructor):
9203        * bindings/js/JSXMLHttpRequestConstructor.cpp:
9204        (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
9205        * bindings/js/JSXMLHttpRequestConstructor.h:
9206        * bindings/js/JSXSLTProcessorConstructor.cpp:
9207        (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
9208
92092009-07-21  James Hawkins  <jhawkins@google.com>
9210
9211        Reviewed by David Hyatt.
9212
9213        https://bugs.webkit.org/show_bug.cgi?id=27453
9214        Initialize isInt when creating a CSSParserValue for a function.
9215
9216        No change in behavior, so no tests.
9217
9218        * css/CSSFunctionValue.cpp:
9219        (WebCore::CSSFunctionValue::parserValue):
9220
92212009-07-20  Jens Alfke  <snej@google.com>
9222
9223         Reviewed by David Levin.
9224
9225         Bug 27448: [Chromium] On Mac, arrow keys should cause Select to pop up its menu.
9226         Mac build of Chromium doesn't follow Mac HI guidelines to pop up the menu when
9227         an arrow key is pressed.
9228         https://bugs.webkit.org/show_bug.cgi?id=27448
9229
9230         No new tests; affects only control response to user input.
9231
9232         * dom/SelectElement.cpp:
9233         Changed definition of ARROW_KEYS_POP_MENU to make it true in Mac Chromium,
9234         so it will behave compatibly with Mac HI guidelines on pop-up menus.
9235         It's not possible to have PLATFORM(MAC) be true in the Mac build of Chromium.
9236
92372009-07-21  Paul Godavari  <paul@chromium.org>
9238
9239        Reviewed by Eric Seidel.
9240
9241        [Chromium] popup menus can crash when the selected index is -1
9242        https://bugs.webkit.org/show_bug.cgi?id=27275
9243
9244        Crash reports from users indicate a crash can occur when PopupListBox::isSelectableItem
9245        is passed an index of less than 0 (which is possible under certain circumstances). This
9246        change prevents such a value from causing a crash by enforcing valid index values passed
9247        by all callers of isSelectableItem. isSelectableItem is now a private method of
9248        PopupListBox, as there are no external callers.
9249
9250        Also cleaned up a small amount of code for style and grammar errors.
9251
9252        No automatic test is provided since we cannot send events to the child window used by
9253        the popup menu.
9254
9255        * platform/chromium/PopupMenuChromium.cpp:
9256        (WebCore::PopupListBox::acceptIndex):
9257        (WebCore::PopupListBox::selectIndex):
9258        (WebCore::PopupListBox::isSelectableItem):
9259        (WebCore::PopupListBox::selectPreviousRow):
9260
92612009-07-21  Kevin Ollivier  <kevino@theolliviers.com>
9262
9263        wx build fix. Don't include winsock2.h on wx, it conflicts with wx's inclusion of winsock.
9264
9265        * platform/network/curl/ResourceHandleManager.h:
9266
92672009-07-21  Adam Roben  <aroben@apple.com>
9268
9269        Roll out r46153, r46154, and r46155
9270
9271        These changes were causing build failures and assertion failures on
9272        Windows.
9273
9274        * ForwardingHeaders/wtf/PossiblyNull.h: Removed.
9275        * platform/graphics/cg/ImageBufferCG.cpp:
9276
92772009-07-21  Jian Li  <jianli@chromium.org>
9278
9279        Reviewed by Eric Seidel.
9280
9281        Implement ErrorEvent API.
9282        https://bugs.webkit.org/show_bug.cgi?id=27387
9283
9284        * DerivedSources.cpp:
9285        * DerivedSources.make:
9286        * GNUmakefile.am:
9287        * WebCore.gypi:
9288        * WebCore.pro:
9289        * WebCore.vcproj/WebCore.vcproj:
9290        * WebCore.xcodeproj/project.pbxproj:
9291        * WebCoreSources.bkl:
9292        * bindings/js/JSEventCustom.cpp:
9293        (WebCore::toJS):
9294        * dom/ErrorEvent.cpp: Added.
9295        * dom/ErrorEvent.h: Added.
9296        * dom/ErrorEvent.idl: Added.
9297        * dom/Event.cpp:
9298        (WebCore::Event::isErrorEvent):
9299        * dom/Event.h:
9300
93012009-07-21  Priit Laes  <plaes@plaes.org>
9302
9303        Reviewed by Gustavo Noronha.
9304
9305        [Gtk] Searching in thepiratebay.org doesn't work with more than 1 word
9306        https://bugs.webkit.org/show_bug.cgi?id=24602
9307
9308        Remove workaround required for <=libsoup-2.26.1
9309
9310        * platform/network/soup/ResourceHandleSoup.cpp:
9311        (WebCore::restartedCallback):
9312
93132009-07-21  Adam Barth  <abarth@webkit.org>
9314
9315        Reviewed by David Levin.
9316
9317        V8IsolatedWorld keeps a handle to a disposed context
9318        https://bugs.webkit.org/show_bug.cgi?id=27397
9319
9320        Make a copy of the context handle before making it weak.  We don't want
9321        to make the original handle weak because we want it to survive for the
9322        length of the V8IsolatedWorld::evaluate method.
9323
9324        * bindings/v8/V8IsolatedWorld.cpp:
9325        (WebCore::V8IsolatedWorld::V8IsolatedWorld):
9326
93272009-07-21  Pavel Feldman  <pfeldman@chromium.org>
9328
9329        Reviewed by Timothy Hatcher.
9330
9331        Web Inspector: Add ability to evaluate selection while on break point.
9332
9333        https://bugs.webkit.org/show_bug.cgi?id=27502
9334
9335        * inspector/front-end/SourceFrame.js:
9336        (WebInspector.SourceFrame.prototype._loaded):
9337        (WebInspector.SourceFrame.prototype._documentKeyDown):
9338
93392009-07-21  Pavel Feldman  <pfeldman@chromium.org>
9340
9341        Reviewed by Timothy Hatcher.
9342
9343        WebInspector: Special case ConsolePanel opening since
9344        it is a 'fast view'.
9345
9346        https://bugs.webkit.org/show_bug.cgi?id=27493
9347
9348        * inspector/InspectorController.cpp:
9349        (WebCore::InspectorController::setWindowVisible):
9350
93512009-07-20  Kenneth Rohde Christiansen  <kenneth@webkit.org>
9352
9353        Reviewed by Eric Seidel.
9354
9355        Fix Qt code to follow the WebKit Coding Style.
9356
9357        * platform/graphics/qt/FontQt.cpp:
9358        (WebCore::qstring):
9359        (WebCore::fixSpacing):
9360        * platform/graphics/qt/FontQt43.cpp:
9361        (WebCore::generateComponents):
9362        (WebCore::Font::offsetForPositionForComplexText):
9363        (WebCore::cursorToX):
9364        * platform/graphics/qt/GradientQt.cpp:
9365        (WebCore::Gradient::platformGradient):
9366        * platform/graphics/qt/GraphicsContextQt.cpp:
9367        (WebCore::toQtFillRule):
9368        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
9369        (WebCore::GraphicsContext::~GraphicsContext):
9370        (WebCore::GraphicsContext::getCTM):
9371        (WebCore::GraphicsContext::concatCTM):
9372        (WebCore::GraphicsContext::getWindowsContext):
9373        * platform/graphics/qt/IconQt.cpp:
9374        (WebCore::Icon::paint):
9375        * platform/graphics/qt/ImageDecoderQt.cpp:
9376        (WebCore::ImageDecoderQt::ReadContext::read):
9377        (WebCore::ImageDecoderQt::ReadContext::readImageLines):
9378        (WebCore::ImageDecoderQt::setData):
9379        * platform/graphics/qt/ImageQt.cpp:
9380        (WebCore::Image::drawPattern):
9381        (WebCore::BitmapImage::draw):
9382        * platform/graphics/qt/ImageSourceQt.cpp:
9383        (WebCore::ImageSource::frameDurationAtIndex):
9384        (WebCore::ImageSource::frameHasAlphaAtIndex):
9385        (WebCore::ImageSource::frameIsCompleteAtIndex):
9386        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
9387        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
9388        (WebCore::MediaPlayerPrivate::create):
9389        (WebCore::MediaPlayerPrivate::bytesLoaded):
9390        (WebCore::MediaPlayerPrivate::updateStates):
9391        * platform/graphics/qt/PathQt.cpp:
9392        (WebCore::Path::addArcTo):
9393        (WebCore::Path::isEmpty):
9394        * platform/graphics/qt/TransformationMatrixQt.cpp:
9395        (WebCore::TransformationMatrix::operator QTransform):
9396        * platform/qt/ClipboardQt.cpp:
9397        (WebCore::ClipboardQt::ClipboardQt):
9398        (WebCore::ClipboardQt::clearData):
9399        (WebCore::ClipboardQt::clearAllData):
9400        (WebCore::ClipboardQt::getData):
9401        (WebCore::ClipboardQt::setData):
9402        (WebCore::ClipboardQt::setDragImage):
9403        (WebCore::getCachedImage):
9404        (WebCore::ClipboardQt::declareAndWriteDragImage):
9405        (WebCore::ClipboardQt::writeURL):
9406        (WebCore::ClipboardQt::writeRange):
9407        (WebCore::ClipboardQt::hasData):
9408        * platform/qt/ClipboardQt.h:
9409        * platform/qt/ContextMenuItemQt.cpp:
9410        (WebCore::ContextMenuItem::action):
9411        (WebCore::ContextMenuItem::title):
9412        * platform/qt/CursorQt.cpp:
9413        (WebCore::westPanningCursor):
9414        (WebCore::notAllowedCursor):
9415        * platform/qt/DragDataQt.cpp:
9416        (WebCore::DragData::containsFiles):
9417        (WebCore::DragData::asFilenames):
9418        (WebCore::DragData::asPlainText):
9419        (WebCore::DragData::asFragment):
9420        * platform/qt/DragImageQt.cpp:
9421        (WebCore::createDragImageIconForCachedImage):
9422        * platform/qt/FileSystemQt.cpp:
9423        (WebCore::getFileSize):
9424        (WebCore::unloadModule):
9425        * platform/qt/Localizations.cpp:
9426        (WebCore::contextMenuItemTagShowSpellingPanel):
9427        * platform/qt/MIMETypeRegistryQt.cpp:
9428        (WebCore::):
9429        * platform/qt/PasteboardQt.cpp:
9430        (WebCore::Pasteboard::Pasteboard):
9431        (WebCore::Pasteboard::writeSelection):
9432        (WebCore::Pasteboard::plainText):
9433        * platform/qt/PlatformKeyboardEventQt.cpp:
9434        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
9435        * platform/qt/PlatformMouseEventQt.cpp:
9436        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
9437        * platform/qt/PopupMenuQt.cpp:
9438        (WebCore::PopupMenu::populate):
9439        * platform/qt/RenderThemeQt.cpp:
9440        (WebCore::RenderThemeQt::fallbackStyle):
9441        (WebCore::inflateButtonRect):
9442        (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
9443        (WebCore::RenderThemeQt::paintButton):
9444        (WebCore::RenderThemeQt::paintMenuList):
9445        (WebCore::RenderThemeQt::applyTheme):
9446        (WebCore::WorldMatrixTransformer::WorldMatrixTransformer):
9447        (WebCore::RenderThemeQt::paintMediaBackground):
9448        (WebCore::RenderThemeQt::paintMediaFullscreenButton):
9449        * platform/qt/RenderThemeQt.h:
9450        * platform/qt/ScreenQt.cpp:
9451        (WebCore::screenRect):
9452        (WebCore::usableScreenRect):
9453        * platform/qt/ScrollbarQt.cpp:
9454        (WebCore::Scrollbar::contextMenu):
9455        * platform/qt/ScrollbarThemeQt.cpp:
9456        (WebCore::scPart):
9457        (WebCore::scrollbarPart):
9458        * platform/qt/ScrollbarThemeQt.h:
9459        * platform/qt/SharedBufferQt.cpp:
9460        (WebCore::SharedBuffer::createWithContentsOfFile):
9461        * platform/qt/TemporaryLinkStubs.cpp:
9462        (PluginDatabase::defaultPluginDirectories):
9463        (PluginDatabase::getPluginPathsInDirectories):
9464        (PluginDatabase::isPreferredPluginDirectory):
9465        (WebCore::getSupportedKeySizes):
9466        (WebCore::signedPublicKeyAndChallengeString):
9467        (WebCore::userIdleTime):
9468        (WebCore::prefetchDNS):
9469        * platform/text/qt/StringQt.cpp:
9470        (WebCore::String::String):
9471        * platform/text/qt/TextBoundaries.cpp:
9472        * platform/text/qt/TextBreakIteratorQt.cpp:
9473        (WebCore::TextBreakIterator::following):
9474        (WebCore::TextBreakIterator::preceding):
9475        (WebCore::WordBreakIteratorQt::first):
9476        (WebCore::WordBreakIteratorQt::next):
9477        (WebCore::WordBreakIteratorQt::previous):
9478        (WebCore::CharBreakIteratorQt::first):
9479        (WebCore::CharBreakIteratorQt::next):
9480        (WebCore::CharBreakIteratorQt::previous):
9481        (WebCore::characterBreakIterator):
9482        * plugins/qt/PluginPackageQt.cpp:
9483        (WebCore::PluginPackage::fetchInfo):
9484        * plugins/qt/PluginViewQt.cpp:
9485        (WebCore::PluginView::userAgentStatic):
9486        (WebCore::PluginView::handlePostReadFile):
9487        (WebCore::PluginView::init):
9488
94892009-07-21  Maxime Simon  <simon.maxime@gmail.com>
9490
9491        Reviewed by David Levin.
9492
9493        Added a first bunch of Haiku-specific files for WebCore.
9494        https://bugs.webkit.org/show_bug.cgi?id=26988
9495
9496        * platform/haiku/ClipboardHaiku.cpp: Added.
9497        (WebCore::ClipboardHaiku::ClipboardHaiku):
9498        (WebCore::ClipboardHaiku::clearData):
9499        (WebCore::ClipboardHaiku::clearAllData):
9500        (WebCore::ClipboardHaiku::getData):
9501        (WebCore::ClipboardHaiku::setData):
9502        (WebCore::ClipboardHaiku::types):
9503        (WebCore::ClipboardHaiku::files):
9504        (WebCore::ClipboardHaiku::dragLocation):
9505        (WebCore::ClipboardHaiku::dragImage):
9506        (WebCore::ClipboardHaiku::setDragImage):
9507        (WebCore::ClipboardHaiku::dragImageElement):
9508        (WebCore::ClipboardHaiku::setDragImageElement):
9509        (WebCore::ClipboardHaiku::createDragImage):
9510        (WebCore::ClipboardHaiku::declareAndWriteDragImage):
9511        (WebCore::ClipboardHaiku::writeURL):
9512        (WebCore::ClipboardHaiku::writeRange):
9513        (WebCore::ClipboardHaiku::hasData):
9514        * platform/haiku/ClipboardHaiku.h: Added.
9515        (WebCore::ClipboardHaiku::create):
9516        (WebCore::ClipboardHaiku::~ClipboardHaiku):
9517        * platform/haiku/CookieJarHaiku.cpp: Added.
9518        (WebCore::setCookies):
9519        (WebCore::cookies):
9520        (WebCore::cookiesEnabled):
9521        * platform/haiku/CursorHaiku.cpp: Added.
9522        (WebCore::Cursor::Cursor):
9523        (WebCore::Cursor::~Cursor):
9524        (WebCore::Cursor::operator=):
9525        (WebCore::pointerCursor):
9526        (WebCore::moveCursor):
9527        (WebCore::crossCursor):
9528        (WebCore::handCursor):
9529        (WebCore::iBeamCursor):
9530        (WebCore::waitCursor):
9531        (WebCore::helpCursor):
9532        (WebCore::eastResizeCursor):
9533        (WebCore::northResizeCursor):
9534        (WebCore::northEastResizeCursor):
9535        (WebCore::northWestResizeCursor):
9536        (WebCore::southResizeCursor):
9537        (WebCore::southEastResizeCursor):
9538        (WebCore::southWestResizeCursor):
9539        (WebCore::westResizeCursor):
9540        (WebCore::northSouthResizeCursor):
9541        (WebCore::eastWestResizeCursor):
9542        (WebCore::northEastSouthWestResizeCursor):
9543        (WebCore::northWestSouthEastResizeCursor):
9544        (WebCore::columnResizeCursor):
9545        (WebCore::rowResizeCursor):
9546        (WebCore::verticalTextCursor):
9547        (WebCore::cellCursor):
9548        (WebCore::contextMenuCursor):
9549        (WebCore::noDropCursor):
9550        (WebCore::copyCursor):
9551        (WebCore::progressCursor):
9552        (WebCore::aliasCursor):
9553        (WebCore::noneCursor):
9554        (WebCore::notAllowedCursor):
9555        (WebCore::zoomInCursor):
9556        (WebCore::zoomOutCursor):
9557        (WebCore::grabCursor):
9558        (WebCore::grabbingCursor):
9559
95602009-07-21  Albert Astals Cid <aacid@kde.org>
9561
9562        Reviewed by Tor Arne Vestbø.
9563
9564        Change #error line not to have a ' (single quote)
9565
9566        * DerivedSources.cpp:
9567
95682009-07-21  Roland Steiner  <rolandsteiner@google.com>
9569
9570        Reviewed by David Levin.
9571
9572        Add ENABLE_RUBY to list of build options
9573        https://bugs.webkit.org/show_bug.cgi?id=27324
9574
9575        Added flag ENABLE_RUBY:
9576
9577        * Configurations/FeatureDefines.xcconfig:
9578        * DerivedSources.make:
9579        * GNUmakefile.am:
9580        * WebCore.pro:
9581        * WebCore.vcproj/WebCoreCommon.vsprops:
9582        * WebCore.vcproj/build-generated-files.sh:
9583
95842009-07-21  James Hawkins  <jhawkins@google.com>
9585
9586        Reviewed by Eric Seidel.
9587
9588        https://bugs.webkit.org/show_bug.cgi?id=27467
9589        Return an empty path in PlatformContextSkia::currentPathInLocalCoordinates
9590        if matrix.invert() fails.  This prevents the use of an uninitialized
9591        value in inverseMatrix.
9592
9593        No new tests added.  Run
9594        LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html
9595        under valgrind and notice there are no errors.
9596
9597        * platform/graphics/skia/PlatformContextSkia.cpp:
9598        (PlatformContextSkia::currentPathInLocalCoordinates):
9599
96002009-07-21  Stephen White  <senorblanco@chromium.org>
9601
9602        Reviewed by Eric Seidel.
9603
9604        https://bugs.webkit.org/show_bug.cgi?id=27388
9605
9606        Fix dotted and dashed borders on Chromium/skia.  This follows
9607        the logic in the Cg path, so results are much closer to Safari now
9608        (some tests won't be exactly the same due to font layout differences).
9609
9610        * platform/graphics/skia/GraphicsContextSkia.cpp:
9611        (WebCore::GraphicsContext::drawLine):
9612        * platform/graphics/skia/PlatformContextSkia.cpp:
9613        (PlatformContextSkia::setupPaintForStroking):
9614
96152009-07-20  Oliver Hunt  <oliver@apple.com>
9616
9617        Reviewed by Gavin Barraclough.
9618
9619        Make it harder to misuse try* allocation routines
9620        https://bugs.webkit.org/show_bug.cgi?id=27469
9621
9622        Add forwarding header for PossiblyNull type, and add missing null check
9623        to ImageBuffer creation.
9624
9625        * ForwardingHeaders/wtf/PossiblyNull.h: Added.
9626        * platform/graphics/cg/ImageBufferCG.cpp:
9627        (WebCore::ImageBuffer::ImageBuffer):
9628
96292009-07-20  Adam Langley  <agl@google.com>
9630
9631        Reviewed by Eric Seidel.
9632
9633        Guard access to installedMediaEngines()[0].
9634
9635        https://bugs.webkit.org/show_bug.cgi?id=27479
9636        http://code.google.com/p/chromium/issues/detail?id=16541
9637
9638        Else where in the file, installedMediaEngines is always checked for
9639        being empty because access. This patch adds a case which missed that
9640        check.
9641
9642        This triggered a crash in Chromium:
9643            http://www.yakeze.com/chat/example-chromium-crash/
9644
9645        * platform/graphics/MediaPlayer.cpp:
9646        (WebCore::MediaPlayer::load):
9647
96482009-07-20  Adam Langley  <agl@google.com>
9649
9650        Reviewed by Eric Seidel.
9651
9652        Allow search entries to render with a CSS border if the RenderTheme
9653        doesn't paint them.
9654
9655        https://bugs.webkit.org/show_bug.cgi?id=27466
9656        http://code.google.com/p/chromium/issues/detail?id=16958
9657
9658        <input type="search"> is very much like a text entry except that,
9659        currently, if the RenderTheme doesn't deal with it, nothing is
9660        rendered. With this patch, the default CSS border is rendered if the
9661        RenderTheme requests it.
9662
9663        This will affect many layout tests, but only for Chromium Linux and
9664        those results are not currently in the WebKit tree.
9665
9666        * rendering/RenderTheme.cpp:
9667        (WebCore::RenderTheme::paintBorderOnly):
9668
96692009-07-17  Anton Muhin  <antonm@chromium.org>
9670
9671        Reviewed by Adam Barth.
9672
9673        Switch to faster methods to access internal fields.
9674        https://bugs.webkit.org/show_bug.cgi?id=27372
9675
9676        Minor refactoring.
9677
9678        * bindings/scripts/CodeGeneratorV8.pm:
9679        * bindings/v8/V8DOMWrapper.cpp:
9680        (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
9681        (WebCore::V8DOMWrapper::setDOMWrapper):
9682        * bindings/v8/V8DOMWrapper.h:
9683        (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
9684        (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
9685        (WebCore::V8DOMWrapper::convertToNativeObject):
9686        (WebCore::V8DOMWrapper::convertToNativeEvent):
9687        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
9688        (WebCore::CALLBACK_FUNC_DECL):
9689        * bindings/v8/custom/V8ClipboardCustom.cpp:
9690        (WebCore::CALLBACK_FUNC_DECL):
9691        * bindings/v8/custom/V8DocumentCustom.cpp:
9692        (WebCore::CALLBACK_FUNC_DECL):
9693        * bindings/v8/custom/V8ElementCustom.cpp:
9694        (WebCore::CALLBACK_FUNC_DECL):
9695        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
9696        (WebCore::CALLBACK_FUNC_DECL):
9697        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
9698        (WebCore::CALLBACK_FUNC_DECL):
9699        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
9700        (WebCore::removeElement):
9701        * bindings/v8/custom/V8InspectorControllerCustom.cpp:
9702        (WebCore::CALLBACK_FUNC_DECL):
9703        * bindings/v8/custom/V8NodeCustom.cpp:
9704        (WebCore::CALLBACK_FUNC_DECL):
9705        * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
9706        (WebCore::CALLBACK_FUNC_DECL):
9707
97082009-07-20  Adam Langley  <agl@google.com>
9709
9710        Reviewed by Eric Seidel.
9711
9712        Chromium Linux: cache Harfbuzz faces.
9713
9714        https://bugs.webkit.org/show_bug.cgi?id=27473
9715
9716        Previously, we recreated the Harfbuzz face for each script-run. With
9717        this patch, we keep the Harfbuzz face in the FontPlatformData (created
9718        as needed) and so they will persist for the duration of the
9719        FontPlatformData.
9720
9721        Shouldn't affect any layout tests. Results in a significant win on the
9722        intl2 page cycler time.
9723
9724        * platform/graphics/chromium/FontLinux.cpp:
9725        (WebCore::TextRunWalker::~TextRunWalker):
9726        (WebCore::TextRunWalker::setupFontForScriptRun):
9727        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
9728        (WebCore::FontPlatformData::RefCountedHarfbuzzFace::~RefCountedHarfbuzzFace):
9729        (WebCore::FontPlatformData::FontPlatformData):
9730        (WebCore::FontPlatformData::harfbuzzFace):
9731        * platform/graphics/chromium/FontPlatformDataLinux.h:
9732        (WebCore::FontPlatformData::RefCountedHarfbuzzFace::create):
9733        (WebCore::FontPlatformData::RefCountedHarfbuzzFace::face):
9734        (WebCore::FontPlatformData::RefCountedHarfbuzzFace::RefCountedHarfbuzzFace):
9735        * platform/graphics/chromium/HarfbuzzSkia.h: Added.
9736
97372009-07-20  Ryosuke Niwa  <rniwa@webkit.org>
9738
9739        Reviewed by Simon Fraser.
9740
9741        REGRESSION (r46142): Need to remove showTreeThisForThis
9742        https://bugs.webkit.org/show_bug.cgi?id=27475
9743
9744        Removes showTreeThisForThis
9745
9746        * editing/IndentOutdentCommand.cpp:
9747        (WebCore::IndentOutdentCommand::appendParagraphIntoNode):
9748
97492009-07-19  Ryosuke Niwa  <rniwa@webkit.org>
9750
9751        Reviewed by Eric Seidel.
9752
9753        Refactoring of indentRegion to fix bugs 26816 and 25317
9754        https://bugs.webkit.org/show_bug.cgi?id=26816
9755        https://bugs.webkit.org/show_bug.cgi?id=25317
9756        https://bugs.webkit.org/show_bug.cgi?id=23995 (partially)
9757
9758        This patch implements appendParagraphIntoNode, a simpler specialized version of moveParagraph
9759        and replaces all calls inside indentRegion. The following is the new behavior of indentRegion.
9760
9761        1. We try to indent as many wrapping nodes as possible.
9762           e.g. when indenting "hello" in <div>hello</div>, we try to indent div as well.
9763        2. We do not delete any wrapping elements
9764           With moveParagraph, we used to remove all wrapping nodes, and replaced with a blockquote.
9765           This was causing https://bugs.webkit.org/show_bug.cgi?id=23995 for indentation.
9766           With appendParagraphIntoNode, we can preserve all wrapping nodes.
9767        3. We only split the tree until the closest block node instead of until the root editable node.
9768           This behavioral change fixes the bug 25317.
9769        4. When multiple paragraphs are indented, we indent the highest common ancestor within the selection.
9770           e.g. when a list is a child node of a div, and the entire div is intended,
9771                we enclose the div by a single blockquote.
9772
9773        Note that new behavior is more consistent with that of Internet Explorer and Firefox.
9774        To demonstrate this, the following tests are added.
9775
9776        Tests: editing/execCommand/indent-div-inside-list.html
9777               editing/execCommand/indent-nested-blockquotes.html
9778               editing/execCommand/indent-nested-div.html
9779               editing/execCommand/indent-second-paragraph-in-blockquote.html
9780
9781        * editing/IndentOutdentCommand.cpp: prepareBlockquoteLevelForInsertion is removed
9782        (WebCore::IndentOutdentCommand::tryIndentingAsListItem): uses appendParagraphIntoNode now
9783        (WebCore::IndentOutdentCommand::indentIntoBlockquote): uses appendParagraphIntoNode now
9784        (WebCore::IndentOutdentCommand::appendParagraphIntoNode): removes a paragraph and appends it to a new node
9785        (WebCore::IndentOutdentCommand::removeUnnecessaryLineBreakAt): removes a break element at the specified position
9786        (WebCore::IndentOutdentCommand::indentRegion): exhibits the described behavior
9787        * editing/IndentOutdentCommand.h: updated prototype
9788
97892009-07-20  Dan Bernstein  <mitz@apple.com>
9790
9791        Try to fix release builds after r46136
9792
9793        * dom/Element.cpp:
9794
97952009-07-17  Pierre d'Herbemont  <pdherbemont@apple.com>
9796
9797        Reviewed by Eric Seidel.
9798
9799        Media Controls: We are specifying the text height, where it is unneeded and the slider is 2px off.
9800        https://bugs.webkit.org/show_bug.cgi?id=27380
9801
9802        Adjust the margin of the slider and remove useless height specification to fix alignement of the media controls.
9803
9804        * css/mediaControlsQT.css:
9805
98062009-07-20  Peter Kasting  <pkasting@google.com>
9807
9808        Reviewed by Mark Rowe.
9809
9810        https://bugs.webkit.org/show_bug.cgi?id=27468
9811        Back out r46060, which caused problems for some Apple developers.
9812
9813        * WebCore.vcproj/QTMovieWin.vcproj:
9814        * WebCore.vcproj/WebCoreCommon.vsprops:
9815        * WebCore.vcproj/WebCoreGenerated.vcproj:
9816
98172009-07-20  Dan Bernstein  <mitz@apple.com>
9818
9819        Reviewed by Anders Carlsson.
9820
9821        When loading a custom view into a frame, the old document is still
9822        around
9823        <rdar://problem/5145841>
9824
9825        Safari fires onload before PDF is loaded into the browser
9826        <rdar://problem/6618869>
9827
9828        Test: fast/loader/non-html-load-event.html
9829
9830        * GNUmakefile.am: Added PlaceholderDocument.{cpp,h}
9831        * WebCore.gypi: Ditto.
9832        * WebCore.pro: Ditto.
9833        * WebCore.vcproj/WebCore.vcproj: Ditto.
9834        * WebCore.xcodeproj/project.pbxproj: Ditto.
9835        * WebCoreSources.bkl: Ditto.
9836        * dom/Document.h:
9837        (WebCore::Document::setStyleSelector): Added this protected accessor for
9838            PlaceholderDocument to use.
9839        * dom/Element.cpp:
9840        (WebCore::Element::clientWidth): Check whether the document has a
9841            renderer.
9842        (WebCore::Element::clientHeight): Ditto.
9843        * loader/FrameLoader.cpp:
9844        (WebCore::FrameLoader::begin): Create a PlaceholderDocument for frames
9845            that do not use an HTML view. Do not nullify the content size in
9846            that case.
9847        (WebCore::FrameLoader::transitionToCommitted): For frames that do not
9848            use an HTML view, call receivedFirstData(), which sets up the
9849            frame with a new PlaceHolderDocument.
9850        * loader/PlaceholderDocument.cpp: Added.
9851        (WebCore::PlaceholderDocument::attach): Sets up the style selector but
9852            does not create a RenderView.
9853        * loader/PlaceholderDocument.h: Added.
9854        (WebCore::PlaceholderDocument::create):
9855        (WebCore::PlaceholderDocument::PlaceholderDocument):
9856
98572009-07-20  Chris Marrin  <cmarrin@apple.com>
9858
9859        Reviewed by Simon Fraser.
9860
9861        Handle opacity and opacity animations on transform layers in Leopard
9862        https://bugs.webkit.org/show_bug.cgi?id=27398
9863
9864        This makes two changes, and only for Leopard.
9865
9866        First, whenever opacity is changed on a layer I propagate the
9867        change into the content layer and all the children if the layer
9868        on which opacity is set is a transform layer (preserve3D is true).
9869        The opacity set is the accumulated opacity from this layer
9870        and all its direct ancestor transform layers. Second, I turn off all
9871        hardware opacity animation.
9872
9873        * platform/graphics/GraphicsLayer.cpp:
9874        (WebCore::GraphicsLayer::accumulatedOpacity):
9875        (WebCore::GraphicsLayer::distributeOpacity):
9876        * platform/graphics/GraphicsLayer.h:
9877        (WebCore::GraphicsLayer::setOpacityInternal):
9878        * platform/graphics/mac/GraphicsLayerCA.h:
9879        * platform/graphics/mac/GraphicsLayerCA.mm:
9880        (WebCore::GraphicsLayerCA::setPreserves3D):
9881        (WebCore::GraphicsLayerCA::setOpacity):
9882        (WebCore::GraphicsLayerCA::animateFloat):
9883        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
9884        (WebCore::GraphicsLayerCA::setOpacityInternal):
9885        (WebCore::GraphicsLayerCA::updateOpacityOnLayer):
9886
98872009-07-20  Yong Li  <yong.li@torchmobile.com>
9888
9889        Reviewed by Adam Roben.
9890
9891        https://bugs.webkit.org/show_bug.cgi?id=27349
9892        Add GraphicsContext implementation for the WinCE port.
9893
9894        Written by Yong Li <yong.li@torchmobile.com>, George Staikos <george.staikos@torchmobile.com> and Lyon Chen <lyon.chen@torchmobile.com>
9895        with trivial style fixes by Adam Treat <adam.treat@torchmobile.com>
9896
9897        * platform/graphics/wince/GraphicsContextWince.cpp: Added.
9898
98992009-07-20  Dumitru Daniliuc  <dumi@chromium.org>
9900
9901        Reviewed by Dimitri Glazkov.
9902
9903        Adding the Win SQLite VFS implementation for Chromium, and stubs
9904        for the Mac and Linux VFSs.
9905
9906        https://bugs.webkit.org/show_bug.cgi?id=26940
9907
9908        * WebCore.gypi:
9909        * platform/chromium/ChromiumBridge.h:
9910        * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added.
9911        * platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp: Added.
9912        * platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp: Added.
9913        * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added.
9914
99152009-07-20  Xan Lopez  <xlopez@igalia.com>
9916
9917        Reviewed by Gustavo Noronha.
9918
9919        https://bugs.webkit.org/show_bug.cgi?id=27097
9920        [Gtk] Segfault when examining an object of ROLE_TABLE via at-spi
9921
9922        Check that an object is a RenderObject before trying to access its
9923        renderer and related node.
9924
9925        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
9926        (webkit_accessible_get_role):
9927
99282009-07-20  Balazs Kelemen  <kelemen.balazs.3@stud.u-szeged.hu>
9929
9930        Reviewed by Simon Hausmann.
9931
9932        [Qt] font cache reworking
9933        https://bugs.webkit.org/show_bug.cgi?id=27265
9934
9935        Reimplemented Qt's FontCache in a way that follows the shared one.
9936        Now we can release its elements when those became inactive.
9937        FontFallbackList had been changed to be able to hold WebCore fonts in its list and to be able to release a FontData what is in the cache.
9938
9939        No change in behavior, so no tests.
9940
9941        * platform/graphics/qt/FontCacheQt.cpp:
9942        (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
9943        (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue):
9944        (WebCore::FontPlatformDataCacheKey::): Key type for the cache of FontPlatformData objects.
9945        It can be constructed from a FontPlatformData or from a FontDescription. The keys have to be consistent
9946        with FontPlatformData::FontPlatformData(const FontDescription&) - if we create the same
9947        FontPlatformData from two FontDescription then we have to create the same key from them, and vica versa.
9948        (WebCore::FontPlatformDataCacheKey::operator==):
9949        (WebCore::FontPlatformDataCacheKey::hash):
9950        (WebCore::FontPlatformDataCacheKey::computeHash):
9951        (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize):
9952        (WebCore::FontPlatformDataCacheKeyHash::hash):
9953        (WebCore::FontPlatformDataCacheKeyHash::equal):
9954        (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
9955        (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue):
9956        (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue):
9957        (WebCore::FontCache::getCachedFontPlatformData): Get a FontDescription and returns a FontPlatformData.
9958        (WebCore::FontCache::getCachedFontData): Get a FontPlatformData and returns a SimpleFontData.
9959        (WebCore::FontCache::releaseFontData): Get a SimpleFontData and releases it from the cache. Also releases the appropriate FontPlatformData.
9960        (WebCore::FontCache::purgeInactiveFontData): Frees inactive elements.
9961        (WebCore::FontCache::invalidate): Frees all inactive elements (call purgeInactiveFontData with default argument)
9962        * platform/graphics/qt/FontFallbackListQt.cpp:
9963        (WebCore::FontFallbackList::releaseFontData):
9964        (WebCore::FontFallbackList::fontDataAt):
9965        * platform/graphics/qt/FontPlatformData.h:
9966        (WebCore::FontPlatformData::family): Getter. It is needed for FontPlatformDataCacheKey.
9967        (WebCore::FontPlatformData::bold): Ditto.
9968        (WebCore::FontPlatformData::italic): Ditto.
9969        (WebCore::FontPlatformData::smallCaps): Ditto.
9970        (WebCore::FontPlatformData::pixelSize): Ditto.
9971        * platform/graphics/qt/FontPlatformDataQt.cpp:
9972        (WebCore::FontPlatformData::FontPlatformData): Set m_bold.
9973
99742009-07-20  Xan Lopez  <xlopez@igalia.com>
9975
9976        Reviewed by Holger Freyther.
9977
9978        https://bugs.webkit.org/show_bug.cgi?id=26716
9979        [Gtk] Each XMLHttpRequest leaks memory.
9980
9981        Free the SoupURI we create to check the URI. Fix suggested by John
9982        Kjellberg.
9983
9984        * platform/network/soup/ResourceHandleSoup.cpp:
9985        (WebCore::):
9986
99872009-07-20  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
9988
9989        Reviewed by Holger Freyther.
9990
9991        [Qt] On Symbian link against system sqlite3
9992        https://bugs.webkit.org/show_bug.cgi?id=27368
9993
9994        Add an option to force linking against system sqlite3
9995        by adding system-sqlite to the CONFIG variable.
9996
9997        The Symbian specific part of this patch is contributed by
9998        Norbert Leser.
9999
10000        * WebCore.pro:
10001
100022009-07-20  Xan Lopez  <xlopez@igalia.com>
10003
10004        Reviewed by Gustavo Noronha.
10005
10006        Change the glib version check to check for the first unstable
10007        release with g_mapped_file_unref. Otherwise this would be useless
10008        until 2.22 is released, a few months from now.
10009
10010        * platform/network/soup/ResourceHandleSoup.cpp:
10011        (WebCore::ResourceHandle::startHttp):
10012
100132009-07-20  Simon Hausmann  <simon.hausmann@nokia.com>
10014
10015        Reviewed by and done with Tor Arne Vestbø.
10016
10017        Fix fast/css/pseudo-required-optional-*.html in the Qt build
10018        after r46062.
10019
10020        These tests triggered a bug in RenderThemeQt where we did not fall back
10021        to the unstyled painting of text areas and input fields when they have
10022        a styled background.
10023
10024        Our re-implementation of isControlStyled incorrectly only checked the
10025        border for determining whether to style or not. The base-implementation
10026        performs the same check, but also includes the background. Removing
10027        our implementation fixes the appearance.
10028
10029        * platform/qt/RenderThemeQt.cpp: Removed isControlStyled reimplementation.
10030        * platform/qt/RenderThemeQt.h: Ditto.
10031
100322009-07-20  Simon Hausmann  <simon.hausmann@nokia.com>
10033
10034        Rubber-stamped by Tor Arne Vestbø.
10035
10036        Add missing (sorted) header files to the HEADERS variable in the qmake
10037        .pro file for improved completion in IDEs.
10038
10039        * WebCore.pro:
10040
100412009-07-19  Adam Barth  <abarth@webkit.org>
10042
10043        Reviewed by David Levin.
10044
10045        [V8] Factor V8ConsoleMessage out of V8Proxy
10046        https://bugs.webkit.org/show_bug.cgi?id=27421
10047
10048        No behavior change.
10049
10050        * WebCore.gypi:
10051        * bindings/v8/V8ConsoleMessage.cpp: Added.
10052        (WebCore::V8ConsoleMessage::V8ConsoleMessage):
10053        (WebCore::V8ConsoleMessage::dispatchNow):
10054        (WebCore::V8ConsoleMessage::dispatchLater):
10055        (WebCore::V8ConsoleMessage::processDelayed):
10056        (WebCore::V8ConsoleMessage::handler):
10057        * bindings/v8/V8ConsoleMessage.h: Added.
10058        (WebCore::V8ConsoleMessage::Scope::Scope):
10059        (WebCore::V8ConsoleMessage::Scope::~Scope):
10060        * bindings/v8/V8Proxy.cpp:
10061        (WebCore::logInfo):
10062        (WebCore::reportUnsafeAccessTo):
10063        (WebCore::V8Proxy::runScript):
10064        (WebCore::V8Proxy::callFunction):
10065        (WebCore::V8Proxy::newInstance):
10066        (WebCore::V8Proxy::initContextIfNeeded):
10067        (WebCore::V8Proxy::processConsoleMessages):
10068
100692009-07-19  Rob Buis  <rwlbuis@gmail.com>
10070
10071        Reviewed by Adam Barth.
10072
10073        Remove unused member variable.
10074
10075        * svg/SVGPolyElement.h:
10076
100772009-07-19  Eric Carlson  <eric.carlson@apple.com>
10078
10079        Reviewed by Dan Bernstein.
10080
10081        HTMLAudioElement: constructor should set "autobuffer" attribute
10082        https://bugs.webkit.org/show_bug.cgi?id=27422
10083
10084        Test: media/audio-constructor-autobuffer.html
10085
10086        * bindings/js/JSAudioConstructor.cpp:
10087        (WebCore::constructAudio):
10088            Set 'autobuffer' attribute.
10089
100902009-07-19  Thierry Bastian <thierry.bastian@nokia.com>
10091
10092        Reviewed by Simon Hausmann.
10093
10094        Fix the Qt build with mingw.
10095
10096        * WebCore.pro: Don't use MSVC commandline options to disable warnings
10097        with mingw.
10098
100992009-07-19  Adam Barth  <abarth@webkit.org>
10100
10101        Reviewed by David Levin.
10102
10103        [V8] Phase 2: Remove event listener methods from V8Proxy
10104        https://bugs.webkit.org/show_bug.cgi?id=27415
10105
10106        No behavior change.
10107
10108        * bindings/v8/V8ObjectEventListener.cpp:
10109        (WebCore::weakObjectEventListenerCallback):
10110        (WebCore::V8ObjectEventListener::~V8ObjectEventListener):
10111        * bindings/v8/V8Proxy.cpp:
10112        (WebCore::V8Proxy::disconnectEventListeners):
10113        * bindings/v8/V8Proxy.h:
10114        (WebCore::V8Proxy::eventListeners):
10115        (WebCore::V8Proxy::objectListeners):
10116        * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
10117        (WebCore::getEventListener):
10118        * bindings/v8/custom/V8CustomEventListener.cpp:
10119        (WebCore::V8EventListener::~V8EventListener):
10120        * bindings/v8/custom/V8DOMWindowCustom.cpp:
10121        (WebCore::CALLBACK_FUNC_DECL):
10122        (WebCore::ACCESSOR_SETTER):
10123        * bindings/v8/custom/V8ElementCustom.cpp:
10124        (WebCore::ACCESSOR_SETTER):
10125        * bindings/v8/custom/V8MessagePortCustom.cpp:
10126        (WebCore::ACCESSOR_SETTER):
10127        (WebCore::CALLBACK_FUNC_DECL):
10128        * bindings/v8/custom/V8NodeCustom.cpp:
10129        (WebCore::CALLBACK_FUNC_DECL):
10130        * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
10131        (WebCore::CALLBACK_FUNC_DECL):
10132        * bindings/v8/custom/V8WorkerCustom.cpp:
10133        (WebCore::getEventListener):
10134        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
10135        (WebCore::getEventListener):
10136        * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
10137        (WebCore::ACCESSOR_SETTER):
10138        (WebCore::CALLBACK_FUNC_DECL):
10139
101402009-07-18  Jan Michael Alonzo  <jmalonzo@webkit.org>
10141
10142        Reviewed by Gustavo Noronha.
10143
10144        [Gtk] soup/ResourceHandleSoup.cpp:533: error: 'g_mapped_file_free' was not declared in this scope
10145        https://bugs.webkit.org/show_bug.cgi?id=27230
10146
10147        Use g_mapped_file_unref for GLIB version 2.22 onwards.
10148
10149        * platform/network/soup/ResourceHandleSoup.cpp:
10150        (WebCore::ResourceHandle::startHttp):
10151
101522009-07-18  Dan Bernstein  <mitz@apple.com>
10153
10154        Reviewed by Anders Carlsson.
10155
10156        Add spread radius support to -webkit-box-shadow
10157        https://bugs.webkit.org/show_bug.cgi?id=27417
10158        rdar://problem/7072267
10159
10160        Test: fast/box-shadow/spread.html
10161
10162        * css/CSSComputedStyleDeclaration.cpp:
10163        (WebCore::valueForShadow): Added a property ID parameter and used it to
10164            include the spread length for box-shadow but not for text-shadow.
10165        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
10166            Pass the property ID to valueForShadow().
10167
10168        * css/CSSParser.cpp:
10169        (WebCore::ShadowParseContext::ShadowParseContext): Added property,
10170            spread, and allowSpread members. Added a property ID parameter to
10171            the constructor. Initialize the property and allowSpread members.
10172        (WebCore::ShadowParseContext::allowLength): Added allowSpread.
10173        (WebCore::ShadowParseContext::commitValue): Pass the spread value to
10174            the ShadowValue constructor. Reset allowSpread.
10175        (WebCore::ShadowParseContext::commitLength): Allow spread after blur
10176            for the box-shadow property.
10177        (WebCore::ShadowParseContext::commitColor): Reset allowSpread.
10178        (WebCore::CSSParser::parseShadow): Pass the property ID to
10179            ShadowParseContext().
10180
10181        * css/CSSStyleSelector.cpp:
10182        (WebCore::CSSStyleSelector::applyProperty): Get the spread value from
10183            the shadow value and pass it to the ShadowData constructor.
10184
10185        * css/ShadowValue.cpp:
10186        (WebCore::ShadowValue::ShadowValue): Added spread.
10187        (WebCore::ShadowValue::cssText): Added spread.
10188
10189        * css/ShadowValue.h:
10190        (WebCore::ShadowValue::create): Added spread.
10191
10192        * page/animation/AnimationBase.cpp:
10193        (WebCore::blendFunc): Blend the spread value.
10194        (WebCore::PropertyWrapperShadow::blend): Added 0 spread to the default
10195            shadow.
10196
10197        * rendering/InlineFlowBox.cpp:
10198        (WebCore::InlineFlowBox::placeBoxesHorizontally): Account for spread in
10199            the visual overflow calculations.
10200        (WebCore::InlineFlowBox::placeBoxesVertically): Ditto.
10201        (WebCore::InlineFlowBox::paint): Ditto.
10202
10203        * rendering/RenderBlock.cpp:
10204        (WebCore::RenderBlock::overflowHeight): Ditto.
10205        (WebCore::RenderBlock::overflowWidth): Ditto.
10206        (WebCore::RenderBlock::overflowLeft): Ditto.
10207        (WebCore::RenderBlock::overflowTop): Ditto.
10208        (WebCore::RenderBlock::overflowRect): Ditto.
10209        (WebCore::RenderBlock::layoutBlock): Ditto.
10210
10211        * rendering/RenderBoxModelObject.cpp:
10212        (WebCore::RenderBoxModelObject::paintBoxShadow): Inflate the shadow-
10213            casting rect by the shadow spread value. Adjust border radii if
10214            necessary.
10215
10216        * rendering/RenderFlexibleBox.cpp:
10217        (WebCore::RenderFlexibleBox::layoutBlock): Account for spread in the
10218            visual overflow calculations.
10219        * rendering/RenderLayer.cpp:
10220        (WebCore::RenderLayer::calculateRects): Ditto.
10221
10222        * rendering/RenderObject.cpp:
10223        (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Account for spread.
10224        (WebCore::RenderObject::adjustRectForOutlineAndShadow): Ditto.
10225
10226        * rendering/RenderReplaced.cpp:
10227        (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Ditto.
10228
10229        * rendering/style/RenderStyle.cpp:
10230        (WebCore::RenderStyle::setTextShadow): Assert that text shadows do not
10231            have spread.
10232
10233        * rendering/style/ShadowData.cpp:
10234        (WebCore::ShadowData::ShadowData): Added spread.
10235        (WebCore::ShadowData::operator==): Compare spread.
10236        * rendering/style/ShadowData.h:
10237        (WebCore::ShadowData::ShadowData): Added spread.
10238
102392009-07-18  Adam Barth  <abarth@webkit.org>
10240
10241        Reviewed by Jan Alonzo.
10242
10243        Minor FrameLoader.cpp cleanup
10244        https://bugs.webkit.org/show_bug.cgi?id=27406
10245
10246        No behavior change.
10247
10248        * loader/FrameLoader.cpp:
10249        (WebCore::FrameLoader::executeIfJavaScriptURL):
10250
102512009-07-18  Adam Barth  <abarth@webkit.org>
10252
10253        Reviewed by Darin Fisher.
10254
10255        [V8] Move event listener methods from V8Proxy to V8EventListenerList
10256        https://bugs.webkit.org/show_bug.cgi?id=27408
10257
10258        Move some event listener code out of V8Proxy and into the event
10259        listener list.
10260
10261        I'd like to remove these methods from V8Proxy entirely and just expose
10262        getters for the lists themselves, but I'll do that in a follow up
10263        patch.
10264
10265        * bindings/v8/V8EventListenerList.cpp:
10266        (WebCore::V8EventListenerList::findWrapper):
10267        * bindings/v8/V8EventListenerList.h:
10268        (WebCore::V8EventListenerList::findOrCreateWrapper):
10269        * bindings/v8/V8ObjectEventListener.cpp:
10270        * bindings/v8/V8Proxy.cpp:
10271        (WebCore::V8Proxy::findV8EventListener):
10272        (WebCore::V8Proxy::findOrCreateV8EventListener):
10273        (WebCore::V8Proxy::removeV8EventListener):
10274        (WebCore::V8Proxy::findObjectEventListener):
10275        (WebCore::V8Proxy::findOrCreateObjectEventListener):
10276        (WebCore::V8Proxy::removeObjectEventListener):
10277        * bindings/v8/V8Proxy.h:
10278
102792009-07-18  Jeremy Orlow  <jorlow@chromium.org>
10280
10281        Rubber stamped by Adam Barth.
10282
10283        Revert https://bugs.webkit.org/show_bug.cgi?id=27383
10284        https://bugs.webkit.org/show_bug.cgi?id=27407
10285
10286        Revert Jens' patch.  I believe he forgot to include a file.
10287
10288        * WebCore.gypi:
10289        * bindings/scripts/CodeGeneratorV8.pm:
10290        * bindings/v8/DOMObjectsInclude.h:
10291        * bindings/v8/V8DOMWrapper.cpp:
10292        (WebCore::V8DOMWrapper::getTemplate):
10293        * bindings/v8/V8DataGridDataSource.cpp: Removed.
10294        * bindings/v8/V8DataGridDataSource.h: Removed.
10295        * bindings/v8/V8GCController.h:
10296        * bindings/v8/V8Index.h:
10297        * bindings/v8/custom/V8CustomBinding.h:
10298        * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp:
10299        (WebCore::ACCESSOR_GETTER):
10300        (WebCore::ACCESSOR_SETTER):
10301
103022009-07-17  Daniel Bates  <dbates@intudata.com>
10303
10304        Reviewed by Adam Barth.
10305
10306        https://bugs.webkit.org/show_bug.cgi?id=27405
10307
10308        Fixes an issue when decoding HTML entities with an unknown named entity that
10309        caused null-characters to be inserted into the decoded result.
10310
10311        Test: http/tests/security/xssAuditor/link-onclick-ampersand.html
10312              http/tests/security/xssAuditor/javascript-link-ampersand.html
10313
10314        * page/XSSAuditor.cpp:
10315        (WebCore::XSSAuditor::decodeHTMLEntities): Added check to conditional so that
10316        non-zero entity values are not inserted during decoding process.
10317
103182009-07-17  Jan Michael Alonzo  <jmalonzo@webkit.org>
10319
10320        <http://webkit.org/b/18363> [GTK] Combo boxes cannot be opened pressing space
10321
10322        Reviewed by Holger Freyther.
10323
10324        Add Gtk to platforms that want to open the menulist using the
10325        spacebar.
10326
10327        * dom/SelectElement.cpp:
10328        (WebCore::SelectElement::menuListDefaultEventHandler):
10329
103302009-07-17  Mario Sanchez Prada  <msanchez@igalia.com>
10331
10332        Reviewed by Jan Alonzo.
10333
10334        https://bugs.webkit.org/show_bug.cgi?id=25523
10335        [GTK] The text displayed by push buttons is not exposed to assistive technologies
10336
10337        Add new public method text() to RenderButton and use it from
10338        AccessibilityRenderObject::stringValue().
10339
10340        * accessibility/AccessibilityRenderObject.cpp:
10341        (WebCore::AccessibilityRenderObject::stringValue):
10342        * rendering/RenderButton.cpp:
10343        (WebCore::RenderButton::text):
10344        * rendering/RenderButton.h:
10345
103462009-07-17  Anton Muhin  <antonm@chromium.org>
10347
10348        Reviewed by Dimitri Glazkov.
10349
10350        Restore proxy retrieval
10351        https://bugs.webkit.org/show_bug.cgi?id=27369
10352
10353        No new tests are needed.
10354
10355        * bindings/v8/V8DOMWrapper.cpp:
10356        (WebCore::V8DOMWrapper::instantiateV8Object):
10357
103582009-07-17  Yael Aharon  <yael.aharon@nokia.com>
10359
10360        Reviewed by George Staikos.
10361
10362        https://bugs.webkit.org/show_bug.cgi?id=27351
10363        Added platform "Symbian" to WEBCORE_NAVIGATOR_PLATFORM
10364        Use uname to find the correct platform for Linux.
10365
10366        * page/NavigatorBase.cpp:
10367        (WebCore::NavigatorBase::platform):
10368
103692009-07-17  Jens Alfke  <snej@chromium.org>
10370
10371        Reviewed by Dimitri Glazkov.
10372
10373        Hook up V8 bindings for DataGrid elements.
10374        https://bugs.webkit.org/show_bug.cgi?id=27383
10375        http://code.google.com/p/chromium/issues/detail?id=16730
10376
10377        Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/*
10378        to handle exceptions, check appropriate JS prototypes, and
10379        test column-list's item() method as well as array-indexing.
10380
10381        * WebCore.gypi: Added new source files.
10382        * bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes.
10383        * bindings/v8/DOMObjectsInclude.h: #include DataGrid headers.
10384        * bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates.
10385        (WebCore::V8DOMWrapper::getTemplate): Customize datagrid template.
10386        * bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource)
10387        (WebCore::V8DataGridDataSource::V8DataGridDataSource):
10388        (WebCore::V8DataGridDataSource::~V8DataGridDataSource):
10389        * bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource)
10390        (WebCore::V8DataGridDataSource::create):
10391        (WebCore::V8DataGridDataSource::isJSDataGridDataSource):
10392        (WebCore::V8DataGridDataSource::jsDataSource):
10393        (WebCore::asV8DataGridDataSource):
10394        * bindings/v8/V8GCController.h: Added new handle type "DATASOURCE".
10395        * bindings/v8/V8Index.h: Conditionalize datagrid stuff.
10396        * bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize.
10397        * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors.
10398        (WebCore::ACCESSOR_GETTER):
10399        (WebCore::ACCESSOR_SETTER):
10400
104012009-07-17  Jeremy Orlow  <jorlow@chromium.org>
10402
10403        Reviewed by Darin Fisher.
10404
10405        StorageArea should only contain methods we intend to proxy.
10406        https://bugs.webkit.org/show_bug.cgi?id=27181
10407
10408        Right now, StorageAreaSync takes in a StorageArea* and calls methods
10409        like importItem.  Really, StorageAreaSync should be operating directly
10410        on StorageAreaImpl* and those methods should be removed from StorageArea
10411        since StorageAreaSync should never be attached to anything other than a
10412        StorageAreaImpl.
10413
10414        This was pointed out in the review for
10415        https://bugs.webkit.org/show_bug.cgi?id=27072
10416
10417        Also clean up StorageNamespaceImpl to operate directly on
10418        StorageAreaImpl.  Also, get rid of the factory for StorageArea
10419        since nothing should ever create a StorageArea directly.
10420
10421        * GNUmakefile.am:
10422        * WebCore.vcproj/WebCore.vcproj:
10423        * WebCore.xcodeproj/project.pbxproj:
10424        * WebCoreSources.bkl:
10425        * storage/StorageArea.cpp: Removed.
10426        * storage/StorageArea.h:
10427        (WebCore::StorageArea::~StorageArea):
10428        * storage/StorageAreaImpl.cpp:
10429        (WebCore::StorageAreaImpl::copy):
10430        * storage/StorageAreaImpl.h:
10431        * storage/StorageAreaSync.cpp:
10432        (WebCore::StorageAreaSync::create):
10433        (WebCore::StorageAreaSync::StorageAreaSync):
10434        * storage/StorageAreaSync.h:
10435        * storage/StorageNamespaceImpl.cpp:
10436        (WebCore::StorageNamespaceImpl::copy):
10437        (WebCore::StorageNamespaceImpl::storageArea):
10438        * storage/StorageNamespaceImpl.h:
10439
104402009-07-17  Jeremy Orlow  <jorlow@chromium.org>
10441
10442        Reviewed by Dimitri Glazkov.
10443
10444        Add v8 implementation for DOM Storage ScriptObjectQuarantine.
10445        https://bugs.webkit.org/show_bug.cgi?id=27327
10446
10447        Wrap the storage object with a generic object as is done elsewhere in
10448        the file (but continue to hit a NOTIMPLEMENTED if DOM_STORAGE is not
10449        enabled.
10450
10451        * bindings/v8/ScriptObjectQuarantine.cpp:
10452        (WebCore::getQuarantinedScriptObject):
10453
104542009-07-17  Mads Ager  <ager@chromium.org>
10455
10456        Reviewed by Dimitri Glazkov.
10457
10458        https://bugs.webkit.org/show_bug.cgi?id=27394
10459        Fix access to global object wrappers after navigation of their
10460        frame in the V8 bindings.  This fixes selenium test failures.
10461
10462        * bindings/v8/V8Proxy.cpp:
10463        (WebCore::V8Proxy::updateDocument):
10464
104652009-07-17  Mark Rowe  <mrowe@apple.com>
10466
10467        Fix the 32-bit build by removing implicit float <-> double conversions.
10468
10469        * inspector/InspectorController.cpp:
10470        (WebCore::constrainedAttachedWindowHeight):
10471
104722009-07-17  Brian Weinstein  <bweinstein@apple.com>
10473
10474        Reviewed by Adam Roben.
10475
10476        Fix of <rdar://problem/5712795> Win: Cannot change the height of the docked Web Inspector (14272)
10477        https://bugs.webkit.org/show_bug.cgi?id=14272
10478
10479        Moved preference setting for attached inspector height and inspector height calculation from
10480        WebInspectorClient.mm into InspectorController.cpp, to make this code cross-platform and enable
10481        Windows resizing of attached inspector.
10482
10483        * inspector/InspectorController.cpp:
10484        * inspector/InspectorController.h:
10485
104862009-07-17  Dan Bernstein  <mitz@apple.com>
10487
10488        Another attempt at fixing the build after r46063
10489
10490        * WebCore.xcodeproj/project.pbxproj: Made ExceptionCode.h a private
10491            header, because it is now included from htmlediting.h, which is
10492            a private header.
10493
104942009-07-17  Alexey Proskuryakov  <ap@webkit.org>
10495
10496        Reviewed by Dan Bernstein.
10497
10498        https://bugs.webkit.org/show_bug.cgi?id=27396
10499        Moving cursor in Thai text sometimes jumps over two characters
10500
10501        Test: editing/text-iterator/thai-cursor-movement.html
10502
10503        * platform/text/TextBreakIteratorICU.cpp: (WebCore::cursorMovementIterator): Added a special
10504        case for five Thai characters, matching ICU/CLDR changes.
10505
105062009-07-14  Eric Seidel  <eric@webkit.org>
10507
10508        Reviewed by Adam Barth.
10509
10510        Some constructor objects exposed on Window have the wrong prototype chain
10511        https://bugs.webkit.org/show_bug.cgi?id=27276
10512
10513        Several Constructor classes were already being passed a global object
10514        during construction, but they were ignoring it for prototype lookup.
10515        I've fixed those to use the passed global object instead.
10516
10517        Most of these Constructor classes should just be auto-generated, but I
10518        refrained from changing them over to auto-gen in this patch.
10519
10520        Fixed CodeGeneratorJS to pass a global object to getDOMConstructor when
10521        available, otherwise default to deprecatedGlobalObjectForPrototype(exec)
10522        to match existing behavior.
10523
10524        Test: fast/dom/prototype-inheritance.html
10525
10526        * bindings/js/JSAudioConstructor.cpp:
10527        (WebCore::JSAudioConstructor::JSAudioConstructor): use the existing globalObject pointer for prototype lookup
10528        * bindings/js/JSDOMBinding.h:
10529        (WebCore::deprecatedGlobalObjectForPrototype): Make it easy to detect where the wrong global object is being used.
10530        (WebCore::deprecatedGetDOMStructure):
10531        * bindings/js/JSDOMGlobalObject.h: remove error-prone getDOMConstructor, require passing JSDOMGlobalObject*
10532        * bindings/js/JSDOMWindowCustom.cpp:
10533        (WebCore::JSDOMWindow::webKitPoint): pass "this" for the global object.
10534        (WebCore::JSDOMWindow::webKitCSSMatrix): pass "this" for the global object.
10535        (WebCore::JSDOMWindow::xsltProcessor): pass "this" for the global object.
10536        (WebCore::JSDOMWindow::worker): pass "this" for the global object.
10537        * bindings/js/JSImageConstructor.cpp:
10538        (WebCore::JSImageConstructor::JSImageConstructor): use the existing globalObject pointer for prototype lookup
10539        * bindings/js/JSMessageChannelConstructor.cpp:
10540        (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): use the existing globalObject pointer for prototype lookup
10541        * bindings/js/JSOptionConstructor.cpp:
10542        (WebCore::JSOptionConstructor::JSOptionConstructor): use the existing globalObject pointer for prototype lookup
10543        * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
10544        (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): add new globalObject parameter and use it
10545        * bindings/js/JSWebKitCSSMatrixConstructor.h:
10546        * bindings/js/JSWebKitPointConstructor.cpp:
10547        (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor): add new globalObject parameter and use it
10548        * bindings/js/JSWebKitPointConstructor.h:
10549        * bindings/js/JSWorkerConstructor.cpp:
10550        (WebCore::JSWorkerConstructor::JSWorkerConstructor): add new globalObject parameter and use it
10551        * bindings/js/JSWorkerConstructor.h:
10552        * bindings/js/JSXMLHttpRequestConstructor.cpp:
10553        (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): use the existing globalObject pointer for prototype lookup
10554         -- XMLHttpRequest constructor was also missing a length.  Added one.
10555        * bindings/js/JSXSLTProcessorConstructor.cpp:
10556        (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
10557        * bindings/js/JSXSLTProcessorConstructor.h:
10558        * bindings/scripts/CodeGeneratorJS.pm:
10559
105602009-07-17  Dan Bernstein  <mitz@apple.com>
10561
10562        Build fix
10563
10564        * editing/htmlediting.cpp:
10565        (WebCore::visiblePositionBeforeNode):
10566        (WebCore::visiblePositionAfterNode):
10567
105682009-07-17  Jan Michael Alonzo  <jmalonzo@webkit.org>
10569
10570        Gtk build fix for symbol lookup error.
10571
10572        Move AbstractWorker from SHARED_WORKERS to WORKERS as Worker derives from it now
10573        Changed in http://trac.webkit.org/changeset/46048
10574
10575        * GNUmakefile.am:
10576
105772009-07-17  Ryosuke Niwa  <ryosuke.niwa@gmail.com>
10578
10579        Reviewed by Eric Seidel.
10580
10581        htmlediting.cpp needs more utility functions to fix the bug 26816
10582        https://bugs.webkit.org/show_bug.cgi?id=27038
10583
10584        In order to fix the bug 26816, we need several utility functions be added to htmlediting.cpp
10585
10586        No tests because functions haven't been used anywhere yet.
10587
10588        * dom/Range.cpp:
10589        (WebCore::Range::create):
10590        (WebCore::Range::comparePoint): added const qualifier
10591        (WebCore::Range::compareNode): added const qualifier
10592        * dom/Range.h:
10593        * editing/htmlediting.cpp:
10594        (WebCore::unsplittableElementForPosition): find the enclosing unsplittable element (editing root & table cell)
10595        (WebCore::positionBeforeNode): added ASSERT(node)
10596        (WebCore::positionAfterNode): added ASSERT(node)
10597        (WebCore::visiblePositionBeforeNode):
10598        (WebCore::visiblePositionAfterNode):
10599        (WebCore::createRange): create a range object from two visible positions
10600        (WebCore::extendRangeToWrappingNodes): extend range to include nodes that starts and ends at the boundaries
10601        (WebCore::canMergeLists): typo
10602        (WebCore::indexForVisiblePosition): added const qualifier
10603        (WebCore::isVisiblyAdjacent): typo
10604        (WebCore::isNodeVisiblyContainedWithin): determine if a node is inside a range or within the visible boundaries of the range
10605        * editing/htmlediting.h:
10606
106072009-07-17  Michelangelo De Simone  <micdesim@gmail.com>
10608
10609        Reviewed by Darin Adler.
10610
10611        https://bugs.webkit.org/show_bug.cgi?id=25551
10612        Added support for the "required" attribute, the valueMissing flag
10613        to the ValidityState object and :required/:optional CSS pseudoclasses.
10614        Part of HTML5 sec. Forms specs.
10615        http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr-input-required
10616
10617        Tests: fast/css/pseudo-required-optional-001.html
10618               fast/css/pseudo-required-optional-002.html
10619               fast/css/pseudo-required-optional-003.html
10620               fast/css/pseudo-required-optional-004.html
10621               fast/css/pseudo-required-optional-005.html
10622               fast/css/pseudo-required-optional-006.html
10623               fast/forms/ValidityState-valueMissing-001.html
10624               fast/forms/ValidityState-valueMissing-002.html
10625               fast/forms/ValidityState-valueMissing-003.html
10626               fast/forms/ValidityState-valueMissing-004.html
10627               fast/forms/ValidityState-valueMissing-005.html
10628               fast/forms/ValidityState-valueMissing-006.html
10629               fast/forms/ValidityState-valueMissing-007.html
10630               fast/forms/ValidityState-valueMissing-008.html
10631               fast/forms/ValidityState-valueMissing-009.html
10632               fast/forms/required-attribute-001.html
10633               fast/forms/required-attribute-002.html
10634
10635        * css/CSSSelector.cpp:
10636        (WebCore::CSSSelector::extractPseudoType): pseudoRequired/pseudoOptional
10637        * css/CSSSelector.h:
10638        (WebCore::CSSSelector::): ditto
10639        * css/CSSStyleSelector.cpp:
10640        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto
10641        * dom/Element.h:
10642        (WebCore::Element::isOptionalFormControl): check for optional controls
10643        (WebCore::Element::isRequiredFormControl): check for required controls
10644        * html/HTMLAttributeNames.in: required attribute
10645        * html/HTMLButtonElement.h:
10646        (WebCore::HTMLButtonElement::isOptionalFormControl): ditto
10647        * html/HTMLFormControlElement.cpp:
10648        (WebCore::HTMLFormControlElement::required): requiredAttr getter
10649        (WebCore::HTMLFormControlElement::setRequired): requiredAttr setter
10650        * html/HTMLFormControlElement.h:
10651        (WebCore::HTMLFormControlElement::valueMissing): method definition
10652        * html/HTMLInputElement.cpp:
10653        (WebCore::HTMLInputElement::valueMissing): validation code
10654        (WebCore::HTMLInputElement::isRequiredFormControl): ditto
10655        * html/HTMLInputElement.h:
10656        (WebCore::HTMLInputElement::isOptionalFormControl): ditto
10657        * html/HTMLInputElement.idl: required DOM attribute
10658        * html/HTMLSelectElement.h:
10659        (WebCore::HTMLSelectElement::isOptionalFormControl): ditto
10660        * html/HTMLTextAreaElement.h:
10661        (WebCore::HTMLTextAreaElement::valueMissing): validation code
10662        (WebCore::HTMLTextAreaElement::isOptionalFormControl): ditto
10663        (WebCore::HTMLTextAreaElement::isRequiredFormControl): ditto
10664        * html/HTMLTextAreaElement.idl: required DOM attribute
10665        * html/ValidityState.cpp:
10666        * html/ValidityState.h:
10667        (WebCore::ValidityState::valueMissing): validation flag
10668
106692009-07-17  Beth Dakin  <bdakin@apple.com>
10670
10671        Reviewed by Darin Adler.
10672
10673        Fix for https://bugs.webkit.org/show_bug.cgi?id=27390 CSS custom
10674        cursor hotspots should work in quirks mode
10675        - and corresponding <rdar://problem/6554340>
10676
10677        Enable hotspots in quirks mode.
10678        * css/CSSParser.cpp:
10679        (WebCore::CSSParser::parseValue):
10680
10681        Update this manual test to reflect the fact that hotspots are now
10682        expected to work in quirks mode.
10683        * manual-tests/css3-cursor-fallback-quirks.html:
10684
106852009-07-17  Peter Kasting  <pkasting@google.com>
10686
10687        Reviewed by Steve Falkenburg.
10688
10689        https://bugs.webkit.org/show_bug.cgi?id=27323
10690        Only add Cygwin to the path when it isn't already there.  This avoids
10691        causing problems for people who purposefully have non-Cygwin versions of
10692        executables like svn in front of the Cygwin ones in their paths.
10693
10694        * WebCore.vcproj/QTMovieWin.vcproj:
10695        * WebCore.vcproj/WebCoreCommon.vsprops:
10696        * WebCore.vcproj/WebCoreGenerated.vcproj:
10697
106982009-07-17  Alexey Proskuryakov  <ap@webkit.org>
10699
10700        Reviewed by David Levin.
10701
10702        https://bugs.webkit.org/show_bug.cgi?id=27384
10703        Random crashes in appcache/update-cache.html test
10704
10705        * loader/appcache/ApplicationCacheGroup.cpp:
10706        (WebCore::ApplicationCacheGroup::didReceiveResponse): Reorder code to avoid using a handle
10707        after canceling it.
10708
107092009-07-17  Drew Wilson  <atwilson@google.com>
10710
10711        Reviewed by David Levin.
10712
10713        Need to refactor Worker to derive from AbstractWorker
10714        https://bugs.webkit.org/show_bug.cgi?id=26948
10715
10716        Changed Worker to derive from AbstractWorker, which involved moving
10717        AbstractWorker files from being wrapped by ENABLE_SHARED_WORKERS to
10718        ENABLE_WORKERS.
10719
10720        Removed obsolete functionality from the JS/V8 bindings that is now
10721        inherited from AbstractWorker.
10722
10723        * WebCore.pro:
10724        Moved AbstractWorker files out of SHARED_WORKERS section and into WORKERS.
10725        * bindings/js/JSAbstractWorkerCustom.cpp:
10726        Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
10727        * bindings/js/JSWorkerCustom.cpp:
10728        Removed obsolete event listener code (now in base class)
10729        (WebCore::JSWorker::mark):
10730        No longer need to explicitly mark event listeners (handled by base class).
10731        * bindings/v8/V8Index.h:
10732        Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS.
10733        * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
10734        Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
10735        * bindings/v8/custom/V8CustomBinding.h:
10736        Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS.
10737        * bindings/v8/custom/V8WorkerCustom.cpp:
10738        Removed obsolete event listener code that now lives in the base class.
10739        (WebCore::V8WorkerConstructor): Cleaned up legacy style nits.
10740        * workers/AbstractWorker.cpp:
10741        Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
10742        * workers/AbstractWorker.h:
10743        Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS).
10744        * workers/Worker.cpp:
10745        Removed event listener code (now in base class).
10746        (WebCore::Worker::Worker): Now derives from AbstractWorker.
10747        (WebCore::Worker::notifyFinished): Calls dispatchLoadErrorEvent on base class.
10748        * workers/Worker.h:
10749        Removed APIs that now live in the base class.
10750        * workers/Worker.idl:
10751        Now derives from AbstractWorker.
10752        Removed APIs that live in the base class, and added a GenerateToJS flag.
10753
107542009-07-17  David Hyatt  <hyatt@apple.com>
10755
10756        Reviewed by Dan Bernstein.
10757
10758        https://bugs.webkit.org/show_bug.cgi?id=27379
10759        Absolutely-positioned elements with a scrollbar wrap prematurely.  Make sure to include
10760        the vertical scrollbar width for overflow:scroll elements.
10761
10762        Added fast/css/positioned-overflow-scroll.html
10763
10764        * rendering/RenderBlock.cpp:
10765        (WebCore::RenderBlock::calcPrefWidths):
10766        * rendering/RenderFlexibleBox.cpp:
10767        (WebCore::RenderFlexibleBox::calcPrefWidths):
10768
107692009-07-17  Jeremy Orlow  <jorlow@chromium.org>
10770
10771        Reviewed by Dimitri Glazkov.
10772
10773        Need a DOM_STORAGE guard in DerivedSroucesAllInOne.cpp
10774        https://bugs.webkit.org/show_bug.cgi?id=27375
10775
10776        In https://bugs.webkit.org/show_bug.cgi?id=27360 I added Storage.cpp
10777        and StorageEvent.cpp.  Unfortunately, until later this afternoon,
10778        DOM_STORAGE is not turned on by default in Chromium, and so these two
10779        files are never generated.  This breaks the compile.
10780
10781        There are no other instances of guards in the file, which puzzles me...
10782        but I think adding guards is the right way to go about this.
10783
10784        * bindings/v8/DerivedSourcesAllInOne.cpp:  Added the guard.
10785
107862009-07-17  Brady Eidson  <beidson@apple.com>
10787
10788        Reviewed by Darin Adler.
10789
10790        https://bugs.webkit.org/show_bug.cgi?id=26496
10791
10792        Let WebCore always enforce the connection-per-host limit itself.
10793
10794        * loader/loader.cpp:
10795        (WebCore::Loader::Host::servePendingRequests):
10796
107972009-07-17  Chris Marrin  <cmarrin@apple.com>
10798
10799        Reviewed by David Hyatt.
10800
10801        Some transitions don't work correctly on Leopard
10802        https://bugs.webkit.org/show_bug.cgi?id=27356
10803
10804        We only have code to do component animation using valueFunction.
10805        So on Leopard we always need to do matrix animation in hardware.
10806        This fix ensures that.
10807
10808        This is currently not testable because it appears only in the
10809        hardware animation and we can't yet do pixel tests while
10810        hardware animating.
10811
10812        * platform/graphics/mac/GraphicsLayerCA.mm:
10813        (WebCore::GraphicsLayerCA::animateTransform):
10814
108152009-07-17  Holger Hans Peter Freyther  <zecke@selfish.org>
10816
10817        Reviewed by Gustavo Noronha.
10818
10819        [GTK+] Crash in screenAvailable due a null Widget*
10820
10821        JSDOMWindow::open called screenAvailableRect(0). The other
10822        Screen methods can be called with a null widget as well, fix the
10823        crashing test by checking for null.
10824
10825        In screenRect and screenAvailableRect it is not tried to use
10826        a default screen as the existing implementation didn't try either
10827        in case of not having a toplevel widget.
10828
10829        LayoutTests/fast/frames/crash-removed-iframe.html caused a crash.
10830
10831        * platform/gtk/PlatformScreenGtk.cpp:
10832        (WebCore::getVisual): New method to get a visual or return zero.
10833        (WebCore::screenDepth): Use getVisual.
10834        (WebCore::screenDepthPerComponent): Use getVisual.
10835        (WebCore::screenIsMonochrome): Use screenDepth which will do the null checking
10836        (WebCore::screenRect): Check for !widget.
10837        (WebCore::screenAvailableRect): Check for !widget.
10838
108392009-07-17  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
10840
10841        Reviewed by Simon Hausmann.
10842
10843        [Qt] Fix the include path for the Symbian port
10844        https://bugs.webkit.org/show_bug.cgi?id=27358
10845
10846        * WebCore.pro:
10847
108482009-07-17  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
10849
10850        Reviewed by Simon Hausmann.
10851
10852        Make it possible to set the plugin directories from the DRT.
10853        Part of https://bugs.webkit.org/show_bug.cgi?id=27215
10854
10855        * plugins/PluginDatabase.cpp:
10856        (WebCore::PluginDatabase::installedPlugins): Now optionally takes
10857        a populate argument, so we can avoid loading system plugins from the
10858        DRT and thus avoid their strerr errors that can make tests fail.
10859        (WebCore::PluginDatabase::clear): Make it possible to clear the
10860        database. Called from setPluginDirectories.
10861        * plugins/PluginDatabase.h:
10862        (WebCore::PluginDatabase::setPluginDirectories): Make public
10863
108642009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
10865
10866        Reviewed by Simon Hausmann.
10867
10868        PluginViewMac: Stop the plugin when loading fails
10869
10870        Also, prevent event propagation when in the stopped state
10871
10872        * plugins/mac/PluginViewMac.cpp:
10873
108742009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
10875
10876        Reviewed by Simon Hausmann.
10877
10878        PluginViewMac: Allow query and set of drawing and event models
10879
10880        We now support querying and setting of the drawing and event model,
10881        but we still only support the CoreGraphics drawing model, and the
10882        Carbon event model.
10883
10884        If unsupported drawing or event models are detected we show the
10885        missing-plugin icon.
10886
10887        * plugins/PluginView.cpp:
10888        * plugins/PluginView.h:
10889        * plugins/mac/PluginViewMac.cpp:
10890
108912009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
10892
10893        Reviewed by Simon Hausmann.
10894
10895        Initialize two PluginView members using memset
10896
10897        m_npWindow is used on all platforms, not just for XP_UNIX,
10898        so always initialize it. m_npCgContext on the other hand
10899        is only used for XP_MACOSX.
10900
10901        * plugins/PluginView.cpp:
10902
109032009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
10904
10905        Reviewed by Simon Hausmann.
10906
10907        Add more debug logging in PluginView
10908
10909        * plugins/PluginView.cpp: Add debug for setValue
10910        * plugins/gtk/PluginViewGtk.cpp: Add debug for getValue
10911        * plugins/mac/PluginViewMac.cpp: Add debug for getValue and more
10912        * plugins/qt/PluginViewQt.cpp: Add debug for getValue
10913        * plugins/win/PluginViewWin.cpp: Add debug for getValue
10914
109152009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
10916
10917        Reviewed by Holger Freyther.
10918
10919        Use same license in PluginDebug.cpp as in the original PluginDebug.h
10920
10921        * plugins/PluginDebug.cpp: Use license from PluginDebug.h
10922
109232009-07-17  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
10924
10925        Reviewed by Simon Hausmann.
10926
10927        Add more debugging functionality for the WebCore NPAPI layer
10928
10929        * GNUmakefile.am: Add PluginDebug.cpp
10930        * WebCore.gypi: Add PluginDebug.cpp
10931        * WebCore.pro: Add PluginDebug.cpp
10932        * WebCore.vcproj/WebCore.vcproj: Add PluginDebug.cpp
10933        * WebCoreSources.bkl: Add PluginDebug.cpp
10934        * plugins/PluginDebug.h: Move errorStrings to PluginDebug.cpp
10935        * plugins/PluginDebug.cpp: New file
10936
109372009-07-17  Jeremy Orlow  <jorlow@chromium.org>
10938
10939        Reviewed by David Levin.
10940
10941        Fix Chromium build with DOM_STORAGE enabled.
10942        https://bugs.webkit.org/show_bug.cgi?id=27360
10943
10944        2 minor changes as noted below:
10945
10946        * bindings/v8/DerivedSourcesAllInOne.cpp: Add the generated .cpp files.
10947        * storage/StorageAreaImpl.cpp:  #include "DOMWindow.h"
10948
109492009-07-16  Fumitoshi Ukai  <ukai@chromium.org>
10950
10951        Reviewed by David Levin.
10952
10953        Add --web-sockets flag and ENABLE_WEB_SOCKETS define.
10954        https://bugs.webkit.org/show_bug.cgi?id=27206
10955
10956        Add ENABLE_WEB_SOCKETS
10957
10958        * Configurations/FeatureDefines.xcconfig: add ENABLE_WEB_SOCKETS
10959        * GNUmakefile.am: add ENABLE_WEB_SOCKETS
10960        * WebCore.vcproj/WebCoreCommon.vsprops: add ENABLE_WEB_SOCKETS
10961        * WebCore.vcproj/build-generated-files.sh: add ENABLE_WEB_SOCKETS
10962
109632009-07-16  Maxime Simon  <simon.maxime@gmail.com>
10964
10965        Reviewed by Oliver Hunt.
10966
10967        Added a third bunch of Haiku-specific files for WebCore.
10968        https://bugs.webkit.org/show_bug.cgi?id=26952
10969
10970        Adding five files, EventLoopHaiku.cpp, FileChooserHaiku.cpp,
10971        FileSystemHaiku.cpp, KeyboardCodes.h and MIMETypeRegistryHaiku.cpp
10972
10973        * platform/haiku/EventLoopHaiku.cpp: Added.
10974        (WebCore::EventLoop::cycle):
10975        * platform/haiku/FileChooserHaiku.cpp: Added.
10976        (WebCore::FileChooser::FileChooser):
10977        (WebCore::FileChooser::basenameForWidth):
10978        * platform/haiku/FileSystemHaiku.cpp: Added.
10979        (WebCore::fileSystemRepresentation):
10980        (WebCore::homeDirectoryPath):
10981        (WebCore::openTemporaryFile):
10982        (WebCore::closeFile):
10983        (WebCore::writeToFile):
10984        (WebCore::unloadModule):
10985        (WebCore::listDirectory):
10986        * platform/haiku/KeyboardCodes.h: Added.
10987        * platform/haiku/MIMETypeRegistryHaiku.cpp: Added.
10988        (WebCore::):
10989        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
10990
109912009-07-16  Maxime Simon  <simon.maxime@gmail.com>
10992
10993        Reviewed by Oliver Hunt.
10994
10995        Added a second bunch of Haiku-specific files for WebCore.
10996        https://bugs.webkit.org/show_bug.cgi?id=26952
10997
10998        Adding four files, ContextMenuHaiku.cpp, ContextMenuItemHaiku.cpp,
10999        DragDataHaiku.cpp and DragImageHaiku.cpp
11000
11001        * platform/haiku/ContextMenuHaiku.cpp: Added.
11002        (WebCore::ContextMenuReceiver::ContextMenuReceiver):
11003        (WebCore::ContextMenuReceiver::HandleMessage):
11004        (WebCore::ContextMenuReceiver::Result):
11005        (WebCore::ContextMenu::ContextMenu):
11006        (WebCore::ContextMenu::~ContextMenu):
11007        (WebCore::ContextMenu::appendItem):
11008        (WebCore::ContextMenu::itemCount):
11009        (WebCore::ContextMenu::insertItem):
11010        (WebCore::ContextMenu::platformDescription):
11011        (WebCore::ContextMenu::setPlatformDescription):
11012        * platform/haiku/ContextMenuItemHaiku.cpp: Added.
11013        (ContextMenuItem::ContextMenuItem):
11014        (ContextMenuItem::~ContextMenuItem):
11015        (ContextMenuItem::releasePlatformDescription):
11016        (ContextMenuItem::type):
11017        (ContextMenuItem::setType):
11018        (ContextMenuItem::action):
11019        (ContextMenuItem::setAction):
11020        (ContextMenuItem::title):
11021        (ContextMenuItem::setTitle):
11022        (ContextMenuItem::platformSubMenu):
11023        (ContextMenuItem::setSubMenu):
11024        (ContextMenuItem::setChecked):
11025        (ContextMenuItem::setEnabled):
11026        (ContextMenuItem::enabled):
11027        * platform/haiku/DragDataHaiku.cpp: Added.
11028        (WebCore::DragData::canSmartReplace):
11029        (WebCore::DragData::containsColor):
11030        (WebCore::DragData::containsFiles):
11031        (WebCore::DragData::asFilenames):
11032        (WebCore::DragData::containsPlainText):
11033        (WebCore::DragData::asPlainText):
11034        (WebCore::DragData::asColor):
11035        (WebCore::DragData::createClipboard):
11036        (WebCore::DragData::containsCompatibleContent):
11037        (WebCore::DragData::containsURL):
11038        (WebCore::DragData::asURL):
11039        (WebCore::DragData::asFragment):
11040        * platform/haiku/DragImageHaiku.cpp: Added.
11041        (WebCore::dragImageSize):
11042        (WebCore::deleteDragImage):
11043        (WebCore::scaleDragImage):
11044        (WebCore::dissolveDragImageToFraction):
11045        (WebCore::createDragImageFromImage):
11046        (WebCore::createDragImageIconForCachedImage):
11047
110482009-07-16  Stephen White  <senorblanco@chromium.org>
11049
11050        Reviewed by Darin Fisher and Brett Wilson.
11051
11052        Refactor Skia implementation of gradients and patterns.
11053
11054        http://bugs.webkit.org/show_bug.cgi?id=26618
11055
11056        The following layout tests were breaking on Chromium/Linux:
11057
11058        LayoutTests/svg/custom/js-late-gradient-creation.svg (bad baseline PNG)
11059        LayoutTests/svg/custom/js-late-gradient-and-object.creation.svg
11060        LayoutTests/svg/custom/js-late-pattern-creation.svg (bad baseline PNG)
11061        LayoutTests/svg/custom/js-late-pattern-and-object-creation.svg
11062
11063        I could've fixed these the easy way, by copying the same 5
11064        lines of code we use everywhere we need patterns or gradients, but
11065        I decided to fix it the hard way:  by refactoring the code so that
11066        PlatformContextSkia::setupPaintForFilling() and
11067        PlatformContextSkia::setupPaintForStroking() do the right thing,
11068        and also handle gradients and patterns.
11069
11070        This required pushing the gradients and patterns set in
11071        (generic) GraphicsContext::setFillPattern() and friends down into
11072        PlatformContextSkia.  For this, I followed the setPlatformXXX()
11073        pattern used elsewhere in GraphicsContext, and stubbed them out on
11074        the other platforms with #if !PLATFORM(SKIA).  This also required
11075        pushing changes to the gradientSpaceTransform from the Gradient into
11076        GradientSkia.
11077
11078        Since it's a Skia context, I decided to cache the values as
11079        SkShaders.  There were existing m_pattern and m_gradient SkShaders,
11080        but they were unused, and whose use was ambiguous, so I
11081        replaced them with one SkShader each for filling and stroking.
11082
11083        * platform/graphics/Gradient.cpp:
11084        (WebCore::Gradient::setGradientSpaceTransform):
11085        (WebCore::Gradient::setPlatformGradientSpaceTransform):
11086        * platform/graphics/Gradient.h:
11087        * platform/graphics/GraphicsContext.cpp:
11088        (WebCore::GraphicsContext::setStrokePattern):
11089        (WebCore::GraphicsContext::setFillPattern):
11090        (WebCore::GraphicsContext::setStrokeGradient):
11091        (WebCore::GraphicsContext::setFillGradient):
11092        (WebCore::GraphicsContext::setPlatformFillGradient):
11093        (WebCore::GraphicsContext::setPlatformFillPattern):
11094        (WebCore::GraphicsContext::setPlatformStrokeGradient):
11095        (WebCore::GraphicsContext::setPlatformStrokePattern):
11096        * platform/graphics/GraphicsContext.h:
11097        * platform/graphics/skia/GradientSkia.cpp:
11098        (WebCore::Gradient::setPlatformGradientSpaceTransform):
11099        * platform/graphics/skia/GraphicsContextSkia.cpp:
11100        (WebCore::GraphicsContext::fillPath):
11101        (WebCore::GraphicsContext::fillRect):
11102        (WebCore::GraphicsContext::setPlatformFillGradient):
11103        (WebCore::GraphicsContext::setPlatformFillPattern):
11104        (WebCore::GraphicsContext::setPlatformStrokeGradient):
11105        (WebCore::GraphicsContext::setPlatformStrokePattern):
11106        (WebCore::GraphicsContext::strokePath):
11107        (WebCore::GraphicsContext::strokeRect):
11108        * platform/graphics/skia/PlatformContextSkia.cpp:
11109        (PlatformContextSkia::State::State):
11110        (PlatformContextSkia::State::~State):
11111        (PlatformContextSkia::drawRect):
11112        (PlatformContextSkia::setupPaintCommon):
11113        (PlatformContextSkia::setupPaintForFilling):
11114        (PlatformContextSkia::setupPaintForStroking):
11115        (PlatformContextSkia::setFillColor):
11116        (PlatformContextSkia::setStrokeColor):
11117        (PlatformContextSkia::setStrokeShader):
11118        (PlatformContextSkia::setFillShader):
11119        * platform/graphics/skia/PlatformContextSkia.h:
11120        * platform/graphics/skia/SkiaFontWin.cpp:
11121        (WebCore::skiaDrawText):
11122        (WebCore::paintSkiaText):
11123        * svg/graphics/SVGPaintServer.cpp:
11124        (WebCore::SVGPaintServer::teardown):
11125
111262009-07-16  Maxime Simon  <simon.maxime@gmail.com>
11127
11128        Reviewed by Oliver Hunt.
11129
11130        Added Haiku-specific files for WebCore/platform/image-decoders/.
11131        https://bugs.webkit.org/show_bug.cgi?id=26949
11132
11133        Adding a new file, ImageDecoderHaiku.cpp.
11134
11135        * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Added.
11136        (WebCore::RGBA32Buffer::RGBA32Buffer):
11137        (WebCore::RGBA32Buffer::clear):
11138        (WebCore::RGBA32Buffer::zeroFill):
11139        (WebCore::RGBA32Buffer::copyBitmapData):
11140        (WebCore::RGBA32Buffer::setSize):
11141        (WebCore::RGBA32Buffer::asNewNativeImage):
11142        (WebCore::RGBA32Buffer::hasAlpha):
11143        (WebCore::RGBA32Buffer::setHasAlpha):
11144        (WebCore::RGBA32Buffer::setStatus):
11145        (WebCore::RGBA32Buffer::operator=):
11146        (WebCore::RGBA32Buffer::width):
11147        (WebCore::RGBA32Buffer::height):
11148
111492009-07-16  Maxime Simon  <simon.maxime@gmail.com>
11150
11151        Reviewed by Eric Seidel.
11152
11153        Added Haiku-specific files for WebCore/page/.
11154        https://bugs.webkit.org/show_bug.cgi?id=26949
11155
11156        Adding three new files, DragControllerHaiku.cpp, EventHandlerHaiku.cpp
11157        and FrameHaiku.cpp
11158
11159        * page/haiku/DragControllerHaiku.cpp: Added.
11160        (WebCore::DragController::isCopyKeyDown):
11161        (WebCore::DragController::dragOperation):
11162        (WebCore::DragController::maxDragImageSize):
11163        (WebCore::DragController::cleanupAfterSystemDrag):
11164        * page/haiku/EventHandlerHaiku.cpp: Added.
11165        (WebCore::isKeyboardOptionTab):
11166        (WebCore::EventHandler::invertSenseOfTabsToLinks):
11167        (WebCore::EventHandler::tabsToAllControls):
11168        (WebCore::EventHandler::focusDocumentView):
11169        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
11170        (WebCore::EventHandler::passMouseDownEventToWidget):
11171        (WebCore::EventHandler::eventActivatedView):
11172        (WebCore::EventHandler::passSubframeEventToSubframe):
11173        (WebCore::EventHandler::passWheelEventToWidget):
11174        (WebCore::EventHandler::createDraggingClipboard):
11175        (WebCore::EventHandler::passMousePressEventToSubframe):
11176        (WebCore::EventHandler::passMouseMoveEventToSubframe):
11177        (WebCore::EventHandler::passMouseReleaseEventToSubframe):
11178        (WebCore::EventHandler::accessKeyModifiers):
11179        * page/haiku/FrameHaiku.cpp: Added.
11180        (WebCore::Frame::dragImageForSelection):
11181
111822009-07-16  Maxime Simon  <simon.maxime@gmail.com>
11183
11184        Reviewed by Eric Seidel.
11185
11186        Added Haiku-specific files for WebCore/editing/.
11187        https://bugs.webkit.org/show_bug.cgi?id=26949
11188
11189        Adding one new file, EditorHaiku.cpp
11190
11191        * editing/haiku/EditorHaiku.cpp: Added.
11192        (WebCore::Editor::newGeneralClipboard):
11193
111942009-07-16  Maxime Simon  <simon.maxime@gmail.com>
11195
11196        Reviewed by Eric Seidel.
11197
11198        Added Haiku-specific files for WebCore/bindings/js/.
11199        https://bugs.webkit.org/show_bug.cgi?id=26949
11200
11201        Adding a new file, ScriptControllerHaiku.cpp
11202
11203        * bindings/js/ScriptControllerHaiku.cpp: Added.
11204        (WebCore::ScriptController::createScriptInstanceForWidget):
11205
112062009-07-16  Maxime Simon  <simon.maxime@gmail.com>
11207
11208        Reviewed by Eric Seidel.
11209
11210        Added Haiku-specific files for WebCore/platform/text/.
11211        https://bugs.webkit.org/show_bug.cgi?id=26949
11212
11213        Adding two new files, StringHaiku.cpp
11214        and TextBreakIteratorInternalICUHaiku.cpp
11215
11216        * platform/text/haiku/StringHaiku.cpp: Added.
11217        (WebCore::String::String):
11218        (WebCore::String::operator BString):
11219        * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp: Added.
11220        (WebCore::currentTextBreakLocaleID):
11221
112222009-07-16  Kent Tamura  <tkent@chromium.org>
11223
11224        Reviewed by Eric Seidel.
11225
11226        Sends the basename of a selected file for non-multipart form submission.
11227        <https://bugs.webkit.org/show_bug.cgi?id=26505>
11228
11229        Test: fast/forms/get-file-upload.html
11230
11231        * html/HTMLInputElement.cpp:
11232        (WebCore::HTMLInputElement::appendFormData):
11233
112342009-07-16  Adam Barth  <abarth@webkit.org>
11235
11236        Reviewed by David Levin.
11237
11238        [V8] Centralize hidden property names
11239        https://bugs.webkit.org/show_bug.cgi?id=27359
11240
11241        No behavior change.  Just moving these names to a central location.
11242        I'll move the rest of our hidden property names as I sweep though the
11243        bindings.
11244
11245        * WebCore.gypi:
11246        * bindings/v8/V8HiddenPropertyName.cpp: Added.
11247        (WebCore::V8HiddenPropertyName::objectPrototype):
11248        (WebCore::V8HiddenPropertyName::isolatedWorld):
11249        * bindings/v8/V8HiddenPropertyName.h: Added.
11250        * bindings/v8/V8IsolatedWorld.cpp:
11251        (WebCore::V8IsolatedWorld::V8IsolatedWorld):
11252        (WebCore::V8IsolatedWorld::getEntered):
11253        * bindings/v8/V8Proxy.cpp:
11254        (WebCore::V8Proxy::getHiddenObjectPrototype):
11255        (WebCore::V8Proxy::installHiddenObjectPrototype):
11256
112572009-07-16  Dan Bernstein  <mitz@apple.com>
11258
11259        Reviewed by Simon Fraser.
11260
11261        REGRESSION (r41238) Repainted portion of a scaled image does not line up with full image
11262        https://bugs.webkit.org/show_bug.cgi?id=26747
11263        rdar://problem/7009243
11264
11265        Test: fast/repaint/background-misaligned.html
11266
11267        * platform/graphics/Image.cpp:
11268        (WebCore::Image::drawTiled): Moved a variable definition closer to where
11269        it is used.
11270        * platform/graphics/cg/ImageCG.cpp:
11271        (WebCore::BitmapImage::draw): In the subimage code path, compute a
11272        pixel-aligned source rect, because the subiamge is always pixel-aligned
11273        in source space, and adjust the destination rect to preserve the
11274        source -> destination mapping. Clip to the (original) destination rect
11275        to prevent bleeding out.
11276
112772009-07-16  Jeremy Orlow  <jorlow@chromium.org>
11278
11279        Reviewed by Adam Barth.
11280
11281        Add a sessionStorageEnabled setting to the settings class.
11282        https://bugs.webkit.org/show_bug.cgi?id=27318
11283
11284        Allow LocalStorage to be enabled without enabling SessionStorage at
11285        runtime.  There is a settings class setting for localStorage, but not
11286        for sessionStorage.  We want to be able to test one of these features
11287        without necessarily enabling the other.
11288
11289        SessionStorage defaults to true so as to not change behavior and
11290        because there really aren't any security concerns around SessionStorage
11291        (unlike LocalsStorage).  The flag is needed in Chromium only because
11292        we want to enable the compile time flag in the default build, but don't
11293        want it on by default until it's been thoroughly tested.
11294
11295        * page/DOMWindow.cpp:
11296        (WebCore::DOMWindow::sessionStorage):  Check the new flag
11297        (WebCore::DOMWindow::localStorage):  A bit of cleanup
11298        * page/Settings.cpp:
11299        (WebCore::Settings::Settings):  Default the flag to true
11300        (WebCore::Settings::setSessionStorageEnabled):  Add the new flag
11301        * page/Settings.h:
11302        (WebCore::Settings::sessionStorageEnabled):  Get the new flag
11303
113042009-07-16  Adam Barth  <abarth@webkit.org>
11305
11306        Unreviewed.
11307
11308        Revert 45987.  Tests did not pass on Windows.
11309
11310        * html/HTMLInputElement.cpp:
11311        (WebCore::HTMLInputElement::appendFormData):
11312
113132009-07-16  Drew Wilson  <atwilson@google.com>
11314
11315        Reviewed by David Levin.
11316
11317        Added SHARED_WORKER flag to Windows build files, as well as associated .ccp/.h files.
11318        Added missing V8 bindings to the AllInOne file
11319
11320        https://bugs.webkit.org/show_bug.cgi?id=27321
11321
11322        * WebCore.vcproj/WebCore.vcproj:
11323        Added missing files to build.
11324        * bindings/v8/DerivedSourcesAllInOne.cpp:
11325        Added missing V8 bindings (V8AbstractWorker.cpp and V8SharedWorker.cpp)
11326        * DerivedSources.cpp
11327        Added missing JS bindings (JSAbstractWorker.cpp and JSSharedWorker.cpp)
11328
113292009-07-16  John Abd-El-Malek  <jam@chromium.org>
11330
11331        Reviewed by David Levin.
11332
11333        Add a getter in MessagePortChannel for the PlatformMessagePortChannel.
11334
11335        https://bugs.webkit.org/show_bug.cgi?id=27337
11336
11337        * dom/MessagePortChannel.h:
11338        (WebCore::MessagePortChannel::channel):
11339
113402009-07-16  Xiaomei Ji  <xji@chromium.org>
11341
11342        Reviewed by Darin Adler.
11343
11344        Fix tooltip does not get its directionality from its element's directionality.
11345        https://bugs.webkit.org/show_bug.cgi?id=24187
11346
11347        Per mitz's suggestion in comment #6, while getting the plain-text
11348        title, we also get the directionality of the title. How to handle
11349        the directionality is up to clients. Clients could ignore it,
11350        or use attribute or unicode control characters to display the title
11351        as what they want.
11352
11353        WARNING: NO TEST CASES ADDED OR CHANGED
11354
11355        * WebCore.base.exp: Replace 2 names due to signature change.
11356        * loader/EmptyClients.h:
11357        (WebCore::EmptyChromeClient::setToolTip): Add direction as 2nd parameter.
11358        * page/Chrome.cpp:
11359        (WebCore::Chrome::setToolTip): Calculate tooltip direction as well and pass it to client to take care when display tooltip.
11360        * page/ChromeClient.h: Add direction as 2nd parameter to pure virtual function setToolTip().
11361        * page/chromium/ChromeClientChromium.h:
11362        (WebCore::ChromeClientChromium::setToolTip): Add setToolTip()
11363        temprarily to make chromium compile after pick up this webkit patch.
11364        * rendering/HitTestResult.cpp:
11365        (WebCore::HitTestResult::spellingToolTip): Besides getting the
11366        spelling tooltip, get its directionality as well.
11367        (WebCore::HitTestResult::title): Besides getting the title,
11368        get its directionality as well.
11369        * rendering/HitTestResult.h: Add 2 more methods.
11370
113712009-07-16  Shinichiro Hamaji  <hamaji@chromium.org>
11372
11373        Reviewed by Oliver Hunt.
11374
11375        [CAIRO] pattern of a canvas-element changes after modifications on canvas-element
11376        https://bugs.webkit.org/show_bug.cgi?id=20578
11377
11378        Copy pixel image in ImageBuffer::image() just like CG and Skia glue.
11379
11380        Test: fast/canvas/canvas-pattern-modify.html
11381
11382        * platform/graphics/cairo/ImageBufferCairo.cpp:
11383        (copySurface):
11384        (WebCore::ImageBuffer::image):
11385
113862009-07-16  David Hyatt  <hyatt@apple.com>
11387
11388        Reviewed by Beth Dakin.
11389
11390        https://bugs.webkit.org/show_bug.cgi?id=27353
11391        Images mispositioned because of bug in percentage-based relative positioning.
11392
11393        Added fast/css/nested-floating-relative-position-percentages.html
11394
11395        * rendering/RenderBoxModelObject.cpp:
11396        (WebCore::RenderBoxModelObject::relativePositionOffsetX):
11397
113982009-07-16  Kent Tamura  <tkent@chromium.org>
11399
11400        Reviewed by Eric Seidel.
11401
11402        Sends the basename of a selected file for non-multipart form submission.
11403        <https://bugs.webkit.org/show_bug.cgi?id=26505>
11404
11405        Test: fast/forms/get-file-upload.html
11406
11407        * html/HTMLInputElement.cpp:
11408        (WebCore::HTMLInputElement::appendFormData):
11409
114102009-07-16  Simon Fraser  <simon.fraser@apple.com>
11411
11412        Reviewed by Darin Adler.
11413
11414        Video size sometimes jumps just after the video starts loading
11415        https://bugs.webkit.org/show_bug.cgi?id=27352
11416
11417        Ensure that the media player is at or after the 'HaveMetadata' state so that
11418        the instrinsic size is known before we create the layer for video. This avoids
11419        a flash caused by computing the video rect using the default intrinsic size, and then
11420        re-computing it when that size changes.
11421
11422        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
11423        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
11424        (WebCore::MediaPlayerPrivate::isReadyForRendering):
11425        (WebCore::MediaPlayerPrivate::updateStates):
11426        (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
11427
114282009-07-16  Brady Eidson  <beidson@apple.com>
11429
11430        Reviewed by Antti Koivisto.
11431        Patch by Brady Eidson and Alexey Proskuryakov.
11432
11433        https://bugs.webkit.org/show_bug.cgi?id=26496
11434        <rdar://problem/7065391> Microsoft Outlook Web Access fails because XHR stream connection blocks script loading/revalidation
11435
11436        After refreshing a page and when all CachedResources on that page are in validation mode, they got an exemption
11437        from the connection-per-host limit.  Removing that exemption makes the test case load smoothly after reloads.
11438
11439        * loader/loader.cpp:
11440        (WebCore::Loader::Host::servePendingRequests): Remove the resourceIsCacheValidator exemption to the connection-per-host limit.
11441
114422009-07-16  Adam Barth  <abarth@webkit.org>
11443
11444        Reviewed by Dimitri Glazkov.
11445
11446        [V8] V8IsolatedWorld::evaluate needs to call didCreateIsolatedScriptContext
11447        https://bugs.webkit.org/show_bug.cgi?id=27335
11448
11449        evaluateInNewContext makes this delegate call.  evaluateInNewWorld
11450        needs to make the same call.  This does not appear to be testable with
11451        our current technology.
11452
11453        * bindings/v8/V8IsolatedWorld.cpp:
11454        (WebCore::V8IsolatedWorld::evaluate):
11455
114562009-07-15  Jakub Wieczorek  <faw217@gmail.com>
11457
11458        Reviewed by Simon Hausmann.
11459
11460        Fix a typo: application/atom=xml -> application/atom+xml.
11461
11462        * dom/ProcessingInstruction.cpp:
11463        (WebCore::ProcessingInstruction::checkStyleSheet):
11464
114652009-07-16  Dean McNamee  <deanm@chromium.org>
11466
11467        Reviewed by Oliver Hunt.
11468
11469        https://bugs.webkit.org/show_bug.cgi?id=27292
11470        Improve handling of <canvas> path operations on an empty path.
11471        Implement Skia's Path::hasCurrentPoint().
11472
11473        * html/CanvasRenderingContext2D.cpp:
11474        (WebCore::CanvasRenderingContext2D::lineTo):
11475        (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
11476        (WebCore::CanvasRenderingContext2D::bezierCurveTo):
11477        * platform/graphics/skia/PathSkia.cpp:
11478        (WebCore::Path::hasCurrentPoint):
11479
114802009-07-15  Shinichiro Hamaji  <hamaji@chromium.org>
11481
11482        Reviewed by Eric Seidel.
11483
11484        Setting white-space and word-wrap via CSS in textarea doesn't override the wrap attribute
11485        https://bugs.webkit.org/show_bug.cgi?id=26254
11486
11487        Make it so that setting white-space and word-wrap via CSS
11488        overrides the wrap attribute.
11489
11490        This involves having the shadow div in the textarea inherit
11491        the CSS from its parent instead of hard-coding it in
11492        RenderTextControlMultiline.
11493
11494        Committer note: Earlier I reverted this change because I did it incorrectly
11495        by leaving out css/html.css. In the patch, the filename was the old name
11496        css/html4.css and that led to my error.
11497
11498        * css/html.css:
11499        * html/HTMLTextAreaElement.cpp:
11500        (WebCore::HTMLTextAreaElement::parseMappedAttribute):
11501        * rendering/RenderTextControlMultiLine.cpp:
11502        (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
11503
115042009-07-15  James Hawkins  <jhawkins@google.com>
11505
11506        Reviewed by Adam Barth.
11507
11508        [V8] Remove a local variable that is shadowing a function parameter.
11509        https://bugs.webkit.org/show_bug.cgi?id=27309
11510
11511        No test required as this modification does not change the current behavior.
11512
11513        * bindings/v8/V8DOMWrapper.cpp:
11514        (WebCore::V8DOMWrapper::instantiateV8Object):
11515
115162009-07-15  Adam Langley  <agl@google.com>
11517
11518        No review: reverting previous change.
11519
11520        Revert r45959:
11521
11522        2009-07-15  Dumitru Daniliuc  <dumi@chromium.org>
11523        Reviewed by Dimitri Glazkov.
11524
11525        Adding the Win SQLite VFS implementation for Chromium.
11526
11527        https://bugs.webkit.org/show_bug.cgi?id=26940
11528
11529
11530        The Chromium side of this patch was landed in 20839, but broke the build. It
11531        was reverted in r20840. Thus, I'm reverting this side of the patch too.
11532
11533        * WebCore.gypi:
11534        * platform/chromium/ChromiumBridge.h:
11535        * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Removed.
11536        * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Removed.
11537
115382009-07-15  David Levin  <levin@chromium.org>
11539
11540        Layout test fix, reverting previous change.
11541
11542        Reverting r45962 as it caused several layout test failures.
11543
11544        * html/HTMLTextAreaElement.cpp:
11545        (WebCore::HTMLTextAreaElement::parseMappedAttribute):
11546        * rendering/RenderTextControlMultiLine.cpp:
11547        (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
11548
115492009-06-08  Shinichiro Hamaji  <hamaji@chromium.org>
11550
11551        Reviewed by Eric Seidel.
11552
11553        Setting white-space and word-wrap via CSS in textarea doesn't override the wrap attribute
11554        https://bugs.webkit.org/show_bug.cgi?id=26254
11555
11556        Make it so that setting white-space and word-wrap via CSS
11557        overrides the wrap attribute.
11558
11559        This involves having the shadow div in the textarea inherit
11560        the CSS from its parent instead of hard-coding it in
11561        RenderTextControlMultiline.
11562
11563        * css/html4.css:
11564        * html/HTMLTextAreaElement.cpp:
11565        (WebCore::HTMLTextAreaElement::parseMappedAttribute):
11566        * rendering/RenderTextControlMultiLine.cpp:
11567        (WebCore::RenderTextControlMultiLine::createInnerTextStyle):
11568
115692009-07-15  Dumitru Daniliuc  <dumi@chromium.org>
11570
11571        Reviewed by Dimitri Glazkov.
11572
11573        Adding the Win SQLite VFS implementation for Chromium.
11574
11575        https://bugs.webkit.org/show_bug.cgi?id=26940
11576
11577        * platform/chromium/ChromiumBridge.h:
11578        * platform/sql/chromium: Added.
11579        * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added.
11580        * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added.
11581
115822009-07-15  Jian Li  <jianli@chromium.org>
11583
11584        Reviewed by David Levin.
11585
11586        Bug 25151 - workers that fail to load scripts not firing error event.
11587        https://bugs.webkit.org/show_bug.cgi?id=25151
11588
11589        This fixes the problem that an error event is not fired when the worker
11590        script fails to load. Some reasons this may occur are an invalid URL for
11591        the worker script or a cross-origin redirect.
11592
11593        We also moves the code to complete the URL and check its origin from
11594        Worker constructor to WorkerScriptLoader loading functions in order to
11595        move the exception throwing logic out of the scope of Worker constructor.
11596        Due to this change, we also remove the output ExceptionCode parameter
11597        in the worker constructor. Corresponding JS/V8 binding codes have been
11598        updated to reflect this change.
11599
11600        * bindings/js/JSWorkerConstructor.cpp:
11601        (WebCore::constructWorker):
11602        * bindings/v8/custom/V8WorkerCustom.cpp:
11603        (WebCore::CALLBACK_FUNC_DECL):
11604        * workers/Worker.cpp:
11605        (WebCore::Worker::Worker):
11606        (WebCore::Worker::notifyFinished):
11607        * workers/Worker.h:
11608        (WebCore::Worker::create):
11609        * workers/WorkerContext.cpp:
11610        (WebCore::WorkerContext::importScripts):
11611        * workers/WorkerScriptLoader.cpp:
11612        (WebCore::toCrossOriginRedirectPolicy):
11613        (WebCore::WorkerScriptLoader::loadSynchronously):
11614        (WebCore::WorkerScriptLoader::loadAsynchronously):
11615        (WebCore::notifyLoadErrorTask):
11616        (WebCore::WorkerScriptLoader::createResourceRequest):
11617        (WebCore::WorkerScriptLoader::didFail):
11618        (WebCore::WorkerScriptLoader::didFailRedirectCheck):
11619        (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
11620        (WebCore::WorkerScriptLoader::notifyError):
11621        * workers/WorkerScriptLoader.h:
11622        (WebCore::):
11623        (WebCore::WorkerScriptLoader::url):
11624
116252009-07-15  Dan Bernstein  <mitz@apple.com>
11626
11627        Reviewed by Dave Hyatt.
11628
11629        text-shadow is not drawn for text with transparent colour
11630        https://bugs.webkit.org/show_bug.cgi?id=21374
11631
11632        Test: fast/text/shadow-translucent-fill.html
11633
11634        * rendering/InlineTextBox.cpp:
11635        (WebCore::paintTextWithShadows): If the text fill color is not opaque,
11636        paint all shadows separately from the text, by casting them from
11637        clipped-out opaque text.
11638
116392009-07-15  Adam Treat  <adam.treat@torchmobile.com>
11640
11641        Fix the Qt build.
11642
11643        * html/HTMLAreaElement.cpp:
11644
116452009-07-15  Jeremy Orlow  <jorlow@chromium.org>
11646
11647        Reviewed by Darin Fisher.
11648
11649        Cleanup DOM Storage dependencies.
11650        https://bugs.webkit.org/show_bug.cgi?id=27180
11651
11652        DOM Storage had several unnecessary (and probably unintended)
11653        dependencies.  This patch replaces many includes of header files with
11654        forward declaration of classes, making some destructors explicit, and
11655        taking some factories out of the header files.
11656
11657        This will allow things like StorageAreaSync to take a StorageAreaImpl*
11658        (as it should) rather than a StorageArea* which previously weren't
11659        possible because the dependencies were such a tangled mess.
11660
11661        * storage/LocalStorageTask.cpp:
11662        (WebCore::LocalStorageTask::~LocalStorageTask):
11663        * storage/LocalStorageTask.h:
11664        * storage/Storage.cpp:
11665        (WebCore::Storage::~Storage):
11666        * storage/Storage.h:
11667        * storage/StorageArea.cpp:
11668        * storage/StorageArea.h:
11669        * storage/StorageAreaImpl.cpp:
11670        * storage/StorageAreaImpl.h:
11671        * storage/StorageAreaSync.cpp:
11672        (WebCore::StorageAreaSync::~StorageAreaSync):
11673        * storage/StorageAreaSync.h:
11674        * storage/StorageEvent.cpp:
11675        (WebCore::StorageEvent::create):
11676        (WebCore::StorageEvent::StorageEvent):
11677        * storage/StorageEvent.h:
11678        * storage/StorageNamespace.h:
11679        * storage/StorageNamespaceImpl.cpp:
11680        * storage/StorageNamespaceImpl.h:
11681        * storage/StorageSyncManager.cpp:
11682        (WebCore::StorageSyncManager::~StorageSyncManager):
11683        * storage/StorageSyncManager.h:
11684
116852009-07-15  Chris Marrin  <cmarrin@apple.com>
11686
11687        Reviewed by Simon Fraser.
11688
11689        Incorrect animation when trying to duplicate effect of transform-origin
11690        https://bugs.webkit.org/show_bug.cgi?id=27310
11691
11692        The bug is that matrix animation is being used when animating
11693        a list of transform functions that match in the from and to states.
11694        This sometimes works. But because of the way CA does matrix animation
11695        function lists like the one shown in the testcase animate incorrectly.
11696
11697        This fixes the bug by always doing component animation
11698        as long as the function lists match. This allows CA
11699        to animate the components and then recompose the result
11700        into the correct matrix.
11701
11702        Test: animations/transform-origin-vs-functions.html
11703
11704        * platform/graphics/mac/GraphicsLayerCA.mm:
11705        (WebCore::GraphicsLayerCA::animateTransform):
11706
117072009-07-15  Albert J. Wong  <ajwong@chromium.org>
11708
11709        Reviewed by David Levin.
11710
11711        Upstream the V8NPObject and NPV8Object build changes for WebCore.gypi.
11712
11713        Add upstreamed V8 bindings files into WebCore.gypi so they can be seen
11714        downstream
11715        https://bugs.webkit.org/show_bug.cgi?id=27274
11716
11717        Changes the build file for chromium.  Test built the chromium tree
11718        to verify.
11719
11720        * WebCore.gypi:
11721
117222009-07-15  Mark Rowe  <mrowe@apple.com>
11723
11724        I like it when the code compiles.
11725
11726        * WebCore.base.exp:
11727
117282009-07-15  Darin Adler  <darin@apple.com>
11729
11730        Reviewed by Sam Weinig.
11731
11732        Renamed parseURL to deprecatedParseURL.
11733
11734        * bindings/js/JSAttrCustom.cpp:
11735        (WebCore::JSAttr::setValue): Renamed.
11736        * bindings/js/JSElementCustom.cpp:
11737        (WebCore::allowSettingSrcToJavascriptURL): Renamed.
11738        * bindings/js/JSHTMLFrameElementCustom.cpp:
11739        (WebCore::allowSettingJavascriptURL): Renamed.
11740        * bindings/js/JSHTMLIFrameElementCustom.cpp:
11741        (WebCore::JSHTMLIFrameElement::setSrc): Renamed.
11742        * bindings/objc/DOM.mm:
11743        (-[DOMElement _getURLAttribute:]): Renamed.
11744        * bindings/objc/DOMHTML.mm:
11745        (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Renamed.
11746        * bindings/v8/custom/V8CustomBinding.cpp:
11747        (WebCore::allowSettingFrameSrcToJavascriptUrl): Renamed.
11748        * css/CSSHelper.cpp:
11749        (WebCore::deprecatedParseURL): Renamed.
11750        * css/CSSHelper.h: Renamed and updated comment.
11751        * html/HTMLAnchorElement.cpp:
11752        (WebCore::HTMLAnchorElement::defaultEventHandler): Renamed.
11753        (WebCore::HTMLAnchorElement::parseMappedAttribute): Renamed.
11754        * html/HTMLBaseElement.cpp:
11755        (WebCore::HTMLBaseElement::parseMappedAttribute): Renamed.
11756        * html/HTMLBodyElement.cpp:
11757        (WebCore::HTMLBodyElement::parseMappedAttribute): Renamed.
11758        * html/HTMLEmbedElement.cpp:
11759        (WebCore::HTMLEmbedElement::parseMappedAttribute): Renamed.
11760        * html/HTMLFormElement.cpp:
11761        (WebCore::HTMLFormElement::parseMappedAttribute): Renamed.
11762        * html/HTMLFrameElementBase.cpp:
11763        (WebCore::HTMLFrameElementBase::parseMappedAttribute): Renamed.
11764        * html/HTMLImageElement.cpp:
11765        (WebCore::HTMLImageElement::parseMappedAttribute): Renamed.
11766        * html/HTMLImageLoader.cpp:
11767        (WebCore::HTMLImageLoader::sourceURI): Renamed.
11768        * html/HTMLLinkElement.cpp:
11769        (WebCore::HTMLLinkElement::parseMappedAttribute): Renamed.
11770        * html/HTMLObjectElement.cpp:
11771        (WebCore::HTMLObjectElement::parseMappedAttribute): Renamed.
11772        * html/HTMLTableElement.cpp:
11773        (WebCore::HTMLTableElement::parseMappedAttribute): Renamed.
11774        * html/HTMLTablePartElement.cpp:
11775        (WebCore::HTMLTablePartElement::parseMappedAttribute): Renamed.
11776        * html/HTMLTokenizer.cpp:
11777        (WebCore::HTMLTokenizer::parseTag): Renamed.
11778        * html/PreloadScanner.cpp:
11779        (WebCore::PreloadScanner::processAttribute): Renamed.
11780        (WebCore::PreloadScanner::emitCSSRule): Renamed.
11781        * platform/chromium/ClipboardChromium.cpp:
11782        (WebCore::ClipboardChromium::declareAndWriteDragImage): Renamed.
11783        * platform/chromium/PasteboardChromium.cpp:
11784        (WebCore::Pasteboard::writeImage): Renamed.
11785        * platform/qt/ClipboardQt.cpp:
11786        (WebCore::ClipboardQt::declareAndWriteDragImage): Renamed.
11787        * platform/win/ClipboardWin.cpp:
11788        (WebCore::ClipboardWin::declareAndWriteDragImage): Renamed.
11789        * rendering/HitTestResult.cpp:
11790        (WebCore::HitTestResult::absoluteImageURL): Renamed.
11791        (WebCore::HitTestResult::absoluteMediaURL): Renamed.
11792        (WebCore::HitTestResult::absoluteLinkURL): Renamed.
11793        * svg/SVGAElement.cpp:
11794        (WebCore::SVGAElement::defaultEventHandler): Renamed.
11795        * svg/SVGImageLoader.cpp:
11796        (WebCore::SVGImageLoader::sourceURI): Renamed.
11797        * wml/WMLAElement.cpp:
11798        (WebCore::WMLAElement::defaultEventHandler): Renamed.
11799        * wml/WMLImageLoader.cpp:
11800        (WebCore::WMLImageLoader::sourceURI): Renamed.
11801
118022009-07-15  Darin Adler  <darin@apple.com>
11803
11804        Reviewed by Dan Bernstein.
11805
11806        CSSHelper.h's parseURL is a function that no one should ever call
11807        Part 1: Eliminate callers in the CSS parser.
11808        https://bugs.webkit.org/show_bug.cgi?id=26599
11809
11810        Test: fast/css/uri-token-parsing.html
11811
11812        * css/CSSHelper.h: Added a comment explaining why nobody should ever call this
11813        function. A FIXME suggests a next step, which would be to rename it deprecatedParseURL.
11814
11815        * css/CSSParser.cpp:
11816        (WebCore::CSSParser::parseValue): Removed unneeded call to parseURL;
11817        CSSParser::text already takes care of parsing the URI token syntax, and the
11818        parseURL function does no good.
11819        (WebCore::CSSParser::parseContent): Ditto.
11820        (WebCore::CSSParser::parseFillImage): Ditto.
11821        (WebCore::CSSParser::parseFontFaceSrc): Ditto.
11822        (WebCore::CSSParser::parseBorderImage): Ditto.
11823        (WebCore::isCSSWhitespace): Added. Helper function that makes the text function
11824        easier to read.
11825        (WebCore::CSSParser::text): Tweak logic so that leading and trailing whitespace
11826        are both trimmed before removing the quote marks. Changed to use the
11827        isCSSWhitespace, isASCIIHexDigit, and toASCIIHexValue functions for clarity.
11828
11829        * css/CSSParser.h: Removed stray "public:" in this header.
11830
11831        * platform/text/StringImpl.cpp:
11832        (WebCore::StringImpl::substring): Optimized the case where the substring covers
11833        the entire string, so we just share the StringImpl instead of making a new one.
11834        This case came up in earlier versions of the CSS parser changes above.
11835        (WebCore::StringImpl::substringCopy): Streamlined the logic here and made it
11836        not call substring any more. Before, this was relying on the substring function
11837        always making a copy of any non-empty substring.
11838
118392009-07-15  Darin Adler  <darin@apple.com>
11840
11841        Reviewed by John Sullivan.
11842
11843        After double-clicking a word, using Shift-arrow to select behaves unpredictably
11844        https://bugs.webkit.org/show_bug.cgi?id=27177
11845        rdar://problem/7034324
11846
11847        Test: editing/selection/extend-selection-after-double-click.html
11848
11849        The bug was due to the m_lastChangeWasHorizontalExtension flag, which was not
11850        being cleared in many cases where it should have been.
11851
11852        * editing/SelectionController.cpp:
11853        (WebCore::SelectionController::setSelection): Set m_lastChangeWasHorizontalExtension
11854        to false. This catches all sorts of cases that don't flow through the modify function.
11855        Before, the flag would reflect the last call to the modify function, which was not
11856        necessarily the last selection change.
11857        (WebCore::SelectionController::willBeModified): Rearrange function for clarity.
11858        Remove code that sets m_lastChangeWasHorizontalExtension; that is now handled elsewhere.
11859        (WebCore::SelectionController::modify): Call setLastChangeWasHorizontalExtension after
11860        setSelection when setting up a trial selection controller, since setSelection now
11861        clears that flag. Also changed both trial selection controller cases to set the flag,
11862        although it's not strictly necessary in both cases. Added code to set
11863        m_lastChangeWasHorizontalExtension when extending the selection, which used to be
11864        handled in willBeModified. Now we need to do it after the selection change.
11865
118662009-07-15  Jeremy Orlow  <jorlow@chromium.org>
11867
11868        Reviewed by Dimitri Glazkov.
11869
11870        Need to update DOM Storage files in GYPI file.
11871        https://bugs.webkit.org/show_bug.cgi?id=27317
11872
11873        Need to update DOM Storage files in the GYPI file.  They're pretty out
11874        of date and we're on the path towards enabling them for everyone!
11875
11876        * WebCore.gypi:
11877
118782009-07-15  Kwang Yul Seo  <skyul@company100.net>
11879
11880        Reviewed by Eric Seidel.
11881
11882        https://bugs.webkit.org/show_bug.cgi?id=26794
11883        Make Yacc-generated parsers to use fastMalloc/fastFree.
11884
11885        Define YYMALLOC and YYFREE to fastMalloc and fastFree
11886        respectively.
11887
11888        * css/CSSGrammar.y:
11889        * xml/XPathGrammar.y:
11890
118912009-07-15  David Hyatt  <hyatt@apple.com>
11892
11893        Reviewed by Adam Roben.
11894
11895        https://bugs.webkit.org/show_bug.cgi?id=27193
11896        Don't run in to anonymous blocks.  No other browsers do this, and our implementation of run-in
11897        is effectively broken as a result.
11898
11899        No new tests. Changed fast/runin/001.html and fast/runin/generated.html to match new behavior.
11900
11901        * rendering/RenderBlock.cpp:
11902        (WebCore::RenderBlock::handleRunInChild):
11903
119042009-07-15  Yuzo Fujishima  <yuzo@google.com>
11905
11906        Reviewed by Darin Adler.
11907
11908        Test: fast/js/instanceof-operator.html
11909
11910        Fix for: Bug 25205 -  XMLHttpRequest instance is not an instanceof XMLHttpRequest
11911        https://bugs.webkit.org/show_bug.cgi?id=25205
11912
11913        In addition to for XMLHttpRequest, this also fixes for:
11914        - Audio
11915        - Image
11916        - MessageChannel
11917        - Option
11918        - WebKitCSSMatrix
11919        - WebKitPoint
11920        - Worker
11921        - XSLTProcessor
11922
11923        * bindings/js/JSAudioConstructor.cpp:
11924        (WebCore::JSAudioConstructor::JSAudioConstructor):
11925        * bindings/js/JSAudioConstructor.h:
11926        * bindings/js/JSDOMBinding.h:
11927        (WebCore::DOMConstructorObject::createStructure):
11928        (WebCore::DOMConstructorObject::DOMConstructorObject):
11929        * bindings/js/JSImageConstructor.cpp:
11930        (WebCore::JSImageConstructor::JSImageConstructor):
11931        * bindings/js/JSImageConstructor.h:
11932        * bindings/js/JSMessageChannelConstructor.cpp:
11933        (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
11934        * bindings/js/JSMessageChannelConstructor.h:
11935        * bindings/js/JSOptionConstructor.cpp:
11936        (WebCore::JSOptionConstructor::JSOptionConstructor):
11937        * bindings/js/JSOptionConstructor.h:
11938        * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
11939        (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
11940        * bindings/js/JSWebKitCSSMatrixConstructor.h:
11941        * bindings/js/JSWebKitPointConstructor.cpp:
11942        (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
11943        * bindings/js/JSWebKitPointConstructor.h:
11944        * bindings/js/JSWorkerConstructor.cpp:
11945        (WebCore::JSWorkerConstructor::JSWorkerConstructor):
11946        * bindings/js/JSWorkerConstructor.h:
11947        * bindings/js/JSXMLHttpRequestConstructor.cpp:
11948        (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
11949        * bindings/js/JSXMLHttpRequestConstructor.h:
11950        * bindings/js/JSXSLTProcessorConstructor.cpp:
11951        (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor):
11952        * bindings/js/JSXSLTProcessorConstructor.h:
11953
119542009-07-15  Kai Br�ning  <kai@granus.net>
11955
11956        Reviewed by Dave Hyatt.
11957
11958        CSS21 attribute selectors not dynamic for xml.
11959        https://bugs.webkit.org/show_bug.cgi?id=25072
11960
11961        Moved the relevant test in StyledElement::attributeChanged()
11962        to a new function Element::recalcStyleIfNeededAfterAttributeChanged()
11963        so it can be called from both StyledElement::attributeChanged()
11964        and Element::attributeChanged().
11965        Refactored Element::attributeChanged() into
11966        Element::updateAfterAttributeChanged() and
11967        Element::recalcStyleIfNeededAfterAttributeChanged(), which are called
11968        separately from StyledElement::attributeChanged().
11969
11970        Test: fast/css/attribute-selector-dynamic.xml
11971
11972        * dom/Element.cpp:
11973        (WebCore::Element::attributeChanged):
11974        (WebCore::Element::updateAfterAttributeChanged):
11975        (WebCore::Element::recalcStyleIfNeededAfterAttributeChanged):
11976        * dom/Element.h:
11977        * dom/StyledElement.cpp:
11978        (WebCore::StyledElement::attributeChanged):
11979
119802009-07-15  Alpha Lam  <hclam@chromium.org>
11981
11982        Reviewed by David Levin.
11983
11984        [V8] Layout test failures for drawImage in Canvas
11985        https://bugs.webkit.org/show_bug.cgi?id=27311
11986
11987        Fixing several canvas layout tests failures due to a
11988        missing return statement in CanvasRenderingContext2DDrawImage() which
11989        was accidentally removed in r45929.
11990
11991        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
11992
119932009-07-15  Robert Hogan  <robert@roberthogan.net>
11994
11995        Reviewed by Eric Seidel.
11996
11997        https://bugs.webkit.org/show_bug.cgi?id=26969
11998
11999        If the httpMethod() of the request passed to SubresourceLoader::create is not
12000        supported by the client we must expect to call didFail() while m_loader is still null.
12001
12002        * loader/DocumentThreadableLoader.cpp:
12003        (DocumentThreadableLoader::didFail):Changed.
12004
120052009-07-15  Mark Rowe  <mrowe@apple.com>
12006
12007        Fix the Mac build.
12008
12009        * WebCore.base.exp:
12010        * css/MediaQueryEvaluator.cpp:
12011        * rendering/SVGRenderTreeAsText.cpp:
12012        * rendering/style/SVGRenderStyle.cpp:
12013        * svg/graphics/SVGPaintServer.cpp:
12014
120152009-07-07  Alpha Lam  <hclam@chromium.org>
12016
12017        Reviewed by Dimitri Glazkov.
12018
12019        [V8] drawImage method of HTMLCanvasElement to accept HTMLVideoElement as argument
12020        https://bugs.webkit.org/show_bug.cgi?id=27170
12021
12022        Changed CanvasRenderingContext2DDrawImage() to accept HTMLVideoElement
12023        as a parameter of drawImage() for HTMLCanvasElement.
12024
12025        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
12026
120272009-07-15  Adam Barth  <abarth@webkit.org>
12028
12029        Reviewed by Dimitri Glazkov.
12030
12031        [V8] Fix isolated world constructors
12032        https://bugs.webkit.org/show_bug.cgi?id=27287
12033
12034        Don't enter V8Proxy::m_context before creating DOM constructors.
12035        Instead, use getWrapperContext to get the right context.
12036
12037        After this patch, all my tests pass.  I'll enable the feature
12038        downstream and land the tests.
12039
12040        * bindings/scripts/CodeGeneratorV8.pm:
12041        * bindings/v8/V8DOMWrapper.cpp:
12042        (WebCore::V8DOMWrapper::getConstructor):
12043        (WebCore::V8DOMWrapper::lookupDOMWrapper):
12044        * bindings/v8/V8DOMWrapper.h:
12045        * bindings/v8/V8IsolatedWorld.cpp:
12046        (WebCore::V8IsolatedWorld::evaluate):
12047        * bindings/v8/V8Proxy.cpp:
12048        (WebCore::V8Proxy::createWrapperFromCache):
12049        (WebCore::V8Proxy::isContextInitialized):
12050        (WebCore::V8Proxy::disposeContextHandles):
12051        (WebCore::V8Proxy::installDOMWindow):
12052        (WebCore::V8Proxy::initContextIfNeeded):
12053        (WebCore::V8Proxy::getHiddenObjectPrototype):
12054        (WebCore::V8Proxy::installHiddenObjectPrototype):
12055        * bindings/v8/V8Proxy.h:
12056
120572009-07-15  Antonio Gomes   <antonio.gomes@openbossa.org>
12058
12059        Reviewed by Darin Adler.
12060
12061        useless null-check statement in visible_units.cpp@logicalStartOfLine
12062        https://bugs.webkit.org/show_bug.cgi?id=27154
12063
12064        Simple fix.
12065
12066        * editing/visible_units.cpp:
12067        (WebCore::logicalStartOfLine): Doubled honorEditableBoundaryAtOrAfter() call removed.
12068
120692009-07-15  Brady Eidson  <beidson@apple.com>
12070
12071        Reviewed by Dan Bernstein.
12072
12073        https://bugs.webkit.org/show_bug.cgi?id=27304
12074        WebKit should provide usage and eligibility information about the page cache.
12075
12076        * WebCore.base.exp:
12077
12078        * history/CachedFrame.cpp:
12079        (WebCore::CachedFrame::childFrameCount):
12080        * history/CachedFrame.h:
12081
12082        * history/PageCache.cpp:
12083        (WebCore::PageCache::frameCount):
12084        (WebCore::PageCache::autoreleasedPageCount):
12085        * history/PageCache.h:
12086        (WebCore::PageCache::pageCount):
12087
120882009-07-15  Shinichiro Hamaji  <hamaji@chromium.org>
12089
12090        Reviewed by David Levin.
12091
12092        Chromium's canvas forgets its context after fillText again
12093        https://bugs.webkit.org/show_bug.cgi?id=27293
12094
12095        No new tests because the test for this was already added in
12096        https://bugs.webkit.org/show_bug.cgi?id=26436
12097
12098        * platform/graphics/chromium/TransparencyWin.cpp:
12099        (WebCore::TransparencyWin::compositeTextComposite):
12100
121012009-07-14  David Hyatt  <hyatt@apple.com>
12102
12103        Reviewed by Simon Fraser.
12104
12105        https://bugs.webkit.org/show_bug.cgi?id=27283
12106
12107        Implement the new 'rem' unit from CSS3.
12108
12109        Added some rem-* tests in fast/css.
12110
12111        * css/CSSGrammar.y:
12112        * css/CSSParser.cpp:
12113        (WebCore::CSSParser::validUnit):
12114        (WebCore::unitFromString):
12115        (WebCore::CSSParser::parseValue):
12116        (WebCore::CSSParser::lex):
12117        * css/CSSParserValues.cpp:
12118        (WebCore::CSSParserValue::createCSSValue):
12119        * css/CSSPrimitiveValue.cpp:
12120        (WebCore::CSSPrimitiveValue::computeLengthInt):
12121        (WebCore::CSSPrimitiveValue::computeLengthIntForLength):
12122        (WebCore::CSSPrimitiveValue::computeLengthShort):
12123        (WebCore::CSSPrimitiveValue::computeLengthFloat):
12124        (WebCore::CSSPrimitiveValue::computeLengthDouble):
12125        (WebCore::CSSPrimitiveValue::cssText):
12126        (WebCore::CSSPrimitiveValue::parserValue):
12127        * css/CSSPrimitiveValue.h:
12128        (WebCore::CSSPrimitiveValue::):
12129        (WebCore::CSSPrimitiveValue::isUnitTypeLength):
12130        * css/CSSStyleSelector.cpp:
12131        (WebCore::CSSStyleSelector::initForStyleResolve):
12132        (WebCore::convertToLength):
12133        (WebCore::CSSStyleSelector::applyProperty):
12134        (WebCore::CSSStyleSelector::mapFillSize):
12135        (WebCore::CSSStyleSelector::mapFillXPosition):
12136        (WebCore::CSSStyleSelector::mapFillYPosition):
12137        (WebCore::CSSStyleSelector::createTransformOperations):
12138        * css/CSSStyleSelector.h:
12139        * css/MediaQueryEvaluator.cpp:
12140        (WebCore::device_heightMediaFeatureEval):
12141        (WebCore::device_widthMediaFeatureEval):
12142        (WebCore::heightMediaFeatureEval):
12143        (WebCore::widthMediaFeatureEval):
12144        * css/WebKitCSSMatrix.cpp:
12145        (WebCore::WebKitCSSMatrix::setMatrixValue):
12146        * css/tokenizer.flex:
12147        * dom/Document.cpp:
12148        (WebCore::Document::Document):
12149        * dom/Document.h:
12150        (WebCore::Document::usesRemUnits):
12151        (WebCore::Document::setUsesRemUnits):
12152        * dom/Element.cpp:
12153        (WebCore::Element::recalcStyle):
12154        * rendering/SVGRenderTreeAsText.cpp:
12155        (WebCore::writeStyle):
12156        * rendering/style/SVGRenderStyle.cpp:
12157        (WebCore::SVGRenderStyle::cssPrimitiveToLength):
12158        * svg/graphics/SVGPaintServer.cpp:
12159        (WebCore::applyStrokeStyleToContext):
12160        (WebCore::dashArrayFromRenderingStyle):
12161        * svg/graphics/SVGPaintServer.h:
12162
121632009-07-15  Dimitri Glazkov  <dglazkov@chromium.org>
12164
12165        Unreviewed, build fix.
12166
12167        Remove extraneous qualifier, accidentally added in http://trac.webkit.org/changeset/45884.
12168
12169        * bindings/v8/V8DOMWrapper.h: Removed extraneous qualifier.
12170
121712009-07-15  Dimitri Glazkov  <dglazkov@chromium.org>
12172
12173        Reviewed by Darin Fisher.
12174
12175        [V8] Update bindings for ValiditeState patch.
12176        https://bugs.webkit.org/show_bug.cgi?id=19562
12177
12178        * bindings/v8/DOMObjectsInclude.h:
12179        * bindings/v8/DerivedSourcesAllInOne.cpp:
12180        * bindings/v8/V8Index.cpp:
12181        * bindings/v8/V8Index.h:
12182
121832009-07-15  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
12184
12185        Reviewed by Simon Hausmann.
12186
12187        [Qt] Cleanup - Remove obsolete code from the make system
12188        https://bugs.webkit.org/show_bug.cgi?id=27299
12189
12190        * WebCore.pro:
12191
121922009-07-15  Simon Hausmann  <simon.hausmann@nokia.com>
12193
12194        Reviewed by Ariya Hidayat.
12195
12196        Fix the build without media elements.
12197
12198        * rendering/HitTestResult.cpp:
12199        (WebCore::HitTestResult::absoluteMediaURL): Add #if ENABLE(VIDEO)
12200        markers around the body of the method.
12201
122022009-07-14  Pavel Feldman  <pfeldman@chromium.org>
12203
12204        Reviewed by Timothy Hatcher.
12205
12206        WebInspector: Move storeLastActivePanel out of the
12207        ifdef ENABLE_JAVASCRIPT_DEBUGGER section in IDL;
12208        Add default panel for the first opening of the
12209        WebInspector.
12210
12211        https://bugs.webkit.org/show_bug.cgi?id=27263
12212
12213        * inspector/InspectorController.cpp:
12214        (InspectorController::setWindowVisible):
12215        * inspector/InspectorController.idl:
12216
122172009-07-14  Darin Adler  <darin@apple.com>
12218
12219        Try to fix Windows build.
12220
12221        * bindings/scripts/CodeGeneratorCOM.pm: Add Reflect and ReflectURL support.
12222
122232009-07-14  Pierre d'Herbemont  <pdherbemont@apple.com>
12224
12225        Reviewed by Oliver Hunt.
12226
12227        HTMLMediaElement::supportsFullscreen() should return false
12228        https://bugs.webkit.org/show_bug.cgi?id=27284
12229
12230        (Reverting a part of 45875)
12231
12232        HTMLVideoElement::supportsFullscreen() will properly do the
12233        job, and check if the backend supports fullscreen.
12234
12235        HTMLVideoElement is the only subclass to support fullscreen
12236        (conditionnaly). HTMLAudioElement fullscreen is not supported
12237        and is a different kind of fullscreen, if it comes to be wanted.
12238
12239        No test can be done currently given that none of the media
12240        backends support fullscreen.
12241
12242        * html/HTMLMediaElement.cpp:
12243        * html/HTMLMediaElement.h:
12244        (WebCore::HTMLMediaElement::supportsFullscreen):
12245
122462009-07-14  Darin Adler  <darin@apple.com>
12247
12248        Reviewed by Dimitri Glazkov.
12249
12250        Next step in making DOM attribute getter/setters consistently use AtomicString
12251        https://bugs.webkit.org/show_bug.cgi?id=25425
12252
12253        This covers eight DOM classes, and for each one of the classes:
12254
12255        - Changes the IDL to use the Reflect syntax for all simple cases.
12256        - Removes unused functions in the classes, mainly newly unused ones that were
12257          used for reflection before.
12258        - Removes unneeded explicitly defined destructors.
12259        - Explicitly declares destructors as virtual.
12260        - Removes unneeded includes.
12261        - Makes members protected or private rather than public where possible.
12262        - Renames "doc" to "document".
12263        - Tweaks formatting to match our latest style in a few places.
12264        - Improves some FIXME comments.
12265
12266        Over time we'll want to do this for all HTML DOM classes.
12267
12268        * html/HTMLAnchorElement.cpp:
12269        (WebCore::HTMLAnchorElement::HTMLAnchorElement):
12270        * html/HTMLAnchorElement.h:
12271        (WebCore::HTMLAnchorElement::endTagRequirement):
12272        (WebCore::HTMLAnchorElement::tagPriority):
12273        * html/HTMLAnchorElement.idl:
12274        * html/HTMLAppletElement.cpp:
12275        * html/HTMLAppletElement.h:
12276        * html/HTMLAppletElement.idl:
12277        * html/HTMLAreaElement.cpp:
12278        (WebCore::HTMLAreaElement::parseMappedAttribute):
12279        * html/HTMLAreaElement.h:
12280        (WebCore::HTMLAreaElement::endTagRequirement):
12281        (WebCore::HTMLAreaElement::tagPriority):
12282        * html/HTMLAreaElement.idl:
12283        * html/HTMLBRElement.cpp:
12284        (WebCore::HTMLBRElement::parseMappedAttribute):
12285        * html/HTMLBRElement.h:
12286        * html/HTMLBRElement.idl:
12287        * html/HTMLBaseElement.cpp:
12288        (WebCore::HTMLBaseElement::HTMLBaseElement):
12289        (WebCore::HTMLBaseElement::removedFromDocument):
12290        (WebCore::HTMLBaseElement::process):
12291        * html/HTMLBaseElement.h:
12292        * html/HTMLBaseElement.idl:
12293        * html/HTMLBaseFontElement.cpp:
12294        (WebCore::HTMLBaseFontElement::HTMLBaseFontElement):
12295        * html/HTMLBaseFontElement.h:
12296        (WebCore::HTMLBaseFontElement::endTagRequirement):
12297        (WebCore::HTMLBaseFontElement::tagPriority):
12298        * html/HTMLBaseFontElement.idl:
12299        * html/HTMLBlockquoteElement.cpp:
12300        (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement):
12301        * html/HTMLBlockquoteElement.h:
12302        (WebCore::HTMLBlockquoteElement::tagPriority):
12303        * html/HTMLBlockquoteElement.idl:
12304        * html/HTMLBodyElement.cpp:
12305        (WebCore::HTMLBodyElement::HTMLBodyElement):
12306        (WebCore::HTMLBodyElement::addSubresourceAttributeURLs):
12307        * html/HTMLBodyElement.h:
12308        (WebCore::HTMLBodyElement::endTagRequirement):
12309        (WebCore::HTMLBodyElement::tagPriority):
12310        * html/HTMLBodyElement.idl:
12311        Made changes as described above.
12312
12313        * loader/FrameLoader.cpp: Removed unneeded include of HTMLAnchorElement.h.
12314
123152009-07-14  Steve Falkenburg  <sfalken@apple.com>
12316
12317        Reorganize JavaScriptCore headers into:
12318        API: include/JavaScriptCore/
12319        Private: include/private/JavaScriptCore/
12320
12321        Reviewed by Darin Adler.
12322
12323        * WebCore.vcproj/QTMovieWin.vcproj:
12324        * WebCore.vcproj/WebCoreCommon.vsprops:
12325        * WebCore.vcproj/build-generated-files.sh:
12326
123272009-07-14  Zoltan Horvath  <hzoltan@inf.u-szeged.hu>
12328
12329        Reviewed by Darin Adler.
12330
12331        Change all Noncopyable inheriting visibility to public.
12332        https://bugs.webkit.org/show_bug.cgi?id=27225
12333
12334        Change all Noncopyable inheriting visibility to public because
12335        it is needed to the custom allocation framework (bug #20422).
12336
12337        * bindings/js/GCController.h:
12338        * bindings/js/WorkerScriptController.h:
12339        * bindings/v8/V8DOMMap.cpp:
12340        (WebCore::):
12341        * bridge/runtime.h:
12342        * css/CSSSelector.h:
12343        * css/CSSSelectorList.h:
12344        * css/CSSStyleSelector.h:
12345        * dom/ClassNames.h:
12346        * dom/MessagePortChannel.h:
12347        * dom/XMLTokenizerLibxml2.cpp:
12348        * dom/XMLTokenizerScope.h:
12349        * editing/ReplaceSelectionCommand.cpp:
12350        * editing/SelectionController.h:
12351        * editing/TextIterator.cpp:
12352        * history/PageCache.h:
12353        * html/CanvasRenderingContext2D.h:
12354        * html/HTMLParser.h:
12355        * html/HTMLParserQuirks.h:
12356        * html/PreloadScanner.h:
12357        * loader/Cache.h:
12358        * loader/CrossOriginPreflightResultCache.h:
12359        * loader/FrameLoader.h:
12360        * loader/ProgressTracker.h:
12361        * loader/ThreadableLoader.h:
12362        * loader/appcache/ApplicationCacheGroup.h:
12363        * loader/archive/ArchiveResourceCollection.h:
12364        * loader/icon/IconDatabase.h:
12365        * loader/icon/IconLoader.h:
12366        * loader/icon/PageURLRecord.h:
12367        * loader/loader.h:
12368        * page/ContextMenuController.h:
12369        * page/EventHandler.h:
12370        * page/FrameTree.h:
12371        * page/Page.h:
12372        * page/PageGroup.h:
12373        * page/PageGroupLoadDeferrer.h:
12374        * page/mac/EventHandlerMac.mm:
12375        * platform/AutodrainedPool.h:
12376        * platform/ContextMenu.h:
12377        * platform/EventLoop.h:
12378        * platform/HostWindow.h:
12379        * platform/Pasteboard.h:
12380        * platform/PurgeableBuffer.h:
12381        * platform/RunLoopTimer.h:
12382        * platform/ThreadGlobalData.h:
12383        * platform/ThreadTimers.h:
12384        * platform/Timer.h:
12385        * platform/TreeShared.h:
12386        * platform/graphics/FontData.h:
12387        * platform/graphics/GlyphWidthMap.h:
12388        * platform/graphics/GraphicsContext.h:
12389        * platform/graphics/ImageBuffer.h:
12390        * platform/graphics/ImageSource.h:
12391        * platform/graphics/MediaPlayer.h:
12392        * platform/graphics/skia/GraphicsContextPlatformPrivate.h:
12393        * platform/graphics/skia/PlatformContextSkia.h:
12394        * platform/graphics/win/QTMovieWin.cpp:
12395        * platform/mac/LocalCurrentGraphicsContext.h:
12396        * platform/network/FormDataBuilder.h:
12397        * platform/network/ResourceHandleInternal.h:
12398        * platform/network/soup/ResourceHandleSoup.cpp:
12399        * platform/text/StringBuffer.h:
12400        * platform/text/TextCodec.h:
12401        * platform/win/WindowMessageBroadcaster.h:
12402        * rendering/CounterNode.h:
12403        * rendering/LayoutState.h:
12404        * rendering/RenderFrameSet.h:
12405        * rendering/RenderView.h:
12406        * rendering/TransformState.h:
12407        * svg/SVGAnimatedProperty.h:
12408        * svg/SynchronizableTypeWrapper.h:
12409        * workers/WorkerMessagingProxy.h:
12410        * workers/WorkerRunLoop.cpp:
12411        * xml/XPathExpressionNode.h:
12412        * xml/XPathParser.h:
12413        * xml/XPathPredicate.h:
12414        * xml/XPathStep.h:
12415
124162009-07-14  Darin Fisher  <darin@chromium.org>
12417
12418        Reviewed by Darin Adler.
12419
12420        Fails to save document state when navigating away from a page with a
12421        reference fragment.
12422        https://bugs.webkit.org/show_bug.cgi?id=27281
12423
12424        Test: fast/history/saves-state-after-fragment-nav.html
12425
12426        * history/HistoryItem.cpp:
12427        (WebCore::HistoryItem::isCurrentDocument): Use equalIgnoringRef
12428        to compare URLs.
12429
124302009-07-14  Joseph Pecoraro  <joepeck02@gmail.com>
12431
12432        Reviewed by Sam Weinig.
12433
12434        Inspector: Remove Unintended Global Variables
12435        https://bugs.webkit.org/show_bug.cgi?id=27203
12436
12437        * inspector/front-end/Console.js:
12438        (WebInspector.Console.prototype._ensureCommandLineAPIInstalled):
12439        * inspector/front-end/DatabasesPanel.js:
12440        (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage):
12441        * inspector/front-end/ObjectPropertiesSection.js:
12442        (WebInspector.ObjectPropertyTreeElement.prototype.update):
12443        * inspector/front-end/inspector.js:
12444        (WebInspector.animateStyle):
12445
124462009-07-14  Michelangelo De Simone  <micdesim@gmail.com>
12447
12448        Reviewed by Adele Peterson.
12449
12450        https://bugs.webkit.org/show_bug.cgi?id=19562
12451        Added build stuff and stub for the ValidityState class, part of HTML5
12452        section Forms:
12453        http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate
12454
12455        Test: fast/forms/ValidityState-001.html
12456
12457        * DerivedSources.cpp: Inclusion of ValidityState files
12458        * DerivedSources.make: ditto
12459        * GNUmakefile.am: ditto
12460        * WebCore.gypi: ditto
12461        * WebCore.pro: ditto
12462        * WebCore.vcproj/WebCore.vcproj: ditto
12463        * WebCore.xcodeproj/project.pbxproj: ditto
12464        * WebCoreSources.bkl: ditto
12465        * html/HTMLButtonElement.idl: validity attribute
12466        * html/HTMLFieldSetElement.idl: ditto
12467        * html/HTMLFormControlElement.cpp:
12468        (WebCore::HTMLFormControlElement::validity): ValidityState getter
12469        * html/HTMLFormControlElement.h: ditto
12470        * html/HTMLInputElement.idl: validity attribute
12471        * html/HTMLSelectElement.idl: ditto
12472        * html/HTMLTextAreaElement.idl: ditto
12473        * html/ValidityState.cpp: Added.
12474        (WebCore::ValidityState::ValidityState):
12475        (WebCore::ValidityState::valid): validation flag
12476        * html/ValidityState.h: Added.
12477        (WebCore::ValidityState::create): validation flag
12478        (WebCore::ValidityState::control): ditto
12479        (WebCore::ValidityState::valueMissing): ditto
12480        (WebCore::ValidityState::typeMismatch): ditto
12481        (WebCore::ValidityState::patternMismatch): ditto
12482        (WebCore::ValidityState::tooLong): ditto
12483        (WebCore::ValidityState::rangeUnderflow): ditto
12484        (WebCore::ValidityState::rangeOverflow): ditto
12485        (WebCore::ValidityState::stepMismatch): ditto
12486        (WebCore::ValidityState::customError): ditto
12487        * html/ValidityState.idl: Added.
12488
124892009-07-14  Ryosuke Niwa  <rniwa@google.com>
12490
12491        Reviewed by Eric Seidel.
12492
12493        Outdenting a line inside a blockquote tag does nothing
12494        https://bugs.webkit.org/show_bug.cgi?id=25316
12495
12496        The bug was caused by the code checking whether the blockquote is created by WebKit or not.
12497        We simply remove this code to be consistent with Firefox and Internet Explorer.
12498        Also, enclosingBlockFlow == enclosingNode in outdentParagraph isn't a sufficient condition to insert
12499        the placeholder before the enclosingNode because there could be contents before the current paragraph.
12500        Instead, we should split the enclosingNode (which is a blockquote) at the starting position of outdentation.
12501        It turned out that this solves the bug 25315 also: https://bugs.webkit.org/show_bug.cgi?id=25315
12502
12503        Test: editing/execCommand/outdent-regular-blockquote.html
12504
12505        * editing/IndentOutdentCommand.cpp:
12506        (WebCore::isIndentBlockquote): no longer checks whether a blockquote is created by WebKit or not.
12507        (WebCore::IndentOutdentCommand::outdentParagraph): takes care of the case enclosingBlockFlow == enclosingNode
12508
125092009-07-14  Adam Barth  <abarth@webkit.org>
12510
12511        Reviewed by Dimitri Glazkov.
12512
12513        [V8] Fix isolated world wrappers for Node prototypes
12514        https://bugs.webkit.org/show_bug.cgi?id=27277
12515
12516        This change does two things:
12517
12518        1) We bypass the wrapper cache in the isolated world.  This is because
12519           the wrapper template cache has prototypes that lead to the main
12520           world.  We can add a template cache for the isolated world if
12521           performance warrants.
12522
12523        2) We introduce a smarter way to grab the wrapper context for a frame
12524           that is aware that proxy <-> context do not stand in one-to-one
12525           correspondence.  This generalizes our solution for the node wrapper
12526           case to prototypes.
12527
12528        The net result is that Node wrappers get the right prototypes.  As
12529        before, tests to follow.
12530
12531        * bindings/v8/V8DOMWrapper.cpp:
12532        (WebCore::V8DOMWrapper::setHiddenWindowReference):
12533        (WebCore::V8DOMWrapper::instantiateV8Object):
12534        (WebCore::V8DOMWrapper::convertNodeToV8Object):
12535        (WebCore::V8DOMWrapper::convertWindowToV8Object):
12536        (WebCore::V8DOMWrapper::getWrapperContext):
12537        * bindings/v8/V8DOMWrapper.h:
12538
125392009-07-14  Adam Barth  <abarth@webkit.org>
12540
12541        Reviewed by Dimitri Glazkov.
12542
12543        [V8] Fix isolated world wrappers for Nodes
12544        https://bugs.webkit.org/show_bug.cgi?id=27271
12545
12546        Previously, we keepy a pointer to the DOMMap on V8Proxy, but this
12547        caused us to miss the branch in V8DOMMap.cpp for isolated worlds.
12548
12549        I have tests, but I can't land them until I get this feature under
12550        control.
12551
12552        * bindings/v8/V8DOMWrapper.cpp:
12553        (WebCore::V8DOMWrapper::convertNodeToV8Object):
12554        * bindings/v8/V8Proxy.h:
12555        (WebCore::V8Proxy::V8Proxy):
12556
125572009-07-14  Adam Barth  <abarth@webkit.org>
12558
12559        Reviewed by Dimitri Glazkov.
12560
12561        [V8] Fix isolated world crash on getting window.location
12562        https://bugs.webkit.org/show_bug.cgi?id=27268
12563
12564        I have a test for this locally, but it requires a compile-time hack to
12565        run.  Once I get the feature's stability under control, we can turn the
12566        feature on and add the tests.
12567
12568        * bindings/v8/V8DOMWrapper.cpp:
12569        (WebCore::V8DOMWrapper::setHiddenWindowReference):
12570        * bindings/v8/V8IsolatedWorld.h:
12571        (WebCore::V8IsolatedWorld::context):
12572
125732009-07-14  Brent Fulgham  <bfulgham@webkit.org>
12574
12575        Correct failing tests after r45875.  The original patch did not
12576        test the m_player member for null, causing crashes.  This will
12577        happen fairly frequently in real use.  Was this original patch
12578        ever tested?
12579        https://bugs.webkit.org/show_bug.cgi?id=27246
12580
12581        Test via existing media tests.
12582
12583        * html/HTMLMediaElement.cpp:
12584        (WebCore::HTMLMediaElement::supportsFullscreen): Check for null pointer.
12585        (WebCore::HTMLMediaElement::supportsSave): Check for null pointer.
12586
125872009-07-14  Avi Drissman  <avi@chromium.org>
12588
12589        Reviewed by Darin Fisher.
12590
12591        Explicitly mark the HTML generated for the Mac as being UTF-8 encoded.
12592        The Windows clipboard format is explicitly documented as being UTF-8,
12593        and all Linux apps assume UTF-8. On the Mac, though, unless otherwise
12594        indicated, Windows-1252 is assumed, which is wrong.
12595
12596        Bug: https://bugs.webkit.org/show_bug.cgi?id=27262
12597
12598        No new tests.
12599
12600        * platform/chromium/ClipboardChromium.cpp:
12601        (WebCore::ClipboardChromium::writeRange):
12602        * platform/chromium/PasteboardChromium.cpp:
12603        (WebCore::Pasteboard::writeSelection):
12604
126052009-07-14  Albert J. Wong  <ajwong@chromium.org>
12606
12607        Reviewed by Dimitri Glazkov.
12608
12609        Upstream V8NPObject.h and V8NPObject.cpp.
12610        https://bugs.webkit.org/show_bug.cgi?id=27103
12611
12612        This just upstreams the files from the chromium code base. Only
12613        minor changes to formatting and similar were done, so no testing
12614        is required because nothing really changed.  Code verified to compile.
12615
12616        * bindings/v8/ScriptController.cpp:
12617        (WebCore::ScriptController::bindToWindowObject):
12618        (WebCore::ScriptController::createScriptInstanceForWidget):
12619        * bindings/v8/V8NPObject.cpp: Added.
12620        (npObjectInvokeImpl):
12621        (npObjectMethodHandler):
12622        (npObjectInvokeDefaultHandler):
12623        (weakTemplateCallback):
12624        (npObjectGetProperty):
12625        (npObjectNamedPropertyGetter):
12626        (npObjectIndexedPropertyGetter):
12627        (npObjectGetNamedProperty):
12628        (npObjectGetIndexedProperty):
12629        (npObjectSetProperty):
12630        (npObjectNamedPropertySetter):
12631        (npObjectIndexedPropertySetter):
12632        (npObjectSetNamedProperty):
12633        (npObjectSetIndexedProperty):
12634        (weakNPObjectCallback):
12635        (createV8ObjectForNPObject):
12636        (forgetV8ObjectForNPObject):
12637        * bindings/v8/V8NPObject.h: Added.
12638        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
12639        (WebCore::NAMED_PROPERTY_GETTER):
12640        (WebCore::NAMED_PROPERTY_SETTER):
12641        (WebCore::CALLBACK_FUNC_DECL):
12642        (WebCore::INDEXED_PROPERTY_GETTER):
12643        (WebCore::INDEXED_PROPERTY_SETTER):
12644
12645
126462009-07-14  Albert J. Wong  <ajwong@chromium.org>
12647
12648        Reviewed by Darin Adler.
12649
12650        Add HTMLMediaElement::supportSave() and a
12651        HitTestResult::absoluteMediaURL() functions
12652        https://bugs.webkit.org/show_bug.cgi?id=27246
12653
12654        Added an implementation of supportsSave() into HTMLMediaElement
12655        that delegates to MediaPlayerPrivateImpl so that the media engine
12656        is able to signal whether or not a media source supports saving.
12657
12658        Also added a function to HitTestResult that allows for retrieval
12659        of the currentSrc associated with the "hit" media element.
12660
12661        These functions are just pipeing with no visible UI change so there
12662        are no related layout test changes.
12663
12664        * html/HTMLMediaElement.cpp:
12665        (WebCore::HTMLMediaElement::supportsFullscreen):
12666        (WebCore::HTMLMediaElement::supportsSave):
12667        * html/HTMLMediaElement.h:
12668        * platform/graphics/MediaPlayer.cpp:
12669        (WebCore::MediaPlayer::supportsSave):
12670        * platform/graphics/MediaPlayer.h:
12671        * platform/graphics/MediaPlayerPrivate.h:
12672        (WebCore::MediaPlayerPrivateInterface::supportsFullscreen):
12673        (WebCore::MediaPlayerPrivateInterface::supportsSave):
12674        * rendering/HitTestResult.cpp:
12675        (WebCore::HitTestResult::altDisplayString):
12676        (WebCore::HitTestResult::absoluteMediaURL):
12677        * rendering/HitTestResult.h:
12678
126792009-07-14  Dimitri Glazkov  <dglazkov@chromium.org>
12680
12681        Reviewed by Adam Barth.
12682
12683        [V8] Implement Reflect and ReflectURL attribute support.
12684        https://bugs.webkit.org/show_bug.cgi?id=27273
12685
12686        * bindings/scripts/CodeGeneratorV8.pm: Added support for Reflect and ReflectURL attributes.
12687
126882009-07-14  Dmitry Titov  <dimich@chromium.org>
12689
12690        Reviewed by Darin Adler.
12691
12692        https://bugs.webkit.org/show_bug.cgi?id=27266
12693        Add hasCurrentPoint() to WebCore::Path.
12694        This fixes Skia-based Chromium regression caused by the fix for
12695        https://bugs.webkit.org/show_bug.cgi?id=27187.
12696        For Skia, the new method always returns 'true', pending actual implementation.
12697        This means Chromium still will differ from Gecko behavior, but at least its Canvas
12698        will not be completely broken.
12699
12700        Existing Canvas Layout Tests should pass in Chromium after this change.
12701
12702        * html/CanvasRenderingContext2D.cpp:
12703        (WebCore::CanvasRenderingContext2D::lineTo): insteand of Path::isEmpty() test for hasCurrentPoint().
12704        (WebCore::CanvasRenderingContext2D::quadraticCurveTo): ditto.
12705        (WebCore::CanvasRenderingContext2D::bezierCurveTo): ditto.
12706
12707        * platform/graphics/Path.h:
12708        * platform/graphics/cairo/PathCairo.cpp:
12709        (WebCore::Path::hasCurrentPoint):
12710        * platform/graphics/cg/PathCG.cpp:
12711        (WebCore::Path::isEmpty):
12712        (WebCore::Path::hasCurrentPoint):
12713        * platform/graphics/qt/PathQt.cpp:
12714        (WebCore::Path::hasCurrentPoint):
12715        * platform/graphics/skia/PathSkia.cpp:
12716        (WebCore::Path::hasCurrentPoint):
12717        * platform/graphics/wx/PathWx.cpp:
12718        (WebCore::Path::hasCurrentPoint):
12719        All these files add a Path::hasCurrentPoint() for various platforms.
12720
127212009-07-14  Nate Chapin  <japhet@chromium.org>
12722
12723        Reviewed by Sam Weinig.
12724
12725        Upstream RGBColor from src.chromium.org.
12726
12727        https://bugs.webkit.org/show_bug.cgi?id=27133
12728
12729        * WebCore.gypi: Add RGBColor
12730        * css/RGBColor.cpp: Added.
12731        (WebCore::RGBColor::create):
12732        (WebCore::RGBColor::red):
12733        (WebCore::RGBColor::green):
12734        (WebCore::RGBColor::blue):
12735        * css/RGBColor.h: Added.
12736        (WebCore::RGBColor::RGBColor):
12737
127382009-07-10  Matt Perry  <mpcomplete@chromium.org>
12739
12740        Reviewed by Darin Fisher.
12741
12742        [V8] Rename the didCreate/DestroyScriptContext calls to make it
12743        clear that that those refer to the frame's contxt.  Add another
12744        similar call for when creating contexts via evaluateInNewContext.
12745        https://bugs.webkit.org/show_bug.cgi?id=27104
12746
12747        * bindings/v8/V8Proxy.cpp:
12748        (WebCore::V8Proxy::evaluateInNewContext):
12749        (WebCore::V8Proxy::disposeContextHandles):
12750        (WebCore::V8Proxy::initContextIfNeeded):
12751        * loader/EmptyClients.h:
12752        (WebCore::EmptyFrameLoaderClient::didCreateScriptContextForFrame):
12753        (WebCore::EmptyFrameLoaderClient::didDestroyScriptContextForFrame):
12754        (WebCore::EmptyFrameLoaderClient::didCreateIsolatedScriptContext):
12755        * loader/FrameLoaderClient.h:
12756
127572009-07-14  Brent Fulgham  <bfulgham@webkit.org>
12758
12759        Revert http://trac.webkit.org/changeset/45864 after
12760        breaking of Windows build.
12761
12762        * storage/LocalStorageTask.cpp:
12763        * storage/LocalStorageTask.h:
12764        * storage/Storage.cpp:
12765        * storage/Storage.h:
12766        * storage/StorageArea.cpp:
12767        * storage/StorageArea.h:
12768        * storage/StorageAreaImpl.cpp:
12769        * storage/StorageAreaImpl.h:
12770        * storage/StorageAreaSync.cpp:
12771        * storage/StorageAreaSync.h:
12772        * storage/StorageEvent.cpp:
12773        * storage/StorageEvent.h:
12774        (WebCore::StorageEvent::create):
12775        (WebCore::StorageEvent::StorageEvent):
12776        * storage/StorageNamespace.h:
12777        * storage/StorageNamespaceImpl.cpp:
12778        * storage/StorageNamespaceImpl.h:
12779        * storage/StorageSyncManager.cpp:
12780        * storage/StorageSyncManager.h:
12781
127822009-07-11  Jeremy Orlow  <jorlow@chromium.org>
12783
12784        Reviewed by Darin Adler.
12785
12786        Cleanup DOM Storage dependencies.
12787        https://bugs.webkit.org/show_bug.cgi?id=27180
12788
12789        DOM Storage had several unnecessary (and probably unintended)
12790        dependencies.  This patch replaces many includes of header files with
12791        forward declaration of classes, making some destructors explicit, and
12792        taking some factories out of the header files.
12793
12794        This will allow things like StorageAreaSync to take a StorageAreaImpl*
12795        (as it should) rather than a StorageArea* which previously weren't
12796        possible because the dependencies were such a tangled mess.
12797
12798        * storage/LocalStorageTask.cpp:
12799        (WebCore::LocalStorageTask::~LocalStorageTask):
12800        * storage/LocalStorageTask.h:
12801        * storage/Storage.cpp:
12802        (WebCore::Storage::~Storage):
12803        * storage/Storage.h:
12804        * storage/StorageArea.cpp:
12805        * storage/StorageArea.h:
12806        * storage/StorageAreaImpl.cpp:
12807        * storage/StorageAreaImpl.h:
12808        * storage/StorageAreaSync.cpp:
12809        (WebCore::StorageAreaSync::~StorageAreaSync):
12810        * storage/StorageAreaSync.h:
12811        * storage/StorageEvent.cpp:
12812        (WebCore::StorageEvent::create):
12813        (WebCore::StorageEvent::StorageEvent):
12814        * storage/StorageEvent.h:
12815        * storage/StorageNamespace.h:
12816        * storage/StorageNamespaceImpl.cpp:
12817        * storage/StorageNamespaceImpl.h:
12818        * storage/StorageSyncManager.cpp:
12819        (WebCore::StorageSyncManager::~StorageSyncManager):
12820        * storage/StorageSyncManager.h:
12821
12822
128232009-07-14  Adam Treat  <adam.treat@torchmobile.com>
12824
12825        Reviewed by David Hyatt.
12826
12827        https://bugs.webkit.org/show_bug.cgi?id=26983
12828
12829        Check to make sure the view is attached to a frame() in the visibleContentsResized()
12830        method as it can be triggered before the view is attached by Frame::createView(...)
12831        setting various values such as setScrollBarModes(...) for example.  An ASSERT is
12832        triggered when a view is layout before being attached to a frame().
12833
12834        * page/FrameView.cpp:
12835        (WebCore::FrameView::visibleContentsResized):
12836        * page/FrameView.h:
12837
128382009-07-14  Pavel Feldman  <pfeldman@chromium.org>
12839
12840        Reviewed by Timothy Hatcher.
12841
12842        WebInspector: show last opened panel when invoking inspector.
12843
12844        https://bugs.webkit.org/show_bug.cgi?id=27263
12845
12846        * inspector/InspectorController.cpp:
12847        (WebCore::InspectorController::InspectorController):
12848        (WebCore::InspectorController::setWindowVisible):
12849        (WebCore::InspectorController::storeLastActivePanel):
12850        (WebCore::InspectorController::specialPanelForJSName):
12851        * inspector/InspectorController.h:
12852        (WebCore::InspectorController::Setting::Setting):
12853        * inspector/InspectorController.idl:
12854        * inspector/front-end/inspector.js:
12855        (WebInspector.set currentPanel):
12856        (WebInspector.loaded):
12857
128582009-07-14  Anton Muhin  <antonm@chromium.org>
12859
12860        Reviewed by Dimitri Glazkov.
12861
12862        Speed up access to NodeList length.
12863        https://bugs.webkit.org/show_bug.cgi?id=27264
12864
12865        That's a minimal alternation of the code.
12866
12867        * bindings/v8/custom/V8NodeListCustom.cpp:
12868        (WebCore::NAMED_PROPERTY_GETTER): 1) use AtomicString for comparison, 2) use
12869        v8::Integer::New instead of v8::Number::New.
12870
128712009-07-14  Anton Muhin  <antonm@chromium.org>
12872
12873        Reviewed by Dimitri Glazkov.
12874
12875        Do not do unnecessary conversions from v8::Handle<v8::Value> to
12876        v8::Handle<v8::Object> and accompanying changes.
12877        https://bugs.webkit.org/show_bug.cgi?id=26953
12878
12879        Three things:
12880
12881        1) do not cast from v8::Value to v8::Object if unnecessary---casts are cheap,
12882        but are not free (they check for emptiness of handle);
12883        2) inline conversion from wrapper to node;
12884        3) simplify case to an ASSERT.
12885
12886        This is just a refactoring, so no new tests are needed.
12887
12888        * bindings/scripts/CodeGeneratorV8.pm:
12889        * bindings/v8/V8Proxy.cpp:
12890        (WebCore::V8Proxy::evaluateInNewContext):
12891        (WebCore::V8Proxy::convertToSVGPODTypeImpl):
12892        * bindings/v8/V8Proxy.h:
12893        (WebCore::V8Proxy::convertDOMWrapperToNative):
12894        (WebCore::V8Proxy::convertToNativeObject):
12895        (WebCore::V8Proxy::convertToNativeEvent):
12896        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
12897        (WebCore::toCanvasStyle):
12898        (WebCore::CALLBACK_FUNC_DECL):
12899        * bindings/v8/custom/V8CustomBinding.cpp:
12900        (WebCore::V8Custom::GetTargetFrame):
12901        * bindings/v8/custom/V8DOMWindowCustom.cpp:
12902        (WebCore::CALLBACK_FUNC_DECL):
12903        (WebCore::V8Custom::ClearTimeoutImpl):
12904        (WebCore::NAMED_ACCESS_CHECK):
12905        (WebCore::INDEXED_ACCESS_CHECK):
12906        * bindings/v8/custom/V8DocumentCustom.cpp:
12907        (WebCore::CALLBACK_FUNC_DECL):
12908        * bindings/v8/custom/V8LocationCustom.cpp:
12909        (WebCore::CALLBACK_FUNC_DECL):
12910
129112009-07-14  Darin Adler  <darin@apple.com>
12912
12913        Reviewed by Dan Bernstein.
12914
12915        Straight quotes should match fancy quotes in in-page search
12916        https://bugs.webkit.org/show_bug.cgi?id=27217
12917
12918        Tests: fast/text/find-quotes.html
12919
12920        * editing/TextIterator.cpp:
12921        (WebCore::foldQuoteMark): Added.
12922        (WebCore::foldQuoteMarks): Added.
12923        (WebCore::SearchBuffer::SearchBuffer): Call foldQuoteMarks on the target string.
12924        (WebCore::SearchBuffer::append): Call foldQuoteMarks on characters as they are
12925        added to the search buffer.
12926
12927        * platform/text/CharacterNames.h: Added more quotation mark character names.
12928        Sorted character names with the sort tool.
12929
129302009-07-13  Pavel Feldman  <pfeldman@chromium.org>
12931
12932        Reviewed by Timothy Hatcher.
12933
12934        WebInspector: handle debugger shortcuts while on source frame or on
12935        script file selector.
12936
12937        https://bugs.webkit.org/show_bug.cgi?id=27224
12938
12939        * inspector/front-end/ScriptsPanel.js:
12940        (WebInspector.ScriptsPanel):
12941        * inspector/front-end/SourceFrame.js:
12942        (WebInspector.SourceFrame.prototype._loaded):
12943
129442009-07-13  Sam Weinig  <sam@webkit.org>
12945
12946        Reviewed by Darin Adler.
12947
12948        Use standard HashCountedSet instead of a hand rolled one
12949        in HTMLDocument.
12950
12951        * html/HTMLDocument.cpp:
12952        (WebCore::addItemToMap):
12953        (WebCore::removeItemFromMap):
12954        * html/HTMLDocument.h:
12955
129562009-07-13  Erik Arvidsson  <arv@chromium.org>
12957
12958        Reviewed by Darin Adler and Maciej Stachowiak.
12959
12960        Implement HTML5 draggable
12961        https://bugs.webkit.org/show_bug.cgi?id=26262
12962
12963        This adds support for the HTML5 draggable attribute and its DOM binding. It maps the draggable property
12964        to the CSS properties -webkit-user-drag and -webkit-user-select respectively.
12965
12966        Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#the-draggable-attribute
12967
12968        Test: fast/html/draggable.html
12969
12970        * css/html.css:
12971        * html/HTMLAnchorElement.cpp:
12972        (WebCore::HTMLAnchorElement::draggable):
12973        * html/HTMLAnchorElement.h:
12974        * html/HTMLAttributeNames.in:
12975        * html/HTMLElement.cpp:
12976        (WebCore::HTMLElement::draggable):
12977        (WebCore::HTMLElement::setDraggable):
12978        * html/HTMLElement.h:
12979        * html/HTMLElement.idl:
12980        * html/HTMLImageElement.cpp:
12981        (WebCore::HTMLImageElement::draggable):
12982        * html/HTMLImageElement.h:
12983
129842009-07-13  Simon Fraser  <simon.fraser@apple.com>
12985
12986        Reviewed by Dan Bernstein.
12987
12988        Image rendered as layer contents looks different from image rendered via CG.
12989        <rdar://problem/7048830>
12990
12991        Fix a visible color profile difference between between images rendered via Core Graphics
12992        and those rendered via a compositing layer, by assigning the GenericRGB profile to
12993        untagged images (which come through as having the DeviceRGB profile) when they are set
12994        as layer contents.
12995
12996        Test: compositing/color-matching/image-color-matching.html
12997
12998        * platform/graphics/mac/GraphicsLayerCA.mm:
12999        (WebCore::GraphicsLayerCA::setContentsToImage):
13000
130012009-07-13  Darin Adler  <darin@apple.com>
13002
13003        Reviewed by Oliver Hunt.
13004
13005        https://bugs.webkit.org/show_bug.cgi?id=27220
13006        Assertion failure in createSearcher() (usearch_open() status is U_USING_DEFAULT_WARNING)
13007
13008        * editing/TextIterator.cpp:
13009        (WebCore::createSearcher): Add U_USING_DEFAULT_WARNING as a possible status code
13010        in the assertion. Affects only the assertion.
13011
130122009-07-13  Alexey Proskuryakov  <ap@webkit.org>
13013
13014        Reviewed by Darin Adler.
13015
13016        https://bugs.webkit.org/show_bug.cgi?id=26925
13017        <rdar://problem/7027850> URL Fragment Breaks Application Cache Loads
13018
13019        Test: http/tests/appcache/main-resource-hash.html
13020
13021        * loader/appcache/ApplicationCache.cpp:
13022        (WebCore::ApplicationCache::resourceForURL):
13023        (WebCore::ApplicationCache::resourceForRequest):
13024        * loader/appcache/ApplicationCacheGroup.cpp:
13025        (WebCore::ApplicationCacheGroup::cacheForMainRequest):
13026        (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest):
13027        (WebCore::ApplicationCacheGroup::selectCache):
13028        (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
13029        (WebCore::ApplicationCacheGroup::didReceiveResponse):
13030        (WebCore::ApplicationCacheGroup::didFail):
13031        (WebCore::ApplicationCacheGroup::addEntry):
13032        Remove URL fragment at appcache code borders.
13033
13034        * loader/appcache/ApplicationCacheResource.h:
13035        (WebCore::ApplicationCacheResource::create):
13036        * loader/appcache/ApplicationCacheStorage.cpp:
13037        (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
13038        (WebCore::ApplicationCacheStorage::cacheGroupForURL):
13039        (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
13040        Assert that there is no URL fragment in URL at key points in appcache code.
13041
130422009-07-13  Darin Adler  <darin@apple.com>
13043
13044        Reviewed by Dan Bernstein.
13045
13046        https://bugs.webkit.org/show_bug.cgi?id=27166
13047        rdar://problem/7015857
13048        Find for strings composed entirely of spaces doesn't work
13049
13050        Test: fast/text/find-spaces.html
13051
13052        * editing/TextIterator.cpp:
13053        (WebCore::findPlainText): Removed unneeded special case.
13054        The empty string case already works correctly.
13055
130562009-07-13  Anders Carlsson  <andersca@apple.com>
13057
13058        Reviewed by Kevin Decker.
13059
13060        Remove NPPVpluginPrivateModeBool, it was removed from the spec.
13061
13062        * bridge/npapi.h:
13063
130642009-07-13  Feng Qian  <feng@chromium.org>
13065
13066        Reviewed by Dimitri Glazkov.
13067
13068        Fix for https://bugs.webkit.org/show_bug.cgi?id=27237
13069
13070        Make V8DOMMap.h compiling with gcc option -Werror=non=virtual-dtor.
13071
13072        * bindings/v8/V8DOMMap.h:
13073        (WebCore::WeakReferenceMap::WeakReferenceMap):
13074        (WebCore::WeakReferenceMap::~WeakReferenceMap):
13075
130762009-07-13  Dimitri Glazkov  <dglazkov@chromium.org>
13077
13078        Reviewed by Darin Fisher.
13079
13080        Remove an accidental add of bidi.(cpp|h) to WebCore.gypi.
13081
13082        * WebCore.gypi: Removed bidi.cpp and bidi.h
13083
130842009-07-13  Dimitri Glazkov  <dglazkov@chromium.org>
13085
13086        Reviewed by Darin Fisher.
13087
13088        Update WebCore.gyp in preparation to hooking it up.
13089
13090        * WebCore.gypi: Added files that were mid-stream while switching over.
13091
130922009-07-13  Dmitry Titov  <dimich@chromium.org>
13093
13094        Not reviewed, another small fix for Chromium build.
13095
13096        * bindings/v8/ScriptController.cpp:
13097        (WebCore::ScriptController::evaluate):
13098
130992009-07-13  Dmitry Titov  <dimich@chromium.org>
13100
13101        Not reviewed, fix Chromium build bustage.
13102
13103        * bindings/v8/ScriptController.cpp:
13104        (WebCore::ScriptController::evaluate):
13105        * bindings/v8/V8Proxy.cpp:
13106        (WebCore::JavaScriptConsoleMessage::addToPage):
13107        * bindings/v8/WorkerContextExecutionProxy.cpp:
13108        (WebCore::handleConsoleMessage):
13109
131102009-07-13  Sam Weinig  <sam@webkit.org>
13111
13112        Reviewed by Darin Adler.
13113
13114        Fix for https://bugs.webkit.org/show_bug.cgi?id=27234
13115        <rdar://problem/7054356>
13116
13117        Add null page check in HTMLDocument::hasFocus.
13118
13119        Test: fast/dom/HTMLDocument/hasFocus-frameless-crash.html
13120
13121        * html/HTMLDocument.cpp:
13122        (WebCore::HTMLDocument::hasFocus): Add page null check.
13123        (WebCore::HTMLDocument::createTokenizer): Cleanup page null check.
13124
131252009-07-13  Dan Bernstein  <mitz@apple.com>
13126
13127        Reviewed by Darin Adler.
13128
13129        Disable continuous spell checking in the inspector
13130        https://bugs.webkit.org/show_bug.cgi?id=27131
13131
13132        * inspector/front-end/inspector.html: Added spellcheck="false" to the
13133            main-panels and console-prompt containers.
13134
131352009-07-13  Adam Langley  <agl@google.com>
13136
13137        Reviewed by Eric Seidel.
13138
13139        Chromium Linux: fix assertion when rendering google.com.kh
13140
13141        https://bugs.webkit.org/show_bug.cgi?id=26924
13142
13143        Some shapers (i.e. Khmer) will produce cluster logs which report that
13144        /no/ code points contributed to certain glyphs. Because of this, we
13145        take any code point which contributed to the glyph in question, or any
13146        subsequent glyph.  If we run off the end, then we take the last code
13147        point.
13148
13149        Added LayoutTests/fast/text/international/khmar-selection.html
13150
13151        * platform/graphics/chromium/FontLinux.cpp:
13152        (WebCore::Font::offsetForPositionForComplexText):
13153
131542009-07-13  Dan Bernstein  <mitz@apple.com>
13155
13156        Reviewed by Darin Adler.
13157
13158        spellcheck="false" is ignored
13159        <rdar://problem/7054177>
13160
13161        * editing/Editor.cpp:
13162        (WebCore::markMisspellingsOrBadGrammar): Moved code to check the
13163            spellcheck attribute from here...
13164        (WebCore::Editor::spellCheckingEnabledInFocusedNode): ...to here.
13165        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Bail out
13166            if spell chcking is disabled by the spellcheck attribute.
13167        * editing/Editor.h:
13168
131692009-07-13  Brent Fulgham  <bfulgham@webkit.org>
13170
13171        Reviewed by Adam Roben.
13172
13173        Add new configuration flag for redistributable Windows build.
13174        https://bugs.webkit.org/show_bug.cgi=27087
13175
13176        * WebCore.vcproj/WebCore.vcproj: Add new WinCairo.vsprops to
13177          Debug_Cairo and Release_Cairo builds.
13178        * config.h: Check for presence of WIN_CAIRO and select appropriate
13179          configuration.  Defaults to standard Apple build.
13180
131812009-07-13  Peter Kasting  <pkasting@google.com>
13182
13183        https://bugs.webkit.org/show_bug.cgi?id=19562
13184        Back out previous patch for this bug (too many problems).
13185
13186        * DerivedSources.cpp:
13187        * DerivedSources.make:
13188        * GNUmakefile.am:
13189        * WebCore.gypi:
13190        * WebCore.pro:
13191        * WebCore.vcproj/WebCore.vcproj:
13192        * WebCore.xcodeproj/project.pbxproj:
13193        * WebCoreSources.bkl:
13194        * html/HTMLButtonElement.idl:
13195        * html/HTMLFieldSetElement.idl:
13196        * html/HTMLFormControlElement.cpp:
13197        * html/HTMLFormControlElement.h:
13198        (WebCore::HTMLFormControlElement::form):
13199        * html/HTMLInputElement.idl:
13200        * html/HTMLSelectElement.idl:
13201        * html/HTMLTextAreaElement.idl:
13202        * html/ValidityState.cpp: Removed.
13203        * html/ValidityState.h: Removed.
13204        * html/ValidityState.idl: Removed.
13205
132062009-07-13  Nate Chapin  <japhet@chromium.org>
13207
13208        Reviewed by Dimitri Glazkov.
13209
13210        Add HTMLAllCollection to WebCore.gypi.
13211
13212        https://bugs.webkit.org/show_bug.cgi?id=27223
13213
13214        * WebCore.gypi: Add HTMLAllCollection.
13215
132162009-07-13  Dimitri Glazkov  <dglazkov@chromium.org>
13217
13218        Reviewed by Darin Fisher.
13219
13220        [V8] Add a missing check for constructor call in WebKitCSSMatrixConstructor.
13221        https://bugs.webkit.org/show_bug.cgi?id=27218
13222
13223        Test: fast/css/matrix-as-function-crash.html
13224
13225        * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
13226        (WebCore::CALLBACK_FUNC_DECL): Added a check for constructor call.
13227
132282009-07-13  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
13229
13230        Unreviewed make dist build fix.
13231
13232        * GNUmakefile.am:
13233
132342009-07-13  Cédric Luthi  <cedric.luthi@gmail.com>
13235
13236        Reviewed by Tor Arne Vestbø.
13237
13238        Fix NPWindow clip rect in PluginViewMac
13239
13240        The rect should be in window-coordinates. This bug can be observed
13241        with Flash 10 here: http://www.permadi.com/tutorial/cursorTracker/
13242
13243        * plugins/mac/PluginViewMac.cpp:
13244
132452009-07-13  Simon Hausmann  <hausmann@webkit.org>
13246
13247        Reviewed by Ariya Hidayat.
13248
13249        Fix Qt implementation of WebCore::directoryName to return the absolute
13250        directory name instead of the base file name.
13251
13252        * platform/qt/FileSystemQt.cpp:
13253        (WebCore::directoryName):
13254
132552009-07-13  Simon Hausmann  <hausmann@webkit.org>
13256
13257        Reviewed by Ariya Hidayat.
13258
13259        Fix WebCore::Path::isEmpty() for the Qt port to return true
13260        if there is no element in the path.
13261
13262        QPainterPath::isEmpty() returns also true if there is one single
13263        MoveTo element inside, which makes sense but doesn't patch Webcore's
13264        is-empty definition.
13265
13266        * platform/graphics/qt/PathQt.cpp:
13267        (WebCore::Path::isEmpty): Use elementCount() == 0.
13268
132692009-07-13  Albert J. Wong  <ajwong@chromium.org>
13270
13271        Reviewed by Dimitri Glazkov.
13272
13273        Upstream fixes to NPV8Object.cpp that make ~30 layout tests pass.
13274        https://bugs.webkit.org/show_bug.cgi?id=27127
13275
13276        There were a number of bugs introduced during the last upstreaming
13277        effort that broke around 30 layout tests.  This fixes those bugs.
13278        It also has compile fixes to match the recent cutting apart of
13279        V8Proxy.
13280
13281        * bindings/v8/NPV8Object.cpp:
13282        (freeV8NPObject):
13283        (npCreateV8ScriptObject):
13284        (NPN_Invoke):
13285        (NPN_InvokeDefault):
13286        (NPN_EvaluateHelper):
13287        (NPN_SetException):
13288        (NPN_Construct):
13289
132902009-07-13  Mads Ager  <ager@chromium.org>
13291
13292        Reviewed by Adam Barth.
13293
13294        Fix memory leak in the V8 binding layer.
13295        https://bugs.webkit.org/show_bug.cgi?id=27163
13296
13297        Reinitializing the context is not necessary when clearing the proxy for navigation
13298        and it will lead us to hold on to an empty context for each frame.
13299
13300        Test for empty context instead of empty global object handle when
13301        updating the document for a context.
13302
13303        * bindings/v8/V8Proxy.cpp:
13304        (WebCore::V8Proxy::clearForNavigation):
13305        (WebCore::V8Proxy::updateDocument):
13306
133072009-07-13  John Gregg  <johnnyg@google.com>
13308
13309        Reviewed by David Levin.
13310
13311        Correct the logic to determine if a V8 callback returns a value.
13312        https://bugs.webkit.org/show_bug.cgi?id=27155
13313
13314        * bindings/v8/custom/V8CustomVoidCallback.cpp:
13315        (WebCore::invokeCallback):
13316        - Don't crash if result.IsEmpty().
13317
133182009-07-13  Drew Wilson  <atwilson@google.com>
13319
13320        Reviewed by David Levin.
13321
13322        Add ENABLE(SHARED_WORKERS) flag and define SharedWorker APIs
13323        https://bugs.webkit.org/show_bug.cgi?id=26932
13324
13325        Initial IDL definition and bindings for SharedWorkers.
13326
13327        * Configurations/FeatureDefines.xcconfig:
13328        Added new files for SharedWorker support.
13329        * DerivedSources.make:
13330        Added new files for SharedWorker support.
13331        * GNUmakefile.am:
13332        Added new files for SharedWorker support.
13333        * WebCore.gypi:
13334        Added new files for SharedWorker support.
13335        * WebCore.pro:
13336        Added new files for SharedWorker support.
13337        * WebCore.xcodeproj/project.pbxproj:
13338        Added new files for SharedWorker support.
13339        * bindings/js/JSAbstractWorkerCustom.cpp: Added.
13340        (WebCore::JSAbstractWorker::mark):
13341        Custom mark handler that marks the event listeners.
13342        (WebCore::JSAbstractWorker::addEventListener):
13343        (WebCore::JSAbstractWorker::removeEventListener):
13344        (WebCore::JSAbstractWorker::toJS):
13345        Custom toJS handler which differentiates between various subclasses.
13346        * bindings/js/JSDOMWindowCustom.cpp:
13347        (WebCore::JSDOMWindow::sharedWorker):
13348        SharedWorker constructor (only enabled when SHARED_WORKERS is
13349        enabled).
13350        * bindings/js/JSEventTarget.cpp:
13351        (WebCore::toJS):
13352        (WebCore::toEventTarget):
13353        Added support for converting to/from SharedWorkers.
13354        * bindings/js/JSSharedWorkerConstructor.cpp: Added.
13355        (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
13356        (WebCore::constructSharedWorker):
13357        (WebCore::JSSharedWorkerConstructor::getConstructData):
13358        * bindings/js/JSSharedWorkerConstructor.h: Added.
13359        (WebCore::JSSharedWorkerConstructor::classInfo):
13360        * bindings/js/JSSharedWorkerCustom.cpp: Added.
13361        (WebCore::JSSharedWorker::mark):
13362        Custom mark function that marks the internal MessagePort.
13363        * bindings/v8/DOMObjectsInclude.h:
13364        Updated to include new header files.
13365        * bindings/v8/V8Index.cpp:
13366        * bindings/v8/V8Index.h:
13367        * bindings/v8/custom/V8AbstractWorkerCustom.cpp: Added.
13368        (WebCore::getEventListener):
13369        (WebCore::ACCESSOR_GETTER):
13370        (WebCore::ACCESSOR_SETTER):
13371        (WebCore::CALLBACK_FUNC_DECL):
13372        V8 handlers for add/removeEventListener().
13373        * bindings/v8/custom/V8CustomBinding.h:
13374        * bindings/v8/custom/V8SharedWorkerCustom.cpp: Added.
13375        (WebCore::CALLBACK_FUNC_DECL):
13376        Custom constructor for SharedWorker.
13377        * dom/EventTarget.cpp:
13378        (WebCore::EventTarget::toSharedWorker):
13379        * dom/EventTarget.h:
13380        * page/DOMWindow.idl:
13381        * workers/AbstractWorker.cpp: Added.
13382        (WebCore::AbstractWorker::AbstractWorker):
13383        Common base class for SharedWorker and (soon) Worker. The functions below were copied from Worker.cpp.
13384        This is the first step in refactoring Worker to derive from AbstractWorker to enable code sharing.
13385        (WebCore::AbstractWorker::~AbstractWorker):
13386        (WebCore::AbstractWorker::addEventListener):
13387        (WebCore::AbstractWorker::removeEventListener):
13388        (WebCore::AbstractWorker::dispatchEvent):
13389        (WebCore::AbstractWorker::dispatchLoadErrorEvent):
13390        (WebCore::AbstractWorker::dispatchScriptErrorEvent):
13391        * workers/AbstractWorker.h: Added.
13392        Definitions of functionality shared by Worker.h and SharedWorker.h. In a future patch, Worker will derive from AbstractWorker.
13393        (WebCore::AbstractWorker::scriptExecutionContext):
13394        (WebCore::AbstractWorker::setOnerror):
13395        (WebCore::AbstractWorker::onerror):
13396        (WebCore::AbstractWorker::eventListeners):
13397        (WebCore::AbstractWorker::refEventTarget):
13398        (WebCore::AbstractWorker::derefEventTarget):
13399        * workers/AbstractWorker.idl: Added.
13400        * workers/SharedWorker.cpp: Added.
13401        (WebCore::SharedWorker::SharedWorker):
13402        (WebCore::SharedWorker::~SharedWorker):
13403        * workers/SharedWorker.h: Added.
13404        (WebCore::SharedWorker::create):
13405        (WebCore::SharedWorker::port):
13406        (WebCore::SharedWorker::toSharedWorker):
13407        * workers/SharedWorker.idl: Added.
13408
134092009-07-13  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
13410
13411        Reviewed by Simon Hausmann.
13412
13413        [Qt] Cleanup - Remove prf install target
13414        https://bugs.webkit.org/show_bug.cgi?id=27191
13415
13416        qtwebkit.prf has been removed; this cleans up the related
13417        install target as well.
13418
13419        * WebCore.pro: Remove prf install target
13420
134212009-07-12  Adam Barth  <abarth@webkit.org>
13422
13423        Reviewed by Oliver Hunt.
13424
13425        Facebook Chat is broken due to XSS auditor
13426        https://bugs.webkit.org/show_bug.cgi?id=27179
13427
13428        Instead of just using the script's URL as to detect an XSS attack, we
13429        now use a bit of context before the URL.  In particular, we use the
13430        bytes from the beginning of the attribute name to the end of the
13431        attribute value.  In virtually all injection attacks, the attacker
13432        would need to supply the attribute name as well as the attribute value.
13433        However, in the Facebook false positive, the attribute name is not
13434        present in the URL.
13435
13436        Tests: http/tests/security/xssAuditor/script-tag-src-redirect-safe.html
13437               http/tests/security/xssAuditor/script-tag-with-source-double-quote.html
13438               http/tests/security/xssAuditor/script-tag-with-source-no-quote.html
13439
13440        * html/HTMLTokenizer.cpp:
13441        (WebCore::HTMLTokenizer::parseTag):
13442        * html/HTMLTokenizer.h:
13443        * page/XSSAuditor.cpp:
13444        (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
13445        * page/XSSAuditor.h:
13446
134472009-07-12  Keishi Hattori  <casey.hattori@gmail.com>
13448
13449        Reviewed by Timothy Hatcher.
13450
13451        Refactor ConsoleMessage to add MessageType attribute.
13452        https://bugs.webkit.org/show_bug.cgi?id=20625
13453
13454        * bindings/js/JSCustomXPathNSResolver.cpp:
13455        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
13456        * bindings/js/JSDOMWindowBase.cpp:
13457        (WebCore::JSDOMWindowBase::printErrorMessage):
13458        * dom/Document.cpp:
13459        (WebCore::Document::reportException):
13460        (WebCore::Document::addMessage):
13461        * dom/Document.h:
13462        * dom/ScriptExecutionContext.h:
13463        * html/HTMLParser.cpp:
13464        (WebCore::HTMLParser::reportErrorToConsole):
13465        * inspector/ConsoleMessage.cpp:
13466        (WebCore::ConsoleMessage::ConsoleMessage):
13467        (WebCore::ConsoleMessage::addToConsole):
13468        (WebCore::ConsoleMessage::isEqual):
13469        * inspector/ConsoleMessage.h:
13470        * inspector/InspectorController.cpp:
13471        (WebCore::InspectorController::addMessageToConsole):
13472        (WebCore::InspectorController::startGroup):
13473        (WebCore::InspectorController::endGroup):
13474        (WebCore::InspectorController::addProfileFinishedMessageToConsole):
13475        (WebCore::InspectorController::addStartProfilingMessageToConsole):
13476        (WebCore::InspectorController::count):
13477        * inspector/InspectorController.h:
13478        * inspector/front-end/Console.js:
13479        (WebInspector.Console.prototype.addMessage):
13480        (WebInspector.ConsoleMessage): Added type property.
13481        (WebInspector.ConsoleMessage.prototype.toMessageElement):
13482        (WebInspector.ConsoleMessage.prototype.toString):
13483        (WebInspector.ConsoleMessage.prototype.isEqual):
13484        (WebInspector.ConsoleCommandResult):
13485        (WebInspector.ConsoleGroup.prototype.addMessage):
13486        (WebInspector.ConsoleGroup.prototype._titleClicked):
13487        * inspector/front-end/Resource.js:
13488        (WebInspector.Resource.prototype._addTip):
13489        (WebInspector.Resource.prototype._checkWarning):
13490        * inspector/front-end/inspector.css: Changed ".console-group-title-level" to ".console-group-title"
13491        * inspector/front-end/inspector.js:
13492        (WebInspector.addMessageToConsole):
13493        * loader/DocLoader.cpp:
13494        (WebCore::DocLoader::printAccessDeniedMessage):
13495        * loader/EmptyClients.h:
13496        (WebCore::EmptyChromeClient::addMessageToConsole):
13497        * loader/FrameLoader.cpp:
13498        (WebCore::FrameLoader::reportLocalLoadFailed):
13499        (WebCore::FrameLoader::shouldAllowNavigation):
13500        * page/ChromeClient.h:
13501        * page/Console.cpp:
13502        (WebCore::printMessageSourceAndLevelPrefix):
13503        (WebCore::Console::addMessage):
13504        (WebCore::Console::error):
13505        (WebCore::Console::log):
13506        (WebCore::Console::dir):
13507        (WebCore::Console::trace):
13508        (WebCore::Console::assertCondition):
13509        (WebCore::Console::timeEnd):
13510        (WebCore::Console::warn):
13511        * page/Console.h: Added MessageType enum.
13512        (WebCore::):
13513        * page/DOMWindow.cpp:
13514        (WebCore::DOMWindow::postMessageTimerFired):
13515        * page/XSSAuditor.cpp:
13516        (WebCore::XSSAuditor::canEvaluate):
13517        (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
13518        (WebCore::XSSAuditor::canLoadObject):
13519        * svg/SVGDocumentExtensions.cpp:
13520        (WebCore::SVGDocumentExtensions::reportWarning):
13521        (WebCore::SVGDocumentExtensions::reportError):
13522        * wml/WMLErrorHandling.cpp:
13523        (WebCore::reportWMLError):
13524        * workers/GenericWorkerTask.h: Added GenericWorkerTask8 for the extra argument.
13525        (WebCore::GenericWorkerTask8::create):
13526        (WebCore::GenericWorkerTask8::GenericWorkerTask8):
13527        (WebCore::GenericWorkerTask8::performTask):
13528        (WebCore::createCallbackTask):
13529        * workers/WorkerContext.cpp:
13530        (WebCore::WorkerContext::addMessage):
13531        (WebCore::WorkerContext::importScripts):
13532        * workers/WorkerContext.h:
13533        * workers/WorkerMessagingProxy.cpp:
13534        (WebCore::postConsoleMessageTask):
13535        (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
13536        * workers/WorkerMessagingProxy.h:
13537        * workers/WorkerObjectProxy.h:
13538        * xml/XMLHttpRequest.cpp:
13539        (WebCore::reportUnsafeUsage):
13540        (WebCore::XMLHttpRequest::didFinishLoading):
13541        * xml/XSLTProcessor.cpp:
13542        (WebCore::XSLTProcessor::parseErrorFunc):
13543
135442009-07-12  Nate Chapin  <japhet@chromium.org>
13545
13546        Reviewed by Dimitri Glazkov.
13547
13548        Upstream UndetectableHTMLCollection.idl as HTMLAllCollection.idl.
13549
13550        https://bugs.webkit.org/show_bug.cgi?id=27132
13551
13552        * bindings/scripts/CodeGeneratorV8.pm:
13553        * bindings/v8/DOMObjectsInclude.h:
13554        * bindings/v8/DerivedSourcesAllInOne.cpp:
13555        * bindings/v8/V8DOMWrapper.cpp:
13556        (WebCore::V8DOMWrapper::getTemplate):
13557        (WebCore::V8DOMWrapper::instantiateV8Object):
13558        * bindings/v8/V8Index.cpp:
13559        * bindings/v8/V8Index.h:
13560        * dom/HTMLAllCollection.idl: Added.
13561
135622009-07-12  Joseph Pecoraro  <joepeck02@gmail.com>
13563
13564        Reviewed by Maciej Stachowiak.
13565
13566        Inspector: Duplicate Computation in Autocompletion
13567        https://bugs.webkit.org/show_bug.cgi?id=26778
13568
13569        * inspector/front-end/TextPrompt.js:
13570        (WebInspector.TextPrompt.prototype._completionsReady):
13571
135722009-07-12  Dan Bernstein  <mitz@apple.com>
13573
13574        Reviewed by Maciej Stachowiak.
13575
13576        https://bugs.webkit.org/show_bug.cgi?id=27196
13577        Rename bidi.cpp to RenderBlockLineLayout.cpp and remove bidi.h
13578
13579        * GNUmakefile.am: Updated.
13580        * WebCore.gypi: Updated.
13581        * WebCore.pro: Updated.
13582        * WebCore.vcproj/WebCore.vcproj: Updated.
13583        * WebCore.xcodeproj/project.pbxproj: Updated.
13584        * WebCoreSources.bkl: Updated.
13585        * rendering/RenderBlock.h: Removed unnecessary forward declaration and
13586            updated comments.
13587        * rendering/RenderBlockLineLayout.cpp: Copied from WebCore/rendering/bidi.cpp.
13588            Removed unnecessary #include statements.
13589        (WebCore::BidiRun::BidiRun): Moved here from bidi.h.
13590        (WebCore::RenderBlock::layoutInlineChildren): Removed outdated comment.
13591        * rendering/bidi.cpp: Removed.
13592        * rendering/bidi.h: Removed.
13593
135942009-07-12  Dan Bernstein  <mitz@apple.com>
13595
13596        - Windows build fix
13597
13598        * platform/graphics/cg/PDFDocumentImage.cpp:
13599        (WebCore::PDFDocumentImage::dataChanged):
13600
136012009-07-12  Dan Bernstein  <mitz@apple.com>
13602
13603        Reviewed by Sam Weinig.
13604
13605        - Image cleanup
13606
13607        * platform/graphics/BitmapImage.cpp:
13608        (WebCore::BitmapImage::destroyDecodedData): Use the data() accessor
13609        instead of the m_data member.
13610        (WebCore::BitmapImage::dataChanged): Ditto.
13611        * platform/graphics/Image.h: Re-ordered #includes and class
13612        declarations. Removed the drawPatternCallback() declaration. Made member
13613        variables private.
13614        * platform/graphics/cg/ImageCG.cpp:
13615        (WebCore::drawPatternCallback): Changed this from a member function to a
13616        static function.
13617        * platform/graphics/cg/PDFDocumentImage.cpp:
13618        (WebCore::PDFDocumentImage::dataChanged): Use the data() accessor
13619        instead of the m_data member.
13620        * svg/graphics/SVGImage.cpp:
13621        (WebCore::SVGImage::dataChanged): Ditto.
13622
136232009-07-12  Daniel Bates  <dbates@intudata.com>
13624
13625        Reviewed by Darin Adler.
13626
13627        https://bugs.webkit.org/show_bug.cgi?id=27189
13628
13629        Fixes insufficient check in XSSAuditor::canSetBaseElementURL that caused
13630        XSSAuditor to incorrectly block HTML Base elements whose base path coincided
13631        with the URL of the page.
13632
13633        Test: http/tests/security/xssAuditor/base-href-safe3.html
13634
13635        * page/XSSAuditor.cpp:
13636        (WebCore::XSSAuditor::canSetBaseElementURL): Changed conditional to only call
13637        XSSAuditor::findInRequest() if the host in the page URL disagrees with the host
13638        in the base element URL.
13639
136402009-07-12  Darin Adler  <darin@apple.com>
13641
13642        Reviewed by Dan Bernstein.
13643
13644        Text searching with ICU should take the user's default locale into account
13645        https://bugs.webkit.org/show_bug.cgi?id=27184
13646        rdar://problem/6812121
13647
13648        No simple way to test this since it's dependent on user locale.
13649        After this, the user's default locale is used only on Mac.
13650
13651        * editing/TextIterator.cpp:
13652        (WebCore::createSearcher): Pass result of the currentSearchLocaleID
13653        function as the locale.
13654
13655        * platform/text/TextBreakIteratorInternalICU.h: Added declaration of
13656        currentSearchLocaleID function.
13657
13658        * platform/text/android/TextBreakIteratorInternalICU.cpp:
13659        (WebCore::currentSearchLocaleID): Added. Returns the empty string.
13660        * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:
13661        (WebCore::currentSearchLocaleID): Ditto.
13662        * platform/text/gtk/TextBreakIteratorInternalICUGtk.cpp:
13663        (WebCore::currentSearchLocaleID): Ditto.
13664
13665        * platform/text/mac/TextBreakIteratorInternalICUMac.mm:
13666        (WebCore::textBreakLocalePreference): Added. Returns the value of
13667        the AppleTextBreakLocale preference.
13668        (WebCore::topLanguagePreference): Added. Returns the value of the
13669        first item in the AppleLanguages preference.
13670        (WebCore::canonicalLanguageIdentifier): Added. Cover for the
13671        CFLocaleCreateCanonicalLanguageIdentifierFromString function.
13672        (WebCore::getLocale): Added. Transfers the locale from a CFStringRef
13673        into a buffer.
13674        (WebCore::getSearchLocale): Added. Calls topLanguagePreference,
13675        canonicalLanguageIdentifier, and getLocale.
13676        (WebCore::currentSearchLocaleID): Added. Calls getSearchLocale once.
13677        (WebCore::getTextBreakLocale): Changed to call
13678        textBreakLocalePreference, topLanguagePreference,
13679        canonicalLanguageIdentifier, and getLocale.
13680
13681        * platform/text/win/TextBreakIteratorInternalICUWin.cpp:
13682        (WebCore::currentSearchLocaleID): Added. Returns the empty string.
13683        * platform/wx/TemporaryLinkStubs.cpp:
13684        (WebCore::currentSearchLocaleID): Ditto.
13685
136862009-07-12  Xan Lopez  <xlopez@igalia.com>
13687
13688        Reviewed by Gustavo Noronha.
13689
13690        https://bugs.webkit.org/show_bug.cgi?id=25415
13691        [GTK][ATK] Please implement support for get_text_at_offset
13692
13693        Create a PangoLayout that properly represents the visual
13694        appearance of the text in the web page so that the line boundary
13695        modes of getText{At,Before,After}Offset work correctly.
13696
13697        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
13698        (UTF16ToUTF8):
13699        (g_substr):
13700        (convertUniCharToUTF8):
13701        (getPangoLayoutForAtk):
13702
137032009-07-11  Oliver Hunt  <oliver@apple.com>
13704
13705        Reviewed by Simon Fraser.
13706
13707        Bug 27187 - Match Gecko behaviour for canvas path mutation APIs on an empty path
13708        <https://bugs.webkit.org/show_bug.cgi?id=27187>
13709
13710        Simple API change, check for the empty path and add appropriate point if necessary.
13711
13712        Test: fast/canvas/canvas-modify-emptyPath.html
13713
13714        * Info.plist:
13715        * WebCore.xcodeproj/project.pbxproj:
13716        * html/CanvasRenderingContext2D.cpp:
13717        (WebCore::CanvasRenderingContext2D::lineTo):
13718        (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
13719        (WebCore::CanvasRenderingContext2D::bezierCurveTo):
13720
137212009-07-11  Eric Carlson  <eric.carlson@apple.com>
13722
13723        Reviewed by Antti Koivisto.
13724
13725        HTMLMediaElement.canPlayType "maybe" and "probably" reversed
13726        https://bugs.webkit.org/show_bug.cgi?id=27186
13727
13728        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
13729        (WebCore::MediaPlayerPrivate::supportsType):
13730            Return "probably" if type has codecs parameter.
13731
13732        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
13733        (WebCore::MediaPlayerPrivate::supportsType):
13734            Ditto.
13735
13736        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
13737        (WebCore::MediaPlayerPrivate::supportsType):
13738            Ditto.
13739
137402009-07-11  Brady Eidson  <beidson@apple.com>
13741
13742        Reviewed by Mark Rowe.
13743
13744        A worker-thread inspired follow-up for:
13745        https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520>
13746        REGRESSION: XHR stream connection blocks iFrame loading and resource downloading
13747
13748        * xml/XMLHttpRequest.cpp:
13749        (WebCore::XMLHttpRequest::loadRequestAsynchronously): Don't perform the XHR compensation when the XHR
13750          is running on a worker thread. Accessing the global Cache data structures from a non-main thread is
13751          not currently supported.
13752
137532009-07-11  Simon Fraser  <simon.fraser@apple.com>
13754
13755        Enable support for accelerated compositing and 3d transforms on Leopard.
13756        <https://bugs.webkit.org/show_bug.cgi?id=20166>
13757        <rdar://problem/6120614>
13758
13759        Reviewed by Oliver Hunt.
13760
13761        * Configurations/FeatureDefines.xcconfig:
13762
137632009-07-11  Simon Hausmann  <hausmann@webkit.org>
13764
13765        Fix the Qt build after r45724.
13766
13767        * bridge/qt/qt_instance.cpp:
13768        (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp):
13769        * bridge/qt/qt_runtime.cpp:
13770        (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
13771
137722009-07-10  Daniel Bates  <dbates@intudata.com>
13773
13774        Reviewed by Adam Barth.
13775
13776        https://bugs.webkit.org/show_bug.cgi?id=26921
13777
13778        Implements support for HTML entities, so XSSAuditor can protect against attacks
13779        encoded with HTML entities.
13780
13781        Tests: http/tests/security/xssAuditor/inline-event-HTML-entities.html
13782               http/tests/security/xssAuditor/javascript-link-HTML-entities-control-char.html
13783               http/tests/security/xssAuditor/javascript-link-HTML-entities-named.html
13784               http/tests/security/xssAuditor/javascript-link-HTML-entities-null-char.html
13785               http/tests/security/xssAuditor/javascript-link-HTML-entities.html
13786               http/tests/security/xssAuditor/link-onclick-entities.html
13787               http/tests/security/xssAuditor/script-tag-entities.html
13788               http/tests/security/xssAuditor/script-tag-with-source-entities.html
13789
13790        * page/XSSAuditor.cpp:
13791        (WebCore::XSSAuditor::canEvaluate):
13792        (WebCore::XSSAuditor::canEvaluateJavaScriptURL):
13793        (WebCore::XSSAuditor::decodeURL): Modified to call WebCore::XSSAuditor::decodeHTMLEntities
13794        to decode HTML entities.
13795        (WebCore::XSSAuditor::decodeHTMLEntities): Added method to decode HTML entities.
13796        (WebCore::XSSAuditor::findInRequest):
13797        * page/XSSAuditor.h:
13798
137992009-07-10  David Kilzer  <ddkilzer@apple.com>
13800
13801        Bug 27007: Build fixes when ICONDATABASE is disabled
13802
13803        <https://bugs.webkit.org/show_bug.cgi?id=27007>
13804
13805        Reviewed by Sam Weinig.
13806
13807        * WebCore.xcodeproj/project.pbxproj: Added IconDatabaseNone.cpp
13808        to the project.
13809        * loader/icon/IconDatabase.cpp: Added
13810        #if ENABLE(ICONDATABASE)/#endif macro guard.
13811        * loader/icon/IconDatabase.h: Removed three public methods from
13812        #if ENABLE(ICONDATABASE)/#endif macro so that they may be
13813        stubbed out in IconDatabaseNone.cpp.
13814        * loader/icon/IconDatabaseNone.cpp: Added
13815        #if !ENABLE(ICONDATABASE)/#endif macro guard.
13816        (WebCore::IconDatabase::importIconURLForPageURL): Added.
13817        (WebCore::IconDatabase::importIconDataForIconURL): Added.
13818        (WebCore::IconDatabase::shouldStopThreadActivity): Added.
13819
138202009-07-10  Daniel Bates  <dbates@intudata.com>
13821
13822        Reviewed by Adam Barth.
13823
13824        https://bugs.webkit.org/show_bug.cgi?id=27151
13825
13826        Fixes issue where JavaScript URLs that contain null- and non-null control characters can
13827        bypass XSSAuditor.
13828
13829        Tests: http/tests/security/xssAuditor/javascript-link-control-char.html
13830               http/tests/security/xssAuditor/javascript-link-null-char.html
13831               http/tests/security/xssAuditor/javascript-link.html
13832
13833        * bindings/js/ScriptController.cpp:
13834        (WebCore::ScriptController::evaluate): Separated out logic for JavaScript URLs from
13835        inline scripts. For JavaScript URLs, calls XSSAuditor::canEvaluateJavaScriptURL.
13836        * bindings/v8/ScriptController.cpp:
13837        (WebCore::ScriptController::evaluate): Made similar changes to evaluate() as in
13838        bindings/js/ScriptController.cpp.
13839        * page/XSSAuditor.cpp:
13840        (WebCore::XSSAuditor::canEvaluateJavaScriptURL): Separated out logic for JavaScript URLs
13841        into its own method.
13842        * page/XSSAuditor.h:
13843
138442009-07-10  Shinichiro Hamaji  <hamaji@chromium.org>
13845
13846        Reviewed by David Kilzer.
13847
13848        WebKit needs a style linting tool
13849        https://bugs.webkit.org/show_bug.cgi?id=25884
13850
13851        Fix bunch of style issues by autofix of cpplint.
13852        This patch is created to demonstrate the autofix of cpplint.py.
13853
13854        No new testcases because it's a style fix
13855
13856        * css/CSSParser.cpp:
13857        (WebCore::CSSParser::parseMediaQuery):
13858        (WebCore::CSSParser::validUnit):
13859        (WebCore::CSSParser::parseValue):
13860        (WebCore::skipCommaInDashboardRegion):
13861        (WebCore::CSSParser::parseDashboardRegions):
13862        (WebCore::ShadowParseContext::commitValue):
13863        (WebCore::ShadowParseContext::commitLength):
13864        (WebCore::ShadowParseContext::commitColor):
13865        (WebCore::BorderImageParseContext::commitNumber):
13866        (WebCore::BorderImageParseContext::commitWidth):
13867        (WebCore::BorderImageParseContext::commitRule):
13868        (WebCore::BorderImageParseContext::commitBorderImage):
13869        (WebCore::CSSParser::lex):
13870        (WebCore::CSSParser::text):
13871        * css/CSSStyleSelector.cpp:
13872        (WebCore::CSSStyleSelector::applyProperty):
13873        * css/MediaList.cpp:
13874        (WebCore::MediaList::deleteMedium):
13875        * css/MediaQuery.h:
13876        * css/MediaQueryEvaluator.cpp:
13877        (WebCore::parseAspectRatio):
13878        * css/MediaQueryEvaluator.h:
13879        * css/MediaQueryExp.h:
13880        (WebCore::MediaQueryExp::operator==):
13881        * css/WebKitCSSMatrix.h:
13882        * dom/Comment.h:
13883        * dom/Document.cpp:
13884        (WebCore::Document::setFocusedNode):
13885        * dom/Document.h:
13886        (WebCore::Document::setHasDashboardRegions):
13887        * dom/DocumentFragment.cpp:
13888        (WebCore::DocumentFragment::nodeName):
13889        * dom/DocumentFragment.h:
13890        * dom/DynamicNodeList.h:
13891        * dom/EditingText.h:
13892        * dom/Element.cpp:
13893        (WebCore::Element::dispatchAttrAdditionEvent):
13894        * dom/NamedAttrMap.cpp:
13895        (WebCore::NamedNodeMap::item):
13896        * dom/Node.cpp:
13897        (WebCore::Node::nodeValue):
13898        (WebCore::Node::nodeIndex):
13899        * dom/NodeRareData.h:
13900        (WebCore::NodeListsNodeData::create):
13901        * dom/Notation.h:
13902        * dom/ProcessingInstruction.h:
13903        * dom/Range.cpp:
13904        (WebCore::Range::processContents):
13905        * dom/StyledElement.cpp:
13906        (WebCore::toHex):
13907        * dom/XMLTokenizerLibxml2.cpp:
13908        (WebCore::PendingCallbacks::PendingStartElementNSCallback::~PendingStartElementNSCallback):
13909        (WebCore::PendingCallbacks::PendingStartElementNSCallback::call):
13910        (WebCore::PendingCallbacks::):
13911        (WebCore::OffsetBuffer::readOutBytes):
13912        (WebCore::handleElementNamespaces):
13913        (WebCore::handleElementAttributes):
13914        (WebCore::attributesStartElementNsHandler):
13915        * dom/XMLTokenizerQt.cpp:
13916        (WebCore::attributesStartElementNsHandler):
13917        (WebCore::XMLTokenizer::parseStartElement):
13918        * editing/ApplyStyleCommand.cpp:
13919        (WebCore::ApplyStyleCommand::applyInlineStyle):
13920        * editing/DeleteSelectionCommand.cpp:
13921        (WebCore::DeleteSelectionCommand::removeNode):
13922        * editing/Editor.cpp:
13923        (WebCore::Editor::pasteAsPlainText):
13924        * editing/SelectionController.cpp:
13925        (WebCore::SelectionController::directionOfEnclosingBlock):
13926        * editing/SmartReplaceICU.cpp:
13927        (WebCore::addAllCodePoints):
13928        * history/HistoryItem.cpp:
13929        (WebCore::HistoryItem::icon):
13930        (WebCore::HistoryItem::adoptVisitCounts):
13931        * html/CanvasStyle.cpp:
13932        (WebCore::CanvasStyle::applyFillColor):
13933        * html/HTMLAnchorElement.cpp:
13934        (WebCore::HTMLAnchorElement::setActive):
13935        (WebCore::HTMLAnchorElement::isLiveLink):
13936        * html/HTMLAppletElement.h:
13937        * html/HTMLAudioElement.h:
13938        * html/HTMLBRElement.h:
13939        * html/HTMLBaseElement.h:
13940        * html/HTMLBaseFontElement.h:
13941        * html/HTMLDListElement.h:
13942        * html/HTMLDirectoryElement.h:
13943        * html/HTMLFieldSetElement.cpp:
13944        (WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
13945        * html/HTMLFormElement.cpp:
13946        (WebCore::HTMLFormElement::reset):
13947        * html/HTMLHRElement.cpp:
13948        (WebCore::HTMLHRElement::parseMappedAttribute):
13949        * html/HTMLHeadElement.h:
13950        * html/HTMLHtmlElement.h:
13951        * html/HTMLImageElement.h:
13952        (WebCore::HTMLImageElement::setLoadManually):
13953        * html/HTMLInputElement.cpp:
13954        (WebCore::HTMLInputElement::selection):
13955        * html/HTMLIsIndexElement.h:
13956        * html/HTMLMarqueeElement.cpp:
13957        * html/HTMLMediaElement.h:
13958        (WebCore::HTMLMediaElement::):
13959        * html/HTMLMenuElement.h:
13960        * html/HTMLMetaElement.h:
13961        * html/HTMLModElement.h:
13962        * html/HTMLOListElement.h:
13963        * html/HTMLOptionElement.cpp:
13964        (WebCore::HTMLOptionElement::childrenChanged):
13965        * html/HTMLParamElement.h:
13966        * html/HTMLQuoteElement.h:
13967        * html/HTMLStyleElement.h:
13968        * html/HTMLTableCaptionElement.h:
13969        * html/HTMLTableCellElement.h:
13970        * html/HTMLTableColElement.h:
13971        * html/HTMLTableSectionElement.cpp:
13972        (WebCore::HTMLTableSectionElement::deleteRow):
13973        * html/HTMLTitleElement.h:
13974        * html/HTMLTokenizer.cpp:
13975        (WebCore::HTMLTokenizer::parseNonHTMLText):
13976        (WebCore::HTMLTokenizer::parseEntity):
13977        (WebCore::HTMLTokenizer::parseTag):
13978        (WebCore::HTMLTokenizer::write):
13979        * html/HTMLUListElement.h:
13980        * html/HTMLVideoElement.h:
13981        * html/TimeRanges.h:
13982        (WebCore::TimeRanges::Range::Range):
13983        * inspector/InspectorController.cpp:
13984        (WebCore::InspectorController::enableResourceTracking):
13985        (WebCore::InspectorController::disableResourceTracking):
13986        * inspector/InspectorFrontend.cpp:
13987        (WebCore::InspectorFrontend::newInspectorJSONObject):
13988        * page/Console.cpp:
13989        (WebCore::Console::addMessage):
13990        * page/EventHandler.cpp:
13991        (WebCore::EventHandler::handleMousePressEvent):
13992        (WebCore::EventHandler::selectCursor):
13993        (WebCore::EventHandler::defaultKeyboardEventHandler):
13994        * page/Frame.cpp:
13995        (WebCore::Frame::jsDefaultStatusBarText):
13996        * page/android/DragControllerAndroid.cpp:
13997        (WebCore::DragController::dragOperation):
13998        * page/android/EventHandlerAndroid.cpp:
13999        (WebCore::EventHandler::tabsToAllControls):
14000        (WebCore::EventHandler::eventActivatedView):
14001        * page/animation/AnimationController.cpp:
14002        (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
14003        * page/gtk/DragControllerGtk.cpp:
14004        (WebCore::DragController::dragOperation):
14005        * page/qt/DragControllerQt.cpp:
14006        * page/win/DragControllerWin.cpp:
14007        (WebCore::DragController::isCopyKeyDown):
14008        * page/win/FrameWin.h:
14009        * rendering/RenderSlider.cpp:
14010        (WebCore::RenderSlider::mouseEventOffsetToThumb):
14011        * rendering/style/RenderStyle.h:
14012        (WebCore::InheritedFlags::setVerticalAlignLength):
14013        (WebCore::InheritedFlags::setUnicodeBidi):
14014        (WebCore::InheritedFlags::setCursor):
14015        * rendering/style/RenderStyleConstants.h:
14016        (WebCore::):
14017        * rendering/style/SVGRenderStyleDefs.h:
14018        * rendering/style/StyleInheritedData.h:
14019        (WebCore::StyleInheritedData::operator!=):
14020        * storage/DatabaseTask.h:
14021        * svg/GradientAttributes.h:
14022        * svg/LinearGradientAttributes.h:
14023        * svg/PatternAttributes.h:
14024        * svg/RadialGradientAttributes.h:
14025        * svg/SVGAnimatedPathData.h:
14026        * svg/SVGAnimatedPoints.h:
14027        * svg/SVGAnimationElement.h:
14028        * svg/SVGClipPathElement.h:
14029        * svg/SVGElementInstance.h:
14030        * svg/SVGFEBlendElement.cpp:
14031        (WebCore::SVGFEBlendElement::build):
14032        * svg/SVGFEBlendElement.h:
14033        * svg/SVGFEColorMatrixElement.cpp:
14034        (WebCore::SVGFEColorMatrixElement::build):
14035        * svg/SVGFEComponentTransferElement.cpp:
14036        (WebCore::SVGFEComponentTransferElement::build):
14037        * svg/SVGFECompositeElement.cpp:
14038        (WebCore::SVGFECompositeElement::build):
14039        * svg/SVGFEDiffuseLightingElement.cpp:
14040        (WebCore::SVGFEDiffuseLightingElement::build):
14041        * svg/SVGFEDisplacementMapElement.cpp:
14042        (WebCore::SVGFEDisplacementMapElement::build):
14043        * svg/SVGFEDistantLightElement.h:
14044        * svg/SVGFEFloodElement.cpp:
14045        (WebCore::SVGFEFloodElement::build):
14046        * svg/SVGFEFloodElement.h:
14047        * svg/SVGFEFuncAElement.h:
14048        * svg/SVGFEFuncBElement.h:
14049        * svg/SVGFEFuncGElement.h:
14050        * svg/SVGFEFuncRElement.h:
14051        * svg/SVGFEGaussianBlurElement.cpp:
14052        (WebCore::SVGFEGaussianBlurElement::build):
14053        * svg/SVGFEImageElement.cpp:
14054        (WebCore::SVGFEImageElement::build):
14055        * svg/SVGFEMergeElement.cpp:
14056        (WebCore::SVGFEMergeElement::build):
14057        * svg/SVGFEOffsetElement.cpp:
14058        (WebCore::SVGFEOffsetElement::build):
14059        * svg/SVGFEPointLightElement.h:
14060        * svg/SVGFESpecularLightingElement.cpp:
14061        (WebCore::SVGFESpecularLightingElement::build):
14062        * svg/SVGFESpotLightElement.h:
14063        * svg/SVGFETileElement.cpp:
14064        (WebCore::SVGFETileElement::build):
14065        * svg/SVGLineElement.cpp:
14066        (WebCore::SVGLineElement::parseMappedAttribute):
14067        * svg/SVGList.h:
14068        * svg/SVGListTraits.h:
14069        (WebCore::):
14070        * svg/SVGMPathElement.h:
14071        * svg/SVGMetadataElement.h:
14072        * svg/SVGParserUtilities.cpp:
14073        (WebCore::SVGPathParser::parseSVG):
14074        (WebCore::SVGPathParser::calculateArc):
14075        * svg/SVGPathElement.h:
14076        * svg/SVGPathSegClosePath.h:
14077        * svg/SVGSVGElement.h:
14078        * svg/SVGSetElement.h:
14079        * svg/SVGSwitchElement.h:
14080        * svg/SVGTextPathElement.cpp:
14081        (WebCore::SVGTextPathElement::parseMappedAttribute):
14082        * svg/SVGTextPathElement.h:
14083        * svg/SVGTitleElement.h:
14084        * svg/SVGTransformable.cpp:
14085        (WebCore::):
14086        * svg/SVGViewSpec.cpp:
14087        (WebCore::):
14088        * svg/animation/SMILTime.cpp:
14089        (WebCore::operator+):
14090        (WebCore::operator-):
14091        (WebCore::operator*):
14092        * svg/animation/SVGSMILElement.h:
14093        * svg/graphics/SVGResource.cpp:
14094        (WebCore::clientMap):
14095        * wml/WMLPostfieldElement.cpp:
14096        (WebCore::WMLPostfieldElement::value):
14097        * wml/WMLSetvarElement.cpp:
14098        (WebCore::WMLSetvarElement::value):
14099        * workers/WorkerRunLoop.cpp:
14100        * xml/XMLHttpRequest.cpp:
14101        (WebCore::XMLHttpRequest::dropProtection):
14102        * xml/XPathPath.h:
14103
141042009-07-10  Eric Carlson  <eric.carlson@apple.com>
14105
14106        Reviewed by Simon Fraser.
14107
14108        <rdar://problem/7049066>.
14109        Update SnowLeopard media controller layout.
14110
14111        * css/mediaControlsQT.css:
14112            Update for new layout.
14113        * html/HTMLMediaElement.cpp:
14114        (WebCore::HTMLMediaElement::movieLoadType):
14115            Added to replace isStreaming.
14116        * html/HTMLMediaElement.h:
14117            Declare movieLoadType, remove isStreaming.
14118
14119        * rendering/MediaControlElements.cpp:
14120        (WebCore::MediaControlStatusDisplayElement::update):
14121            Use movieLoadType instead of isStreaming.
14122        (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
14123            MediaControlElement is the base class, not HTMLInputElement.
14124        (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded):
14125            Ditto.
14126        (WebCore::MediaControlRewindButtonElement::rendererIsNeeded):
14127            Don't display rewind button for live streams.
14128        (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded):
14129            MediaControlInputElement is the base class, not HTMLInputElement.
14130        * rendering/MediaControlElements.h:
14131
14132        * rendering/RenderThemeMac.h:
14133        * rendering/RenderThemeMac.mm:
14134        (WebCore::getMediaUIPartStateFlags):
14135            New, return wkDrawMediaUIPart flags.
14136        (WebCore::RenderThemeMac::paintMediaFullscreenButton):
14137        (WebCore::RenderThemeMac::paintMediaMuteButton):
14138        (WebCore::RenderThemeMac::paintMediaPlayButton):
14139        (WebCore::RenderThemeMac::paintMediaSeekBackButton):
14140        (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
14141        (WebCore::RenderThemeMac::paintMediaSliderTrack):
14142        (WebCore::RenderThemeMac::paintMediaSliderThumb):
14143        (WebCore::RenderThemeMac::paintMediaRewindButton):
14144        (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
14145        (WebCore::RenderThemeMac::paintMediaControlsBackground):
14146        (WebCore::RenderThemeMac::paintMediaCurrentTime):
14147        (WebCore::RenderThemeMac::paintMediaTimeRemaining):
14148            Use getMediaUIPartStateFlags.
14149
141502009-07-10  Michelangelo De Simone  <micdesim@gmail.com>
14151
14152        Reviewed by Adele Peterson.
14153
14154        https://bugs.webkit.org/show_bug.cgi?id=19562
14155        Added build stuff and stub for the ValidityState class, part of HTML5
14156        section Forms:
14157        http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate
14158
14159        Test: fast/forms/ValidityState-001.html
14160
14161        * DerivedSources.cpp: Fix aimed to include ValidityState files
14162        * DerivedSources.make: ditto
14163        * GNUmakefile.am: ditto
14164        * WebCore.gypi: ditto
14165        * WebCore.pro: ditto
14166        * WebCore.vcproj/WebCore.vcproj: ditto
14167        * WebCore.xcodeproj/project.pbxproj: ditto
14168        * WebCoreSources.bkl: ditto
14169        * html/HTMLButtonElement.idl: "validity" attribute
14170        * html/HTMLFieldSetElement.idl: ditto
14171        * html/HTMLFormControlElement.cpp: object getter
14172        (WebCore::HTMLFormControlElement::validity):
14173        * html/HTMLFormControlElement.h: ditto
14174        * html/HTMLInputElement.idl: "validity" attribute
14175        * html/HTMLSelectElement.idl: ditto
14176        * html/HTMLTextAreaElement.idl: ditto
14177        * html/ValidityState.cpp: Added.
14178        (WebCore::ValidityState::ValidityState):
14179        (WebCore::ValidityState::valid): validation flag
14180        * html/ValidityState.h: Added.
14181        (WebCore::ValidityState::create): creation routine
14182        (WebCore::ValidityState::control): ValidityState's parent getter
14183        (WebCore::ValidityState::valueMissing): validation flag
14184        (WebCore::ValidityState::typeMismatch): ditto
14185        (WebCore::ValidityState::patternMismatch): ditto
14186        (WebCore::ValidityState::tooLong): ditto
14187        (WebCore::ValidityState::rangeUnderflow): ditto
14188        (WebCore::ValidityState::rangeOverflow): ditto
14189        (WebCore::ValidityState::stepMismatch): ditto
14190        (WebCore::ValidityState::customError): ditto
14191        * html/ValidityState.idl: Added.
14192
141932009-07-10  Brady Eidson  <beidson@apple.com>
14194
14195        Style cleanup over my last patch.
14196
14197        * xml/XMLHttpRequest.cpp:
14198        (WebCore::XMLHttpRequest::~XMLHttpRequest):
14199
142002009-07-10  Kevin McCullough  <kmccullough@apple.com>
14201
14202        Reviewed by Geoffrey Garen.
14203
14204        * inspector/JavaScriptCallFrame.cpp:
14205        (WebCore::JavaScriptCallFrame::dynamicGlobalObject):
14206        * inspector/JavaScriptCallFrame.h: New helper method, used below.
14207
14208        * inspector/JavaScriptDebugServer.cpp:
14209        (WebCore::JavaScriptDebugServer::detach): In the special case
14210        where we detach from a window currently executing JavaScript,
14211        manually tear down our representation of the JavaScript
14212        call stack, since we won't get any more callbacks from JavaScriptCore
14213        to automatically tear it down. It's too bad that WebCore is
14214        responsible for this kind of tracking -- in the future, it would
14215        be nice if more of the breakpoint handling was inside of JavaScriptCore.
14216
142172009-07-10  Brady Eidson  <beidson@apple.com>
14218
14219        Reviewed by Antti Koivisto.
14220
14221        https://bugs.webkit.org/show_bug.cgi?id=26496 and <rdar://problem/7046520>
14222        REGRESSION: XHR stream connection blocks iFrame loading and resource downloading
14223
14224        With this test we ended up going over the maximum-connections-per-host limit that CFNetwork expected.
14225        When that happened, the first request that was over the limit ended up in a bizarre state where it
14226        wasn't fully serviced until after the long running XHR was complete.
14227
14228        Loader and Loader::Host work together to try to not exceed the max-connection limit but non-cache
14229        resources - such as XHR - could still end up causing this limit to be exceeded.
14230
14231        This fix adds a workaround specifically for XHR while we hash out a more thorough solution that will
14232        handle this at the resource handle level.
14233
14234        * loader/loader.cpp:
14235        (WebCore::Loader::nonCacheRequestInFlight):
14236        (WebCore::Loader::nonCacheRequestComplete):
14237        (WebCore::Loader::Host::Host):
14238        (WebCore::Loader::Host::nonCacheRequestInFlight):
14239        (WebCore::Loader::Host::nonCacheRequestComplete):
14240        (WebCore::Loader::Host::servePendingRequests): Take nonCacheRequestsInFlight into account.
14241        * loader/loader.h:
14242        (WebCore::Loader::Host::processingResource): Take nonCacheRequestsInFlight into account.
14243
14244        * xml/XMLHttpRequest.cpp:
14245        (WebCore::XMLHttpRequest::XMLHttpRequest):
14246        (WebCore::XMLHttpRequest::~XMLHttpRequest):
14247        (WebCore::XMLHttpRequest::loadRequestAsynchronously): Bump the nonCacheRequestInFlight count.
14248        (WebCore::XMLHttpRequest::didFail): Decrement that count if the Loader was notified.
14249        (WebCore::XMLHttpRequest::didFinishLoading): Ditto.
14250
142512009-07-10  Antti Koivisto  <antti@apple.com>
14252
14253        Try to unbreak non-Mac build.
14254
14255        * page/ChromeClient.h:
14256        (WebCore::ChromeClient::formDidFocus):
14257        (WebCore::ChromeClient::formDidBlur):
14258
142592009-07-10  Beth Dakin  <bdakin@apple.com>
14260
14261        Reviewed by Anders Carlsson.
14262
14263        The rest of the fix for <rdar://problem/7038831> REGRESSION (TOT):
14264        In Mail, a crash occurs at WebCore::Widget::afterMouseDown() after
14265        clicking To Do's close box
14266
14267        Make the Widget* in passMouseDownEventToWidget() a RefPtr.
14268
14269        * page/mac/EventHandlerMac.mm:
14270        (WebCore::EventHandler::passMouseDownEventToWidget):
14271
142722009-07-10  Eric Seidel  <eric@webkit.org>
14273
14274        Reviewed by Adam Barth.
14275
14276        rename getDOMStructure calls w/o JSGlobalObject* to deprecatedGetDOMStructure
14277        https://bugs.webkit.org/show_bug.cgi?id=27157
14278
14279        This is the first step to fixing
14280        https://bugs.webkit.org/show_bug.cgi?id=27088
14281
14282        * WebCore.xcodeproj/project.pbxproj:
14283        * bindings/js/JSDOMBinding.h:
14284        (WebCore::deprecatedGetDOMStructure):
14285        (WebCore::createDOMObjectWrapper):
14286        (WebCore::createDOMNodeWrapper):
14287        * bindings/js/JSNamedNodesCollection.cpp:
14288        (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
14289        * bindings/js/JSRGBColor.cpp:
14290        (WebCore::JSRGBColor::JSRGBColor):
14291        * bridge/objc/objc_runtime.mm:
14292        (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
14293        * bridge/runtime_array.cpp:
14294        (JSC::RuntimeArray::RuntimeArray):
14295        * bridge/runtime_method.cpp:
14296        (JSC::RuntimeMethod::RuntimeMethod):
14297        * bridge/runtime_object.cpp:
14298        (JSC::RuntimeObjectImp::RuntimeObjectImp):
14299
143002009-07-10  Greg Bolsinga  <bolsinga@apple.com>
14301
14302        Reviewed by Antti Koivisto.
14303
14304        Add delegate methods about focus and blur and state change
14305        https://bugs.webkit.org/show_bug.cgi?id=27153
14306
14307        Call the appropriate new ChromeClient methods for focus and blur.
14308
14309        * html/HTMLFormControlElement.cpp:
14310        (WebCore::HTMLFormControlElement::dispatchFocusEvent):
14311        (WebCore::HTMLFormControlElement::dispatchBlurEvent):
14312        * html/HTMLFormControlElement.h:
14313        * loader/EmptyClients.h:
14314        (WebCore::EmptyChromeClient::formDidFocus):
14315        (WebCore::EmptyChromeClient::formDidBlur):
14316        * page/ChromeClient.h:
14317
143182009-07-10  Steve Falkenburg  <sfalken@apple.com>
14319
14320        <rdar://problem/7048741> REGRESSION: Error about missing SwMenuX.dll opening pages with Shockwave
14321
14322        Use altered search path while loading plug-ins. This modifies the DLL search order
14323        to look in the directory containing the plug-in even if a call to SetDllDirectory
14324        was previously made. Use of SetDllDirectory removes the current directory from the search path,
14325        breaking the previous strategy for locating any dependent DLLs of the plug-in.
14326
14327        Reviewed by Jon Honeycutt.
14328
14329        * plugins/win/PluginPackageWin.cpp:
14330        (WebCore::PluginPackage::load): Use LoadLibraryEx with LOAD_WITH_ALTERED_SEARCH_PATH
14331
143322009-07-10  Adam Roben  <aroben@apple.com>
14333
14334        Sort all our Xcode projects
14335
14336        Accomplished using sort-Xcode-project-file.
14337
14338        Requested by Dave Kilzer.
14339
14340        * WebCore.xcodeproj/project.pbxproj:
14341
143422009-07-10  Adam Langley  <agl@google.com>
14343
14344        Reviewed by Darin Fisher.
14345
14346        Chromium Linux: use disabled images for disabled widgets.
14347
14348        https://bugs.webkit.org/show_bug.cgi?id=27106
14349
14350        Previously, checkboxes and radio controls rendered the same even if disabled.
14351        The Chromium side of this change is r20224.
14352
14353        * rendering/RenderThemeChromiumSkia.cpp:
14354        (WebCore::RenderThemeChromiumSkia::paintCheckbox):
14355        (WebCore::RenderThemeChromiumSkia::paintRadio):
14356
143572009-07-10  Simon Fraser  <simon.fraser@apple.com>
14358
14359        Reviewed by John Sullivan.
14360
14361        Fix crash when changing the zoom level in http://iphone.akamai.com/
14362        <rdar://problem/7029077>
14363
14364        RenderLayerBacking's paintIntoLayer() method called updateLayerListsIfNeeded(),
14365        which could potentially destroy that compositing layer, causing a crash.
14366        Prevent this from happening by not doing a compositing update from paintIntoLayer().
14367
14368        The existing updateLayerListsIfNeeded() was renamed to updateCompositingAndLayerListsIfNeeded(),
14369        and still does the compositing update. The new updateLayerListsIfNeeded() does not touch
14370        compositing layers, and is still called from paintIntoLayer().
14371
14372        * rendering/RenderLayer.cpp:
14373        (WebCore::RenderLayer::paintLayer):
14374        (WebCore::RenderLayer::hitTestLayer):
14375        (WebCore::RenderLayer::updateLayerListsIfNeeded):
14376        (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
14377        * rendering/RenderLayer.h:
14378
143792009-07-10  Drew Wilson  <atwilson@google.com>
14380
14381        Reviewed by Darin Adler.
14382
14383        Need to remove UsesManualToJSImplementation() in favor of CustomToJS.
14384        https://bugs.webkit.org/show_bug.cgi?id=27010
14385
14386        Added support for CustomToJS IDL attribute to replace the hard-coded class list in UsesManualToJSImplementation().
14387
14388        This is just a cleanup of existing functionality, so existing LayoutTests adequately cover this patch.
14389
14390        * bindings/scripts/CodeGeneratorJS.pm:
14391        Removed UsesManualToJSImplementation(), added support for CustomToJS attribute.
14392        * css/CSSRule.idl:
14393        * css/CSSValue.idl:
14394        * css/StyleSheet.idl:
14395        * dom/Document.idl:
14396        * dom/Event.idl:
14397        * dom/Node.idl:
14398        * html/ImageData.idl:
14399        * svg/SVGElementInstance.idl:
14400        * svg/SVGPathSeg.idl:
14401        Added CustomToJS attribute to all the above IDL files.
14402
144032009-07-10  Dan Bernstein  <mitz@apple.com>
14404
14405        - fix the build by reverting the ill-advised r45711
14406
14407        * page/FrameView.cpp:
14408        (WebCore::FrameView::scrollToAnchor):
14409
144102009-07-09  Brian Weinstein  <bweinstein@apple.com>
14411
14412        Reviewed by Tim Hatcher.
14413
14414        Updated WebCore.base.exp to add some needed functions.
14415
14416        * WebCore.base.exp:
14417
144182009-07-10  Dan Bernstein  <mitz@apple.com>
14419
14420        - address a review comment from Simon Fraser which I forgot to include
14421          in the last check-in
14422
14423        * page/FrameView.cpp:
14424        (WebCore::FrameView::scrollToAnchor): Pass true to getRect() for
14425        maximum transform friendliness!
14426
144272009-07-10  Dan Bernstein  <mitz@apple.com>
14428
14429        Reviewed by Simon Fraser.
14430
14431        - fix https://bugs.webkit.org/show_bug.cgi?id=27137
14432          <rdar://problem/7043124> REGRESSION (r44311): Reproducible crash due
14433          to infinite recursion into FrameLoader::gotoAnchor() ->
14434          FrameView::layout()
14435
14436        Test: fast/loader/goto-anchor-infinite-layout.html
14437
14438        * loader/FrameLoader.cpp:
14439        (WebCore::FrameLoader::gotoAnchor): Moved the code to update layout,
14440        find the renderer to scroll to, and scroll from here to methods on
14441        FrameView, and replaced it with a call to
14442        FrameView::maintainScrollPositionAtAnchor().
14443        (WebCore::FrameLoader::completed): Call maintainScrollPositionAtAnchor()
14444        instead of setLockedToAnchor().
14445
14446        * page/FrameView.cpp:
14447        (WebCore::FrameView::FrameView): Removed initialization of
14448        m_lockedToAnchor.
14449        (WebCore::FrameView::reset): Reset m_maintainScrollPositionAnchor instead
14450        of m_lockedToAnchor.
14451        (WebCore::FrameView::layout): Removed the code related to scrolling to
14452        the anchor from here, because scrolling can trigger events which
14453        invalidate the layout, and as such, belongs with the post-layout tasks.
14454        (WebCore::FrameView::maintainScrollPositionAtAnchor): Added. When called
14455        with a node scrolls the view to the top of that node and maintains it
14456        scrolled to the top of the node during subsequent layouts, until
14457        this function is called with 0 or other things trigger scrolling.
14458        (WebCore::FrameView::scrollRectIntoViewRecursively): Reset
14459        m_maintainScrollPositionAnchor.
14460        (WebCore::FrameView::setScrollPosition): Ditto.
14461        (WebCore::FrameView::scrollToAnchor): Added. Scrolls to the top of
14462        m_maintainScrollPositionAnchor, if it is set.
14463        (WebCore::FrameView::performPostLayoutTasks): Call scrollToAnchor().
14464        (WebCore::FrameView::setWasScrolledByUser): Reset
14465        m_maintainScrollPositionAnchor.
14466
14467        * page/FrameView.h: Removed lockedToAnchor(), setLockedToAnchor(),
14468        and m_lockedToAnchor. Added maintainScrollPositionAtAnchor() and
14469        m_maintainScrollPositionAnchor.
14470
144712009-07-04  Sriram Yadavalli  <sriram.yadavalli@nokia.com>
14472
14473        Reviewed by Simon Hausmann.
14474
14475        https://bugs.webkit.org/show_bug.cgi?id=26439
14476
14477        QtWebKit fails in loading www.nytimes.com in Windows/Linux
14478
14479        QNetworkReplyHandler is ignoring content associated with 401 error.
14480        This causes the XHR response handling to fail.
14481
14482        Simon: Added also ProxyAuthenticationRequiredError, to handle the same
14483        case when going through proxies, as suggested by Prasanth.
14484
14485        * platform/network/qt/QNetworkReplyHandler.cpp:
14486        (WebCore::QNetworkReplyHandler::finish):
14487
144882009-07-10  Simon Hausmann  <simon.hausmann@nokia.com>
14489
14490        Reviewed by Holger Freyther.
14491
14492        Enable HTML 5 Messaging to fix message channel Qt DRT failures in
14493        fast/events.
14494
14495        * WebCore.pro:
14496
144972009-07-09  Roland Steiner  <rolandsteiner@google.com>
14498
14499        Reviewed by Maciej Stachowiak.
14500
14501        added InlineBox::isLeaf()
14502        firstLeafChild()/lastLeafChild() not virtual and not callable on InlineBox anymore.
14503        firstLeafChild()/lastLeafChild() will no longer return a node outside of the given subtree.
14504        Removed firstLeafChildAfterBox()/lastLeafChildBeforeBox()
14505        Removed potentially quadratic behavior if all nodes before/after a given box are empty InlineFlowBoxes
14506
14507        Currently, these methods are called on RootInlineBox objects only, so above changes should not have
14508        any observable effect (only the removal of the square performance behavior could apply,
14509        but the conditions for that are probably of a rather theoretical nature).
14510
14511        * rendering/InlineBox.cpp:
14512        (WebCore::InlineBox::nextLeafChild):
14513        (WebCore::InlineBox::prevLeafChild):
14514        * rendering/InlineBox.h:
14515        (WebCore::InlineBox::isLeaf):
14516        * rendering/InlineFlowBox.cpp:
14517        (WebCore::InlineFlowBox::firstLeafChild):
14518        (WebCore::InlineFlowBox::lastLeafChild):
14519        * rendering/InlineFlowBox.h:
14520        (WebCore::InlineFlowBox::firstChild):
14521        (WebCore::InlineFlowBox::lastChild):
14522        (WebCore::InlineFlowBox::isLeaf):
14523        * rendering/RootInlineBox.cpp:
14524        (WebCore::RootInlineBox::closestLeafChildForXPos):
14525
145262009-07-09  Roland Steiner  <rolandsteiner@google.com>
14527
14528        Reviewed by Maciej Stachowiak.
14529
14530        Added InlineBox::baselinePosition() and lineHeight() methods
14531        (adapted remaining code accordingly to use those methods)
14532
14533        No change in functionality.
14534
14535        * rendering/InlineBox.h:
14536        (WebCore::InlineBox::baselinePosition):
14537        (WebCore::InlineBox::lineHeight):
14538        * rendering/InlineFlowBox.cpp:
14539        (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
14540        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
14541        (WebCore::InlineFlowBox::placeBoxesVertically):
14542
145432009-07-09  Oliver Hunt  <oliver@apple.com>
14544
14545        Reviewed by Maciej Stachowiak.
14546
14547        Bug 27142 - canPlayType() should return empty string for unsupported content
14548        <https://bugs.webkit.org/show_bug.cgi?id=27142>
14549
14550        Return "" instead of "no" for unsupport media types.
14551
14552        * html/HTMLMediaElement.cpp:
14553        (WebCore::HTMLMediaElement::canPlayType):
14554
145552009-07-09  Roland Steiner  <rolandsteiner@google.com>
14556
14557        Reviewed by Maciej Stachowiak.
14558
14559        Implement the part of HTML5 spec that deals with parsing of <rp> and <rt> tags
14560        in that their end tags are optional if followed by <rp>/<rt>.
14561
14562        Also specify a new accessibility role "annotation" for <rp> and <rt>.
14563
14564        Affected code parts are not enclosed in #IF ENABLE(RUBY), since the parsing
14565        is not affected by whether ruby is rendered properly or not (in fact, it may
14566        be more profound without ruby layouting, since the contents of <rp> are not hidden).
14567
14568        Test: fast/ruby/parse-rp.html
14569
14570        * accessibility/AccessibilityObject.h:
14571        (WebCore::):
14572        * accessibility/AccessibilityRenderObject.cpp:
14573        (WebCore::AccessibilityRenderObject::roleValue):
14574        * html/HTMLElement.cpp:
14575        (WebCore::HTMLElement::endTagRequirement):
14576        (WebCore::HTMLElement::tagPriority):
14577        (WebCore::inlineTagList):
14578        * html/HTMLParser.cpp:
14579        (WebCore::HTMLParser::rpCreateErrorCheck):
14580        (WebCore::HTMLParser::rtCreateErrorCheck):
14581        (WebCore::HTMLParser::getNode):
14582        * html/HTMLParser.h:
14583        * html/HTMLTagNames.in:
14584
145852009-07-09  Dmitry Titov  <dimich@chromium.org>
14586
14587        Not reviewed, fix for previous commit.
14588
14589        The change http://trac.webkit.org/changeset/45695 did not correctly
14590        enabled GTL and QT build flags. This caused layout tests failure.
14591        This is speculative fix for those failures.
14592
14593        * GNUmakefile.am: added ENABLE_CHANNEL_MESSAGING flag.
14594        * WebCore.pro: ditto.
14595        * page/DOMWindow.idl: touched to cause recompile.
14596        * workers/WorkerContext.idl: ditto.
14597
145982009-07-09  Drew Wilson  <atwilson@google.com>
14599
14600        Reviewed by Alexey Proskuryakov.
14601
14602        https://bugs.webkit.org/show_bug.cgi?id=26903
14603
14604        Turned on CHANNEL_MESSAGING by default because the MessageChannel API
14605        is now implemented for Web Workers and is reasonably stable.
14606
14607        Tests: fast/events/message-channel-gc-2.html
14608               fast/events/message-channel-gc-3.html
14609               fast/events/message-channel-gc-4.html
14610               fast/events/message-channel-gc.html
14611               fast/events/message-channel-listener-circular-ownership.html
14612               fast/events/message-port-clone.html
14613               fast/events/message-port-constructor-for-deleted-document.html
14614               fast/events/message-port-deleted-document.html
14615               fast/events/message-port-deleted-frame.html
14616               fast/events/message-port-inactive-document.html
14617               fast/events/message-port-no-wrapper.html
14618               fast/events/message-port.html
14619               fast/workers/worker-cloneport.html
14620               fast/workers/worker-messageport-gc.html
14621               fast/workers/worker-messageport.html
14622
14623        * Configurations/FeatureDefines.xcconfig: Turned on ENABLE_CHANNEL_MESSAGING.
14624        * WebCore/WebCore.vcproj/WebCoreCommon.vsprops: ditto.
14625        * WebCore/WebCore.vcproj/build-generated-files.sh: ditto.
14626        * WebCore/page/DOMWindow.idl: touch the file to cause re-generation of headers.
14627        * WebCore/workers/WorkerContext.idl: ditto.
14628
14629
146302009-07-09  Pierre d'Herbemont  <pdherbemont@apple.com>
14631
14632        Reviewed by Simon Fraser.
14633
14634        Full page zoom breaks remaining and elapsed time display in the <video> controller.
14635        https://bugs.webkit.org/show_bug.cgi?id=27123
14636
14637        We are changing the size of the time remaining and time elapsed field, to
14638        automatically hide them, when the controller is too short.
14639
14640        Because we toggle the size between 0 and the previous value of the
14641        controller, we miss any width change that may occur during full page zoom,
14642        and we fail to restore a correct width.
14643
14644        This change fixes that problem by using a cloned style on which we
14645        set the width to 0, and restoring the previous style when going back to
14646        the normal width.
14647
14648        We take care about properly using the cloned style or the pseudo style,
14649        by overriding styleForElement().
14650
14651        * rendering/MediaControlElements.cpp:
14652        (WebCore::MediaControlElement::styleForElement):
14653        (WebCore::MediaControlElement::attach):
14654        (WebCore::MediaControlElement::updateStyle):
14655        (WebCore::MediaControlInputElement::styleForElement):
14656        (WebCore::MediaControlInputElement::attach):
14657        (WebCore::MediaControlInputElement::updateStyle):
14658        (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
14659        (WebCore::MediaControlTimeDisplayElement::styleForElement):
14660        (WebCore::MediaControlTimeDisplayElement::setVisible):
14661        * rendering/MediaControlElements.h:
14662        * rendering/RenderMedia.cpp:
14663        (WebCore::RenderMedia::shouldShowTimeDisplayControls): Make sure
14664        we take in account the zoom level when deciding if we should hide the
14665        ellapsed and remaining time.
14666
146672009-07-09  Michael Nordman  <michaeln@google.com>
14668
14669        Reviewed by Darin Adler.
14670
14671        Fix chromium build bustage due to Widget being a RefCounted class.
14672        https://bugs.webkit.org/show_bug.cgi?id=27139
14673
14674        * platform/chromium/PopupMenuChromium.cpp:
14675        * platform/chromium/PopupMenuChromium.h:
14676
146772009-07-09  Chris Fleizach  <cfleizach@apple.com>
14678
14679        Reviewed by Darin Adler.
14680
14681        Bug 27130 - Need to implement ARIA role="toolbar"
14682        https://bugs.webkit.org/show_bug.cgi?id=27130
14683
14684        Test: platform/mac/accessibility/aria-toolbar.html
14685
14686        * accessibility/AccessibilityRenderObject.cpp:
14687        (WebCore::RoleEntry::):
14688        * accessibility/mac/AccessibilityObjectWrapper.mm:
14689        (-[AccessibilityObjectWrapper roleDescription]):
14690
146912009-07-09  Dimitri Glazkov  <dglazkov@chromium.org>
14692
14693        Reviewed by Darin Fisher.
14694
14695        [Chromium] Upstream WebCore.gypi, the project file for Chromium build.
14696        https://bugs.webkit.org/show_bug.cgi?id=27135
14697
14698        * WebCore.gypi: Added.
14699
147002009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>
14701
14702        A more robust fix for <rdar://problem/6930280> Reproducible crash at
14703        USA Today photo gallery
14704
14705        Reviewed by Steve Falkenburg.
14706
14707        * plugins/win/PluginMessageThrottlerWin.cpp:
14708        (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
14709        Protect the PluginView from destruction before calling its window proc.
14710
147112009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>
14712
14713        <rdar://problem/6978804> WER #16: Repro Access Violation in
14714        WebCore::PluginView::bindingInstance (1310178023)
14715
14716        Reviewed by Darin Adler.
14717
14718        * plugins/PluginView.cpp:
14719        (WebCore::PluginView::bindingInstance):
14720        Protect the PluginView from destruction before calling NPN_GetValue. If
14721        the renderer for the PluginView was destroyed during the call, and the
14722        PluginView's ref count is now 1, return null.
14723
147242009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>
14725
14726        Speculative fix for <rdar://problem/6991251> WER #13: Crash in
14727        WebKit!WebCore::PluginView::performRequest+203 (1311461169)
14728
14729        Reviewed by Darin Adler.
14730
14731        * plugins/PluginView.cpp:
14732        (WebCore::PluginView::performRequest):
14733        Protect the PluginView from destruction before performing a load.
14734        Removed some trailing whitespace.
14735
147362009-07-09  Jon Honeycutt  <jhoneycutt@apple.com>
14737
14738        Build fix.
14739
14740        * inspector/JavaScriptDebugServer.cpp:
14741        (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
14742
147432009-07-09  Beth Dakin and Jon Honeycutt <bdakin@apple.com>
14744
14745        Reviewed by Dave Hyatt.
14746
14747        Make Widget RefCounted to fix or make fixable:
14748
14749        <rdar://problem/7038831> REGRESSION (TOT): In Mail, a crash occurs
14750        at WebCore::Widget::afterMouseDown() after clicking To Do's close
14751        box
14752        <rdar://problem/6978804> WER #16: Repro Access Violation in
14753        WebCore::PluginView::bindingInstance (1310178023)
14754        -and-
14755        <rdar://problem/6991251> WER #13: Crash in WebKit!
14756        WebCore::PluginView::performRequest+203 (1311461169)
14757
14758        * loader/EmptyClients.h:
14759        (WebCore::EmptyFrameLoaderClient::createPlugin):
14760        Changed to return PassRefPtr
14761        (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget):
14762        Ditto.
14763
14764        * loader/FrameLoader.cpp:
14765        (WebCore::FrameLoader::loadSubframe):
14766        (WebCore::FrameLoader::loadPlugin):
14767        Make the widget variable a RefPtr. Use .get() when passing it to
14768        RenderPart::setWidget().
14769        (WebCore::FrameLoader::createJavaAppletWidget):
14770        Make the widget variable a RefPtr.
14771
14772        * loader/FrameLoader.h:
14773        Changed the return type of createJavaAppletWidget().
14774
14775        * loader/FrameLoaderClient.h:
14776        Change the return types of createPlugin() and
14777        createJavaAppletWidget().
14778
14779        * page/Frame.cpp:
14780        (WebCore::Frame::createView):
14781        No need to call .get() since setWidget() takes a RefPtr.
14782
14783        * page/FrameView.cpp:
14784        (WebCore::FrameView::layoutIfNeededRecursive):
14785        children() now returns a HashSet of RefPtrs.
14786
14787        * page/FrameView.h:
14788        Remove inheritance from RefCounted; we pick this up from ScrollView
14789        through Widget.
14790
14791        * platform/ScrollView.cpp:
14792        (WebCore::ScrollView::addChild):
14793        addChild() now takes a PassRefPtr and m_children now keeps a
14794        HashSet of RefPtrs.
14795
14796        * platform/ScrollView.h:
14797        ScrollView constructor is now protected.
14798        (WebCore::ScrollView::children):
14799        m_children is now a HashSet of RefPtrs.
14800
14801        * platform/Scrollbar.h:
14802        Remove inheritance from RefCounted; we pick this up from ScrollView
14803        through Widget.
14804
14805        * platform/Widget.h:
14806        Inherit from RefCounted. Cleaned up some whitespace. Make m_widget
14807        a RefPtr.
14808
14809        * plugins/PluginView.cpp:
14810        (WebCore::PluginView::create):
14811        Adopt the PluginView when returning it.
14812
14813        * plugins/PluginView.h:
14814        Changed create() to return a PassRefPtr.
14815
14816        * rendering/RenderApplet.cpp:
14817        Receive result in a RefPtr when calling createJavaAppletWidget().
14818
14819        * rendering/RenderPart.cpp:
14820        (WebCore::RenderPart::setWidget):
14821        setWidget() now takes a PassRefPtr. Also removed the manual ref of
14822        FrameViews. This is handled by having m_widget be a RefPtr. Removed
14823        deleteWidget().
14824
14825        * rendering/RenderPart.h:
14826        Removed override of deleteWidget().
14827
14828        * rendering/RenderWidget.cpp:
14829        (WebCore::RenderWidget::destroy):
14830        (WebCore::RenderWidget::setWidget):
14831        (WebCore::RenderWidget::paint):
14832        (WebCore::RenderWidget::setOverlapTestResult):
14833        (WebCore::RenderWidget::updateWidgetPosition):
14834        Use .get().
14835        (WebCore::RenderWidget::clearWidget):
14836        Don't call deleteWidget(). It was removed.
14837
14838        * rendering/RenderWidget.h:
14839        Removed deleteWidget(). Made m_widget a RefPtr.
14840        (WebCore::RenderWidget::widget):
14841        Use .get().
14842
148432009-07-09  Chris Fleizach  <cfleizach@apple.com>
14844
14845        Reviewed by Darin Adler.
14846
14847        Bug 27129 - AX: possible assertion for a non-native image in accessibility
14848        https://bugs.webkit.org/show_bug.cgi?id=27129
14849
14850        It's possible for an image that is not really an image to assert, because its renderer
14851        is turned into a RenderImage.
14852
14853        Test: accessibility/non-native-image-crash.html
14854
14855        * accessibility/AccessibilityRenderObject.cpp:
14856        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
14857        (WebCore::RoleEntry::):
14858        * accessibility/mac/AccessibilityObjectWrapper.mm:
14859        (-[AccessibilityObjectWrapper roleDescription]):
14860
148612009-07-09  Simon Fraser  <simon.fraser@apple.com>
14862
14863        Build fix for SnowLeopard.
14864
14865        Avoid using the contentsTransform methods if not on Leopard, because
14866        we don't need to call them.
14867
14868        * platform/graphics/mac/GraphicsLayerCA.mm:
14869        (WebCore::GraphicsLayerCA::updateContentsTransform):
14870        * platform/graphics/mac/WebLayer.mm:
14871        (-[WebLayer setNeedsDisplayInRect:]):
14872        * platform/graphics/mac/WebTiledLayer.mm:
14873        (-[WebTiledLayer setNeedsDisplayInRect:]):
14874
148752009-07-09  Simon Fraser  <simon.fraser@apple.com>
14876
14877        Reviewed by Dave Hyatt
14878
14879        Improve the appearance of text in compositing layers when -[CALayer geometryFlipped]
14880        is not available.
14881        <rdar://problem/6120614>
14882
14883        * platform/graphics/GraphicsLayer.h:
14884        (WebCore::GraphicsLayer::setContentsOrientation):
14885        (WebCore::GraphicsLayer::contentsOrientation):
14886        * platform/graphics/GraphicsLayer.cpp:
14887        (WebCore::GraphicsLayer::GraphicsLayer):
14888        Add a m_contentsOrientation member and getter/setter to control whether
14889        the contents of this layer have a transform applied to them before display.
14890
14891        * platform/graphics/mac/GraphicsLayerCA.h:
14892        New method to return the default contents orientation.
14893
14894        * platform/graphics/mac/GraphicsLayerCA.mm:
14895        (WebCore::flipTransform):
14896        Convenience method to return a transform with a Y flip.
14897
14898        (WebCore::GraphicsLayerCA::GraphicsLayerCA):
14899        (WebCore::GraphicsLayerCA::setSize):
14900        After the size changes we have to update the contentsTransform.
14901
14902        (WebCore::GraphicsLayerCA::setGeometryOrientation):
14903        (WebCore::GraphicsLayerCA::geometryOrientation):
14904        If -setGeometryFlipped: is not available, use a children transform.
14905
14906        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
14907        Tiled layers have issues with flipped contentsTransform, so just use
14908        top-down drawing for them. Call updateContentsTransform() to set the
14909        new contents transform after swapping layers.
14910
14911        (WebCore::GraphicsLayerCA::defaultContentsOrientation):
14912        Use bottom-up when -geometryFlipped is not available, otherwise top-down.
14913
14914        (WebCore::GraphicsLayerCA::updateContentsTransform):
14915        Set the layer contents transform based on contentsOrientation().
14916
14917        (WebCore::GraphicsLayerCA::setContentsLayer):
14918        We have to manually flip contents layers if we're not using -geometryFlipped.
14919
14920        * platform/graphics/mac/WebLayer.h:
14921        * platform/graphics/mac/WebLayer.mm:
14922        Do early return if layerContents is nil. Flip the CTM if the layer has
14923        bottom-up coordinates, so that CG sees a CTM with no flip.
14924        Do the CGContextRestoreGState() after drawing the debug indicator.
14925
14926        (-[WebLayer setNeedsDisplayInRect:]):
14927        * platform/graphics/mac/WebTiledLayer.mm:
14928        (-[WebTiledLayer setNeedsDisplayInRect:]):
14929        Need to map the dirty rect through the contentsTransform.
14930
149312009-07-09  Alexey Proskuryakov  <ap@webkit.org>
14932
14933        Reviewed by Geoff Garen.
14934
14935        <rdar://problem/6921671> Visit counter shouldn't be incremented by redirects.
14936
14937        Can't test this functionality with layout tests.
14938
14939        * WebCore.base.exp:
14940        * history/HistoryItem.cpp:
14941        (WebCore::HistoryItem::recordVisitAtTime):
14942        (WebCore::HistoryItem::visited):
14943        * history/HistoryItem.h:
14944        Only increase visit count if explicitly told to. Now, some visits change last access time,
14945        but do not increase visit count.
14946
149472009-07-09  Eric Carlson  <eric.carlson@apple.com>
14948
14949        Reviewed by Simon Fraser.
14950
14951        <rdar://problem/7046098> MediaControllerThemeQT requires QuickTime 7.6.3
14952
14953        Require QuickTime 7.6.3 or higher to enable the new media controller UI.
14954
14955        * rendering/RenderThemeMac.mm:
14956        (WebCore::mediaControllerTheme):
14957
149582009-07-09  Sam Weinig  <sam@webkit.org>
14959
14960        Reviewed by Beth Dakin.
14961
14962        Remove incorrect comment.
14963
14964        * page/MouseEventWithHitTestResults.h:
14965
149662009-07-09  Mads Ager  <ager@chromium.org>
14967
14968        Reviewed by Dimitri Glazkov.
14969
14970        Update the V8 bindings codegenerator to use the RGBColor::create
14971        method to handle refcounts for RGBColor objects correctly.
14972
14973       * bindings/scripts/CodeGeneratorV8.pm: Use RGBColor::create to create RGBColor objects.
14974
149752009-07-09  Eric Carlson  <eric.carlson@apple.com>
14976
14977        Reviewed by Adele Peterson.
14978
14979        Crash in RenderMedia::styleDidChange.
14980        <rdar://problem/7044313> CrashTracer: quicklook crashed generating thumbnail for page with
14981        media element (RenderMedia::styleDidChange + 115)
14982
14983        Speculative fix for crash in styleDidChange. Null check controller elements before tell
14984        them to update style.
14985
14986        * rendering/RenderMedia.cpp:
14987        (WebCore::RenderMedia::styleDidChange):
14988
149892009-07-09  Adam Barth  <abarth@webkit.org>
14990
14991        Reviewed by Dimitri Glazkov.
14992
14993        [V8] Move V8DOMWrapper to its own file
14994        https://bugs.webkit.org/show_bug.cgi?id=27121
14995
14996        * bindings/v8/V8DOMWrapper.cpp: Added.
14997        (WebCore::GetToStringName):
14998        (WebCore::ConstructorToString):
14999        (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
15000        (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
15001        (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
15002        (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
15003        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
15004        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
15005        (WebCore::V8DOMWrapper::getTemplate):
15006        (WebCore::V8DOMWrapper::convertToV8Object):
15007        (WebCore::V8DOMWrapper::setHiddenWindowReference):
15008        (WebCore::V8DOMWrapper::domWrapperType):
15009        (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
15010        (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
15011        (WebCore::V8DOMWrapper::lookupDOMWrapper):
15012        (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
15013        (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
15014        (WebCore::V8DOMWrapper::instantiateV8Object):
15015        (WebCore::V8DOMWrapper::setDOMWrapper):
15016        (WebCore::V8DOMWrapper::maybeDOMWrapper):
15017        (WebCore::V8DOMWrapper::isDOMEventWrapper):
15018        (WebCore::V8DOMWrapper::isWrapperOfType):
15019        (WebCore::V8DOMWrapper::htmlElementType):
15020        (WebCore::V8DOMWrapper::svgElementType):
15021        (WebCore::V8DOMWrapper::convertEventToV8Object):
15022        (WebCore::):
15023        (WebCore::V8DOMWrapper::convertNodeToV8Object):
15024        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
15025        (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
15026        (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
15027        (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
15028        (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
15029        (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
15030        (WebCore::V8DOMWrapper::convertWindowToV8Object):
15031        * bindings/v8/V8DOMWrapper.h: Added.
15032        (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
15033        (WebCore::V8DOMWrapper::wrapCPointer):
15034        (WebCore::V8DOMWrapper::extractCPointer):
15035        (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
15036        (WebCore::V8DOMWrapper::convertToV8Object):
15037        (WebCore::V8DOMWrapper::convertToNativeObject):
15038        (WebCore::V8DOMWrapper::convertToNativeEvent):
15039        (WebCore::V8DOMWrapper::extractCPointerImpl):
15040        (WebCore::V8DOMWrapper::instantiateV8Object):
15041        * bindings/v8/V8Proxy.cpp:
15042        * bindings/v8/V8Proxy.h:
15043
150442009-07-09  David Hyatt  <hyatt@apple.com>
15045
15046        Reviewed by Adele Peterson.
15047
15048        Crash in setFocusedFrame.
15049        <rdar://7032869> Crashing in setFocusedFrame on blogger.com.
15050
15051        Speculative fix for crasher in setFocusedFrame.  Make sure to ref both frames and fire
15052        the events only after the local member has been updated.
15053
15054        * page/FocusController.cpp:
15055        (WebCore::FocusController::setFocusedFrame):
15056
150572009-07-09  Eric Carlson  <eric.carlson@apple.com>
15058
15059        Reviewed by Adele Peterson.
15060
15061        Possible crashes when mouse clicks not dispatched because range input destroyed while
15062        thumb is being dragged (e.g. scrub to end of movie)
15063        <rdar://problem/7037494>
15064        https://bugs.webkit.org/show_bug.cgi?id=27101
15065
15066        Some shadow nodes "capture" all mouse events from mouseDown to mouseUp so they continue to
15067        get mouse events even when the mouse is moved outside of the node. This is done by putting
15068        EventHandler into a mode where it sends all mouse events to the node regardless of the
15069        actual mouse position. The mode is set on mouseDown and cleared on mouseUp but if the
15070        node is deleted while in this mode, the mouseUp is never sent and EventHandler continues
15071        to try to send events to the deleted node. This sometimes results in a crash, and sometimes
15072        in a page that doesn't respond to click events.
15073
15074        Tests: fast/forms/search-delete-while-cancel-button-clicked.html
15075               fast/forms/slider-delete-while-dragging-thumb.html
15076               media/audio-delete-while-slider-thumb-clicked.html
15077               media/audio-delete-while-step-button-clicked.html
15078
15079        * rendering/MediaControlElements.cpp:
15080        (WebCore::MediaControlSeekButtonElement::detach):
15081            New, call setCapturingMouseEventsNode if capturing mouse events.
15082        * rendering/MediaControlElements.h:
15083            Declare detach().
15084
15085        * rendering/RenderSlider.cpp:
15086        (WebCore::SliderThumbElement::detach):
15087            New, call setCapturingMouseEventsNode if capturing mouse events.
15088
15089        * rendering/TextControlInnerElements.cpp:
15090        (WebCore::SearchFieldCancelButtonElement::detach):
15091            New, call setCapturingMouseEventsNode if capturing mouse events.
15092        * rendering/TextControlInnerElements.h:
15093            Declare detach().
15094
150952009-07-09  Yury Semikhatsky  <yurys@chromium.org>
15096
15097        Reviewed by Dimitri Glazkov.
15098
15099        Enter the Frame's context before creating new objects in setContextDebugId.
15100
15101        https://bugs.webkit.org/show_bug.cgi?id=27112
15102
15103        * bindings/v8/V8Proxy.cpp:
15104        (WebCore::V8Proxy::setContextDebugId):
15105
151062009-07-09  Simon Hausmann  <hausmann@webkit.org>
15107
15108        Fix the Qt build.
15109
15110        * WebCore.pro: Add new storage impl files to the build.
15111
151122009-07-08  Adam Barth  <abarth@webkit.org>
15113
15114        Rubber stamped by Eric Seidel.
15115
15116        [V8] Move DOM wrapper functions in V8Proxy to V8DOMWrapper
15117        https://bugs.webkit.org/show_bug.cgi?id=27107
15118
15119        This patch is just renaming.  Code motion will occur next.
15120
15121        * bindings/scripts/CodeGeneratorV8.pm:
15122        * bindings/v8/ScriptController.cpp:
15123        (WebCore::ScriptController::processingUserGesture):
15124        (WebCore::createScriptObject):
15125        (WebCore::ScriptController::createScriptObjectForPluginElement):
15126        * bindings/v8/ScriptObject.cpp:
15127        (WebCore::ScriptGlobalObject::set):
15128        * bindings/v8/ScriptObjectQuarantine.cpp:
15129        (WebCore::getQuarantinedScriptObject):
15130        * bindings/v8/V8AbstractEventListener.cpp:
15131        (WebCore::V8AbstractEventListener::handleEvent):
15132        (WebCore::V8AbstractEventListener::getReceiverObject):
15133        * bindings/v8/V8Collection.cpp:
15134        (WebCore::toOptionsCollectionSetter):
15135        * bindings/v8/V8Collection.h:
15136        (WebCore::getV8Object):
15137        (WebCore::getNamedPropertyOfCollection):
15138        (WebCore::nodeCollectionNamedPropertyGetter):
15139        (WebCore::getIndexedPropertyOfCollection):
15140        (WebCore::nodeCollectionIndexedPropertyGetter):
15141        (WebCore::nodeCollectionIndexedPropertyEnumerator):
15142        (WebCore::collectionIndexedPropertyEnumerator):
15143        (WebCore::collectionStringOrNullIndexedPropertyGetter):
15144        * bindings/v8/V8DOMMap.cpp:
15145        (WebCore::DOMData::handleWeakObject):
15146        (WebCore::DOMData::removeObjectsFromWrapperMap):
15147        * bindings/v8/V8GCController.cpp:
15148        (WebCore::enumerateDOMObjectMap):
15149        (WebCore::DOMObjectVisitor::visitDOMWrapper):
15150        (WebCore::GCPrologueVisitor::visitDOMWrapper):
15151        (WebCore::GCEpilogueVisitor::visitDOMWrapper):
15152        * bindings/v8/V8Helpers.cpp:
15153        (WebCore::wrapNPObject):
15154        * bindings/v8/V8NodeFilterCondition.cpp:
15155        (WebCore::V8NodeFilterCondition::acceptNode):
15156        * bindings/v8/V8Proxy.cpp:
15157        (WebCore::V8DOMWrapper::convertSVGElementInstanceToV8Object):
15158        (WebCore::V8DOMWrapper::convertSVGObjectWithContextToV8Object):
15159        (WebCore::V8DOMWrapper::domObjectHasJSWrapper):
15160        (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
15161        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
15162        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
15163        (WebCore::V8Proxy::evaluateInNewContext):
15164        (WebCore::V8Proxy::getConstructor):
15165        (WebCore::V8DOMWrapper::getTemplate):
15166        (WebCore::V8Proxy::retrieveWindow):
15167        (WebCore::V8Proxy::updateDocumentWrapperCache):
15168        (WebCore::V8Proxy::clearForNavigation):
15169        (WebCore::V8Proxy::installDOMWindow):
15170        (WebCore::setDOMExceptionHelper):
15171        (WebCore::V8DOMWrapper::convertToV8Object):
15172        (WebCore::V8DOMWrapper::setHiddenWindowReference):
15173        (WebCore::V8DOMWrapper::domWrapperType):
15174        (WebCore::V8DOMWrapper::convertToNativeObjectImpl):
15175        (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl):
15176        (WebCore::V8DOMWrapper::lookupDOMWrapper):
15177        (WebCore::V8DOMWrapper::convertDOMWrapperToNodeHelper):
15178        (WebCore::V8DOMWrapper::wrapNativeNodeFilter):
15179        (WebCore::V8DOMWrapper::instantiateV8Object):
15180        (WebCore::V8DOMWrapper::setDOMWrapper):
15181        (WebCore::V8DOMWrapper::maybeDOMWrapper):
15182        (WebCore::V8DOMWrapper::isDOMEventWrapper):
15183        (WebCore::V8DOMWrapper::isWrapperOfType):
15184        (WebCore::V8DOMWrapper::htmlElementType):
15185        (WebCore::V8DOMWrapper::svgElementType):
15186        (WebCore::V8DOMWrapper::convertEventToV8Object):
15187        (WebCore::V8DOMWrapper::convertNodeToV8Object):
15188        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
15189        (WebCore::V8DOMWrapper::convertEventListenerToV8Object):
15190        (WebCore::V8DOMWrapper::convertDOMImplementationToV8Object):
15191        (WebCore::V8DOMWrapper::convertStyleSheetToV8Object):
15192        (WebCore::V8DOMWrapper::convertCSSValueToV8Object):
15193        (WebCore::V8DOMWrapper::convertCSSRuleToV8Object):
15194        (WebCore::V8DOMWrapper::convertWindowToV8Object):
15195        (WebCore::V8Proxy::bindJsObjectToWindow):
15196        * bindings/v8/V8Proxy.h:
15197        (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
15198        (WebCore::V8DOMWrapper::wrapCPointer):
15199        (WebCore::V8DOMWrapper::extractCPointer):
15200        (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
15201        (WebCore::V8DOMWrapper::convertToV8Object):
15202        (WebCore::V8DOMWrapper::convertToNativeObject):
15203        (WebCore::V8DOMWrapper::convertToNativeEvent):
15204        (WebCore::V8DOMWrapper::extractCPointerImpl):
15205        (WebCore::V8DOMWrapper::instantiateV8Object):
15206        (WebCore::V8Proxy::constructDOMObject):
15207        (WebCore::toV8):
15208        * bindings/v8/V8SVGPODTypeWrapper.h:
15209        (WebCore::V8SVGPODTypeUtil::toSVGPODType):
15210        * bindings/v8/WorkerContextExecutionProxy.cpp:
15211        (WebCore::WorkerContextExecutionProxy::retrieve):
15212        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
15213        (WebCore::WorkerContextExecutionProxy::GetConstructor):
15214        (WebCore::WorkerContextExecutionProxy::ToV8Object):
15215        (WebCore::WorkerContextExecutionProxy::EventToV8Object):
15216        (WebCore::WorkerContextExecutionProxy::toV8):
15217        * bindings/v8/custom/V8AttrCustom.cpp:
15218        (WebCore::ACCESSOR_SETTER):
15219        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
15220        (WebCore::NAMED_PROPERTY_GETTER):
15221        (WebCore::NAMED_PROPERTY_SETTER):
15222        * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
15223        (WebCore::INDEXED_PROPERTY_GETTER):
15224        (WebCore::INDEXED_PROPERTY_SETTER):
15225        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
15226        (WebCore::toV8):
15227        (WebCore::toCanvasStyle):
15228        (WebCore::ACCESSOR_GETTER):
15229        (WebCore::ACCESSOR_SETTER):
15230        (WebCore::CALLBACK_FUNC_DECL):
15231        * bindings/v8/custom/V8ClientRectListCustom.cpp:
15232        (WebCore::INDEXED_PROPERTY_GETTER):
15233        * bindings/v8/custom/V8ClipboardCustom.cpp:
15234        (WebCore::ACCESSOR_GETTER):
15235        (WebCore::CALLBACK_FUNC_DECL):
15236        * bindings/v8/custom/V8CustomBinding.cpp:
15237        (WebCore::ACCESSOR_GETTER):
15238        (WebCore::INDEXED_ACCESS_CHECK):
15239        (WebCore::NAMED_ACCESS_CHECK):
15240        (WebCore::V8Custom::GetTargetFrame):
15241        * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
15242        (WebCore::V8CustomSQLStatementCallback::handleEvent):
15243        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
15244        (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
15245        * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
15246        (WebCore::V8CustomSQLTransactionCallback::handleEvent):
15247        * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
15248        (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
15249        * bindings/v8/custom/V8DOMWindowCustom.cpp:
15250        (WebCore::V8Custom::WindowSetTimeoutImpl):
15251        (WebCore::ACCESSOR_SETTER):
15252        (WebCore::CALLBACK_FUNC_DECL):
15253        (WebCore::ACCESSOR_GETTER):
15254        (WebCore::INDEXED_PROPERTY_GETTER):
15255        (WebCore::NAMED_PROPERTY_GETTER):
15256        (WebCore::V8Custom::ClearTimeoutImpl):
15257        (WebCore::NAMED_ACCESS_CHECK):
15258        (WebCore::INDEXED_ACCESS_CHECK):
15259        * bindings/v8/custom/V8DatabaseCustom.cpp:
15260        (WebCore::CALLBACK_FUNC_DECL):
15261        * bindings/v8/custom/V8DocumentCustom.cpp:
15262        (WebCore::CALLBACK_FUNC_DECL):
15263        * bindings/v8/custom/V8DocumentLocationCustom.cpp:
15264        (WebCore::ACCESSOR_GETTER):
15265        (WebCore::ACCESSOR_SETTER):
15266        * bindings/v8/custom/V8ElementCustom.cpp:
15267        (WebCore::CALLBACK_FUNC_DECL):
15268        (WebCore::ACCESSOR_SETTER):
15269        (WebCore::ACCESSOR_GETTER):
15270        * bindings/v8/custom/V8EventCustom.cpp:
15271        (WebCore::ACCESSOR_SETTER):
15272        (WebCore::ACCESSOR_GETTER):
15273        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
15274        (WebCore::CALLBACK_FUNC_DECL):
15275        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
15276        (WebCore::CALLBACK_FUNC_DECL):
15277        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
15278        (WebCore::getNamedItems):
15279        (WebCore::getItem):
15280        (WebCore::NAMED_PROPERTY_GETTER):
15281        (WebCore::CALLBACK_FUNC_DECL):
15282        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
15283        (WebCore::NAMED_PROPERTY_GETTER):
15284        (WebCore::CALLBACK_FUNC_DECL):
15285        (WebCore::ACCESSOR_GETTER):
15286        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
15287        (WebCore::INDEXED_PROPERTY_GETTER):
15288        (WebCore::NAMED_PROPERTY_GETTER):
15289        (WebCore::CALLBACK_FUNC_DECL):
15290        * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
15291        (WebCore::ACCESSOR_SETTER):
15292        * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
15293        (WebCore::NAMED_PROPERTY_GETTER):
15294        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
15295        (WebCore::ACCESSOR_SETTER):
15296        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
15297        (WebCore::CALLBACK_FUNC_DECL):
15298        * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
15299        (WebCore::ACCESSOR_GETTER):
15300        (WebCore::ACCESSOR_SETTER):
15301        (WebCore::CALLBACK_FUNC_DECL):
15302        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
15303        (WebCore::CALLBACK_FUNC_DECL):
15304        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
15305        (WebCore::CALLBACK_FUNC_DECL):
15306        (WebCore::ACCESSOR_GETTER):
15307        (WebCore::ACCESSOR_SETTER):
15308        (WebCore::INDEXED_PROPERTY_GETTER):
15309        (WebCore::INDEXED_PROPERTY_SETTER):
15310        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
15311        (WebCore::NAMED_PROPERTY_GETTER):
15312        (WebCore::NAMED_PROPERTY_SETTER):
15313        (WebCore::INDEXED_PROPERTY_GETTER):
15314        (WebCore::INDEXED_PROPERTY_SETTER):
15315        * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
15316        (WebCore::NAMED_PROPERTY_GETTER):
15317        (WebCore::INDEXED_PROPERTY_SETTER):
15318        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
15319        (WebCore::CALLBACK_FUNC_DECL):
15320        (WebCore::removeElement):
15321        * bindings/v8/custom/V8InspectorControllerCustom.cpp:
15322        (WebCore::CALLBACK_FUNC_DECL):
15323        * bindings/v8/custom/V8LocationCustom.cpp:
15324        (WebCore::ACCESSOR_SETTER):
15325        (WebCore::ACCESSOR_GETTER):
15326        (WebCore::CALLBACK_FUNC_DECL):
15327        (WebCore::INDEXED_ACCESS_CHECK):
15328        (WebCore::NAMED_ACCESS_CHECK):
15329        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
15330        (WebCore::CALLBACK_FUNC_DECL):
15331        * bindings/v8/custom/V8MessagePortCustom.cpp:
15332        (WebCore::ACCESSOR_GETTER):
15333        (WebCore::ACCESSOR_SETTER):
15334        (WebCore::CALLBACK_FUNC_DECL):
15335        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
15336        (WebCore::INDEXED_PROPERTY_GETTER):
15337        (WebCore::NAMED_PROPERTY_GETTER):
15338        * bindings/v8/custom/V8NavigatorCustom.cpp:
15339        (WebCore::ACCESSOR_GETTER):
15340        * bindings/v8/custom/V8NodeCustom.cpp:
15341        (WebCore::CALLBACK_FUNC_DECL):
15342        * bindings/v8/custom/V8NodeIteratorCustom.cpp:
15343        (WebCore::toV8):
15344        (WebCore::CALLBACK_FUNC_DECL):
15345        * bindings/v8/custom/V8NodeListCustom.cpp:
15346        (WebCore::NAMED_PROPERTY_GETTER):
15347        * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
15348        (WebCore::CALLBACK_FUNC_DECL):
15349        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
15350        (WebCore::CALLBACK_FUNC_DECL):
15351        * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
15352        (WebCore::CALLBACK_FUNC_DECL):
15353        * bindings/v8/custom/V8SVGLengthCustom.cpp:
15354        (WebCore::ACCESSOR_GETTER):
15355        (WebCore::CALLBACK_FUNC_DECL):
15356        * bindings/v8/custom/V8SVGMatrixCustom.cpp:
15357        (WebCore::CALLBACK_FUNC_DECL):
15358        * bindings/v8/custom/V8StorageCustom.cpp:
15359        (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
15360        (WebCore::storageGetter):
15361        (WebCore::storageSetter):
15362        (WebCore::storageDeleter):
15363        * bindings/v8/custom/V8StyleSheetListCustom.cpp:
15364        (WebCore::NAMED_PROPERTY_GETTER):
15365        * bindings/v8/custom/V8TreeWalkerCustom.cpp:
15366        (WebCore::toV8):
15367        (WebCore::CALLBACK_FUNC_DECL):
15368        * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
15369        (WebCore::CALLBACK_FUNC_DECL):
15370        * bindings/v8/custom/V8WorkerContextCustom.cpp:
15371        (WebCore::ACCESSOR_GETTER):
15372        (WebCore::ACCESSOR_SETTER):
15373        (WebCore::SetTimeoutOrInterval):
15374        (WebCore::CALLBACK_FUNC_DECL):
15375        * bindings/v8/custom/V8WorkerCustom.cpp:
15376        (WebCore::CALLBACK_FUNC_DECL):
15377        (WebCore::ACCESSOR_GETTER):
15378        (WebCore::ACCESSOR_SETTER):
15379        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
15380        (WebCore::CALLBACK_FUNC_DECL):
15381        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
15382        (WebCore::ACCESSOR_GETTER):
15383        (WebCore::ACCESSOR_SETTER):
15384        (WebCore::CALLBACK_FUNC_DECL):
15385        * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
15386        (WebCore::ACCESSOR_GETTER):
15387        (WebCore::ACCESSOR_SETTER):
15388        (WebCore::CALLBACK_FUNC_DECL):
15389        * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
15390        (WebCore::CALLBACK_FUNC_DECL):
15391
153922009-07-08  Pierre d'Herbemont  <pdherbemont@apple.com>
15393
15394        Reviewed by Simon Fraser.
15395
15396        Make sure we can click outside the slider thumb and start dragging.
15397        https://bugs.webkit.org/show_bug.cgi?id=26229
15398
15399        Previously we were assuming that if the thumb hasn't been clicked, we
15400        wouldn't issue any value change upon dragging.
15401
15402        We need to handle the two different cases:
15403        - Clicked in the thumb, we need to make sure the cursor is always pointing
15404        the same slider thumb point.
15405        - Clicked outside, the cursor should always be pointing to the center of
15406        the thumb.
15407
15408        For simplicity, we don't remember the original point of the mouse down,
15409        but a vector between that point and the thumb.
15410
15411        * rendering/RenderSlider.cpp:
15412        (WebCore::SliderThumbElement::SliderThumbElement):
15413        (WebCore::SliderThumbElement::defaultEventHandler):
15414        (WebCore::RenderSlider::mouseEventVectorToThumb): Utility function.
15415        * rendering/RenderSlider.h:
15416
154172009-07-08  Pierre d'Herbemont  <pdherbemont@apple.com>
15418
15419        Reviewed by Simon Fraser.
15420
15421        https://bugs.webkit.org/show_bug.cgi?id=27100
15422        <rdar://problem/7042621>
15423
15424        Don't display "loading" in the <video> controller when
15425        there is no src specified.
15426
15427        * rendering/MediaControlElements.cpp:
15428        (WebCore::MediaControlStatusDisplayElement::update): The only
15429        way to find out if we have an element is currentSrc(). networkState()
15430        will always report LOADING according to the spec.
15431
154322009-07-08  Adam Barth  <abarth@webkit.org>
15433
15434        Reviewed by Eric Seidel.
15435
15436        [V8] Move V8GCController functions to their own file
15437        https://bugs.webkit.org/show_bug.cgi?id=27102
15438
15439        * bindings/v8/V8GCController.cpp: Added.
15440        * bindings/v8/V8GCController.h: Added.
15441        * bindings/v8/V8Proxy.cpp:
15442        * bindings/v8/V8Proxy.h:
15443
154442009-07-08  Jeremy Orlow  <jorlow@chromium.org>
15445
15446        Reviewed by Darin Fisher.
15447
15448        Split StorageArea and StorageNamespace into an interface and implementation.
15449        https://bugs.webkit.org/show_bug.cgi?id=27072
15450
15451        I need to split StorageNamespace and StorageArea into an interface and
15452        implementation.  In a later patch, I'll implement a proxy interface
15453        that'll run inside the Chromium renderer process.
15454
15455        Additionally, fix the alphabetical ordering of files I recently added
15456        in the project files.
15457
15458        This is a continuation of other refactoring work:
15459        https://bugs.webkit.org/show_bug.cgi?id=25376
15460
15461        * GNUmakefile.am:
15462        * WebCore.vcproj/WebCore.vcproj:
15463        * WebCore.xcodeproj/project.pbxproj:
15464        * WebCoreSources.bkl:
15465        * storage/StorageArea.cpp:
15466        (WebCore::StorageArea::create):
15467        * storage/StorageArea.h:
15468        (WebCore::StorageArea::~StorageArea):
15469        * storage/StorageAreaImpl.cpp: Copied from WebCore/storage/StorageArea.cpp.
15470        (WebCore::StorageAreaImpl::create):
15471        (WebCore::StorageAreaImpl::~StorageAreaImpl):
15472        (WebCore::StorageAreaImpl::StorageAreaImpl):
15473        (WebCore::StorageAreaImpl::copy):
15474        (WebCore::StorageAreaImpl::length):
15475        (WebCore::StorageAreaImpl::key):
15476        (WebCore::StorageAreaImpl::getItem):
15477        (WebCore::StorageAreaImpl::setItem):
15478        (WebCore::StorageAreaImpl::removeItem):
15479        (WebCore::StorageAreaImpl::clear):
15480        (WebCore::StorageAreaImpl::contains):
15481        (WebCore::StorageAreaImpl::importItem):
15482        (WebCore::StorageAreaImpl::securityOrigin):
15483        (WebCore::StorageAreaImpl::close):
15484        (WebCore::StorageAreaImpl::blockUntilImportComplete):
15485        (WebCore::StorageAreaImpl::dispatchStorageEvent):
15486        * storage/StorageAreaImpl.h: Copied from WebCore/storage/StorageArea.h.
15487        * storage/StorageAreaSync.h:
15488        * storage/StorageNamespace.cpp:
15489        (WebCore::StorageNamespace::localStorageNamespace):
15490        (WebCore::StorageNamespace::sessionStorageNamespace):
15491        * storage/StorageNamespace.h:
15492        (WebCore::StorageNamespace::~StorageNamespace):
15493        * storage/StorageNamespaceImpl.cpp: Copied from WebCore/storage/StorageNamespace.cpp.
15494        (WebCore::StorageNamespaceImpl::localStorageNamespace):
15495        (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
15496        (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
15497        (WebCore::StorageNamespaceImpl::~StorageNamespaceImpl):
15498        (WebCore::StorageNamespaceImpl::copy):
15499        (WebCore::StorageNamespaceImpl::storageArea):
15500        (WebCore::StorageNamespaceImpl::close):
15501        * storage/StorageNamespaceImpl.h: Copied from WebCore/storage/StorageNamespace.h.
15502
155032009-07-08  Adam Barth  <abarth@webkit.org>
15504
15505        Reviewed by Eric Seidel.
15506
15507        [V8] Move garbage collector related functions from V8Proxy to V8GCController
15508        https://bugs.webkit.org/show_bug.cgi?id=26967
15509
15510        This patch just moves the functions around in V8Proxy.  We'll actually
15511        move them to a separate file in another patch.
15512
15513        * bindings/v8/NPV8Object.cpp:
15514        (freeV8NPObject):
15515        * bindings/v8/ScheduledAction.cpp:
15516        (WebCore::ScheduledAction::ScheduledAction):
15517        (WebCore::ScheduledAction::~ScheduledAction):
15518        * bindings/v8/ScriptController.cpp:
15519        (WebCore::ScriptController::gcProtectJSWrapper):
15520        (WebCore::ScriptController::gcUnprotectJSWrapper):
15521        * bindings/v8/ScriptInstance.cpp:
15522        (WebCore::V8ScriptInstance::clear):
15523        (WebCore::V8ScriptInstance::set):
15524        * bindings/v8/ScriptValue.h:
15525        (WebCore::ScriptValue::ScriptValue):
15526        (WebCore::ScriptValue::operator=):
15527        (WebCore::ScriptValue::clear):
15528        * bindings/v8/V8AbstractEventListener.cpp:
15529        (WebCore::V8AbstractEventListener::disposeListenerObject):
15530        * bindings/v8/V8LazyEventListener.cpp:
15531        (WebCore::V8LazyEventListener::~V8LazyEventListener):
15532        (WebCore::V8LazyEventListener::getListenerFunction):
15533        (WebCore::V8LazyEventListener::getWrappedListenerFunction):
15534        * bindings/v8/V8NodeFilterCondition.cpp:
15535        (WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
15536        (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition):
15537        * bindings/v8/V8Proxy.cpp:
15538        (WebCore::V8GCController::registerGlobalHandle):
15539        (WebCore::V8GCController::unregisterGlobalHandle):
15540        (WebCore::V8GCController::gcProtect):
15541        (WebCore::V8GCController::gcUnprotect):
15542        (WebCore::V8Proxy::destroyGlobal):
15543        (WebCore::V8Proxy::updateDocumentWrapper):
15544        (WebCore::V8Proxy::clearDocumentWrapper):
15545        (WebCore::V8Proxy::disposeContextHandles):
15546        (WebCore::V8Proxy::initContextIfNeeded):
15547        * bindings/v8/V8Proxy.h:
15548        (WebCore::):
15549        (WebCore::GlobalHandleInfo::GlobalHandleInfo):
15550        * bindings/v8/custom/V8CustomEventListener.cpp:
15551        (WebCore::V8EventListener::V8EventListener):
15552
155532009-07-08  Daniel Bates  <dbates@intudata.com>
15554
15555        Reviewed by Adam Barth.
15556
15557        https://bugs.webkit.org/show_bug.cgi?id=26918
15558
15559        Prevents injection of HTML Base tag.
15560
15561        Tests: http/tests/security/xssAuditor/base-href-control-char.html
15562               http/tests/security/xssAuditor/base-href-null-char.html
15563               http/tests/security/xssAuditor/base-href-safe.html
15564               http/tests/security/xssAuditor/base-href-safe2.html
15565               http/tests/security/xssAuditor/base-href-scheme-relative.html
15566               http/tests/security/xssAuditor/base-href.html
15567
15568        * html/HTMLBaseElement.cpp:
15569        (WebCore::HTMLBaseElement::parseMappedAttribute):
15570        (WebCore::HTMLBaseElement::process): Modified to call XSSAuditor::canSetBaseElementURL
15571        to determine if it is safe to use base element URL.
15572        * html/HTMLBaseElement.h: Added field m_hrefAttrValue to store unparsed base element URL.
15573        * page/XSSAuditor.cpp:
15574        (WebCore::XSSAuditor::canSetBaseElementURL):
15575        * page/XSSAuditor.h:
15576
155772009-07-08  Nate Chapin  <japhet@chromium.org>
15578
15579        Reviewed by Dimitri Glazkov.
15580
15581        Upstream V8 npruntime bindings.
15582
15583        https://bugs.webkit.org/show_bug.cgi?id=27094
15584
15585        * bindings/v8/npruntime.cpp: Upstreamed from src.chromium.org.
15586        (StringKey::operator==):
15587        (StringKey::StringKeyHash::hash):
15588        (StringKey::StringKeyHash::equal):
15589        (StringKeyHashTraits::constructDeletedValue):
15590        (StringKeyHashTraits::isDeletedValue):
15591        (getStringIdentifierMap):
15592        (getIntIdentifierMap):
15593        * bindings/v8/npruntime_impl.h: Upstreamed from src.chromium.org.
15594        * bindings/v8/npruntime_internal.h: Upstreamed from src.chromium.org.
15595        * bindings/v8/npruntime_priv.h: Upstreamed from src.chromium.org.
15596
155972009-07-08  Dumitru Daniliuc  <dumi@chromium.org>
15598
15599        Reviewed by Darin Fisher.
15600
15601        Extending the PlatformFileHandle definition from PLATFORM(WIN) to
15602        PLATFORM(WIN_OS)
15603
15604        https://bugs.webkit.org/show_bug.cgi?id=27013
15605
15606        * platform/FileSystem.h:
15607
156082009-07-08  Daniel Bates  <dbates@intudata.com>
15609
15610        Reviewed by Adam Barth.
15611
15612        https://bugs.webkit.org/show_bug.cgi?id=27071
15613
15614        Resolves issue when HTTP parameters contain null- and  non-null-control- characters.
15615
15616        Tests: http/tests/security/xssAuditor/anchor-url-dom-write-location-inline-event-null-char.html
15617               http/tests/security/xssAuditor/embed-tag-control-char.html
15618               http/tests/security/xssAuditor/embed-tag-null-char.html
15619               http/tests/security/xssAuditor/embed-tag.html
15620               http/tests/security/xssAuditor/link-onclick-control-char.html
15621               http/tests/security/xssAuditor/link-onclick-null-char.html
15622               http/tests/security/xssAuditor/object-embed-tag-control-char.html
15623               http/tests/security/xssAuditor/object-embed-tag-null-char.html
15624               http/tests/security/xssAuditor/object-embed-tag.html
15625               http/tests/security/xssAuditor/object-tag.html
15626               http/tests/security/xssAuditor/script-tag-post-control-char.html
15627               http/tests/security/xssAuditor/script-tag-post-null-char.html
15628               http/tests/security/xssAuditor/script-tag-with-source-control-char.html
15629               http/tests/security/xssAuditor/script-tag-with-source-null-char.html
15630
15631        * page/XSSAuditor.cpp:
15632        (WebCore::isNonNullControlCharacter): Called by XSSAuditor::decodeURL.
15633        (WebCore::XSSAuditor::canEvaluate):
15634        (WebCore::XSSAuditor::canCreateInlineEventListener):
15635        (WebCore::XSSAuditor::canLoadObject):
15636        (WebCore::XSSAuditor::decodeURL): Added parameters matchNullCharacters,
15637        and matchNonNullControlCharacters.
15638        (WebCore::XSSAuditor::findInRequest): Added parameters matchNullCharacters,
15639        and matchNonNullControlCharacters.
15640        * page/XSSAuditor.h:
15641
156422009-07-08  Marc-Antoine Ruel  <maruel@chromium.org>
15643
15644        Reviewed by Dimitri Glazkov.
15645
15646        Add DerivesSourcesAllInOne.cpp to help with release windows compilation.
15647        https://bugs.webkit.org/show_bug.cgi?id=27093
15648
15649        This is specific for v8, no change in behavior.
15650
15651        * bindings/v8/DerivedSourcesAllInOne.cpp: Added.
15652
156532009-07-08  Pierre d'Herbemont  <pdherbemont@apple.com>
15654
15655        Reviewed by Simon Fraser.
15656
15657        https://bugs.webkit.org/show_bug.cgi?id=27086
15658
15659        Make sure the Media controller doesn't fade in for no reason.
15660        This is happening because a update() call to the controller
15661        panel may reset the opacity to 1.0, given that it reloads the
15662        style.
15663
15664        We also add a different fade in and fade out time to soften
15665        the fade out effect.
15666
15667        No test case because this depends on how the movie is loaded.
15668
15669        * rendering/RenderMedia.cpp:
15670        (WebCore::RenderMedia::RenderMedia):
15671        (WebCore::RenderMedia::updateControls):
15672        (WebCore::RenderMedia::updateControlVisibility): Simplify
15673        , and make sure we stop the timer if there is no animation
15674        to do.
15675        (WebCore::RenderMedia::opacityAnimationTimerFired):
15676        * rendering/RenderMedia.h:
15677
156782009-07-08  David Kilzer  <ddkilzer@apple.com>
15679
15680        Bug 27081: Wrap RunLoopTimerCF.cpp in PLATFORM(MAC) && HAVE(RUNLOOP_TIMER)
15681
15682        <https://bugs.webkit.org/show_bug.cgi?id=27081>
15683
15684        Reviewed by Timothy Hatcher.
15685
15686        * platform/cf/RunLoopTimerCF.cpp: This code is only used on
15687        Mac OS X when HAVE(RUNLOOP_TIMER) is enabled, so wrap the code
15688        in that macro as well.
15689
156902009-07-08  Greg Bolsinga  <bolsinga@apple.com>
15691
15692        Reviewed by Darin Adler.
15693
15694        Add -[WebView _isProcessingUserGesture]
15695        https://bugs.webkit.org/show_bug.cgi?id=27084
15696
15697        Rename FrameLoader::userGestureHint() to FrameLoader::isProcessingUserGesture()
15698        for clarity.
15699
15700        * WebCore.base.exp: Add WebCore::FrameLoader::isProcessingUserGesture()
15701        * html/HTMLMediaElement.cpp:
15702        (WebCore::HTMLMediaElement::processingUserGesture):
15703        * loader/FrameLoader.cpp:
15704        (WebCore::FrameLoader::requestFrame):
15705        (WebCore::FrameLoader::isProcessingUserGesture):
15706        * loader/FrameLoader.h:
15707
157082009-07-08  Alexey Proskuryakov  <ap@webkit.org>
15709
15710        Reviewed (an earlier version) by Geoff Garen.
15711
15712        https://bugs.webkit.org/show_bug.cgi?id=27090
15713        Remove lockBackForwardList argument from HTMLFormElement::submit()
15714
15715        No change in behavior, so no tests.
15716
15717        * bindings/js/JSHTMLFormElementCustom.cpp:
15718        (WebCore::JSHTMLFormElement::submit):
15719        * html/HTMLFormElement.cpp:
15720        (WebCore::HTMLFormElement::submit):
15721        * html/HTMLFormElement.h:
15722        * loader/FrameLoader.cpp:
15723        (WebCore::FrameLoader::submitForm):
15724        (WebCore::FrameLoader::scheduleFormSubmission):
15725        * loader/FrameLoader.h:
15726        Don't pass lockBackForwardList around when it's known to be false.
15727
157282009-07-08  Marc-Antoine Ruel  <maruel@chromium.org>
15729
15730        Reviewed by Adam Barth.
15731
15732        Fix V8 idl codegen to use unique constant names
15733        <https://bugs.webkit.org/show_bug.cgi?id=27089>
15734
15735        Embed the interface name in the global constant names so coagulating all
15736        the .cc files into one compile unit works with V8 bindings.
15737
15738        Nothing added; Still compiles and pass tests.
15739
15740        * bindings/scripts/CodeGeneratorV8.pm:
15741
157422009-07-08  Brent Fulgham  <bfulgham@webkit.org>
15743
15744        Build fix: Add missing #includes for Windows (cURL) build.
15745        The <winsock2.h> and <windows.h> headers were not being
15746        included in Windows cURL builds.
15747
15748        * platform/network/ResourceHandleInternal.h:
15749        * platform/network/curl/ResourceHandleManager.h:
15750
157512009-07-08  Shinichiro Hamaji  <hamaji@chromium.org>
15752
15753        Reviewed by David Kilzer.
15754
15755        WebKit needs a style linting tool
15756        https://bugs.webkit.org/show_bug.cgi?id=25884
15757
15758        Fix bunch of style issues in WebCore/rendering.
15759        This patch is created to demonstrate cpplint.py.
15760
15761        No testcase because it's just a style fixes.
15762
15763        * rendering/AutoTableLayout.cpp:
15764        (WebCore::AutoTableLayout::recalcColumn):
15765        (WebCore::AutoTableLayout::layout):
15766        * rendering/InlineFlowBox.cpp:
15767        (WebCore::InlineFlowBox::placeEllipsisBox):
15768        * rendering/InlineTextBox.cpp:
15769        (WebCore::InlineTextBox::paintTextMatchMarker):
15770        * rendering/MediaControlElements.cpp:
15771        (WebCore::MediaControlTimelineElement::defaultEventHandler):
15772        * rendering/MediaControlElements.h:
15773        * rendering/RenderArena.cpp:
15774        * rendering/RenderBlock.cpp:
15775        (WebCore::RenderBlock::startDelayUpdateScrollInfo):
15776        (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
15777        (WebCore::RenderBlock::updateScrollInfoAfterLayout):
15778        (WebCore::RenderBlock::positionNewFloats):
15779        (WebCore::RenderBlock::newLine):
15780        (WebCore::RenderBlock::floatBottom):
15781        (WebCore::RenderBlock::leftBottom):
15782        (WebCore::RenderBlock::rightBottom):
15783        * rendering/RenderBox.cpp:
15784        (WebCore::RenderBox::calcReplacedWidthUsing):
15785        * rendering/RenderFieldset.cpp:
15786        (WebCore::RenderFieldset::layoutLegend):
15787        * rendering/RenderFlexibleBox.cpp:
15788        (WebCore::FlexBoxIterator::FlexBoxIterator):
15789        (WebCore::FlexBoxIterator::reset):
15790        (WebCore::FlexBoxIterator::first):
15791        (WebCore::FlexBoxIterator::next):
15792        (WebCore::RenderFlexibleBox::layoutVerticalBox):
15793        * rendering/RenderFrameSet.cpp:
15794        (WebCore::borderStartEdgeColor):
15795        * rendering/RenderFrameSet.h:
15796        * rendering/RenderImage.cpp:
15797        * rendering/RenderLayer.cpp:
15798        (WebCore::RenderLayer::updateVisibilityStatus):
15799        (WebCore::RenderLayer::calculateClipRects):
15800        (WebCore::RenderLayer::calculateRects):
15801        * rendering/RenderListBox.cpp:
15802        (WebCore::RenderListBox::panScroll):
15803        * rendering/RenderMarquee.cpp:
15804        (WebCore::RenderMarquee::updateMarqueeStyle):
15805        * rendering/RenderMedia.cpp:
15806        (WebCore::RenderMedia::updateControls):
15807        * rendering/RenderObject.cpp:
15808        (WebCore::RenderObject::drawLineForBoxSide):
15809        (WebCore::RenderObject::localCaretRect):
15810        * rendering/RenderSVGImage.cpp:
15811        (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
15812        * rendering/RenderSlider.h:
15813        * rendering/RenderTable.cpp:
15814        (WebCore::RenderTable::outerBorderBottom):
15815        * rendering/RenderTableCol.h:
15816        * rendering/RenderTextControlSingleLine.cpp:
15817        (WebCore::RenderTextControlSingleLine::itemIsSeparator):
15818        * rendering/RenderThemeChromiumSkia.cpp:
15819        (WebCore::RenderThemeChromiumSkia::supportsHover):
15820        * rendering/RenderThemeChromiumWin.cpp:
15821        (WebCore::RenderThemeChromiumWin::supportsFocusRing):
15822        * rendering/SVGCharacterLayoutInfo.cpp:
15823        (WebCore::SVGCharacterLayoutInfo::addStackContent):
15824        * rendering/SVGCharacterLayoutInfo.h:
15825        * rendering/TextControlInnerElements.h:
15826        * rendering/bidi.cpp:
15827        (WebCore::RenderBlock::computeHorizontalPositionsForLine):
15828
158292009-07-07  Oliver Hunt  <oliver@apple.com>
15830
15831        Reviewed by Maciej Stachowiak.
15832
15833        Reduce complexity of lifetime management in DynamicNodeList caches
15834        <https://bugs.webkit.org/show_bug.cgi?id=27068>
15835
15836        Switch the Cache object used by DynamicNodeList into a normal
15837        refcounted object rather than having a weird flag controlled
15838        refcounting system, where positive refcount did not automatically
15839        imply the cache object would actually still be live.
15840
15841        * dom/DynamicNodeList.cpp:
15842        (WebCore::DynamicNodeList::DynamicNodeList):
15843        (WebCore::DynamicNodeList::~DynamicNodeList):
15844        (WebCore::DynamicNodeList::Caches::Caches):
15845        (WebCore::DynamicNodeList::Caches::create):
15846        * dom/DynamicNodeList.h:
15847        * dom/Node.cpp:
15848        (WebCore::Node::childNodes):
15849        (WebCore::Node::getElementsByTagNameNS):
15850        (WebCore::Node::getElementsByName):
15851        (WebCore::Node::getElementsByClassName):
15852        (WebCore::NodeListsNodeData::invalidateCaches):
15853        (WebCore::NodeListsNodeData::isEmpty):
15854        * dom/NodeRareData.h:
15855        (WebCore::NodeListsNodeData::NodeListsNodeData):
15856
158572009-07-07  Simon Fraser  <simon.fraser@apple.com>
15858
15859        Reviewed by Dan Bernstein.
15860
15861        -webkit-perspective should be a Length
15862        https://bugs.webkit.org/show_bug.cgi?id=27066
15863
15864        -webkit-perspective should not take a magic valueless number, but should
15865        be a normal Length value which responds to zooming. Treat valueless numbers
15866        as pixels for backward compatibility.
15867
15868        Test: transforms/3d/general/perspective-units.html
15869
15870        * css/CSSParser.cpp:
15871        (WebCore::CSSParser::parseValue):
15872        * css/CSSStyleSelector.cpp:
15873        (WebCore::CSSStyleSelector::applyProperty):
15874
158752009-07-07  Pierre d'Herbemont  <pdherbemont@apple.com>
15876
15877        Reviewed by Simon Fraser.
15878
15879        https://bugs.webkit.org/show_bug.cgi?id=27047
15880
15881        We need to make sure that when we reattach, we also reattach
15882        the children in every MediaControlElement. Else we may end up
15883        having no remaining or elapsed time.
15884
15885        We have to handle that, because we are using a special shadow
15886        tree in the DOM, and that we are ourselves handling
15887        attaching/detaching the renderer.
15888
15889        The strategy here is to try to implement ::attach(), and try
15890        to reuse as much code as we can from the super class, including
15891        children attachement.
15892
15893        Test: media/controls-after-reload.html
15894
15895        * rendering/MediaControlElements.cpp:
15896        (WebCore::MediaControlElement::styleForElement): Code factoring.
15897        (WebCore::MediaControlElement::rendererIsNeeded): Code factoring.
15898        (WebCore::MediaControlElement::attach): Implement attach
15899        and call super class so that children are also attached.
15900        (WebCore::MediaControlElement::updateStyle): Use attach()
15901        (WebCore::MediaControlInputElement::styleForElement): Code factoring.
15902        (WebCore::MediaControlInputElement::rendererIsNeeded): Code factoring.
15903        (WebCore::MediaControlInputElement::attach): See above.
15904        (WebCore::MediaControlInputElement::updateStyle): Use attach()
15905        * rendering/MediaControlElements.h:
15906        * rendering/RenderMedia.cpp:
15907        (WebCore::RenderMedia::updateControls): Directly run attach() on
15908        the m_panel, which is a root node for our shadow tree.
15909
159102009-07-07  Simon Fraser  <simon.fraser@apple.com>
15911
15912        Reviewed by Dan Bernstein.
15913
15914        Repaint issue after layer drops out of composited mode.
15915        <https://bugs.webkit.org/show_bug.cgi?id=27022>
15916
15917        RenderLayers cache repaint rects in the form of m_repaintRect and m_outlineBox,
15918        and expect these to stay valid from one style change to the next. These rects
15919        are relative to the repaint container, so if a layer stops being composited,
15920        we need to recompute them.
15921
15922        Test: compositing/repaint/layer-repaint-rects.html
15923
15924        * rendering/RenderLayer.cpp:
15925        (WebCore::RenderLayer::computeRepaintRects):
15926        * rendering/RenderLayer.h:
15927        * rendering/RenderLayerCompositor.cpp:
15928        (WebCore::RenderLayerCompositor::updateBacking):
15929
159302009-07-07  Dan Bernstein  <mitz@apple.com>
15931
15932        Reviewed by Dave Hyatt and Darin Adler.
15933
15934        - fix https://bugs.webkit.org/show_bug.cgi?id=26963
15935          <rdar://problem/7030998> Reproducible crash at
15936          FontCache::getFontData() when a custom font is used in a pseudo-style
15937
15938        Test: fast/css/pseudo-cache-stale.html
15939
15940        * dom/Element.cpp:
15941        (WebCore::Element::pseudoStyleCacheIsInvalid): Added. Given the old
15942        style and the new style, goes over cached pseudo-styles in the old
15943        style and re-resolves the same style types off the new style. If any of
15944        the new pseudo-styles is different from the currently cached
15945        corresponding style, returns true. Otherwise, returns false.
15946        (WebCore::Element::recalcStyle): Validate the pseudo-style cache before
15947        deciding to keep the existing style.
15948        * dom/Element.h:
15949        * rendering/RenderObject.cpp:
15950        (WebCore::RenderObject::uncachedFirstLineStyle): Added this version that
15951        returns an uncached first-line style based off the given style.
15952        (WebCore::RenderObject::getUncachedPseudoStyle): Added the 'ownStyle'
15953        parameter.
15954        * rendering/RenderObject.h:
15955        * rendering/style/RenderStyle.cpp:
15956        (WebCore::RenderStyle::getPseudoStyleCache): Added. Returns the cached
15957        pseudo-styles in the passed-in vector.
15958        * rendering/style/RenderStyle.h:
15959
159602009-07-07  Dan Bernstein  <mitz@apple.com>
15961
15962        Reviewed by Simon Fraser.
15963
15964        - fix https://bugs.webkit.org/show_bug.cgi?id=27042
15965          <rdar://problem/7010981> Incomplete painting of newly created floats
15966
15967        Tests: fast/repaint/float-in-new-block-with-layout-delta.html
15968               fast/repaint/float-new-in-block.html
15969
15970        * rendering/RenderBlock.cpp:
15971        (WebCore::RenderBlock::layoutBlockChildren): If the child has never been
15972        laid out before, paint its overhanging floats in addition to itself.
15973        * rendering/RenderBlock.h:
15974        (WebCore::RenderBlock::FloatWithRect::FloatWithRect): Added and
15975        initialized a boolean everHadLayout member.
15976        * rendering/bidi.cpp:
15977        (WebCore::RenderBlock::layoutInlineChildren): Paint floats that have
15978        never been laid out before and did not move from (0, 0).
15979
159802009-07-07  Brady Eidson  <beidson@apple.com>
15981
15982        Contributions from both Darin Adler and Brady Eidson.
15983        Reviewed by Darin Adler.
15984
15985        <rdar://problem/7024039> REGRESSION (r42158): Back-forward navigation does not work correctly on nytimes.com
15986
15987        In r42158 we lost some exclusions to making back/forward items for subframe navigations when a main frame
15988        navigation was still in progress.
15989
15990        This patch makes things even better than it used to be by:
15991        - Locking back/forward history at the time the navigation is scheduled, not after the load has committed.
15992        - Locking back/forward history if *any* ancestor frame is still loading instead of just the main frame.
15993
15994        Test: fast/loader/subframe-navigate-during-main-frame-load.html
15995
15996        * loader/FrameLoader.cpp:
15997        (WebCore::FrameLoader::submitForm): Move out the history locking logic into a standalone function so it can be
15998          used from multiple sites.
15999        (WebCore::mustLockBackForwardList): Returns true if any ancestor frame is still loading.
16000        (WebCore::FrameLoader::scheduleLocationChange): Respect mustLockBackForwardList() in addition to the passed in
16001          lockBackForwardList flag.
16002        (WebCore::FrameLoader::scheduleFormSubmission): Ditto.
16003
160042009-07-07  Nate Chapin  <japhet@chromium.org>
16005
16006        Reviewed by Darin Fisher.
16007
16008        Upstream DOMObjectsInclude.h from src.chromium.org.
16009
16010        https://bugs.webkit.org/show_bug.cgi?id=27035
16011
16012        * bindings/v8/DOMObjectsInclude.h: Added.
16013
160142009-07-07  Nate Chapin  <japhet@chromium.org>
16015
16016        Reviewed by David Levin.
16017
16018        Relanding r45559, which was rolled back at r45574.
16019
16020        https://bugs.webkit.org/show_bug.cgi?id=26857
16021
16022        * bindings/scripts/CodeGeneratorV8.pm: Updated a function name in auto-generated bindings.
16023        * bindings/v8/V8Binding.cpp: Moved from src.chromium.org.
16024        * bindings/v8/V8Binding.h: Contents moved from src.chromium.org.
16025        * bindings/v8/V8LazyEventListener.cpp:
16026        (WebCore::V8LazyEventListener::getListenerFunction):
16027        * bindings/v8/V8Proxy.cpp:
16028        (WebCore::handleConsoleMessage):
16029        (WebCore::V8Proxy::compileScript):
16030        (WebCore::V8Proxy::sourceName):
16031        * bindings/v8/WorkerContextExecutionProxy.cpp:
16032        (WebCore::handleConsoleMessage):
16033        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
16034        (WebCore::NAMED_PROPERTY_SETTER):
16035        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
16036        (WebCore::CALLBACK_FUNC_DECL):
16037        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
16038        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
16039        * bindings/v8/custom/V8DOMWindowCustom.cpp:
16040        (WebCore::CALLBACK_FUNC_DECL):
16041        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
16042        (WebCore::CALLBACK_FUNC_DECL):
16043        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
16044        (WebCore::ACCESSOR_SETTER):
16045        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
16046        (WebCore::CALLBACK_FUNC_DECL):
16047        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
16048        (WebCore::removeElement):
16049        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
16050        (WebCore::CALLBACK_FUNC_DECL):
16051        * bindings/v8/custom/V8WorkerContextCustom.cpp:
16052        (WebCore::SetTimeoutOrInterval):
16053        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
16054        (WebCore::CALLBACK_FUNC_DECL):
16055
160562009-07-07  Gregory Hughes  <gfhughesVO+webkit@gmail.com>
16057
16058        Reviewed by Darin Adler.
16059
16060        AX: Some webpages do not send AXLoadComplete
16061        https://bugs.webkit.org/show_bug.cgi?id=26995
16062
16063        When sending the AXLayoutComplete notification it is possible
16064        that the AXObjectCache was cleared, resulting in no valid
16065        object to send the notification to. This fix ensures that an
16066        AX object is created and cached if one does not already exist.
16067
16068        Not able to add a test because notifications get sent after the layout test is completed.
16069
16070        * dom/Document.cpp:
16071        (WebCore::Document::implicitClose):
16072
160732009-07-06  Pierre d'Herbemont  <pdherbemont@apple.com>
16074
16075        Reviewed by Simon Fraser.
16076
16077        https://bugs.webkit.org/show_bug.cgi?id=27015
16078
16079        Make sure that the CSS properties letter-spacing, word-spacing,
16080        line-height, text-transform, text-indent, text-shadow,
16081        text-decoration and color do not affect the media element controls,
16082        that display text.
16083
16084        Controls that display text are only present in when the theme
16085        MediaControllerThemeQT is being used.
16086
16087        Test: media/controls-styling.html
16088
16089        * css/mediaControlsQT.css:
16090        * rendering/MediaControlElements.cpp:
16091        (WebCore::MediaControlElement::updateStyle): Special case for
16092        text-decoration. text-decoration can't be overriden from CSS, because
16093        text-decoration is additive for historical reasons.
16094
160952009-07-07  Albert Wong  <ajwong@chromium.org>
16096
16097        Not reviewed, Chromium build fix.
16098
16099        Add in missing header + fix syntax issue that crept into last patch.
16100        https://bugs.webkit.org/show_bug.cgi?id=27027
16101
16102        * rendering/RenderThemeChromiumMac.mm:
16103        (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
16104
161052009-07-07  Simon Fraser  <simon.fraser@apple.com>
16106
16107        Reviewed by Dave Hyatt.
16108
16109        Make use of geometry information to decide which layers become composited.
16110
16111        <rdar://problem/7011947>
16112        <https://bugs.webkit.org/show_bug.cgi?id=27021>
16113
16114        In addition to looking at painting order, also, optionally, take layer
16115        overlap into account when deciding which RenderLayers need to be composited.
16116
16117        No testcase because DRT doesn't dump which layers are composited.
16118
16119        * page/FrameView.h:
16120        * page/FrameView.cpp:
16121        (WebCore::FrameView::updateCompositingLayers):
16122        Removed the unused CompositingUpdate parameter, and just do an early return
16123        when there is no view.
16124
16125        * rendering/RenderLayer.h:
16126        * rendering/RenderLayer.cpp:
16127        (WebCore::RenderLayer::rendererContentChanged):
16128        (WebCore::RenderLayer::dirtyZOrderLists):
16129        (WebCore::RenderLayer::dirtyNormalFlowList):
16130        (WebCore::RenderLayer::styleChanged):
16131        (WebCore::RenderLayer::mustOverlapCompositedLayers):
16132        (WebCore::RenderLayer::setMustOverlapCompositedLayers):
16133        Change "overlay" to "overlap" for consistency with the use of "overlap"
16134        elsewhere.
16135
16136        * rendering/RenderLayerBacking.cpp:
16137        (WebCore::RenderLayerBacking::updateAfterLayout):
16138        compositingLayersNeedUpdate() renamed to compositingLayersNeedRebuild().
16139
16140        (WebCore::RenderLayerBacking::startAnimation):
16141        (WebCore::RenderLayerBacking::startTransition):
16142        Tell the compositor that we started an accelerated animation or transition.
16143
16144        * rendering/RenderLayerCompositor.h:
16145        (WebCore::RenderLayerCompositor::compositingLayersNeedRebuild):
16146        Renamed, since it's explicitly about changes in hierarchy now.
16147
16148        (WebCore::RenderLayerCompositor::setCompositingConsultsOverlap):
16149        (WebCore::RenderLayerCompositor::compositingConsultsOverlap):
16150        New getter and setter for whether compositing should take overlap into account.
16151
16152        * rendering/RenderLayerCompositor.cpp:
16153        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
16154        Add m_compositingConsultsOverlap, re-order some member variables.
16155
16156        (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingEnabledFlag):
16157        Whitespace cleanup and method rename.
16158
16159        (WebCore::RenderLayerCompositor::setCompositingLayersNeedRebuild):
16160        Method and variable renaming.
16161
16162        (WebCore::RenderLayerCompositor::updateCompositingLayers):
16163        Now we have to run through the layer hierarchy every time if looking
16164        at overlap, because changes in layout can now alter compositing behavior.
16165        We minimize work by tracking whether we actually need to change the layer
16166        hierarchy via needLayerRebuild.
16167
16168        (WebCore::RenderLayerCompositor::updateBacking):
16169        3D transforms turn off overlap mode.
16170
16171        (WebCore::RenderLayerCompositor::layerWasAdded):
16172        (WebCore::RenderLayerCompositor::layerWillBeRemoved):
16173        Method rename.
16174
16175        (WebCore::RenderLayerCompositor::addToOverlapMap):
16176        (WebCore::RenderLayerCompositor::overlapsCompositedLayers):
16177        Utility methods to add a layer to the overlapMap (computing the absolute
16178        bounding box only if we haven't already done so), and testing the map
16179        entries.
16180
16181        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
16182        If a layer would composite only because it comes after other compositing
16183        layers in the painting order, then consult the overlap map to determine whether
16184        it overlaps, and thus actually needs to composite.
16185
16186        Add layers to the map when they must be composited.
16187
16188        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
16189        Only do re-parenting work if the updateHierarchy flag is set.
16190
16191        (WebCore::RenderLayerCompositor::didStartAcceleratedAnimation):
16192        When we start an accelerated transition or animation, we stop looking at
16193        overlap because we can no longer guarantee correct front-to-back ordering while the
16194        accelerated animation is running.
16195
16196        (WebCore::RenderLayerCompositor::needsToBeComposited):
16197        Method renames.
16198
16199        * rendering/RenderView.cpp:
16200        (WebCore::RenderView::setMaximalOutlineSize):
16201        Add comment indicating that this could be optimized.
16202
162032009-07-14  Anton Muhin  <antonm@chromium.org>
16204
16205        Reviewed by Darin Fisher.
16206
16207        Speed up creation of V8 wrappers for DOM nodes.
16208
16209        https://bugs.webkit.org/show_bug.cgi?id=26882
16210
16211        This patch doesn't require new tests as it a set of refactorings
16212        to speed up wrapper creation.
16213
16214        * bindings/v8/V8Proxy.cpp:
16215        * bindings/v8/V8Proxy.h:
16216
162172009-07-07  Jan Michael Alonzo  <jmalonzo@webkit.org>
16218
16219        Reviewed by Gustavo Noronha.
16220
16221        [GTK] textarea height property works only if other property are defined
16222        https://bugs.webkit.org/show_bug.cgi?id=18984
16223
16224        Let WebCore handle textarea's metrics instead of readjusting it RenderthemeGtk.
16225
16226        Test: fast/forms/textarea-metrics.html
16227
16228        * platform/gtk/RenderThemeGtk.cpp:
16229        * platform/gtk/RenderThemeGtk.h:
16230
162312009-07-07  Ben Murdoch  <benm@google.com>
16232
16233        Reviewed by Antti Koivisto.
16234
16235        HTML5 Database becomes locked if a transaction is in progress when the page is refreshed.
16236        https://bugs.webkit.org/show_bug.cgi?id=25711
16237
16238        Fix for https://bugs.webkit.org/show_bug.cgi?id=25711 where web
16239        storage databases could become locked until the browser is shut
16240        down if the page is refreshed whilst a transaction is in progress.
16241
16242        Test: storage/database-lock-after-reload.html
16243
16244        * storage/Database.cpp:
16245        (WebCore::Database::Database):
16246        (WebCore::Database::close): add code to inform the database thread we've closed the database.
16247        (WebCore::Database::performOpenAndVerify): add code to inform the database thread we've opened a database.
16248        * storage/Database.h:
16249        (WebCore::Database::opened): return true iff the underlying sqlite database has been opened but not closed.
16250        * storage/DatabaseThread.cpp:
16251        (WebCore::DatabaseThread::databaseThread): Before the database thread terminates, close any databases that ran transactions in this thread.
16252        (WebCore::DatabaseThread::recordDatabaseOpen): Records a database that executed a transaction in this thread.
16253        (WebCore::DatabaseThread::recordDatabaseClosed): Removes a database from the set of open databases.
16254        * storage/DatabaseThread.h:
16255        (WebCore::DatabaseThread::getThreadID): return the thread id for the database thread.
16256
162572009-07-07  Jiahua Huang  <jhuangjiahua@gmail.com>
16258
16259        Reviewed by Jan Alonzo.
16260
16261        [Gtk] Paste of rich text from firefox results garbled markup
16262        https://bugs.webkit.org/show_bug.cgi?id=26791
16263
16264        Fix problem with UTF-16 clipboard pasted.
16265
16266        * manual-tests/gtk/paste-richtext-from-firefox.html: Added.
16267        * platform/gtk/PasteboardGtk.cpp:
16268        (WebCore::Pasteboard::documentFragment):
16269
162702009-07-07  Yury Semikhatsky  <yurys@chromium.org>
16271
16272        Reviewed by Timothy Hatcher.
16273
16274        Change 'Continue debug' shortcut from F5 to F8 for consistency with Firebug.
16275
16276        https://bugs.webkit.org/show_bug.cgi?id=23849
16277
16278        * inspector/front-end/ScriptsPanel.js:
16279        (WebInspector.ScriptsPanel):
16280
162812009-07-06  Albert J. Wong  <ajwong@chromium.org>
16282
16283        Reviewed by Maciej Stachowiak.
16284
16285        Update RenderThemeChromiumMac for wkDrawMediaUIPart and wkDrawMediaSlider API
16286        change.
16287
16288        Fix compile RenderThemeChromiumMac.mm due to API changes from r45572
16289        https://bugs.webkit.org/show_bug.cgi?id=27018
16290
16291        This is mainly an API change update to fix the chromium compile.  It
16292        also has a small fix of a typo in RenderThemeMac.mm.
16293
16294        Compilation against the head of chromium trunk passed.  Since this is
16295        a compile fix, that should be sufficient.
16296
16297        * rendering/RenderThemeChromiumMac.mm:
16298        (WebCore::):
16299        (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
16300        (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
16301        (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
16302        (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton):
16303        (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton):
16304        (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
16305        (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
16306        * rendering/RenderThemeMac.mm:
16307        (WebCore::):
16308
163092009-07-06  David Kilzer  <ddkilzer@apple.com>
16310
16311        Bug 27002: Build fix when DASHBOARD_SUPPORT is disabled with -Wunused-parameter
16312
16313        <https://bugs.webkit.org/show_bug.cgi?id=27002>
16314
16315        Reviewed by Geoff Garen.
16316
16317        * html/CanvasRenderingContext2D.cpp:
16318        (WebCore::CanvasRenderingContext2D::prepareGradientForDashboard):
16319        Mark gradient as an unused parameter when DASHBOARD_SUPPORT is
16320        disabled.
16321
163222009-07-06  David Kilzer  <ddkilzer@apple.com>
16323
16324        Bug 27001: Fix improper use of PassRefPtr<Node> to RefPtr<Node>
16325
16326        <https://bugs.webkit.org/show_bug.cgi?id=27001>
16327
16328        Reviewed by Geoff Garen.
16329
16330        PassRefPtr<> should only be used for arguments to functions that
16331        take ownership of the object, or as return values from functions
16332        that relinquish ownership of the object.
16333
16334        * editing/Editor.cpp:
16335        (WebCore::Editor::increaseSelectionListLevelOrdered): Changed
16336        stack-allocated PassRefPtr<Node> to RefPtr<Node> and call
16337        release() on returned object.
16338        (WebCore::Editor::increaseSelectionListLevelUnordered): Ditto.
16339
163402009-07-06  Eric Carlson  <eric.carlson@apple.com>
16341
16342        Reviewed by Simon Fraser.
16343
16344        <rdar://problem/7035474> Make new media controller UI default on SnowLeopard
16345
16346        * rendering/RenderThemeMac.mm:
16347        (WebCore::mediaControllerTheme):
16348            New media controller UI is enabled by default on SnowLeopard.
16349
163502009-07-06  Nate Chapin  <japhet@chromium.org>
16351
16352        Unreviewed, build fix.
16353
16354        Roll out r45559 to fix Chromium canary.
16355
16356        https://bugs.webkit.org/show_bug.cgi?id=26857
16357
16358        * bindings/scripts/CodeGeneratorV8.pm:
16359        * bindings/v8/V8Binding.cpp: Removed.
16360        * bindings/v8/V8Binding.h:
16361        (WebCore::toInt32):
16362        (WebCore::toWebCoreString):
16363        (WebCore::fromWebCoreString):
16364        (WebCore::toWebCoreStringWithNullCheck):
16365        (WebCore::isUndefinedOrNull):
16366        (WebCore::v8Boolean):
16367        * bindings/v8/V8LazyEventListener.cpp:
16368        (WebCore::V8LazyEventListener::getListenerFunction):
16369        * bindings/v8/V8Proxy.cpp:
16370        (WebCore::handleConsoleMessage):
16371        (WebCore::V8Proxy::compileScript):
16372        (WebCore::V8Proxy::sourceName):
16373        * bindings/v8/WorkerContextExecutionProxy.cpp:
16374        (WebCore::handleConsoleMessage):
16375        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
16376        (WebCore::NAMED_PROPERTY_SETTER):
16377        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
16378        (WebCore::CALLBACK_FUNC_DECL):
16379        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
16380        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
16381        * bindings/v8/custom/V8DOMWindowCustom.cpp:
16382        (WebCore::CALLBACK_FUNC_DECL):
16383        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
16384        (WebCore::CALLBACK_FUNC_DECL):
16385        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
16386        (WebCore::ACCESSOR_SETTER):
16387        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
16388        (WebCore::CALLBACK_FUNC_DECL):
16389        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
16390        (WebCore::removeElement):
16391        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
16392        (WebCore::CALLBACK_FUNC_DECL):
16393        * bindings/v8/custom/V8WorkerContextCustom.cpp:
16394        (WebCore::SetTimeoutOrInterval):
16395        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
16396        (WebCore::CALLBACK_FUNC_DECL):
16397
163982009-07-06  Eric Carlson  <eric.carlson@apple.com>
16399
16400        Reviewed by Darin Adler.
16401
16402        <rdar://problem/7008093> Media controller can’t be used to scrub when movie is
16403        narrow — track is too narrow
16404
16405        Do not show media controller time display elements when the a movie is too narrow.
16406
16407        * platform/mac/WebCoreSystemInterface.h:
16408        * platform/mac/WebCoreSystemInterface.mm:
16409            The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield.
16410
16411        * rendering/MediaControlElements.cpp:
16412        (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
16413            Give current time and time remaining controls a common base class.
16414        (WebCore::MediaControlTimeDisplayElement::setVisible):
16415            New method, hide and show the element.
16416        * rendering/MediaControlElements.h:
16417
16418        * rendering/RenderMedia.cpp:
16419        (WebCore::RenderMedia::RenderMedia):
16420            Initialize m_previousVisible.
16421        (WebCore::RenderMedia::layout):
16422            Show/hide the time display elements as the movie width changes.
16423        (WebCore::RenderMedia::createCurrentTimeDisplay):
16424        (WebCore::RenderMedia::createTimeRemainingDisplay):
16425            Base class is now MediaControlTimeDisplayElement, not MediaControlElement.
16426        (WebCore::RenderMedia::shouldShowTimeDisplayControls):
16427            New, decide if time display elements should be visible or not.
16428        * rendering/RenderMedia.h:
16429
16430        * rendering/RenderThemeMac.mm:
16431        (WebCore::):
16432        (WebCore::RenderThemeMac::paintMediaFullscreenButton):
16433        (WebCore::RenderThemeMac::paintMediaMuteButton):
16434        (WebCore::RenderThemeMac::paintMediaPlayButton):
16435        (WebCore::RenderThemeMac::paintMediaSeekBackButton):
16436        (WebCore::RenderThemeMac::paintMediaSeekForwardButton):
16437        (WebCore::RenderThemeMac::paintMediaSliderTrack):
16438        (WebCore::RenderThemeMac::paintMediaSliderThumb):
16439        (WebCore::RenderThemeMac::paintMediaRewindButton):
16440        (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton):
16441        (WebCore::RenderThemeMac::paintMediaControlsBackground):
16442        (WebCore::RenderThemeMac::paintMediaCurrentTime):
16443        (WebCore::RenderThemeMac::paintMediaTimeRemaining):
16444            The 'state' parameter to wkDrawMediaUIPart is now an unsigned bitfield.
16445
164462009-07-06  David Kilzer  <ddkilzer@apple.com>
16447
16448        Bug 27000: Minor clean up to runtime_root.{cpp|h}
16449
16450        <https://bugs.webkit.org/show_bug.cgi?id=27000>
16451
16452        Reviewed by Geoff Garen.
16453
16454        * bridge/runtime_root.cpp: Added blank line between license and
16455        the first #include statement.
16456        * bridge/runtime_root.h: Added comment to #endif.
16457
164582009-07-06  Roland Steiner  <rolandsteiner@google.com>
16459
16460        Reviewed by Maciej Stachowiak.
16461
16462        generalize the special height treatment for SVG (to be re-used for ruby):
16463            renamed InlineBox::m_isSVG to m_hasVirtualHeight
16464            renamed InlineBox::isSVG() to hasVirtualHeight()
16465            renamed InlineBox::setIsSVG() to setHasVirtualHeight()
16466
16467        * rendering/InlineBox.cpp:
16468        (WebCore::InlineBox::height):
16469        * rendering/InlineBox.h:
16470        (WebCore::InlineBox::InlineBox):
16471        (WebCore::InlineBox::isText):
16472        (WebCore::InlineBox::setIsText):
16473        (WebCore::InlineBox::isSVGRootInlineBox):
16474        (WebCore::InlineBox::hasVirtualHeight):
16475        (WebCore::InlineBox::setHasVirtualHeight):
16476        (WebCore::InlineBox::virtualHeight):
16477        * rendering/RenderSVGInline.cpp:
16478        (WebCore::RenderSVGInline::createFlowBox):
16479        * rendering/RenderSVGInlineText.cpp:
16480        (WebCore::RenderSVGInlineText::createTextBox):
16481        * rendering/RenderSVGText.cpp:
16482        (WebCore::RenderSVGText::createRootBox):
16483        * rendering/SVGInlineFlowBox.h:
16484        (WebCore::SVGInlineFlowBox::virtualHeight):
16485        * rendering/SVGInlineTextBox.h:
16486        (WebCore::SVGInlineTextBox::virtualHeight):
16487        * rendering/SVGRootInlineBox.h:
16488        (WebCore::SVGRootInlineBox::virtualHeight):
16489
164902009-07-06  Alice Liu  <alice.liu@apple.com>
16491
16492        Reviewed by Darin Adler.
16493
16494        REGRESSION(r45285): focus rings are black on windows safari
16495        https://bugs.webkit.org/show_bug.cgi?id=26821
16496        <rdar://problem/7018252>
16497
16498        Add a mechanism for setting a custom focus ring color, and relocate the
16499        determination of focus ring color to base class RenderTheme.
16500
16501        No new tests.  Already-existing tests run in pixel mode would have caught this regression
16502
16503        * css/CSSStyleSelector.cpp:
16504        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): Move the responsibility
16505        of determining focus color to base class RenderTheme.
16506        * rendering/RenderTheme.cpp:
16507        (WebCore::customFocusRingColor): Added static local.
16508        (WebCore::RenderTheme::setCustomFocusRingColor): Added
16509        (WebCore::RenderTheme::focusRingColor): Use custom color over platform color.
16510        * rendering/RenderTheme.h:
16511        (WebCore::RenderTheme::platformFocusRingColor): default implementation, black color
16512        * rendering/RenderThemeSafari.cpp:
16513        (WebCore::RenderTheme::themeForPage): Circumstances that lead to returning the RenderThemeWin
16514        are the same under which we want to use the focus ring color from SafariTheme.
16515        (WebCore::RenderThemeSafari::platformFocusRingColor): Renamed from focusRingColor
16516        * rendering/RenderThemeSafari.h:
16517
16518        Renaming focusRingColor to platformFocusRingColor in these files:
16519        * rendering/RenderThemeChromiumMac.h:
16520        * rendering/RenderThemeChromiumMac.mm:
16521        (WebCore::RenderThemeChromiumMac::platformFocusRingColor):
16522        * rendering/RenderThemeChromiumSkia.cpp:
16523        (WebCore::RenderThemeChromiumSkia::platformFocusRingColor):
16524        * rendering/RenderThemeChromiumSkia.h:
16525        * rendering/RenderThemeMac.h:
16526        * rendering/RenderThemeMac.mm:
16527        (WebCore::RenderThemeMac::platformFocusRingColor):
16528
16529        Cleanup leftover from removal of WebCore::Color in r45285 in these files:
16530        * WebCore.order:
16531        * platform/graphics/Color.h:
16532
165332009-07-06  Shinichiro Hamaji  <hamaji@chromium.org>
16534
16535        Reviewed by David Hyatt.
16536
16537        Bug 15135: REGRESSION (r19843-r19850): Changing a flexbox's
16538        contents makes its container scroll to the top
16539        https://bugs.webkit.org/show_bug.cgi?id=15135
16540
16541        Delay updateing scroll bar of descendants of flexbox until their
16542        positions are determined.  In this way we can prevent descendants
16543        of flexible boxes from changing positions of their scrollbars
16544        using tentative positions.
16545
16546        Test: fast/flexbox/repaint-scrollbar.html
16547
16548        * rendering/RenderBlock.cpp:
16549        (WebCore::RenderBlock::startDelayUpdateScrollInfo):
16550        (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
16551        (WebCore::RenderBlock::updateScrollInfoAfterLayout):
16552        (WebCore::RenderBlock::layoutBlock):
16553        (WebCore::RenderBlock::layoutOnlyPositionedObjects):
16554        * rendering/RenderBlock.h:
16555        * rendering/RenderFlexibleBox.cpp:
16556        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
16557        (WebCore::RenderFlexibleBox::layoutVerticalBox):
16558
165592009-07-06  Hironori Bono  <hbono@chromium.org>
16560
16561        Reviewed by Maciej Stachowiak.
16562
16563        Make unconfirmed IME text affect textarea's value.
16564        This matches input and contentEditable elements as well
16565        IE and Firefox.
16566
16567        This fixes https://bugs.webkit.org/show_bug.cgi?id=25061.
16568
16569        Input elements would go down this code path because it
16570        would always get a null compositionNode from frame->editor().
16571        Special casing compositionNodes is wrong because we explicitly
16572        want unconfirmed IME input in the textarea's value (assuming we
16573        want to match IE and Firefox here).
16574
16575        This change is originally created by Ojan Vafai <ojan@chromium.org> and
16576        I just changed its manual tests with an automated test on his behalf.
16577
16578        Test: platform/mac/editing/input/text-control-ime-input.html
16579
16580        * rendering/RenderTextControl.cpp:
16581        (WebCore::RenderTextControl::text):
16582        (WebCore::RenderTextControl::textWithHardLineBreaks):
16583
165842009-07-06  Anders Carlsson  <andersca@apple.com>
16585
16586        Reviewed by Adele Peterson.
16587
16588        Add the ability for wheel events to latch to a node.
16589
16590        * WebCore.base.exp:
16591        * page/EventHandler.cpp:
16592        (WebCore::EventHandler::EventHandler):
16593        (WebCore::EventHandler::clear):
16594        (WebCore::EventHandler::handleWheelEvent):
16595        * page/EventHandler.h:
16596        * page/mac/EventHandlerMac.mm:
16597        (WebCore::EventHandler::wheelEvent):
16598        * platform/mac/WebCoreSystemInterface.h:
16599        * platform/mac/WebCoreSystemInterface.mm:
16600
166012009-07-06  Nate Chapin  <japhet@chromium.org>
16602
16603        Reviewed by Dimitri Glazkov.
16604
16605        Fix a bunch of layout test crahses in Chromium caused by a bad usage of DEFINE_STATIC_LOCAL.
16606
16607        https://bugs.webkit.org/show_bug.cgi?id=26997
16608
16609        * bindings/v8/V8Binding.cpp:
16610        (WebCore::v8ValueToWebCoreString): Use a regular static declaration instead of DEFINE_STATIC_LOCAL.
16611
166122009-07-06  Pavel Feldman  <pfeldman@chromium.org>
16613
16614        Reviewed by Timothy Hatcher.
16615
16616        WebInspector: suggest global properties based on async evaluation.
16617
16618        https://bugs.webkit.org/show_bug.cgi?id=26976
16619
16620        Before this change, empty string was evaluated to the global object
16621        (or scope chain object) synchronously. This is now fixed and global
16622        object is evaluated using the same control flow.
16623
16624        * inspector/front-end/Console.js:
16625        (WebInspector.Console.prototype.completions):
16626        (WebInspector.Console.prototype._evalInInspectedWindow):
16627        * inspector/front-end/ScriptsPanel.js:
16628        (WebInspector.ScriptsPanel.prototype._variablesInScope):
16629
166302009-07-06  Ojan Vafai  <ojan@chromium.org>
16631
16632        Reviewed by Eric Seidel.
16633
16634        Fix crash when indenting in an empty table cell.
16635        https://bugs.webkit.org/show_bug.cgi?id=26872
16636
16637        The crash is that we would call splitTreeToNode where the node
16638        and the nodeToSplitTo were the same node.
16639
16640        Test: editing/execCommand/indent-empty-table-cell.html
16641
16642        * editing/CompositeEditCommand.cpp:
16643        (WebCore::CompositeEditCommand::splitTreeToNode):
16644        Added an assert in that node and nodeToSplitTo
16645        are different nodes to make this assumption explicit.
16646
16647        * editing/IndentOutdentCommand.cpp:
16648        (WebCore::IndentOutdentCommand::isAtUnsplittableElement):
16649        (WebCore::IndentOutdentCommand::indentRegion):
16650        * editing/IndentOutdentCommand.h:
16651
166522009-07-06  Nate Chapin  <japhet@chromium.org>
16653
16654        Reviewed by David Levin.
16655
16656        Upstream V8Binding and update some function names.
16657
16658        https://bugs.webkit.org/show_bug.cgi?id=26857
16659
16660        * bindings/scripts/CodeGeneratorV8.pm: Update function names in auto-generated files.
16661        * bindings/v8/V8Binding.cpp: Upstreamed from src.chromium.org.
16662        * bindings/v8/V8Binding.h: Upstreamed from src.chromium.org.
16663        * bindings/v8/V8LazyEventListener.cpp:
16664        (WebCore::V8LazyEventListener::getListenerFunction):
16665        * bindings/v8/V8Proxy.cpp:
16666        (WebCore::handleConsoleMessage):
16667        (WebCore::V8Proxy::compileScript):
16668        (WebCore::V8Proxy::sourceName):
16669        * bindings/v8/WorkerContextExecutionProxy.cpp:
16670        (WebCore::handleConsoleMessage):
16671        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
16672        (WebCore::NAMED_PROPERTY_SETTER):
16673        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
16674        (WebCore::CALLBACK_FUNC_DECL):
16675        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
16676        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
16677        * bindings/v8/custom/V8DOMWindowCustom.cpp:
16678        (WebCore::CALLBACK_FUNC_DECL):
16679        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
16680        (WebCore::CALLBACK_FUNC_DECL):
16681        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
16682        (WebCore::ACCESSOR_SETTER):
16683        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
16684        (WebCore::CALLBACK_FUNC_DECL):
16685        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
16686        (WebCore::removeElement):
16687        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
16688        (WebCore::CALLBACK_FUNC_DECL):
16689        * bindings/v8/custom/V8WorkerContextCustom.cpp:
16690        (WebCore::SetTimeoutOrInterval):
16691        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
16692        (WebCore::CALLBACK_FUNC_DECL):
16693
166942009-07-06  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
16695
16696        Reviewed by Jan Alonzo.
16697
16698        Use soup's content sniffing
16699        https://bugs.webkit.org/show_bug.cgi?id=26982
16700
16701        Drop our hackish content sniffing code, and use the new libsoup
16702        feature to do that job for us.
16703
16704        Testing this is in a cross-platform way is not obvious or possible
16705        while we are using platform-specific code for sniffing.
16706
16707        * platform/network/ResourceHandleInternal.h:
16708        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
16709        * platform/network/soup/ResourceHandleSoup.cpp:
16710        (WebCore::gotHeadersCallback):
16711        (WebCore::contentSniffedCallback):
16712        (WebCore::gotChunkCallback):
16713        (WebCore::ResourceHandle::startHttp):
16714
167152009-07-05  Antonio Gomes  <antonio.gomes@openbossa.org>
16716
16717        Reviewed by Darin Adler.
16718
16719        REGRESSION (r40499): fast/dom/cssTarget-crash.html fails
16720        https://bugs.webkit.org/show_bug.cgi?id=20342
16721
16722        Re-added code removed by commit r40499.
16723        Without this, both Qt and Mac were crashing while running the test.
16724
16725        Note that this does not entirely fix the bug. It fixes the WebCore
16726        crash, but the test no longer seems to work due to loader changes.
16727        So this patch does not reenable the test. The test probably has to
16728        be rewritten.
16729
16730        * dom/ContainerNode.cpp:
16731        (WebCore::ContainerNode::removedFromDocument): Re-added code to
16732        set the CSS target of the document to 0.
16733
167342009-07-05  Chris Marrin  <cmarrin@apple.com>
16735
16736        Reviewed by Simon Fraser.
16737
16738        https://bugs.webkit.org/show_bug.cgi?id=26943
16739
16740        When one transition finishes slightly before another the longer
16741        one will fire a second time. This is because the second
16742        ImplicitAnmation object is culled too early, before its final
16743        RenderStyle is in place. This is done by cleanupFinishedAnimations()
16744        so I got rid of that method completely and now cleanup each
16745        transition or animation at the point where I am setting the final
16746        style, or when I detect that the transition or animation has been
16747        terminated early (which happens when you remove it from the style).
16748
16749        Test: transitions/extra-transition.html
16750
16751        * page/animation/AnimationController.cpp:
16752        (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
16753        * page/animation/CompositeAnimation.cpp:
16754        (WebCore::CompositeAnimation::updateTransitions):
16755        (WebCore::CompositeAnimation::updateKeyframeAnimations):
16756        (WebCore::CompositeAnimation::animate):
16757        * page/animation/CompositeAnimation.h:
16758
16759        * page/animation/AnimationBase.cpp:
16760        (WebCore::AnimationBase::getTimeToNextEvent):
16761        Avoid a divide by zero if m_animation->duration() is zero, which can happen
16762        if the duration is changed to zero while the animation is running.
16763
167642009-07-05  Simon Fraser  <simon.fraser@apple.com>
16765
16766        Revert the previous commit because it broke the
16767        animations/transition-and-animation-1.html
16768        testcase.
16769
16770        * page/animation/AnimationBase.cpp:
16771        (WebCore::AnimationBase::getTimeToNextEvent):
16772        * page/animation/AnimationController.cpp:
16773        (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
16774        * page/animation/CompositeAnimation.cpp:
16775        (WebCore::CompositeAnimation::updateTransitions):
16776        (WebCore::CompositeAnimation::updateKeyframeAnimations):
16777        (WebCore::CompositeAnimation::animate):
16778        (WebCore::CompositeAnimation::cleanupFinishedAnimations):
16779        * page/animation/CompositeAnimation.h:
16780
167812009-07-05  Chris Marrin  <cmarrin@apple.com>
16782
16783        Reviewed by Simon Fraser.
16784
16785        https://bugs.webkit.org/show_bug.cgi?id=26943
16786
16787        When one transition finishes slightly before another the longer
16788        one will fire a second time. This is because the second
16789        ImplicitAnmation object is culled too early, before its final
16790        RenderStyle is in place. This is done by cleanupFinishedAnimations()
16791        so I got rid of that method completely and now cleanup each
16792        transition or animation at the point where I am setting the final
16793        style, or when I detect that the transition or animation has been
16794        terminated early (which happens when you remove it from the style).
16795
16796        Test: transitions/extra-transition.html
16797
16798        * page/animation/AnimationController.cpp:
16799        (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
16800        * page/animation/CompositeAnimation.cpp:
16801        (WebCore::CompositeAnimation::updateTransitions):
16802        (WebCore::CompositeAnimation::updateKeyframeAnimations):
16803        (WebCore::CompositeAnimation::animate):
16804        * page/animation/CompositeAnimation.h:
16805
16806        * page/animation/AnimationBase.cpp:
16807        (WebCore::AnimationBase::getTimeToNextEvent):
16808        Avoid a divide by zero if m_animation->duration() is zero, which can happen
16809        if the duration is changed to zero while the animation is running.
16810
168112009-07-05  Lars Knoll  <lars.knoll@nokia.com>
16812
16813        Reviewed by Maciej Stachowiak.
16814
16815        https://bugs.webkit.org/show_bug.cgi?id=26843
16816
16817        Fix run-time crashes in JavaScriptCore with the Metrowerks compiler on Symbian.
16818
16819        The Metrowerks compiler on the Symbian platform moves the globally
16820        defined Hashtables into read-only memory, despite one of the members
16821        being mutable. This causes crashes at run-time due to write access to
16822        read-only memory.
16823
16824        Avoid the use of const with this compiler by introducing the
16825        JSC_CONST_HASHTABLE macro.
16826
16827        Based on idea by Norbert Leser.
16828
16829        * bindings/scripts/CodeGeneratorJS.pm: Use JSC_CONST_HASHTABLE for hash tables
16830        define in the bindings.
16831
168322009-07-05  Rob Buis  <rwlbuis@gmail.com>
16833
16834        Reviewed by Maciej Stachowiak.
16835
16836        Bug 26897 - Dynamic SVG images do not display correctly
16837        https://bugs.webkit.org/show_bug.cgi?id=26897
16838
16839        Use repaint() to fix a rendering problem with a SVG image embedded in xhtml.
16840
16841        Test: svg/custom/createImageElement2.xhtml
16842
16843        * rendering/RenderSVGImage.cpp:
16844        (WebCore::RenderSVGImage::imageChanged):
16845
168462009-07-05  Xan Lopez  <xlopez@igalia.com>
16847
16848        Reviewed by Jan Alonzo.
16849
16850        https://bugs.webkit.org/show_bug.cgi?id=26960
16851        [Gtk] caret offset not updated when selecting text
16852
16853        Report the caret offset from the end of the selection so it works
16854        correctly for multi-char selections too (ie, anything that is not
16855        the zero width caret).
16856
16857        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
16858        (webkit_accessible_text_get_caret_offset):
16859
168602009-07-05  Holger Hans Peter Freyther  <zecke@selfish.org>
16861
16862        Unreviewed link fix for Qt.
16863
16864        Fix Qt link error by adding two new localized strings
16865
16866        In r45474 two new strings got added to LocalizedStrings.h add
16867        the definition of them to Qt.
16868
16869        * platform/qt/Localizations.cpp:
16870        (WebCore::mediaElementLoadingStateText):
16871        (WebCore::mediaElementLiveBroadcastStateText):
16872
168732009-07-03  Darin Adler  <darin@apple.com>
16874
16875        Reviewed by Adele Peterson.
16876
16877        REGRESSION (r44670-r44680): Typing is suprisingly slow in password field on reddit.com
16878        https://bugs.webkit.org/show_bug.cgi?id=26959
16879        rdar://problem/7029882
16880
16881        The code to handle iteration boundaries was malfunctioning when the boundary was
16882        at the edge of a shadow tree. This happens all the time with <input> elements.
16883
16884        It's not immediately obvious how to make a regression test for this since the
16885        symptom was a performance problem, not incorrect behavior. I'll add a test if I
16886        figure out a way to make one.
16887
16888        * editing/TextIterator.cpp:
16889        (WebCore::parentCrossingShadowBoundaries): Renamed from parentOrShadowParent.
16890        (WebCore::depthCrossingShadowBoundaries): Updated for name change.
16891        (WebCore::nextInPreOrderCrossingShadowBoundaries): Added.
16892        (WebCore::previousInPostOrderCrossingShadowBoundaries): Added.
16893        (WebCore::setUpFullyClippedStack): Updated for name change.
16894        (WebCore::TextIterator::TextIterator): Updated for name change. Use
16895        nextInPreOrderCrossingShadowBoundaries instead of Range::pastLastNode to fix the bug.
16896        (WebCore::TextIterator::advance): Updated for name change.
16897        (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
16898        Tweaked formatting.
16899        (WebCore::SimplifiedBackwardsTextIterator::advance): Ditto. Changed code that
16900        initializes m_pastStartNode to use previousInPostOrderCrossingShadowBoundaries.
16901        (WebCore::SimplifiedBackwardsTextIterator::handleNonTextNode): Tweaked formatting.
16902        (WebCore::SimplifiedBackwardsTextIterator::exitNode): Ditto.
16903
169042009-07-03  Simon Fraser  <simon.fraser@apple.com>
16905
16906        Reviewed by Sam Weinig.
16907
16908        Background audio stops playing when JS GC runs
16909        https://bugs.webkit.org/show_bug.cgi?id=26956
16910
16911        Ensure we keep the Audio object around while it is playing, so that it
16912        doesn't get collected.
16913
16914        Not testable because there's no way to know whether the audio keeps
16915        playing without holding a reference to it.
16916
16917        * bindings/js/JSDOMBinding.cpp:
16918        (WebCore::isObservableThroughDOM):
16919
169202009-07-02  Xan Lopez  <xlopez@igalia.com>
16921
16922        Reviewed by Jan Alonzo.
16923
16924        https://bugs.webkit.org/show_bug.cgi?id=26814
16925        [Gtk] Caret-moved events are not issued for the correct offset
16926        when text is selected forward
16927
16928        Report the caret offset from the end of the selection, otherwise
16929        we'll report the same offset when moving the caret while
16930        modififying the selection (eg, with Shift + Right).
16931
16932        * editing/gtk/SelectionControllerGtk.cpp:
16933        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
16934
169352009-07-02  Xan Lopez  <xlopez@igalia.com>
16936
16937        Reviewed by Jan Alonzo.
16938
16939        https://bugs.webkit.org/show_bug.cgi?id=26815
16940        [Gtk] text-selection-changed events are not issued for the correct
16941        object when the selection spans multiple objects
16942
16943        Get the focused node from the end of the selection, not the start,
16944        so we can detect when we cross object boundaries.
16945
16946        * editing/gtk/SelectionControllerGtk.cpp:
16947        (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
16948
169492009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
16950
16951        Reviewed by Simon Fraser.
16952
16953        https://bugs.webkit.org/show_bug.cgi?id=26947
16954
16955        Fix the media controls hit tests. They may lose click events.
16956
16957        Test cases already covered in the video-controls-zoomed tests.
16958
16959        Don't trust wkHitTestMediaUIPart for the tests. We are accurate enough.
16960
16961        * rendering/RenderThemeMac.h: Remove hitTestMediaControlPart.
16962        * rendering/RenderThemeMac.mm: Remove hitTestMediaControlPart.
16963
169642009-07-02  Roland Steiner  <rolandsteiner@google.com>
16965
16966        Reviewed by Eric Seidel.
16967
16968        RenderBlock and RenderInline have confusingly named object creation methods:
16969        RenderBlock::createRootBox/createRootInlineBox
16970        RenderInline::createFlowBox/createInlineFlowBox
16971        where the 2nd method in both cases just calls the first and then appends the created object.
16972        I therefore renamed those methods to something IMHO more informative:
16973
16974        createRootBox()         -> createRootInlineBox()
16975        createRootInlineBox()   -> createAndAppendRootInlineBox();
16976        createFlowBox()         -> createInlineFlowBox();
16977        createInlineFlowBox()   -> createAndAppendInlineFlowBox();
16978
16979        https://bugs.webkit.org/show_bug.cgi?id=26828
16980
16981        * rendering/RenderBlock.cpp:
16982        (WebCore::RenderBlock::createRootInlineBox):
16983        (WebCore::RenderBlock::createAndAppendRootInlineBox):
16984        * rendering/RenderBlock.h:
16985        * rendering/RenderInline.cpp:
16986        (WebCore::RenderInline::createInlineFlowBox):
16987        (WebCore::RenderInline::createAndAppendInlineFlowBox):
16988        * rendering/RenderInline.h:
16989        * rendering/RenderSVGInline.cpp:
16990        (WebCore::RenderSVGInline::createInlineFlowBox):
16991        * rendering/RenderSVGInline.h:
16992        * rendering/RenderSVGText.cpp:
16993        (WebCore::RenderSVGText::createRootInlineBox):
16994        * rendering/RenderSVGText.h:
16995        * rendering/bidi.cpp:
16996        (WebCore::createInlineBoxForRenderer):
16997
169982009-07-02  Pavel Feldman  <pfeldman@chromium.org>
16999
17000        Reviewed by Timothy Hatcher.
17001
17002        WebInspector: Fix typo in the resource panel enabler caption.
17003
17004        https://bugs.webkit.org/show_bug.cgi?id=26753
17005
17006        * English.lproj/localizedStrings.js:
17007        * inspector/front-end/ResourcesPanel.js:
17008        (WebInspector.ResourcesPanel):
17009
170102009-07-02  Erik Arvidsson  <arv@chromium.org>
17011
17012        Reviewed by Adam Roben.
17013
17014        [Win] HTML5 Drag and drop, dragend is not fired when pressing Esc
17015        https://bugs.webkit.org/show_bug.cgi?id=26699
17016
17017        * manual-tests/drag-escape.html: Added.
17018        * page/EventHandler.cpp:
17019        (WebCore::EventHandler::dragSourceEndedAt):
17020
170212009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
17022
17023        Reviewed by Simon Fraser.
17024
17025        https://bugs.webkit.org/show_bug.cgi?id=26944
17026
17027        Make sure we support full page zoom in video controls.
17028
17029        This is tracked by a the video-controls-zoom test case.
17030
17031        * css/mediaControlsQT.css: Make sure we don't have any inherited margin.
17032        * rendering/MediaControlElements.cpp:
17033        (WebCore::MediaControlElement::updateStyle): Propagate the style to the innertext.
17034        * rendering/RenderThemeMac.mm: Adjust the painting rect.
17035        (WebCore::getUnzoomedRectAndAdjustCurrentContext):
17036        (WebCore::RenderThemeMac::paintMediaSliderTrack):
17037        (WebCore::RenderThemeMac::paintMediaCurrentTime):
17038        (WebCore::RenderThemeMac::paintMediaTimeRemaining):
17039
170402009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
17041
17042        Fix the Gtk build after r45474. The localized strings should
17043        have been added there.
17044
17045        * platform/gtk/LocalizedStringsGtk.cpp:
17046        (WebCore::mediaElementLoadingStateText):
17047        (WebCore::mediaElementLiveBroadcastStateText):
17048
170492009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
17050
17051        Reviewed by Simon Fraser.
17052
17053        https://bugs.webkit.org/show_bug.cgi?id=26939
17054
17055        Media controller is rendered badly at http://www.mozilla.com/en-US/firefox/video/firefox-3.5.html
17056
17057        We fix two things:
17058        - We use px instead of em, because px is used everywhere else
17059        and because 0.09em hit the font size limit.
17060        - We use -webkit-box instead of inline-block because in strict mode
17061        inline-block has a different behavior.
17062
17063        Test: media/controls-strict.html
17064
17065        * css/mediaControlsQT.css:
17066
170672009-07-02  David Hyatt  <hyatt@apple.com>
17068
17069        Reviewed by Dan Bernstein.
17070
17071        TextIterator should use hasOverflowClip when checking for overflow instead of looking at the style.
17072        https://bugs.webkit.org/show_bug.cgi?id=26942
17073
17074        * editing/TextIterator.cpp:
17075        (WebCore::fullyClipsContents):
17076
170772009-07-02  Sam Weinig  <sam@webkit.org>
17078
17079        Reviewed by Dave Hyatt.
17080
17081        Fix for <rdar://problem/5230700>
17082        Remove local .xhtml file workaround
17083
17084        * platform/network/mac/ResourceResponseMac.mm:
17085        (WebCore::ResourceResponse::platformLazyInit): Work around is no longer necessary.
17086
170872009-07-02  Anders Carlsson  <andersca@apple.com>
17088
17089        Reviewed by Dan Bernstein.
17090
17091        Sort, add functions used by WebKit.
17092
17093        * WebCore.base.exp:
17094
170952009-07-02  Brady Eidson  <beidson@apple.com>
17096
17097        Rubberstamped by Sam Weinig.
17098
17099        More of <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown.
17100
17101        * platform/network/mac/WebCoreURLResponse.mm:
17102        (webNSURLResponseMIMEType): Give Tiger a chance to query the UTI machinery.
17103
171042009-07-02  Adam Langley  <agl@google.com>
17105
17106        Reviewed by Eric Seidel.
17107
17108        Chromium Linux: fix complex text rendering with line break characters.
17109
17110        https://bugs.webkit.org/show_bug.cgi?id=26935
17111
17112        If the CSS white-space property is inhibiting line breaking, we might
17113        find end-of-line characters rendered via the complex text path. Fonts
17114        don't provide glyphs for these code points so, if we find one, we
17115        simulate the space glyph being interposed in this case.  Because the
17116        input is variable-length per code point, we walk the input in step
17117        with the output.
17118
17119        Covered by:
17120            LayoutTests/fast/text/international/bidi-linebreak-002.html
17121            LayoutTests/fast/text/international/bidi-linebreak-003.html
17122            LayoutTests/fast/text/international/hindi-whitespace.html
17123
17124        * platform/graphics/chromium/HarfbuzzSkia.cpp:
17125        (WebCore::stringToGlyphs):
17126
171272009-07-02  Victor Wang  <victorw@chromium.org>
17128
17129        Reviewed by Darin Fisher.
17130
17131        https://bugs.webkit.org/show_bug.cgi?id=26521
17132        Expose file size to chromium.
17133
17134        Implement getFileSize() for Chromium.
17135
17136        * platform/chromium/ChromiumBridge.h:
17137        * platform/chromium/FileSystemChromium.cpp:
17138        (WebCore::getFileSize):
17139
171402009-07-02  Nate Chapin  <japhet@chromium.org>
17141
17142        Unreviewed, build fix.
17143
17144        * bindings/v8/V8SVGPODTypeWrapper.h: Lost a space in nested template argument list.
17145
171462009-07-02  Simon Fraser  <simon.fraser@apple.com>
17147
17148        Build fix: add missing #include.
17149
17150        * platform/mac/ThemeMac.mm:
17151
171522009-07-02  Simon Fraser  <simon.fraser@apple.com>
17153
17154        Reviewed by Dave Hyatt.
17155
17156        <rdar://problem/7028682> ThemeMac::paintRadio() throws Obj-C exceptions when zoomed
17157
17158        Add BEGIN_BLOCK_OBJC_EXCEPTIONS/END_BLOCK_OBJC_EXCEPTIONS guards around code
17159        that can possibly throw Objective-C exceptions when drawing Mac form controls.
17160
17161        * platform/mac/ThemeMac.mm:
17162        (WebCore::paintCheckbox):
17163        (WebCore::paintRadio):
17164        (WebCore::paintButton):
17165        (WebCore::ThemeMac::inflateControlPaintRect):
17166
171672009-07-02  Nate Chapin  <japhet@chromium.org>
17168
17169        Reviewed by David Levin.
17170
17171        Upstream V8SVGPODTypeWrapper.
17172
17173        https://bugs.webkit.org/show_bug.cgi?id=26907
17174
17175        * bindings/scripts/CodeGeneratorV8.pm: Update function being renamed in V8SVGPODTypeWrapper.h.
17176        * bindings/v8/V8SVGPODTypeWrapper.h: Upstreamed from src.chromium.org.
17177
171782009-07-02  Dumitru Daniliuc  <dumi@chromium.org>
17179
17180        Reviewed by Dimitri Glazkov.
17181
17182        Adds an abstraction layer between the DB classes and the file
17183        system, which allows us to add our own logic for storing, opening,
17184        deleting, etc. databases.
17185
17186        The patch was tested using the tests in WebCore/storage.
17187
17188        https://bugs.webkit.org/show_bug.cgi?id=26054
17189
17190        * GNUmakefile.am:
17191        * WebCore.pro:
17192        * WebCore.vcproj/WebCore.vcproj:
17193        * WebCore.xcodeproj/project.pbxproj:
17194        * platform/sql/SQLiteDatabase.cpp:
17195        (WebCore::SQLiteDatabase::open): Delegating the job of opening DB files to SQLiteFileSystem to allow use of custom VFSs.
17196        * platform/sql/SQLiteFileSystem.cpp: Added.
17197        * platform/sql/SQLiteFileSystem.h: Added.
17198        * platform/win/FileSystemWin.cpp:
17199        (WebCore::directoryName): Implemented.
17200        * storage/Database.cpp:
17201        (WebCore::Database::databaseSize): The code that returns the size of a DB file moved to SQLiteFileSystem.
17202        * storage/DatabaseTracker.cpp:
17203        (WebCore::DatabaseTracker::DatabaseTracker): Added the ability to register a custom SQLite VFS.
17204        (WebCore::DatabaseTracker::trackerDatabasePath): DB file-related operations moved to SQLiteFileSystem.
17205        (WebCore::DatabaseTracker::openTrackerDatabase): DB file-related operations moved to SQLiteFileSystem.
17206        (WebCore::DatabaseTracker::originPath): DB file-related operations moved to SQLiteFileSystem.
17207        (WebCore::DatabaseTracker::fullPathForDatabase): DB file-related operations moved to SQLiteFileSystem.
17208        (WebCore::DatabaseTracker::usageForDatabase): DB file-related operations moved to SQLiteFileSystem.
17209        (WebCore::DatabaseTracker::deleteOrigin): DB file-related operations moved to SQLiteFileSystem.
17210        (WebCore::DatabaseTracker::deleteDatabaseFile): DB file-related operations moved to SQLiteFileSystem.
17211        * storage/OriginUsageRecord.cpp:
17212        (WebCore::OriginUsageRecord::diskUsage): DB file-related operations moved to SQLiteFileSystem.
17213
172142009-07-02  David Hyatt  <hyatt@apple.com>
17215
17216        Reviewed by Simon Fraser.
17217
17218        Always clip replaced elements to border radii.
17219        https://bugs.webkit.org/show_bug.cgi?id=26933
17220
17221        Make sure to always clip replaced elements to border radii, even when overflow is visible.
17222        Stop defaulting those elements to overflow:hidden in the UA sheet, since it is now no longer
17223        necessary.
17224
17225        Covered by existing tests (since the UA default changing keeps the behavior exactly the same).
17226
17227        * css/html.css:
17228        * rendering/RenderReplaced.cpp:
17229        (WebCore::RenderReplaced::paint):
17230        * rendering/RenderWidget.cpp:
17231        (WebCore::RenderWidget::paint):
17232
172332009-07-02  Jeremy Orlow  <jorlow@chromium.org>
17234
17235        Reviewed by Simon Fraser.
17236
17237        convertFromScrollbarToContainingView and friends should be in ScrollView
17238        https://bugs.webkit.org/show_bug.cgi?id=26929
17239
17240        This is breaking Chromium's build because PopupMenuChromium inherits
17241        from ScrollView, but these functions are pure virtual in it.  I could
17242        put it directly in PopupMenuChromium, but that seems a bit silly since
17243        the functions are fairly generic.
17244
17245        Passes existing layout tests.
17246
17247        * page/FrameView.cpp:  Remove the 4 functions Hyatt just added
17248        (IntRect WebCore::FrameView::convertFromScrollbarToContainingView):
17249        (IntRect WebCore::FrameView::convertFromContainingViewToScrollBar):
17250        (IntPoint WebCore::FrameView::convertFromScrollbarToContainingView):
17251        (IntPoint WebCore::FrameView::convertFromContainingViewToScrollBar):
17252        * page/FrameView.h: ditto
17253        * platform/ScrollView.cpp:  Move the 4 functions from FrameView here
17254        (IntRect WebCore::ScrollView::convertFromScrollbarToContainingView):
17255        (IntRect WebCore::ScrollView::convertFromContainingViewToScrollBar):
17256        (IntPoint WebCore::ScrollView::convertFromScrollbarToContainingView):
17257        (IntPoint WebCore::ScrollView::convertFromContainingViewToScrollBar):
17258        * platform/ScrollView.h: ditto
17259
172602009-07-02  Dirk Pranke  <dpranke@chromium.org>
17261
17262        Reviewed by Darin Fisher.
17263
17264        Fix https://bugs.webkit.org/show_bug.cgi?id=26088 - TransparencyWin
17265        doesn't handle errors well at all; revise it to fail silently
17266        (drawing nothing), and bulletproof FontChromiumWin to handle the
17267        failure accordingly.
17268
17269        Tests: fast/text/text-large-negative-letter-spacing-with-opacity.html
17270               fast/text/text-letter-spacing.html
17271
17272        * platform/graphics/chromium/FontChromiumWin.cpp:
17273        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
17274        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
17275        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter):
17276        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter):
17277        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
17278        (WebCore::Font::drawGlyphs):
17279        (WebCore::Font::drawComplexText):
17280        * platform/graphics/chromium/TransparencyWin.cpp:
17281        (WebCore::TransparencyWin::TransparencyWin):
17282        (WebCore::TransparencyWin::setupLayerForNoLayer):
17283        (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
17284        (WebCore::TransparencyWin::setupLayerForWhiteLayer):
17285        (WebCore::TransparencyWin::setupTransformForKeepTransform):
17286        (WebCore::TransparencyWin::setupTransformForScaleTransform):
17287        (WebCore::TransparencyWin::initializeNewContext):
17288        (WebCore::TransparencyWin::compositeOpaqueComposite):
17289        (WebCore::TransparencyWin::compositeTextComposite):
17290        (WebCore::TransparencyWin::makeLayerOpaque):
17291        * platform/graphics/chromium/TransparencyWin.h:
17292        (WebCore::TransparencyWin::platformContext):
17293
172942009-07-02  Eric Carlson  <eric.carlson@apple.com>
17295
17296        Change #import to #include to fix non-ObjC builds.
17297
17298        * rendering/MediaControlElements.cpp:
17299
173002009-07-02  Anders Carlsson  <andersca@apple.com>
17301
17302        Build fix.
17303
17304        * platform/network/mac/WebCoreURLResponse.mm:
17305        (mimeTypeFromUTITree):
17306
173072009-07-02  David Hyatt  <hyatt@apple.com>
17308
17309        Reviewed by Simon Fraser.
17310
17311        Fix for bug 22119, clicks in the scrollbars of transformed content don't work.  Add new
17312        conversion methods for going across parent/child widget boundaries that can be implemented
17313        by the FrameView and ScrollbarClient to be transform-aware.
17314
17315        Test cases added in platform/mac/fast/forms and platform/mac/fast/overflow.
17316
17317        * WebCore.base.exp:
17318        * page/EventHandler.cpp:
17319        (WebCore::EventHandler::handleMouseMoveEvent):
17320        * page/FrameView.cpp:
17321        (WebCore::FrameView::convertFromScrollbarToContainingView):
17322        (WebCore::FrameView::convertFromContainingViewToScrollbar):
17323        (WebCore::FrameView::convertFromRenderer):
17324        (WebCore::FrameView::convertToRenderer):
17325        (WebCore::FrameView::convertToContainingView):
17326        (WebCore::FrameView::convertFromContainingView):
17327        * page/FrameView.h:
17328        * platform/ScrollView.h:
17329        * platform/Scrollbar.cpp:
17330        (WebCore::Scrollbar::convertToContainingView):
17331        (WebCore::Scrollbar::convertFromContainingView):
17332        * platform/Scrollbar.h:
17333        * platform/ScrollbarClient.h:
17334        (WebCore::ScrollbarClient::convertFromScrollbarToContainingView):
17335        (WebCore::ScrollbarClient::convertFromContainingViewToScrollbar):
17336        * platform/Widget.cpp:
17337        (WebCore::Widget::convertFromContainingWindow):
17338        (WebCore::Widget::convertToContainingWindow):
17339        (WebCore::Widget::convertFromRootToContainingWindow):
17340        (WebCore::Widget::convertFromContainingWindowToRoot):
17341        (WebCore::Widget::convertToContainingView):
17342        (WebCore::Widget::convertFromContainingView):
17343        * platform/Widget.h:
17344        * platform/graphics/IntPoint.h:
17345        (WebCore::IntPoint::move):
17346        * platform/mac/WidgetMac.mm:
17347        (WebCore::Widget::convertFromRootToContainingWindow):
17348        (WebCore::Widget::convertFromContainingWindowToRoot):
17349        * rendering/RenderBlock.cpp:
17350        (WebCore::RenderBlock::isPointInOverflowControl):
17351        * rendering/RenderDataGrid.cpp:
17352        (WebCore::RenderDataGrid::convertFromScrollbarToContainingView):
17353        (WebCore::RenderDataGrid::convertFromContainingViewToScrollbar):
17354        * rendering/RenderDataGrid.h:
17355        * rendering/RenderLayer.cpp:
17356        (WebCore::RenderLayer::convertFromScrollbarToContainingView):
17357        (WebCore::RenderLayer::convertFromContainingViewToScrollbar):
17358        (WebCore::RenderLayer::scrollbarOffset):
17359        (WebCore::RenderLayer::hitTestOverflowControls):
17360        * rendering/RenderLayer.h:
17361        * rendering/RenderListBox.cpp:
17362        (WebCore::RenderListBox::isPointInOverflowControl):
17363        (WebCore::RenderListBox::convertFromScrollbarToContainingView):
17364        (WebCore::RenderListBox::convertFromContainingViewToScrollbar):
17365        * rendering/RenderListBox.h:
17366
173672009-07-02  Dan Bernstein  <mitz@apple.com>
17368
17369        Reviewed by Dave Hyatt and Simon Fraser.
17370
17371        - fix <rdar://problem/6933052> SPOD playing video in a div with a box
17372          shadow
17373
17374        Test: fast/box-shadow/transform-fringing.html
17375
17376        * rendering/RenderBoxModelObject.cpp:
17377        (WebCore::RenderBoxModelObject::paintBoxShadow): Clip out the
17378        box even if it has an opaque background, but in that case, inset the
17379        clip path by 1 pixel, to avoid antialiasing artifacts.
17380        Do not inset the clip rect by 1 pixel if the CTM is purely a
17381        translation.
17382        Move the shadow-casting path away in the non-rounded-rect case (it
17383        was already being done in the rounded-rect case), to avoid a black
17384        fringe when the CTM is not purely a translation.
17385
173862009-07-02  Brady Eidson  <beidson@apple.com>
17387
17388        Reviewed by Sam Weinig.
17389
17390        <rdar://problem/6969425> Safari 4.0 doesn't recognize text/plain files if their extension is unknown.
17391
17392        Walk the CoreTypes UTI tree for extensions with unknown MIME types, using the first MIME type found.
17393
17394        For many types of text files (such as source code files) this ends up being text/plain.
17395
17396        * platform/network/mac/ResourceHandleMac.mm:
17397        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Tweak the logging output.
17398
17399        * platform/network/mac/WebCoreURLResponse.h:
17400        * platform/network/mac/WebCoreURLResponse.mm:
17401        (mimeTypeFromUTITree):
17402        (webNSURLResponseMIMEType): Use mimeTypeFromUTITree() to find a UTI-based MIME type for this file's extension.
17403        (-[NSURLResponse _webcore_reportedMIMEType]): Return the actual MIME type that CFNetwork gave us.
17404
174052009-07-02  Pierre d'Herbemont  <pdherbemont@apple.com>
17406
17407        Reviewed by Simon Fraser.
17408
17409        <rdar://problem/6518119>
17410
17411        Add a rewind button and hide the timeline for live broadcasts when
17412        in MediaUI mode.
17413
17414        * css/CSSPrimitiveValueMappings.h:
17415        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Add the new pseudo element.
17416
17417        * css/CSSSelector.cpp:
17418        (WebCore::CSSSelector::extractPseudoType): Ditto.
17419        * css/CSSSelector.h:
17420
17421        * css/CSSStyleSelector.cpp:
17422        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto.
17423
17424        * css/CSSValueKeywords.in: Ditto.
17425        * css/mediaControls.css: Ditto.
17426        * css/mediaControlsQT.css: Ditto.
17427
17428        * html/HTMLMediaElement.cpp:
17429        (WebCore::HTMLMediaElement::rewind): New.
17430        (WebCore::HTMLMediaElement::returnToRealTime): New.
17431        (WebCore::HTMLMediaElement::isStreaming): New.
17432        * html/HTMLMediaElement.h:
17433
17434        * page/mac/WebCoreViewFactory.h: Declare mediaElementLoadingStateText and mediaElementLiveBroadcastStateText.
17435
17436        * platform/LocalizedStrings.h: Add localized media state messages.
17437
17438        * platform/ThemeTypes.h: Add the new pseudo element.
17439
17440        * platform/mac/LocalizedStringsMac.mm:
17441        (WebCore::mediaElementLoadingStateText): Add localized media state.
17442        (WebCore::mediaElementLiveBroadcastStateText): Ditto.
17443
17444        * platform/mac/WebCoreSystemInterface.h: Change BOOL param wkDrawMediaUIPart to an int to support
17445           multiple states.
17446        * platform/mac/WebCoreSystemInterface.mm: Ditto.
17447
17448        * rendering/MediaControlElements.cpp:
17449        (WebCore::MediaControlElement::MediaControlElement): Deal with new elements.
17450        (WebCore::MediaControlElement::attachToParent): Ditto.
17451        (WebCore::MediaControlElement::update): Ditto.
17452        (WebCore::MediaControlElement::updateStyle): Ditto.
17453        (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement): Ditto.
17454        (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded): Ditto.
17455        (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement): Ditto.
17456        (WebCore::MediaControlStatusDisplayElement::update): Ditto.
17457        (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded): Ditto.
17458        (WebCore::MediaControlInputElement::MediaControlInputElement): Ditto.
17459        (WebCore::MediaControlInputElement::attachToParent): Ditto.
17460        (WebCore::MediaControlInputElement::updateStyle): Ditto.
17461        (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement): Ditto.
17462        (WebCore::MediaControlRewindButtonElement::defaultEventHandler): Ditto.
17463        (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement): Ditto.
17464        (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler): Ditto.
17465        (WebCore::MediaControlReturnToRealtimeButtonElement::rendererIsNeeded): Ditto.
17466        (WebCore::MediaControlTimelineElement::defaultEventHandler): Ditto.
17467        (WebCore::MediaControlTimelineElement::update): Ditto.
17468        (WebCore::MediaControlFullscreenButtonElement::rendererIsNeeded): Ditto.
17469        * rendering/MediaControlElements.h: Ditto.
17470
17471        * rendering/RenderMedia.cpp:
17472        (WebCore::RenderMedia::styleDidChange): Deal with the new elements.
17473        (WebCore::RenderMedia::createPanel): Ditto.
17474        (WebCore::RenderMedia::createRewindButton): Ditto.
17475        (WebCore::RenderMedia::createReturnToRealtimeButton): Ditto.
17476        (WebCore::RenderMedia::createStatusDisplay): Ditto.
17477        (WebCore::RenderMedia::createTimelineContainer): Ditto.
17478        (WebCore::RenderMedia::createCurrentTimeDisplay): Ditto.
17479        (WebCore::RenderMedia::createTimeRemainingDisplay): Ditto.
17480        (WebCore::RenderMedia::updateControls): Ditto.
17481        (WebCore::RenderMedia::forwardEvent): Ditto.
17482        * rendering/RenderMedia.h:
17483
17484        * rendering/RenderTheme.cpp:
17485        (WebCore::RenderTheme::paint): Deal with the new elements.
17486
17487        * rendering/RenderTheme.h:
17488        (WebCore::RenderTheme::paintMediaRewindButton): Deal with the new elements.
17489        (WebCore::RenderTheme::paintMediaReturnToRealtimeButton): Ditto.
17490        (WebCore::RenderTheme::paintMediaControlsBackground): Ditto.
17491
17492        * rendering/RenderThemeMac.h:
17493        * rendering/RenderThemeMac.mm:
17494        (WebCore::RenderThemeMac::paintMediaRewindButton): Deal with the new elements.
17495        (WebCore::RenderThemeMac::paintMediaReturnToRealtimeButton): Ditto.
17496        (WebCore::RenderThemeMac::paintMediaControlsBackground): Ditto.
17497
17498        * rendering/style/RenderStyleConstants.h: Add constants for the new elements.
17499
175002009-07-01  John Abd-El-Malek  <jam@chromium.org>
17501
17502        Reviewed by Darin Fisher.
17503
17504        Small refactoring of MessagePortChannel so that PlatformMessagePortChannel
17505        may be defined at the WebKit layer.
17506
17507        https://bugs.webkit.org/show_bug.cgi?id=26905
17508
17509        * dom/MessageChannel.cpp:
17510        (WebCore::MessageChannel::MessageChannel):
17511        * dom/MessagePortChannel.cpp:
17512        * dom/MessagePortChannel.h:
17513        * dom/default/PlatformMessagePortChannel.cpp:
17514        (WebCore::MessagePortChannel::createChannel):
17515        (WebCore::MessagePortChannel::create):
17516        (WebCore::MessagePortChannel::MessagePortChannel):
17517        (WebCore::MessagePortChannel::~MessagePortChannel):
17518
175192009-07-01  Simon Fraser  <simon.fraser@apple.com>
17520
17521        Reviewed by Dan Bernstein.
17522
17523        <video> fails to show on http://camendesign.com/code/video_for_everybody
17524        <rdar://problem/7026010>
17525        https://bugs.webkit.org/show_bug.cgi?id=26919
17526
17527        Fix an issue introduced in r44961. In that revision we changed to only update
17528        compositing layer geometry when all siblings had been laid out (i.e. we pushed
17529        the updates one level down). However, that left out the root layer, so this
17530        fix ensures that the root layer geometry gets updated at the end.
17531
17532        Test: compositing/geometry/root-layer-update.html
17533
17534        * rendering/RenderLayerBacking.cpp:
17535        (WebCore::RenderLayerBacking::updateAfterLayout):
17536
175372009-07-01  Simon Fraser  <simon.fraser@apple.com>
17538
17539        Reviewed by Dan Bernstein
17540
17541        <rdar://problem/7026010> <video> fails to show on http://camendesign.com/code/video_for_everybody
17542
17543        First part of fix: when outline width changes, don't to a synchronous
17544        layer update right away, but just set the flag to say that compositing
17545        layers need updating. The synchronous layer update left the layer geometries
17546        out of whack when it happened in the middle of layout (e.g. when inside ::first-letter).
17547
17548        Test: compositing/geometry/outline-change.html
17549
17550        * rendering/RenderView.cpp:
17551        (WebCore::RenderView::setMaximalOutlineSize):
17552
175532009-07-01  Kwang Yul Seo  <skyul@company100.net>
17554
17555        Reviewed by Eric Seidel.
17556
17557        https://bugs.webkit.org/show_bug.cgi?id=26842
17558        Build fix when ENABLE_DATABASE is off
17559
17560        Move Database.h into ENABLE(DATABASE) guard so toggling ENABLE_DATABASE
17561        off does not break builds.
17562
17563        * bindings/js/ScriptObjectQuarantine.cpp:
17564
175652009-07-01  Daniel Bates  <dbates@intudata.com>
17566
17567        Reviewed by Adam Barth.
17568
17569        https://bugs.webkit.org/show_bug.cgi?id=26899
17570
17571        Modified XSSAuditor::decodeURL to only remove null characters so that
17572        it is consistent with the behavior of HTMLTokenizer and prevents
17573        injected scripts that contain control characters.
17574
17575        Tests: http/tests/security/xssAuditor/script-tag-control-char.html
17576               http/tests/security/xssAuditor/script-tag-null-char.html
17577
17578        * page/XSSAuditor.cpp:
17579        (WebCore::XSSAuditor::decodeURL): Modified to only remove null characters.
17580        * page/XSSAuditor.h: Reverted naming of third argument of method XSSAuditor::decodeURL
17581        from allowControlCharacters back to allowNullCharacters.
17582        * platform/network/ResourceResponseBase.cpp: Reverted back to rev #45003.
17583        (WebCore::isControlCharacter):
17584        * platform/network/ResourceResponseBase.h: Reverted back to rev #45003.
17585
175862009-07-01  Yury Semikhatsky  <yurys@chromium.org>
17587
17588        Reviewed by Timothy Hatcher.
17589
17590        - supported keyboard shortcuts compatible with Firebug in Scripts Debugger:
17591        F5, Ctrl+/ (win,lin), Command+/ (mac) - continue
17592        F10, Ctrl+' (win, lin), Command+' (mac) - step over
17593        F11, Ctrl+; (win, lin), Command+; (mac) - step into
17594        Shift+F11, Ctrl+Shift+; (win, lin), Command+Shift+; (mac) - step out
17595
17596        - added call stack navigation shortcuts:
17597        Ctrl+. - next call frame
17598        Ctrl+, - previouse call frame
17599
17600        https://bugs.webkit.org/show_bug.cgi?id=23849
17601
17602        * inspector/front-end/CallStackSidebarPane.js:
17603        (WebInspector.CallStackSidebarPane):
17604        (WebInspector.CallStackSidebarPane.prototype.handleKeyEvent):
17605        (WebInspector.CallStackSidebarPane.prototype._selectNextCallFrameOnStack):
17606        (WebInspector.CallStackSidebarPane.prototype._selectPreviousCallFrameOnStack):
17607        (WebInspector.CallStackSidebarPane.prototype._selectedPlacardByIndex):
17608        (WebInspector.CallStackSidebarPane.prototype._selectedCallFrameIndex):
17609        * inspector/front-end/KeyboardShortcut.js: Added.
17610        (WebInspector.KeyboardShortcut):
17611        (WebInspector.KeyboardShortcut.makeKey):
17612        (WebInspector.KeyboardShortcut.makeKeyFromEvent):
17613        (WebInspector.KeyboardShortcut.makeKeyFromCodeAndModifiers_):
17614        * inspector/front-end/ScriptsPanel.js:
17615        (WebInspector.ScriptsPanel):
17616        (WebInspector.ScriptsPanel.prototype.handleKeyEvent):
17617        * inspector/front-end/WebKit.qrc:
17618        * inspector/front-end/inspector.html:
17619
176202009-07-01  Daniel Erat  <derat@google.com>
17621
17622        Reviewed by David Levin.
17623
17624        Chromium Linux: Move the scrollbar thumb on middle-click.
17625
17626        https://bugs.webkit.org/show_bug.cgi?id=26910
17627        http://code.google.com/p/chromium/issues/detail?id=11976
17628
17629        Tested by building Chrome and checking that the scrollbar moves as expected.
17630
17631        * platform/chromium/ScrollbarThemeChromium.cpp:
17632        * platform/chromium/ScrollbarThemeChromium.h:
17633        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
17634        * platform/chromium/ScrollbarThemeChromiumLinux.h:
17635        * platform/chromium/ScrollbarThemeChromiumWin.cpp:
17636        * platform/chromium/ScrollbarThemeChromiumWin.h:
17637
176382009-07-01  Brady Eidson  <beidson@apple.com>
17639
17640        Reviewed by Sam Weinig.
17641
17642        Add a preference/setting to toggle whether content sniffing is enabled for file URLs.
17643
17644        * WebCore.base.exp:
17645
17646        * page/Settings.cpp:
17647        (WebCore::Settings::setLocalFileContentSniffingEnabled):
17648        * page/Settings.h:
17649        (WebCore::Settings::localFileContentSniffingEnabled):
17650
17651        * platform/network/mac/ResourceHandleMac.mm:
17652        (WebCore::ResourceHandle::start):
17653        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
17654
176552009-07-01  Chris Fleizach  <cfleizach@apple.com>
17656
17657        Reviewed by Oliver Hunt.
17658
17659        Bug 26909: aria-label needs to be supported
17660        https://bugs.webkit.org/show_bug.cgi?id=26909
17661
17662        Test: accessibility/aria-label.html
17663
17664        * accessibility/AccessibilityRenderObject.cpp:
17665        (WebCore::AccessibilityRenderObject::accessibilityDescription):
17666        * html/HTMLAttributeNames.in:
17667
176682009-07-01  David Hyatt  <hyatt@apple.com>
17669
17670        Reviewed by Oliver Hunt.
17671
17672        More datagrid columns work.  Make sure columns cache both a style for the column header as well
17673        as a style for the column background (behind the cells).
17674
17675        Hook up to CSSStyleSelector methods for obtaining the pseudo styles for columns (stubbed out and
17676        unimplemented).
17677
17678        * css/CSSStyleSelector.cpp:
17679        (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumn):
17680        (WebCore::CSSStyleSelector::pseudoStyleForDataGridColumnHeader):
17681        * css/CSSStyleSelector.h:
17682        * html/DataGridColumn.h:
17683        (WebCore::DataGridColumn::setColumnList):
17684        (WebCore::DataGridColumn::columnStyle):
17685        (WebCore::DataGridColumn::setColumnStyle):
17686        (WebCore::DataGridColumn::headerStyle):
17687        (WebCore::DataGridColumn::setHeaderStyle):
17688        * rendering/RenderDataGrid.cpp:
17689        (WebCore::RenderDataGrid::recalcStyleForColumn):
17690        (WebCore::RenderDataGrid::columnStyle):
17691        (WebCore::RenderDataGrid::headerStyle):
17692        (WebCore::RenderDataGrid::paintColumnHeaders):
17693        * rendering/RenderDataGrid.h:
17694
176952009-07-01  Eric Carlson  <eric.carlson@apple.com>
17696
17697        Reviewed by Oliver Hunt.
17698
17699        <rdar://problem/7009870> After <audio> movie finishes playing, Pause button fails to change
17700        back to Play button
17701
17702        Grab onto the current time when QTKit "ended" notification fires and use it as
17703        duration from that point on as QuickTime sometimes refuses to play all the way to
17704        the time it reports for duration and buffered. HTMLMediaElement assumes that there
17705        more to play in this situation and tries to restart playback, endlessly.
17706
17707        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
17708            Rename m_duration to m_reportedDuration. Declare m_cachedDuration.
17709        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
17710        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
17711            Rename m_duration to m_reportedDuration. Initialize m_cachedDuration.
17712        (WebCore::MediaPlayerPrivate::duration):
17713            Return m_cachedDuration once it has been set.
17714        (WebCore::MediaPlayerPrivate::updateStates):
17715            Rename m_duration to m_reportedDuration.
17716        (WebCore::MediaPlayerPrivate::didEnd):
17717            Set m_cachedDuration to currentTime().
17718
177192009-07-01  Chris Fleizach  <cfleizach@apple.com>
17720
17721        Reviewed by Beth Dakin.
17722
17723        Bug 26900: AX: Manual spell check with Command-; does not bring up suggestions
17724        https://bugs.webkit.org/show_bug.cgi?id=26900
17725
17726        Editable web areas should have a clickpoint that uses where the selection is.
17727
17728        Test: accessibility/editable-webarea-context-menu-point.html
17729
17730        * accessibility/AccessibilityObject.h:
17731        * accessibility/AccessibilityRenderObject.cpp:
17732        (WebCore::AccessibilityRenderObject::clickPoint):
17733        * accessibility/AccessibilityRenderObject.h:
17734        * accessibility/mac/AccessibilityObjectWrapper.mm:
17735        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
17736
177372009-07-01  David Levin  <levin@chromium.org>
17738
17739        Reviewed by Eric Seidel.
17740
17741        Remove unused code in SVGTransformList and SVGTransformDistance
17742        <https://bugs.webkit.org/show_bug.cgi?id=26891>
17743
17744        * svg/SVGTransformDistance.cpp:
17745        (WebCore::SVGTransformDistance::SVGTransformDistance):
17746        * svg/SVGTransformList.cpp:
17747        * svg/SVGTransformList.h:
17748
177492009-07-01  David Hyatt  <hyatt@apple.com>
17750
17751        Reviewed by Anders Carlsson.
17752
17753        Begin stubbing out functions for layout, painting and style/geometry caching on columns.  Not enough
17754        is implemented for this to do much of anything yet, but it should help keep patch sizes down. :)
17755
17756        * html/DataGridColumn.cpp:
17757        (WebCore::DataGridColumn::columnChanged):
17758        * html/DataGridColumn.h:
17759        (WebCore::DataGridColumn::setId):
17760        (WebCore::DataGridColumn::setLabel):
17761        (WebCore::DataGridColumn::setType):
17762        (WebCore::DataGridColumn::setSortable):
17763        (WebCore::DataGridColumn::setSortDirection):
17764        (WebCore::DataGridColumn::setColumnList):
17765        (WebCore::DataGridColumn::style):
17766        (WebCore::DataGridColumn::setStyle):
17767        (WebCore::DataGridColumn::rect):
17768        (WebCore::DataGridColumn::setRect):
17769        * html/DataGridColumnList.cpp:
17770        (WebCore::DataGridColumnList::DataGridColumnList):
17771        (WebCore::DataGridColumnList::setDataGridNeedsLayout):
17772        (WebCore::DataGridColumnList::add):
17773        (WebCore::DataGridColumnList::remove):
17774        (WebCore::DataGridColumnList::move):
17775        (WebCore::DataGridColumnList::clear):
17776        (WebCore::DataGridColumnList::primaryColumnChanged):
17777        * html/DataGridColumnList.h:
17778        (WebCore::DataGridColumnList::create):
17779        (WebCore::DataGridColumnList::dataGrid):
17780        (WebCore::DataGridColumnList::clearDataGrid):
17781        * html/HTMLDataGridColElement.cpp:
17782        (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
17783        (WebCore::HTMLDataGridColElement::findDataGridAncestor):
17784        (WebCore::HTMLDataGridColElement::insertedIntoTree):
17785        (WebCore::HTMLDataGridColElement::removedFromTree):
17786        * html/HTMLDataGridColElement.h:
17787        (WebCore::HTMLDataGridColElement::dataGrid):
17788        * html/HTMLDataGridElement.cpp:
17789        (WebCore::HTMLDataGridElement::HTMLDataGridElement):
17790        (WebCore::HTMLDataGridElement::~HTMLDataGridElement):
17791        * rendering/RenderDataGrid.cpp:
17792        (WebCore::RenderDataGrid::styleDidChange):
17793        (WebCore::RenderDataGrid::recalcStyleForColumns):
17794        (WebCore::RenderDataGrid::recalcStyleForColumn):
17795        (WebCore::RenderDataGrid::styleForColumn):
17796        (WebCore::RenderDataGrid::layout):
17797        (WebCore::RenderDataGrid::layoutColumns):
17798        (WebCore::RenderDataGrid::paintColumnHeaders):
17799        (WebCore::RenderDataGrid::paintColumnHeader):
17800        * rendering/RenderDataGrid.h:
17801        (WebCore::RenderDataGrid::renderName):
17802        (WebCore::RenderDataGrid::canHaveChildren):
17803
178042009-07-01  Daniel Bates  <dbates@intudata.com>
17805
17806        Reviewed by Adam Barth.
17807
17808        https://bugs.webkit.org/show_bug.cgi?id=26807
17809
17810        Fixes this address by checking whether frame->document()->decoder() is null.
17811
17812        * page/XSSAuditor.cpp:
17813        (WebCore::XSSAuditor::findInRequest):
17814
178152009-07-01  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
17816
17817        Reviewed by George Staikos.
17818
17819        Fixes: https://bugs.webkit.org/show_bug.cgi?id=26885
17820
17821        Correctly reset history length to '0', not '1'. Old relict from early WML days.
17822        Add some new WML testcases covering the use of history length (by onenterforward event handling)
17823
17824        Tests: wml/onenterforward-event.html
17825               wml/onenterforward-inline-event.html
17826               wml/ontimer-event.html
17827
17828        * wml/WMLPageState.cpp:
17829        (WebCore::WMLPageState::reset):
17830
178312009-07-01  David Hyatt  <hyatt@apple.com>
17832
17833        Reviewed by Simon Fraser.
17834
17835        Make sure setting attributes on dcol elements properly updates the corresponding DataGridColumn object.
17836
17837        Added new test in fast/dom/HTMLDataGridElement.
17838
17839        * html/HTMLDataGridColElement.cpp:
17840        (WebCore::HTMLDataGridColElement::parseMappedAttribute):
17841        * html/HTMLDataGridColElement.h:
17842
178432009-07-01  David Hyatt  <hyatt@apple.com>
17844
17845        Reviewed by Tim Hatcher.
17846
17847        <rdar://problem/6998524> REGRESSION (r44474): Form text field has focus ring, looks focused,
17848        even though the field is not actually focused for keyboard input
17849
17850        Add the concept of whether or not the Page is focused by adding a boolean to the focusController.  This allows the
17851        focused frame and focused node to both be cached and changed programmatically even when the Page itself doesn't
17852        actually happen to have focus at that time.
17853
17854        * WebCore.base.exp:
17855        * page/FocusController.cpp:
17856        (WebCore::FocusController::FocusController):
17857        (WebCore::FocusController::setFocusedFrame):
17858        (WebCore::FocusController::setFocused):
17859        (WebCore::FocusController::setActive):
17860        * page/FocusController.h:
17861        (WebCore::FocusController::isFocused):
17862
178632009-07-01  Jakub Wieczorek  <faw217@gmail.com>
17864
17865        Reviewed by Simon Hausmann.
17866
17867        [Qt] Move some API headers from WebCore.pro to headers.pri so that they
17868        get installed when running make install from the build directory.
17869
17870        * WebCore.pro:
17871
178722009-07-01  Simon Hausmann  <simon.hausmann@nokia.com>
17873
17874        Rubber-stamped by Ariya Hidayat.
17875
17876        Ran WebKitTools/Scripts/generate-qt-inspector-resource to update the
17877        qrc file with new png files from the web inspector.
17878
17879        * inspector/front-end/WebKit.qrc:
17880
178812009-06-30  Mark Rowe  <mrowe@apple.com>
17882
17883        Land some code that has a hope of compiling.
17884
17885        * platform/graphics/cg/ImageSourceCG.cpp:
17886        (WebCore::imageSourceOptions):
17887
178882009-06-30  Stephanie Lewis  <slewis@apple.com>
17889
17890        Reviewed by Simon Fraser.
17891
17892        Flip back on block caching. Throwing away block data, while
17893        a perceived memory win, is a performance hit in cases where we
17894        are repainting large images (i.e. backgrounds) frequently
17895        (i.e. a flash video playing on top).
17896        <rdar://problem/6933515> REGRESSION(L-SL): Large JPEG images are
17897        decoded on drawing, slowing down painting of sites that frequently
17898        repaint e.g. because of Flash (pandora.com, Starcraft 2)
17899
17900        * platform/graphics/cg/ImageSourceCG.cpp:
17901        (WebCore::imageSourceOptions):
17902
179032009-06-30  Maciej Stachowiak  <mjs@apple.com>
17904
17905        Reviewed by Sam Weinig.
17906
17907        - Rename html4.css to html.css, since we target HTML5 now
17908        https://bugs.webkit.org/show_bug.cgi?id=26873
17909
17910        * DerivedSources.make:
17911        * GNUmakefile.am:
17912        * WebCore.pro:
17913        * WebCore.vcproj/WebCore.vcproj:
17914        * WebCore.xcodeproj/project.pbxproj:
17915        * css/CSSStyleSelector.cpp:
17916        (WebCore::loadFullDefaultStyle):
17917        * css/html.css: Copied from css/html4.css.
17918        * css/html4.css: Removed.
17919        * css/themeWin.css:
17920        * platform/Theme.h:
17921        * platform/qt/RenderThemeQt.cpp:
17922        (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
17923        * rendering/RenderTheme.h:
17924
179252009-06-30  Zan Dobersek  <zandobersek@gmail.com>
17926
17927        Reviewed by Gustavo Noronha.
17928
17929        [GTK] Drag and drop support
17930        https://bugs.webkit.org/show_bug.cgi?id=23642
17931
17932        Define DragImageRef as GdkPixbuf and implement essential
17933        functions which manipulate drag images.
17934
17935        * platform/DragImage.h:
17936        * platform/gtk/DragImageGtk.cpp:
17937        (WebCore::dragImageSize):
17938        (WebCore::deleteDragImage):
17939        (WebCore::scaleDragImage):
17940        (WebCore::createDragImageFromImage):
17941
179422009-06-30  Maxime Simon  <simon.maxime@gmail.com>
17943
17944        Reviewed by Eric Seidel.
17945
17946        StorageNamespace.cpp build issue
17947        https://bugs.webkit.org/show_bug.cgi?id=26859
17948
17949        Moved #endif //ENABLE(DOM_STORAGE) position
17950        so that the build doesn't fail.
17951        The namespace WebCore was started after the #if ENABLE(DOM_STORAGE)
17952        but closed after the #endif.
17953
17954        * storage/StorageNamespace.cpp:
17955
179562009-06-30  Eric Carlson  <eric.carlson@apple.com>
17957
17958        Reviewed by Oliver Hunt.
17959
17960        <rdar://problem/7020825> HTMLMediaElement should not assume seeking is only possible in
17961        buffered time ranges
17962
17963        * html/HTMLMediaElement.cpp:
17964            Don't ASSERT if the network state goes to Idle when when the ready state is
17965            HaveEnoughData or higher, it is perfectly legal.
17966        (WebCore::HTMLMediaElement::setReadyState):
17967            Don't clear m_seeking after posting a 'seeking' event.
17968
17969        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
17970        (WebCore::MediaPlayerPrivate::seek):
17971            Do nothing when asked to seek to the same time we are already seeking to. Check requested
17972            seek time against maxTimeSeekable, not maxTimeLoaded.
17973        (WebCore::MediaPlayerPrivate::doSeek):
17974            Don't bother stopping a movie that isn't playing. Minor cleanup to make the code more readable.
17975        (WebCore::MediaPlayerPrivate::seekTimerFired):
17976            Check requested seek time against maxTimeSeekable, not maxTimeLoaded.
17977        (WebCore::MediaPlayerPrivate::updateStates):
17978            A streaming movie has as much data as it needs once it reaches "playable", so
17979            set the ready state to HaveFutureData. A movie with metadata doesn't drop back
17980            to "have nothing" when seeking. A streaming movie doesn't use the network when paused.
17981        (WebCore::MediaPlayerPrivate::timeChanged):
17982            It may not be possible to seek to a specific time in a streamed movie but when seeking
17983            in a streaming movie QuickTime sets the time to closest time possible and posts a
17984            timechanged notification, so update m_seekTo so we can detect when the seek completes.
17985
179862009-06-30  Steve Falkenburg  <sfalken@apple.com>
17987
17988        https://bugs.webkit.org/show_bug.cgi?id=26860
17989
17990        Reviewed by Sam Weinig.
17991
17992        Blacklist Yahoo Application State plug-in for versions prior to 1.0.0.6.
17993        Earlier versions cause corruption crashes.
17994
17995        * plugins/win/PluginPackageWin.cpp:
17996        (WebCore::PluginPackage::isPluginBlacklisted):
17997
179982009-06-30  Dean Jackson  <dino@apple.com>
17999
18000        Reviewed by Simon Fraser.
18001
18002        <rdar://problem/7005207> <video> in canvas broken with ACCEL_COMPOSITING
18003
18004        Fix drawImage of video in CanvasRenderingContext2D when
18005        accelerated compositing is enabled. This is done by
18006        adding a new paint method to HTMLVideoElement that
18007        is only called from canvas, which will create the software
18008        renderer if necessary, but otherwise calls the regular
18009        paint method. Meanwhile, add logic to the software video
18010        renderer so that it can be created without calling repaint
18011        every time it sees a new frame.
18012
18013        * html/CanvasRenderingContext2D.cpp:
18014        (WebCore::CanvasRenderingContext2D::drawImage):
18015        * html/HTMLVideoElement.cpp:
18016        (WebCore::HTMLVideoElement::paintCurrentFrameInContext):
18017        * html/HTMLVideoElement.h:
18018        * platform/graphics/MediaPlayer.cpp:
18019        (WebCore::MediaPlayer::paintCurrentFrameInContext):
18020        * platform/graphics/MediaPlayer.h:
18021        * platform/graphics/MediaPlayerPrivate.h:
18022        (WebCore::MediaPlayerPrivateInterface::paintCurrentFrameInContext):
18023        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
18024        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
18025        (WebCore::MediaPlayerPrivate::createQTMovie):
18026        (WebCore::MediaPlayerPrivate::createQTVideoRenderer):
18027        (WebCore::MediaPlayerPrivate::currentRenderingMode):
18028        (WebCore::MediaPlayerPrivate::setUpVideoRendering):
18029        (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
18030        (WebCore::MediaPlayerPrivate::paintCurrentFrameInContext):
18031
180322009-06-30  David Hyatt  <hyatt@apple.com>
18033
18034        Reviewed by Beth Dakin.
18035
18036        https://bugs.webkit.org/show_bug.cgi?id=26858
18037
18038        Get <dcol> elements reflected into the datagrid's column list.  Make sure columns get added/removed
18039        properly.  (Attribute changes are still not caught.  That is coming in a separate patch.)
18040
18041        Added fast/dom/HTMLDataGridElement/DataGridColumns-dom.html
18042
18043        * html/DataGridColumn.h:
18044        (WebCore::DataGridColumn::create):
18045        (WebCore::DataGridColumn::setColumnList):
18046        (WebCore::DataGridColumn::DataGridColumn):
18047        * html/DataGridColumnList.cpp:
18048        (WebCore::DataGridColumnList::add):
18049        (WebCore::DataGridColumnList::remove):
18050        (WebCore::DataGridColumnList::clear):
18051        * html/DataGridColumnList.h:
18052        * html/HTMLDataGridColElement.cpp:
18053        (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
18054        (WebCore::HTMLDataGridColElement::findDatagridAncestor):
18055        (WebCore::HTMLDataGridColElement::ensureColumn):
18056        (WebCore::HTMLDataGridColElement::insertedIntoTree):
18057        (WebCore::HTMLDataGridColElement::removedFromTree):
18058        (WebCore::HTMLDataGridColElement::sortable):
18059        (WebCore::HTMLDataGridColElement::setSortable):
18060        * html/HTMLDataGridColElement.h:
18061        (WebCore::HTMLDataGridColElement::column):
18062        (WebCore::HTMLDataGridColElement::setColumn):
18063        (WebCore::HTMLDataGridColElement::datagrid):
18064        * html/HTMLDataGridElement.cpp:
18065        (WebCore::HTMLDataGridElement::setDataSource):
18066        (WebCore::HTMLDataGridElement::dataSource):
18067
180682009-06-30  Jeremy Orlow (jorlow@chromium.org)
18069
18070        Reviewed by David Levin.
18071
18072        https://bugs.webkit.org/show_bug.cgi?id=26852
18073
18074        Fix some minor build issues in the v8 bindings.
18075
18076        * bindings/v8/custom/V8StorageCustom.cpp:
18077        (WebCore::V8Custom::v8StorageNamedPropertyEnumerator):
18078        (WebCore::storageGetter):
18079        (WebCore::storageSetter):
18080        (WebCore::storageDeleter):
18081        * storage/StorageArea.cpp:
18082
180832009-06-30  Adam Langley  <agl@google.com>
18084
18085        Reviewed by Eric Seidel.
18086
18087        Chromium Linux: use different fonts for each script run.
18088
18089        https://bugs.webkit.org/show_bug.cgi?id=26853
18090
18091        Previously, when rendering complex text, we picked a single font which
18092        could render all the glyphs needed for the run. However, this meant
18093        that sometimes lines were rendered with, for example, [LATIN, THAI,
18094        LATIN] and we could end up with a different font for the Latin parts
18095        than for lines without Thai in them.
18096
18097        With this patch, we pick a font for each script run.
18098
18099        This change is covered by existing layout tests.
18100
18101        * platform/graphics/chromium/FontLinux.cpp:
18102        (WebCore::Font::drawGlyphs):
18103        (WebCore::TextRunWalker::TextRunWalker):
18104        (WebCore::TextRunWalker::~TextRunWalker):
18105        (WebCore::TextRunWalker::nextScriptRun):
18106        (WebCore::TextRunWalker::fontPlatformDataForScriptRun):
18107        (WebCore::TextRunWalker::setupFontForScriptRun):
18108        (WebCore::TextRunWalker::allocHarfbuzzFont):
18109        (WebCore::setupForTextPainting):
18110        (WebCore::Font::drawComplexText):
18111        (WebCore::Font::floatWidthForComplexText):
18112        (WebCore::Font::offsetForPositionForComplexText):
18113        (WebCore::Font::selectionRectForComplexText):
18114        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
18115        (WebCore::FontPlatformData::setupPaint):
18116
181172009-06-30  Simon Fraser  <simon.fraser@apple.com>
18118
18119        Reviewed by Dave Hyatt, Dan Bernstein.
18120
18121        <rdar://problem/6191676> Redraw issues scrolling overflow:scroll div with compositing
18122
18123        There are two parts to this fix. First, if a compositing layer has overflow clipping
18124        or a mask, then the compositing layer does not need to be sized to encompass all
18125        non-composited children.
18126
18127        Second, when scrolling, we have to back up to the compositing ancestor and have
18128        it reposition descendant compositing layers, because overflow doesn't follow
18129        the z-order tree.
18130
18131        Test: compositing/overflow/overflow-scroll.html
18132
18133        * page/FrameView.cpp:
18134        (WebCore::FrameView::layout):
18135        Pass the UpdateCompositingLayers flag when updating layers after layout, so that
18136        we can reposition compositing layers if we're not about to do a layer rebuild.
18137
18138        * rendering/RenderLayer.cpp:
18139        (WebCore::RenderLayer::updateLayerPositions):
18140        Only update compositing layers if the flag is set.
18141
18142        (WebCore::RenderLayer::scrollToOffset):
18143        Do compositing layer updates from the compositing ancestor in one fell swoop.
18144
18145        * rendering/RenderLayer.h:
18146        Replace the unused FullUpdate flag with one that allows us to specify whether
18147        compositing layers should be updated.
18148
18149        * rendering/RenderLayerBacking.cpp:
18150        (WebCore::RenderLayerBacking::updateAfterLayout):
18151        * rendering/RenderLayerBacking.h:
18152        New param that we can pass to updateCompositingDescendantGeometry to control
18153        whether the update goes deep.
18154
18155        * rendering/RenderLayerCompositor.cpp:
18156        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
18157        We can return earlier if this is not a self-painting layer.
18158        If the layer has overflow clip or a mask, then the composited bounds are just the
18159        local bounds, excluding descendants.
18160
18161        (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
18162        * rendering/RenderLayerCompositor.h:
18163        Renamed from updateCompositingChildrenGeometry, and added a flag that allows
18164        us to do a deep update.
18165
181662009-06-30  Alexey Proskuryakov  <ap@webkit.org>
18167
18168        Reviewed by Dan Bernstein.
18169
18170        https://bugs.webkit.org/show_bug.cgi?id=26764
18171        Uncaught NOT_FOUND_ERR: DOMException 8 loading empty text file
18172
18173        Test: fast/parser/empty-text-resource.html
18174
18175        * loader/TextDocument.cpp: (WebCore::TextTokenizer::finish): Create document tree if it
18176        hasn't been created yet.
18177
181782009-06-30  Brian Weinstein  <bweinstein@apple.com>
18179
18180        Reviewed by Adam Roben.
18181
18182        Renamed scrollbarUnderPoint to scrollbarAtPoint.
18183
18184        * page/EventHandler.cpp:
18185        (WebCore::EventHandler::hitTestResultAtPoint):
18186        (WebCore::EventHandler::handleMousePressEvent):
18187        (WebCore::EventHandler::handleMouseMoveEvent):
18188        * platform/ScrollView.cpp:
18189        (WebCore::ScrollView::scrollbarAtPoint):
18190        * platform/ScrollView.h:
18191        * platform/chromium/PopupMenuChromium.cpp:
18192        (WebCore::PopupListBox::handleMouseDownEvent):
18193        (WebCore::PopupListBox::handleMouseMoveEvent):
18194
181952009-06-30  Oliver Hunt  <oliver@apple.com>
18196
18197        Reviewed by Geoff Garen.
18198
18199        <rdar://problem/6960286> CrashTracer: [REGRESSION] 1120 crashes in Safari at com.apple.WebCore WebCore::JSLazyEventListener::parseCode const + 62
18200
18201        <select> elements and other elements the produce popups can keep their popups
18202        live across a page load.  If this occurs and the <select> element has an
18203        onchange handler it is possible to get into a state where we try to execute
18204        JS on a page that no longer has an execution context.
18205
18206        * bindings/js/JSLazyEventListener.cpp:
18207        (WebCore::JSLazyEventListener::parseCode):
18208          Be paranoid and add a null check, but assert as well because we shouldn't
18209          actually get to this point.
18210        * rendering/RenderMenuList.cpp:
18211        (WebCore::RenderMenuList::valueChanged):
18212
182132009-06-30  Drew Wilson  <atwilson@google.com>
18214
18215        Reviewed by David Levin.
18216
18217        <https://bugs.webkit.org/show_bug.cgi?id=25435>
18218
18219        Added support for sending MessagePorts to/from Workers via postMessage().
18220
18221        * bindings/js/JSWorkerContextCustom.cpp:
18222        (WebCore::JSWorkerContext::messageChannel):
18223        Exposes MessageChannel constructor WorkerContext.
18224        * bindings/js/JSWorkerCustom.cpp:
18225        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
18226        (WebCore::CALLBACK_FUNC_DECL):
18227        Now correctly handles being instantiated from within a Worker.
18228       * platform/CrossThreadCopier.h:
18229        (WebCore::GenericWorkerTaskTraits<PassOwnPtr>):
18230        Added support for passing PassOwnPtr as argument to GenericWorkerTask
18231       * workers/GenericWorkerTask.h:
18232        (WebCore::):
18233        * workers/Worker.cpp:
18234        (WebCore::Worker::postMessage):
18235        Now handles disentangling/entangling MessagePorts sent to/from via postMessage.
18236        (WebCore::Worker::dispatchMessage):
18237        * workers/Worker.h:
18238        * workers/Worker.idl:
18239        Added an optional MessagePort argument to postMessage()
18240        * workers/WorkerContext.cpp:
18241        (WebCore::WorkerContext::hasPendingActivity):
18242        Workers now report pending activity whenever there are remotely entangled ports.
18243        (WebCore::WorkerContext::postMessage):
18244        Now handles disentangling/entangling MessagePorts sent to/from via postMessage.
18245        (WebCore::WorkerContext::dispatchMessage):
18246        * workers/WorkerContext.h:
18247        * workers/WorkerContext.idl:
18248        Added an optional MessagePort argument to postMessage()
18249        * workers/WorkerContextProxy.h:
18250        * workers/WorkerMessagingProxy.cpp:
18251        Updated messaging infrastructure to transport an optional MessagePort/MessagePortChannel.
18252        (WebCore::MessageWorkerContextTask::create):
18253        (WebCore::MessageWorkerContextTask::MessageWorkerContextTask):
18254        (WebCore::MessageWorkerContextTask::performTask):
18255        (WebCore::MessageWorkerTask::create):
18256        (WebCore::MessageWorkerTask::MessageWorkerTask):
18257        (WebCore::MessageWorkerTask::performTask):
18258        (WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
18259        (WebCore::WorkerMessagingProxy::postMessageToWorkerContext):
18260        * workers/WorkerMessagingProxy.h:
18261        Added additional postMessage() API that accepts a MessagePort
18262        * workers/WorkerObjectProxy.h:
18263        Added additional postMessage() API that accepts a MessagePort
18264
182652009-06-30  Adam Langley  <agl@google.com>
18266
18267        Reviewed by Eric Seidel.
18268
18269        Chromium: Add complex text support on Linux.
18270
18271        https://bugs.webkit.org/show_bug.cgi?id=25068
18272
18273        This patch adds complex text support on Linux using Harfbuzz. It's not
18274        the fastest code possible: some caching of font tables will certainly
18275        be required. However, it's probably the simplest code that works.
18276
18277        This will require checking in new baselines in the Chromium tree for
18278        those layout tests which now pass.
18279
18280        * platform/graphics/chromium/FontLinux.cpp:
18281        (WebCore::Font::drawGlyphs):
18282        (WebCore::truncateFixedPointToInteger):
18283        (WebCore::TextRunWalker::TextRunWalker):
18284        (WebCore::TextRunWalker::~TextRunWalker):
18285        (WebCore::TextRunWalker::reset):
18286        (WebCore::TextRunWalker::setXOffsetToZero):
18287        (WebCore::TextRunWalker::rtl):
18288        (WebCore::TextRunWalker::setBackwardsIteration):
18289        (WebCore::TextRunWalker::nextScriptRun):
18290        (WebCore::TextRunWalker::glyphs):
18291        (WebCore::TextRunWalker::length):
18292        (WebCore::TextRunWalker::xPositions):
18293        (WebCore::TextRunWalker::advances):
18294        (WebCore::TextRunWalker::width):
18295        (WebCore::TextRunWalker::logClusters):
18296        (WebCore::TextRunWalker::numCodePoints):
18297        (WebCore::TextRunWalker::widthOfFullRun):
18298        (WebCore::TextRunWalker::allocHarfbuzzFont):
18299        (WebCore::TextRunWalker::deleteGlyphArrays):
18300        (WebCore::TextRunWalker::createGlyphArrays):
18301        (WebCore::TextRunWalker::expandGlyphArrays):
18302        (WebCore::TextRunWalker::shapeGlyphs):
18303        (WebCore::TextRunWalker::setGlyphXPositions):
18304        (WebCore::setupForTextPainting):
18305        (WebCore::fontPlatformDataForTextRun):
18306        (WebCore::Font::drawComplexText):
18307        (WebCore::Font::floatWidthForComplexText):
18308        (WebCore::glyphIndexForXPositionInScriptRun):
18309        (WebCore::Font::offsetForPositionForComplexText):
18310        (WebCore::Font::selectionRectForComplexText):
18311        * platform/graphics/chromium/HarfbuzzSkia.cpp: Added.
18312        (WebCore::SkiaScalarToHarfbuzzFixed):
18313        (WebCore::stringToGlyphs):
18314        (WebCore::glyphsToAdvances):
18315        (WebCore::canRender):
18316        (WebCore::getOutlinePoint):
18317        (WebCore::getGlyphMetrics):
18318        (WebCore::getFontMetric):
18319        (WebCore::harfbuzzSkiaGetTable):
18320
183212009-06-30  Eric Carlson  <eric.carlson@apple.com>
18322
18323        Reviewed by Simon Fraser.
18324
18325        <rdar://problem/7019799> Slow loading MediaDocument can fall back to plug-in unnecessarily
18326
18327        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
18328        (WebCore::MediaPlayerPrivate::updateStates):
18329            Always fall back to a plug-in if m_hasUnsupportedTracks is set.
18330        (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
18331            Set m_hasUnsupportedTracks if we disable a track.
18332
183332009-06-30  Nate Chapin  <japhet@chromium.org>
18334
18335        Reviewed by Dimitri Glazkov.
18336
18337        Fix inverted if/else that's causing a layout test in src.chromium.org to fail.
18338
18339        https://bugs.webkit.org/show_bug.cgi?id=26820
18340
18341        * bindings/v8/V8Proxy.cpp:
18342        (WebCore::GCPrologueVisitor::visitDOMWrapper): if (port2), not if (!port2).
18343
183442009-06-30  Dan Bernstein  <mitz@apple.com>
18345
18346        Reviewed by Dave Hyatt.
18347
18348        - fix <rdar://problem/6946611> REGRESSION (r30673): Shade10:" D_Snap
18349          to Grid" window is clipping
18350
18351        Added an app-specific quirk to revert the behavior of <link> elements
18352        to the way it was before r30673, namely that if the rel attribute
18353        is not "stylesheet" but the type attribute contains "text/css", the
18354        link behaves as a stylesheet link.
18355
18356        * WebCore.base.exp: Exported setTreatsAnyTextCSSLinkAsStylesheet().
18357        * html/HTMLLinkElement.cpp:
18358        (WebCore::HTMLLinkElement::process): Check
18359            Settings::treatsAnyTextCSSLinkAsStylesheet() and if true, allow a
18360            style sheet link if the type contains "text/css".
18361        * page/Settings.cpp:
18362        (WebCore::Settings::Settings):
18363            Initialize m_treatsAnyTextCSSLinkAsStylesheet.
18364        (WebCore::Settings::setTreatsAnyTextCSSLinkAsStylesheet): Added.
18365        * page/Settings.h:
18366        (WebCore::Settings::treatsAnyTextCSSLinkAsStylesheet): Added.
18367
183682009-06-30  Adrien Nader  <camaradetux@gmail.com>
18369
18370        Reviewed by Xan Lopez.
18371
18372        Fix typo in GNUMakefile.am: it reads WebCOre instead of WebCore.
18373
18374        * GNUmakefile.am:
18375
183762009-06-30  Jan Michael Alonzo  <jmalonzo@webkit.org>
18377
18378        Reviewed by Xan Lopez.
18379
18380        [Gtk] Turn on ENABLE_DATAGRID so we can run the layout tests.
18381
18382        * GNUmakefile.am:
18383
183842009-06-30  Raju Kunnath  <raju.kunnath@nokia.com>
18385
18386        Reviewed by Simon Hausmann.
18387
18388        <https://bugs.webkit.org/show_bug.cgi?id=26752>
18389
18390        [Qt] Windows release build issue with Qt4.5 due to -GL flag on msvc2005 and msvc2008.
18391
18392        * WebCore.pro: Removed -GL compiler option for win32-msvc2005|win32-msvc2008.
18393
183942009-06-30  Xan Lopez  <xlopez@igalia.com>
18395
18396        Reviewed by Jan Alonzo.
18397
18398        Initialize member variables in the right order. Fixes compiler
18399        warning.
18400
18401        * platform/image-decoders/bmp/BMPImageReader.cpp:
18402        (WebCore::BMPImageReader::BMPImageReader):
18403
184042009-06-29  Xan Lopez  <xlopez@igalia.com>
18405
18406        Reviewed by David Levin.
18407
18408        https://bugs.webkit.org/show_bug.cgi?id=26831
18409        Fix compiler warning in WorkerLoaderProxy.h
18410
18411        Forward declaration of a class within a class is not allowed,
18412        since the compiler can't know if the declaration is legal at that
18413        point. This gives the following compiler warning:
18414
18415        ../../WebCore/workers/WorkerLoaderProxy.h:40: warning: declaration
18416        "class WebCore::ScriptExecutionContext::Task" does not declare
18417        anything
18418
18419        Include the full ScriptExecutionHeader header instead.
18420
18421        * workers/WorkerLoaderProxy.h:
18422
184232009-06-29  Xan Lopez  <xlopez@igalia.com>
18424
18425        Reviewed by Jan Alonzo.
18426
18427        Remove unused function.
18428
18429        * plugins/gtk/PluginPackageGtk.cpp:
18430
184312009-06-29  Simon Fraser  <simon.fraser@apple.com>
18432
18433        Reviewed by Dan Bernstein.
18434
18435        Change RenderLayer::updateLayerPositions() to use a bitmask instead of two
18436        boolean arguments. FullUpdate is unused at present, but will be used soon.
18437
18438        * page/FrameView.cpp:
18439        (WebCore::FrameView::layout):
18440        * rendering/RenderLayer.cpp:
18441        (WebCore::RenderLayer::updateLayerPositions):
18442        (WebCore::RenderLayer::scrollToOffset):
18443        * rendering/RenderLayer.h:
18444        (WebCore::RenderLayer::):
18445
184462009-06-29  Nate Chapin  <japhet@chromium.org>
18447
18448        Reviewed by Dimitri Glazkov.
18449
18450        Fix one more bad merge in V8Proxy.
18451
18452        https://bugs.webkit.org/show_bug.cgi?id=26819
18453
18454        * bindings/v8/V8Proxy.cpp:
18455        (WebCore::V8Proxy::setDOMException): setDOMExceptionHelper() instead of convertToV8Object().
18456
184572009-06-29  Sam Weinig  <sam@webkit.org>
18458
18459        Reviewed by Mark Rowe.
18460
18461        Remove more unused scons support.
18462
18463        * SConstruct: Removed.
18464
184652009-06-29  Sam Weinig  <sam@webkit.org>
18466
18467        Reviewed by Dave Hyatt.
18468
18469        Fix some incorrect create functions.
18470
18471        * html/DataGridColumn.h:
18472        (WebCore::DataGridColumn::create):
18473        * html/DataGridColumnList.h:
18474        (WebCore::DataGridColumnList::create):
18475
184762009-06-29  Sam Weinig  <sam@webkit.org>
18477
18478        Reviewed by Dave Hyatt.
18479
18480        Remove initialize method from DataGridDataSource and add
18481        DOMDataGridDataSource.
18482
18483        * GNUmakefile.am:
18484        * WebCore.pro:
18485        * WebCore.vcproj/WebCore.vcproj:
18486        * WebCore.xcodeproj/project.pbxproj:
18487        * WebCoreSources.bkl:
18488        * bindings/js/JSDataGridDataSource.cpp:
18489        * bindings/js/JSDataGridDataSource.h:
18490        * bindings/js/JSHTMLDataGridElementCustom.cpp:
18491        (WebCore::JSHTMLDataGridElement::setDataSource):
18492        * html/DOMDataGridDataSource.cpp: Added.
18493        (WebCore::DOMDataGridDataSource::DOMDataGridDataSource):
18494        (WebCore::DOMDataGridDataSource::~DOMDataGridDataSource):
18495        * html/DOMDataGridDataSource.h: Added.
18496        (WebCore::DOMDataGridDataSource::create):
18497        (WebCore::DOMDataGridDataSource::isDOMDataGridDataSource):
18498        (WebCore::asDOMDataGridDataSource):
18499        * html/DataGridDataSource.h:
18500        (WebCore::DataGridDataSource::isDOMDataGridDataSource):
18501        (WebCore::DataGridDataSource::isJSDataGridDataSource):
18502        * html/HTMLDataGridElement.cpp:
18503        (WebCore::HTMLDataGridElement::HTMLDataGridElement):
18504        (WebCore::HTMLDataGridElement::setDataSource):
18505        (WebCore::HTMLDataGridElement::dataSource):
18506        * html/HTMLDataGridElement.h:
18507
185082009-06-29  Nate Chapin  <japhet@chromium.org>
18509
18510        Reviewed by Dimitri Glazkov.
18511
18512        Fix a couple of bad merge items from my previous V8Proxy patch.
18513
18514        https://bugs.webkit.org/show_bug.cgi?id=26813
18515
18516        * bindings/v8/V8Collection.h:
18517        (WebCore::nodeCollectionNamedPropertyGetter):  Fix a bad function name that slipped through.
18518        * bindings/v8/V8Proxy.cpp:
18519        (WebCore::V8Proxy::setDOMException):  Fix a bad merge that caused a couple of lines of extraneous, breaking code to get in.
18520
185212009-06-29  Chris Marrin  <cmarrin@apple.com>
18522
18523        Reviewed by Simon Fraser  <simon.fraser@apple.com>.
18524
18525        https://bugs.webkit.org/show_bug.cgi?id=26706
18526
18527        Fixed crash due to dereference of m_toStyle
18528
18529        * page/animation/ImplicitAnimation.cpp:
18530        (WebCore::ImplicitAnimation::isTargetPropertyEqual):
18531
185322009-06-29  Eric Carlson  <eric.carlson@apple.com>
18533
18534        Reviewed by Simon Fraser.
18535
18536        <rdar://problem/7014813> Ask media engine if a movie is streamed or downloaded.
18537
18538        * WebCore.base.exp:
18539            Export _wkQTMovieGetType
18540
18541        * platform/graphics/MediaPlayer.cpp:
18542        (WebCore::MediaPlayer::hasSingleSecurityOrigin):
18543            Move to keep with other non-callback functions.
18544        (WebCore::MediaPlayer::movieLoadType):
18545            New, returns the movie type.
18546        * platform/graphics/MediaPlayer.h:
18547            Declare MovieLoadType enum and movieLoadType method.
18548
18549        * platform/graphics/MediaPlayerPrivate.h:
18550        (WebCore::MediaPlayerPrivateInterface::movieLoadType):
18551            Default implementation of movieLoadType
18552
18553        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
18554        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
18555        (WebCore::MediaPlayerPrivate::createQTMovie):
18556            Don't base m_isStreaming on protocol, there are other types of streaming movies.
18557        (WebCore::MediaPlayerPrivate::maxTimeBuffered):
18558            Don't assume all streams are unbuffered.
18559        (WebCore::MediaPlayerPrivate::updateStates):
18560            Update m_isStreaming once we have metadata.
18561        (WebCore::MediaPlayerPrivate::disableUnsupportedTracks):
18562            Tracks that are disabled to begin with shouldn't be included in m_enabledTrackCount.
18563        (WebCore::MediaPlayerPrivate::movieLoadType):
18564            New, return movie type.
18565
18566        * platform/mac/WebCoreSystemInterface.h:
18567        * platform/mac/WebCoreSystemInterface.mm:
18568            Add wkQTMovieGetType.
18569
185702009-06-29  Alice Liu  <alice.liu@apple.com>
18571
18572        Fixed <rdar://problem/6930280> Reproducible crash at USA Today photo gallery
18573
18574        Reviewed by Anders Carlsson.
18575
18576        No test added because the crash requires a flash plugin
18577
18578        * plugins/win/PluginMessageThrottlerWin.cpp:
18579        Rely on the hWnd of the plugin to tell us whether the PluginView has
18580        been deleted during execution of its wndProc.
18581        (WebCore::PluginMessageThrottlerWin::messageThrottleTimerFired):
18582
185832009-06-29  Dmitry Titov  <dimich@chromium.org>
18584
18585        Reviewed by David Levin.
18586
18587        https://bugs.webkit.org/show_bug.cgi?id=26811
18588         [Chromium] Remove a flag and functions used to enable workers in runtime.
18589
18590        * bindings/v8/WorkerContextExecutionProxy.cpp:
18591        * bindings/v8/WorkerContextExecutionProxy.h:
18592
185932009-06-29  Simon Fraser  <simon.fraser@apple.com>
18594
18595        Reviewed by Dave Hyatt.
18596
18597        <rdar://problem/6976712> Text antialiasing problems when rendering into compositing layers.
18598
18599        Improve the appearance of text in compositing layers by making use of
18600        CA's layer geometry flipping, rather that doing it ourselves with a flip
18601        transform. This allows CG to use font autohinting in the layer text.
18602
18603        * platform/graphics/GraphicsLayer.h:
18604        (WebCore::GraphicsLayer::setGeometryOrientation):
18605        (WebCore::GraphicsLayer::geometryOrientation):
18606        New methods to set whether this layer uses flipped geometry.
18607
18608        * platform/graphics/mac/GraphicsLayerCA.h:
18609        * platform/graphics/mac/GraphicsLayerCA.mm:
18610        (WebCore::GraphicsLayerCA::setGeometryOrientation):
18611        (WebCore::GraphicsLayerCA::geometryOrientation):
18612        Subclass in order to call into CA
18613
18614        (WebCore::GraphicsLayerCA::setContentsLayer):
18615        Now that CA is doing the geometry flipping, we no longer need to flip the content
18616        layers for image and video manually
18617
18618        * rendering/RenderLayerCompositor.cpp:
18619        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
18620        Turn on flipping on the root layer.
18621
186222009-06-29  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
18623
18624        Reviewed by Adam Treat.
18625
18626        Fixes: https://bugs.webkit.org/show_bug.cgi?id=26246
18627
18628        Implement most WML specific <select> element features.
18629        Add 'iname' / 'ivalue' support and support variable references.
18630
18631        Add two tests covering most select/variable related functionality.
18632        Needs more tests when adding full 'iname' / 'ivalue' support (used in conjuction with onpick).
18633
18634        Tests: http/tests/wml/post-data-to-server.html
18635               wml/select-element-variables.html
18636
18637        * dom/SelectElement.cpp:
18638        (WebCore::SelectElement::optionCount): Refactored from HTMLSelectElement::length() for use within HTML & WML.
18639        * dom/SelectElement.h:
18640        * html/HTMLSelectElement.cpp:
18641        (WebCore::HTMLSelectElement::length): Use new SelectElement::optionCount() function. (no functional changes for HTML).
18642        * wml/WMLCardElement.cpp:
18643        (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): Activated commented code taking care of WMLSelectElement initialization.
18644        * wml/WMLSelectElement.cpp: Add a bunch of new code handling WML specific feature processing.
18645        (WebCore::WMLSelectElement::title):
18646        (WebCore::WMLSelectElement::formControlName):
18647        (WebCore::WMLSelectElement::defaultEventHandler):
18648        (WebCore::WMLSelectElement::selectInitialOptions):
18649        (WebCore::WMLSelectElement::calculateDefaultOptionIndices):
18650        (WebCore::WMLSelectElement::selectDefaultOptions):
18651        (WebCore::WMLSelectElement::initializeVariables):
18652        (WebCore::WMLSelectElement::updateVariables):
18653        (WebCore::WMLSelectElement::parseIndexValueString):
18654        (WebCore::WMLSelectElement::valueStringToOptionIndices):
18655        (WebCore::WMLSelectElement::optionIndicesToValueString):
18656        (WebCore::WMLSelectElement::optionIndicesToString):
18657        (WebCore::WMLSelectElement::name):
18658        (WebCore::WMLSelectElement::value):
18659        (WebCore::WMLSelectElement::iname):
18660        (WebCore::WMLSelectElement::ivalue):
18661        * wml/WMLSelectElement.h:
18662
186632009-06-29  David Hyatt  <hyatt@apple.com>
18664
18665        Reviewed by Adam Roben.
18666
18667        Put <datagrid> behind an ifdef.
18668
18669        * Configurations/FeatureDefines.xcconfig:
18670        * bindings/js/JSDataGridColumnListCustom.cpp:
18671        * bindings/js/JSDataGridDataSource.cpp:
18672        * bindings/js/JSDataGridDataSource.h:
18673        * bindings/js/JSHTMLDataGridElementCustom.cpp:
18674        * html/DataGridColumn.cpp:
18675        * html/DataGridColumn.h:
18676        * html/DataGridColumn.idl:
18677        * html/DataGridColumnList.cpp:
18678        * html/DataGridColumnList.h:
18679        * html/DataGridColumnList.idl:
18680        * html/DataGridDataSource.h:
18681        * html/HTMLDataGridCellElement.cpp:
18682        * html/HTMLDataGridCellElement.h:
18683        * html/HTMLDataGridCellElement.idl:
18684        * html/HTMLDataGridColElement.cpp:
18685        * html/HTMLDataGridColElement.h:
18686        * html/HTMLDataGridColElement.idl:
18687        * html/HTMLDataGridElement.cpp:
18688        * html/HTMLDataGridElement.h:
18689        * html/HTMLDataGridElement.idl:
18690        * html/HTMLDataGridRowElement.cpp:
18691        * html/HTMLDataGridRowElement.h:
18692        * html/HTMLDataGridRowElement.idl:
18693        * html/HTMLTagNames.in:
18694        * page/DOMWindow.idl:
18695        * rendering/RenderDataGrid.cpp:
18696        * rendering/RenderDataGrid.h:
18697
186982009-06-29  Simon Hausmann  <simon.hausmann@nokia.com>
18699
18700        Reviewed by Ariya Hidayat and Adam Roben.
18701
18702        Fix compilation with MINGW. Ported MSVC inline assembly to
18703        GNU inline assembly. Also fixed casting errors where gcc
18704        refused to cast a pointer-to-function to a pointer-to-object,
18705        without an intermediate cast to a non-pointer type.
18706
18707        * plugins/win/PluginViewWin.cpp:
18708        (WebCore::PluginView::hookedBeginPaint):
18709        (WebCore::PluginView::hookedEndPaint):
18710        (WebCore::hook):
18711        (WebCore::setUpOffscreenPaintingHooks):
18712
187132009-06-26  John Sullivan  <sullivan@apple.com>
18714
18715        Added Speech submenu to context menu on Mac when there's a non-editable selection
18716        (it was already present when there's an editable selection).
18717        Also added support for disabling "Stop Speaking" when there is no speaking to stop.
18718
18719        Reviewed by Tim Hatcher.
18720
18721        * loader/EmptyClients.h:
18722        (WebCore::EmptyContextMenuClient::isSpeaking):
18723        implemented this new virtual function to return false
18724
18725        * page/ContextMenuClient.h:
18726        declared this new pure virtual function
18727
18728        * platform/ContextMenu.cpp:
18729        (WebCore::ContextMenu::populate):
18730        insert Speech item (after a separator) on Mac when there's selected non-editable text
18731        (WebCore::ContextMenu::checkOrEnableIfNeeded):
18732        enable Stop Speaking item only if the context menu client returns true for isSpeaking()
18733
187342009-06-28  Dan Bernstein  <mitz@apple.com>
18735
18736        Reviewed by Simon Fraser.
18737
18738        - fix https://bugs.webkit.org/show_bug.cgi?id=26783
18739          <rdar://problem/7014543> REGRESSION (r45296): Subfolders not displayed
18740          in MobileMe iDisk Web App
18741
18742        Test: added a case to fast/dom/Element/scrollWidth.html
18743
18744        Ensure that scroll{Width, Height} is greater or equal to
18745        client{Width, Height}.
18746
18747        * rendering/RenderBox.cpp:
18748        (WebCore::RenderBox::scrollWidth):
18749        (WebCore::RenderBox::scrollHeight):
18750
187512009-06-27  Simon Fraser  <simon.fraser@apple.com>
18752
18753        Reviewed by Eric Seidel.
18754
18755        https://bugs.webkit.org/show_bug.cgi?id=26780
18756
18757        Do not make compositing layers for non-self-painting RenderLayers,
18758        since these exist only to push a clip onto the clipping stack. If such
18759        a layer gets compositied for some other reason, it should not paint.
18760
18761        Also ensure that we update composited layer positions correctly
18762        inside overflow:scroll layers. We can't assume that the contents
18763        are child layers, so we have to go up to the compositing ancestor,
18764        and tell it to update all its child layer positions as we do
18765        after layout.
18766
18767        Tests: compositing/layers-inside-overflow-scroll.html
18768               compositing/self-painting-layers.html
18769
18770        * rendering/RenderLayer.cpp:
18771        (WebCore::RenderLayer::scrollToOffset):
18772        * rendering/RenderLayerBacking.cpp:
18773        (WebCore::RenderLayerBacking::paintIntoLayer):
18774        * rendering/RenderLayerCompositor.cpp:
18775        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
18776        (WebCore::RenderLayerCompositor::needsToBeComposited):
18777
187782009-06-28  Luke Kenneth Casson Leighton  <lkcl@lkcl.net>
18779
18780        Reviewed by Eric Seidel.
18781
18782        PurgeableBuffer #defines leave out functions on gtk MacOSX 10.4 build
18783        https://bugs.webkit.org/show_bug.cgi?id=23057
18784
18785        Define these functions for Gtk as well.
18786
18787        * platform/PurgeableBuffer.h:
18788
187892009-06-28  Nate Chapin  <japhet@chromium.org>
18790
18791        Reviewed by Dimitri Glazkov.
18792
18793        Update CodeGeneratorV8.pm to match the new api for V8Proxy.
18794
18795        https://bugs.webkit.org/show_bug.cgi?id=26765
18796
18797        * bindings/scripts/CodeGeneratorV8.pm: Match the current version of V8Proxy.
18798
187992009-06-28  Nicolas Sylvain  <nsylvain@chromium.org>
18800
18801        Reviewed by Dimitri Glazkov.
18802
18803        If loading a font fails because of the sandbox, we ask the browser process to
18804        try to load it by calling ensureFontLoaded. If it still fails after
18805        ensureFontLoaded, we hit a ASSERT_NOT_REACHED.
18806
18807        This case happens once in a while during browser shutdown. The browser will
18808        queue a message to the renderer to shutdown, and will then stop answering sync
18809        messages from the renderer. If the renderer is still loading a page during this
18810        time, it might try to call the browser process to ask to load a font. The
18811        browser process will ignore the request, and the font will fail to load, even
18812        after the second try.
18813
18814        This is unfortunate, but there is no real risk here, since the renderer will be
18815        going away as soon as it processes another message.
18816
18817        This can't be layout tested as it depends on the sandbox.
18818
18819        https://bugs.webkit.org/show_bug.cgi?id=26743
18820
18821        * platform/graphics/chromium/FontChromiumWin.cpp:
18822        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
18823        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
18824        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
18825
188262009-06-28  John Abd-El-Malek  <jam@chromium.org>
18827
18828        Reviewed by Eric Seidel.
18829
18830        https://bugs.webkit.org/show_bug.cgi?id=15457
18831
18832        Test: plugins/netscape-plugin-map-data-to-src.html
18833
18834        Fix problems with Real or WMP plugins not displaying because "data" was set
18835        on the OBJECT tag instead of "src".  This is based on what Firefox does, see
18836        http://mxr.mozilla.org/mozilla-central/source/layout/generic/nsObjectFrame.cpp#3045
18837
18838        * rendering/RenderPartObject.cpp:
18839        (WebCore::mapDataParamToSrc):
18840        (WebCore::RenderPartObject::updateWidget):
18841
188422009-06-27  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
18843
18844        Reviewed by Jan Alonzo.
18845
18846        [Qt] Build fix after r45290
18847        https://bugs.webkit.org/show_bug.cgi?id=26769
18848
18849        * WebCore.pro:
18850
188512009-06-27  Emilio Pozuelo Monfort  <pochu27@gmail.com>
18852
18853        Reviewed by Jan Alonzo.
18854
18855        [GTK] Don't use deprecated GTK+ symbols.
18856        https://bugs.webkit.org/show_bug.cgi?id=26583
18857
18858        * plugins/gtk/gtk2xtbin.c:
18859        (gtk_xtbin_class_init):
18860        (gtk_xtbin_new):
18861        (gtk_xtbin_destroy):
18862
188632009-06-27  Simon Fraser  <simon.fraser@apple.com>
18864
18865        Reviewed by Dan Bernstein.
18866
18867        https://bugs.webkit.org/show_bug.cgi?id=26780
18868
18869        Fix up previous change. When computeCompositingRequirements() determines
18870        that the current layer is composited, it needs to inform its parent
18871        by setting compositingState.m_subtreeIsCompositing() to true. That didn't
18872        always happen after the previous patch. Clarified the logic here.
18873
18874        * rendering/RenderLayerCompositor.cpp:
18875        (WebCore::CompositingState::CompositingState):
18876        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
18877
188782009-06-27  Simon Fraser  <simon.fraser@apple.com>
18879
18880        Reviewed by Dan Bernstein.
18881
18882        https://bugs.webkit.org/show_bug.cgi?id=26780
18883
18884        First part: fix the RenderLayer::hasCompositingDescendant() flag to be set
18885        correctly.
18886
18887        * rendering/RenderLayerCompositor.cpp:
18888        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
18889        Do not unconditionally set compositingState.m_subtreeIsCompositing, because
18890        that can clobber the value from an earlier sibling. Add some more comments.
18891
18892        Remove a final use of Vector iterators.
18893
18894        (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
18895        Move the normalFlowList() processing outside the test for isStackingContext().
18896
188972009-06-27  Dan Bernstein  <mitz@apple.com>
18898
18899        Reviewed by Simon Fraser and Antti Koivisto.
18900
18901        - make paintFillLayerExtended() non-virtual and remove its clipY and
18902          clipH parameters
18903
18904        These parameters were computed and passed along to
18905        paintFillLayerExtended in order to vertically constrain the rect fill to
18906        the damage rect, because Qt cannot paint tall rectangles (see
18907        <http://websvn.kde.org/?view=rev&revision=42721>). Since the damage rect
18908        is passed along in the PaintInfo, the extra parameters are redundant,
18909        and the intersection can just take place in paintFillLayerExtended().
18910
18911        * rendering/InlineFlowBox.cpp:
18912        (WebCore::InlineFlowBox::paintFillLayers):
18913        (WebCore::InlineFlowBox::paintFillLayer):
18914        (WebCore::InlineFlowBox::paintBoxDecorations):
18915        (WebCore::InlineFlowBox::paintMask):
18916        * rendering/InlineFlowBox.h:
18917        * rendering/RenderBox.cpp:
18918        (WebCore::RenderBox::paintRootBoxDecorations):
18919        (WebCore::RenderBox::paintBoxDecorations):
18920        (WebCore::RenderBox::paintMask):
18921        (WebCore::RenderBox::paintMaskImages):
18922        (WebCore::RenderBox::paintFillLayers):
18923        (WebCore::RenderBox::paintFillLayer):
18924        * rendering/RenderBox.h:
18925        * rendering/RenderBoxModelObject.cpp:
18926        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
18927        * rendering/RenderBoxModelObject.h:
18928        * rendering/RenderFieldset.cpp:
18929        (WebCore::RenderFieldset::paintBoxDecorations):
18930        (WebCore::RenderFieldset::paintMask):
18931        * rendering/RenderTable.cpp:
18932        (WebCore::RenderTable::paintBoxDecorations):
18933        (WebCore::RenderTable::paintMask):
18934        * rendering/RenderTableCell.cpp:
18935        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
18936        (WebCore::RenderTableCell::paintMask):
18937
189382009-06-27  Ryosuke Niwa  <rniwa@google.com>
18939
18940        Reviewed by Eric Seidel.
18941
18942        https://bugs.webkit.org/show_bug.cgi?id=26762
18943
18944        Clean up for IndentOutdentCommand::indentRegion, and solved most of problems related to the bug 21712.
18945        https://bugs.webkit.org/show_bug.cgi?id=21712
18946
18947        Added few utility functions to htmlediting.h/cpp
18948
18949        isVisibilyAdjacent checks whether the first position is visibly next to the second position.
18950        i.e. there is no visible node between the first and second positions
18951
18952        canMergeLists checks whether two lists can be merged.
18953        It checks the type of list, the editing boundary, and adjacency of the lists.
18954
18955        Tests: editing/execCommand/indent-nested-lists-1.html
18956               editing/execCommand/indent-nested-lists-2.html
18957               editing/execCommand/indent-nested-lists-3.html
18958               editing/execCommand/indent-nested-lists-4.html
18959               editing/execCommand/indent-nested-lists-5.html
18960               editing/execCommand/indent-nested-lists-6.html
18961               editing/execCommand/indent-nested-lists-7.html
18962               editing/execCommand/outdent-nested-lists-1.html
18963               editing/execCommand/outdent-nested-lists-2.html
18964               editing/execCommand/outdent-nested-lists-3.html
18965               editing/execCommand/outdent-nested-lists-4.html
18966
18967        * editing/IndentOutdentCommand.cpp:
18968        (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion):
18969        (WebCore::IndentOutdentCommand::tryIndentingAsListItem):
18970        (WebCore::IndentOutdentCommand::indentIntoBlockquote):
18971        (WebCore::IndentOutdentCommand::indentRegion):
18972        * editing/IndentOutdentCommand.h:
18973        * editing/htmlediting.cpp:
18974        (WebCore::enclosingListChild):
18975        (WebCore::canMergeLists):
18976        (WebCore::isVisibilyAdjacent):
18977        * editing/htmlediting.h:
18978
189792009-06-27  Pavel Feldman  <pfeldman@chromium.org>
18980
18981        Reviewed by Timothy Hatcher.
18982
18983        WebInspector: Fix completion when iterating options using Tab.
18984
18985        https://bugs.webkit.org/show_bug.cgi?id=26722
18986
18987        * inspector/front-end/TextPrompt.js:
18988        (WebInspector.TextPrompt.prototype._completionsReady):
18989
189902009-06-27  Gustavo Noronha Silva  <gns@gnome.org>
18991
18992        Reviewed by Holger Freyther.
18993
18994        https://bugs.webkit.org/show_bug.cgi?id=25889
18995        [GTK] scrollbar policy for main frame is not implementable
18996
18997        Override visibleContentRect to handle GTK+'s case, in which
18998        scrollbars or equivalent decoration are painted by the parent
18999        widget.
19000
19001        * platform/ScrollView.cpp:
19002        * platform/gtk/ScrollViewGtk.cpp:
19003        (WebCore::ScrollView::visibleContentRect):
19004
190052009-06-27  Daniel Bates  <dbates@intudata.com>
19006
19007        Reviewed by Adam Barth.
19008
19009        https://bugs.webkit.org/show_bug.cgi?id=26708
19010
19011        Fix addresses false negatives with respect to scheme relative paths, iFrame JavaScript URLs,
19012        and UTF-7 encoded payloads.
19013
19014        Tests: http/tests/security/xssAuditor/http-equiv-utf-7-encoded.html
19015               http/tests/security/xssAuditor/iframe-javascript-url.html
19016               http/tests/security/xssAuditor/script-tag-utf-7-encoded.html
19017               http/tests/security/xssAuditor/script-tag-with-source-relative-scheme.html
19018
19019        * html/HTMLTokenizer.cpp:
19020        (WebCore::HTMLTokenizer::scriptHandler): Moved XSSAuditor check to HTMLTokenizer::parseTag.
19021        (WebCore::HTMLTokenizer::parseTag):
19022        * loader/FrameLoader.cpp:
19023        (WebCore::FrameLoader::loadSubframe): Modified to inform XSSAuditor of parent frame so
19024        as to compare against iFrame javascript URL.
19025        * page/XSSAuditor.cpp: Removed method XSSAuditor::isControlCharacter. Instead, exposed method
19026        isControlCharacter in ResourceResponseBase.cpp.
19027        (WebCore::XSSAuditor::XSSAuditor):
19028        (WebCore::XSSAuditor::decodeURL): Modified to decode string using specified encoder.
19029        (WebCore::XSSAuditor::findInRequest): Generalized to arbitrary frame so as to prevent execution
19030        of iFrame javascript URL.
19031        * page/XSSAuditor.h: Added field m_parentFrame.
19032        * platform/network/ResourceResponseBase.cpp:
19033        (WebCore::isControlCharacter):
19034        * platform/network/ResourceResponseBase.h:
19035
190362009-06-27  Oliver Hunt  <oliver@apple.com>
19037
19038        Reviewed by Maciej Stachowiak.
19039
19040        Bug 26771: Canvas is incorrectly tainted when drawing from a video element that uses <source> elements
19041
19042        The drawImage(<video>) logic naively assumes that it just needs
19043        to check the src attribute of the video element when in fact it
19044        needs to look at the url that is being played instead.  Failure
19045        to do this means that video provided through source elements
19046        taints the canvas.
19047
19048        Test: media/video-canvas-source.html
19049
19050        * html/CanvasRenderingContext2D.cpp:
19051        (WebCore::CanvasRenderingContext2D::checkOrigin):
19052        (WebCore::CanvasRenderingContext2D::drawImage):
19053        * html/CanvasRenderingContext2D.h:
19054
190552009-06-26  Brian Weinstein  <bweinstein@apple.com>
19056
19057        Reviewed by Simon Fraser.
19058
19059        https://bugs.webkit.org/show_bug.cgi?id=26695
19060
19061        Added the ability to do scrollbar hit testing in EventHandler, changed the
19062        signature of a PlatformWheelEvent constructor, and changed scrollbarUnderMouse
19063        to scrollbarUnderPoint, and updated all calls to that function.
19064
19065        * page/EventHandler.cpp:
19066        (WebCore::EventHandler::hitTestResultAtPoint):
19067        (WebCore::EventHandler::handleMousePressEvent):
19068        (WebCore::EventHandler::handleMouseMoveEvent):
19069        * page/EventHandler.h:
19070        (WebCore::):
19071        * platform/PlatformWheelEvent.h:
19072        * platform/ScrollView.cpp:
19073        (WebCore::ScrollView::scrollbarUnderPoint):
19074        * platform/ScrollView.h:
19075        * platform/chromium/PopupMenuChromium.cpp:
19076        (WebCore::PopupListBox::handleMouseDownEvent):
19077        (WebCore::PopupListBox::handleMouseMoveEvent):
19078        * platform/win/WheelEventWin.cpp:
19079        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
19080
19081
190822009-06-26  Simon Fraser  <simon.fraser@apple.com>
19083
19084        Reviewed by Dan Bernstein.
19085
19086        <rdar://problem/7011924> Opacity transitions should not trigger hardware compositing mode
19087
19088        Don't go into compositing mode just for opacity transitions, but they will be
19089        hardware acclerated if we're already compositing.
19090
19091        * rendering/RenderLayerCompositor.cpp:
19092        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
19093        (WebCore::RenderLayerCompositor::requiresCompositingForTransform):
19094        (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
19095        * rendering/RenderLayerCompositor.h:
19096
190972009-06-26  Simon Fraser  <simon.fraser@apple.com>
19098
19099        Rubber-stamped by Dave Levin
19100
19101        Rename ioCompState to compositingState to better match WebCore coding style.
19102
19103        * rendering/RenderLayerCompositor.cpp:
19104        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
19105        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
19106
191072009-06-26  Dan Bernstein  <mitz@apple.com>
19108
19109        Reviewed by Mark Rowe.
19110
19111        - revert unintentional project changes from r45277
19112
19113        * WebCore.xcodeproj/project.pbxproj:
19114
191152009-06-26  Mark Rowe  <mrowe@apple.com>
19116
19117        Fix the Windows build.
19118
19119        * WebCore.vcproj/WebCore.vcproj: Remove ColorSafari.cpp as
19120        the file was deleted from SVN.
19121
191222009-06-26  Simon Fraser  <simon.fraser@apple.com>
19123
19124        Reviewed by Dan Bernstein.
19125
19126        https://bugs.webkit.org/show_bug.cgi?id=26766
19127
19128        Change to use array indexing rather than Vector enumerators; the former
19129        are preferred style.
19130
19131        * rendering/RenderLayerBacking.cpp:
19132        (WebCore::RenderLayerBacking::hasNonCompositingContent):
19133        * rendering/RenderLayerCompositor.cpp:
19134        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
19135        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
19136        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
19137        (WebCore::RenderLayerCompositor::updateCompositingChildrenGeometry):
19138        (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
19139        (WebCore::RenderLayerCompositor::layerHas3DContent):
19140
191412009-06-26  Dan Bernstein  <mitz@apple.com>
19142
19143        Reviewed by Oliver Hunt.
19144
19145        - fix <rdar://problem/6961476> REGRESSION (r42043): scrollWidth reported
19146          as 1 px
19147
19148        Test: fast/dom/Element/scrollWidth.html
19149
19150        Changed scrollWidth and scrollHeight to use the same logic for
19151        visible overflow boxes that is used for clipped overflow boxes. In
19152        particular, borders are not included and
19153        {leftmost,rightmost,lowest}Position() are used. This logic matches IE8.
19154
19155        * rendering/RenderBox.cpp:
19156        (WebCore::RenderBox::scrollWidth):
19157        (WebCore::RenderBox::scrollHeight):
19158
191592009-06-26  Chris Fleizach  <cfleizach@apple.com>
19160
19161        Reviewed by Oliver Hunt.
19162
19163        Bug 26725: aria-hidden, aria-disabled, aria-readonly need to be implemented
19164        https://bugs.webkit.org/show_bug.cgi?id=26725
19165
19166        Tests: accessibility/aria-disabled.html
19167               accessibility/aria-hidden.html
19168               accessibility/aria-readonly.html
19169
19170        * accessibility/AccessibilityRenderObject.cpp:
19171        (WebCore::AccessibilityRenderObject::ariaIsHidden):
19172        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
19173        (WebCore::AccessibilityRenderObject::isEnabled):
19174        (WebCore::AccessibilityRenderObject::canSetValueAttribute):
19175        * accessibility/AccessibilityRenderObject.h:
19176        * html/HTMLAttributeNames.in:
19177
191782009-06-26  Brett Wilson  <brettw@chromium.org>
19179
19180        Reviewed by David Levin.
19181
19182        https://bugs.webkit.org/show_bug.cgi?id=26759
19183
19184        GIFImageDecoder is broken.
19185
19186        Make the GIFImageDecoder.repetitionCount function const to match the
19187        base class. The mismatched definitions were causing the function to not
19188        get called.
19189
19190        * platform/image-decoders/gif/GIFImageDecoder.cpp:
19191        (WebCore::GIFImageDecoder::repetitionCount):
19192        * platform/image-decoders/gif/GIFImageDecoder.h:
19193
191942009-06-26  Chris Marrin  <cmarrin@apple.com>
19195
19196        Reviewed by Simon Fraser  <simon.fraser@apple.com>.
19197
19198        Additional fix for https://bugs.webkit.org/show_bug.cgi?id=26651
19199
19200        The flag should always default to true to avoid it getting set
19201        to false in a build with accelerated compositing turned off
19202        and then disabling accelerated compositing when subsequently
19203        running a build with it turned on.
19204
19205        * page/Settings.cpp:
19206        (WebCore::Settings::Settings):
19207
192082009-06-26  Brady Eidson  <beidson@apple.com>
19209
19210        Reviewed by Sam Weinig.
19211
19212        Followup for the fix for <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails
19213
19214        Now that other MIME type correction stuff is in our swizzled method, Tiger needs it too!
19215
19216        * platform/network/mac/ResourceHandleMac.mm:
19217        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
19218        * platform/network/mac/WebCoreURLResponse.h:
19219
192202009-06-26  Jeremy Orlow  <jorlow@chromium.org>
19221
19222        Reviewed by Darin Fisher.
19223
19224        https://bugs.webkit.org/show_bug.cgi?id=26732
19225
19226        For the final step of https://bugs.webkit.org/show_bug.cgi?id=25376,
19227        combine LocalStorage and SessionStorage into StorageNamespace. The
19228        synching code (for LocalStorage) has already been removed, so these
19229        classes are now very similar.  All they do is essentially contain a
19230        logical grouping of origins that are attached to specific contexts
19231        (be it PageGroups for LocalStorage and Page for SessionStorage).
19232
19233        * GNUmakefile.am:
19234        * WebCore.vcproj/WebCore.vcproj:
19235        * WebCore.xcodeproj/project.pbxproj:
19236        * WebCoreSources.bkl:
19237        * page/Chrome.cpp:
19238        (WebCore::Chrome::createWindow):
19239        * page/DOMWindow.cpp:
19240        (WebCore::DOMWindow::localStorage):
19241        * page/DOMWindow.h:
19242        * page/Page.cpp:
19243        (WebCore::Page::sessionStorage):
19244        (WebCore::Page::setSessionStorage):
19245        * page/Page.h:
19246        * page/PageGroup.cpp:
19247        (WebCore::PageGroup::localStorage):
19248        * page/PageGroup.h:
19249        * storage/LocalStorage.cpp: Removed.
19250        * storage/LocalStorage.h: Removed.
19251        * storage/LocalStorageTask.cpp:
19252        * storage/LocalStorageThread.cpp:
19253        * storage/SessionStorage.cpp: Removed.
19254        * storage/SessionStorage.h: Removed.
19255        * storage/StorageArea.cpp:
19256        (WebCore::StorageArea::create):
19257        (WebCore::StorageArea::StorageArea):
19258        (WebCore::StorageArea::copy):
19259        (WebCore::StorageArea::length):
19260        (WebCore::StorageArea::key):
19261        (WebCore::StorageArea::getItem):
19262        (WebCore::StorageArea::setItem):
19263        (WebCore::StorageArea::removeItem):
19264        (WebCore::StorageArea::clear):
19265        (WebCore::StorageArea::contains):
19266        (WebCore::StorageArea::importItem):
19267        (WebCore::StorageArea::close):
19268        (WebCore::StorageArea::dispatchStorageEvent):
19269        * storage/StorageArea.h:
19270        (WebCore::):
19271        * storage/StorageAreaSync.cpp:
19272        (WebCore::StorageAreaSync::scheduleFinalSync):
19273        * storage/StorageNamespace.cpp: Copied from WebCore/storage/LocalStorage.cpp.
19274        (WebCore::localStorageNamespaceMap):
19275        (WebCore::StorageNamespace::localStorageNamespace):
19276        (WebCore::StorageNamespace::sessionStorageNamespace):
19277        (WebCore::StorageNamespace::StorageNamespace):
19278        (WebCore::StorageNamespace::~StorageNamespace):
19279        (WebCore::StorageNamespace::copy):
19280        (WebCore::StorageNamespace::storageArea):
19281        (WebCore::StorageNamespace::close):
19282        * storage/StorageNamespace.h: Copied from WebCore/storage/LocalStorage.h.
19283
192842009-06-26  Nate Chapin  <japhet@chromium.org>
19285
19286        Reviewed by David Levin.
19287
19288        Upstream V8Proxy.  This involved updating a lot of function and variable names to match WebKit style, hence the large size.
19289
19290        https://bugs.webkit.org/show_bug.cgi?id=26623
19291
19292        * bindings/v8/ScheduledAction.cpp:
19293        (WebCore::ScheduledAction::ScheduledAction):
19294        (WebCore::ScheduledAction::~ScheduledAction):
19295        (WebCore::ScheduledAction::execute):
19296        * bindings/v8/ScriptCallStack.cpp:
19297        (WebCore::ScriptCallStack::ScriptCallStack):
19298        * bindings/v8/ScriptController.cpp:
19299        (WebCore::ScriptController::isSafeScript):
19300        (WebCore::ScriptController::gcProtectJSWrapper):
19301        (WebCore::ScriptController::gcUnprotectJSWrapper):
19302        (WebCore::ScriptController::processingUserGesture):
19303        (WebCore::ScriptController::evaluate):
19304        (WebCore::ScriptController::setEventHandlerLineNumber):
19305        (WebCore::ScriptController::bindToWindowObject):
19306        (WebCore::ScriptController::collectGarbage):
19307        (WebCore::ScriptController::haveInterpreter):
19308        (WebCore::createScriptObject):
19309        (WebCore::ScriptController::createScriptObjectForPluginElement):
19310        * bindings/v8/ScriptInstance.cpp:
19311        (WebCore::V8ScriptInstance::clear):
19312        (WebCore::V8ScriptInstance::set):
19313        * bindings/v8/ScriptObject.cpp:
19314        (WebCore::ScriptGlobalObject::set):
19315        * bindings/v8/ScriptObjectQuarantine.cpp:
19316        (WebCore::getQuarantinedScriptObject):
19317        * bindings/v8/ScriptScope.cpp:
19318        (WebCore::ScriptScope::ScriptScope):
19319        * bindings/v8/ScriptValue.h:
19320        (WebCore::ScriptValue::ScriptValue):
19321        (WebCore::ScriptValue::operator=):
19322        (WebCore::ScriptValue::clear):
19323        * bindings/v8/V8AbstractEventListener.cpp:
19324        (WebCore::V8AbstractEventListener::invokeEventHandler):
19325        (WebCore::V8AbstractEventListener::handleEvent):
19326        (WebCore::V8AbstractEventListener::disposeListenerObject):
19327        (WebCore::V8AbstractEventListener::getReceiverObject):
19328        * bindings/v8/V8Collection.cpp:
19329        (WebCore::toOptionsCollectionSetter):
19330        * bindings/v8/V8Collection.h:
19331        (WebCore::getV8Object):
19332        (WebCore::getNamedPropertyOfCollection):
19333        (WebCore::nodeCollectionNamedPropertyGetter):
19334        (WebCore::getIndexedPropertyOfCollection):
19335        (WebCore::nodeCollectionIndexedPropertyGetter):
19336        (WebCore::nodeCollectionIndexedPropertyEnumerator):
19337        (WebCore::collectionIndexedPropertyEnumerator):
19338        (WebCore::collectionStringOrNullIndexedPropertyGetter):
19339        * bindings/v8/V8DOMMap.cpp:
19340        (WebCore::weakDOMObjectCallback):
19341        (WebCore::DOMData::removeObjectsFromWrapperMap):
19342        * bindings/v8/V8Helpers.cpp:
19343        (WebCore::wrapNPObject):
19344        (WebCore::toV8Context):
19345        * bindings/v8/V8LazyEventListener.cpp:
19346        (WebCore::V8LazyEventListener::~V8LazyEventListener):
19347        (WebCore::V8LazyEventListener::getListenerFunction):
19348        (WebCore::V8LazyEventListener::callListenerFunction):
19349        (WebCore::V8LazyEventListener::getWrappedListenerFunction):
19350        * bindings/v8/V8NodeFilterCondition.cpp:
19351        (WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
19352        (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition):
19353        (WebCore::V8NodeFilterCondition::acceptNode):
19354        * bindings/v8/V8ObjectEventListener.cpp:
19355        (WebCore::weakObjectEventListenerCallback):
19356        (WebCore::V8ObjectEventListener::~V8ObjectEventListener):
19357        * bindings/v8/V8Proxy.cpp: Added.
19358        * bindings/v8/V8Proxy.h:
19359        (WebCore::):
19360        (WebCore::GlobalHandleInfo::GlobalHandleInfo):
19361        (WebCore::V8Proxy::):
19362        (WebCore::V8Proxy::V8Proxy):
19363        (WebCore::V8Proxy::frame):
19364        (WebCore::V8Proxy::inlineCode):
19365        (WebCore::V8Proxy::setInlineCode):
19366        (WebCore::V8Proxy::timerCallback):
19367        (WebCore::V8Proxy::setTimerCallback):
19368        (WebCore::V8Proxy::setEventHandlerLineNumber):
19369        (WebCore::V8Proxy::finishedWithEvent):
19370        (WebCore::V8Proxy::wrapCPointer):
19371        (WebCore::V8Proxy::extractCPointer):
19372        (WebCore::V8Proxy::convertDOMWrapperToNative):
19373        (WebCore::V8Proxy::convertDOMWrapperToNode):
19374        (WebCore::V8Proxy::convertToV8Object):
19375        (WebCore::V8Proxy::convertToNativeObject):
19376        (WebCore::V8Proxy::convertToNativeEvent):
19377        (WebCore::V8Proxy::context):
19378        (WebCore::V8Proxy::extractCPointerImpl):
19379        (WebCore::V8Proxy::utilityContext):
19380        (WebCore::V8Proxy::constructDOMObject):
19381        (WebCore::throwError):
19382        (WebCore::toV8):
19383        * bindings/v8/V8Utilities.h:
19384        * bindings/v8/WorkerContextExecutionProxy.cpp:
19385        (WebCore::WorkerContextExecutionProxy::retrieve):
19386        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
19387        (WebCore::WorkerContextExecutionProxy::GetConstructor):
19388        (WebCore::WorkerContextExecutionProxy::ToV8Object):
19389        (WebCore::WorkerContextExecutionProxy::EventToV8Object):
19390        (WebCore::WorkerContextExecutionProxy::toV8):
19391        (WebCore::WorkerContextExecutionProxy::forgetV8EventObject):
19392        (WebCore::WorkerContextExecutionProxy::evaluate):
19393        (WebCore::WorkerContextExecutionProxy::runScript):
19394        * bindings/v8/custom/V8AttrCustom.cpp:
19395        (WebCore::ACCESSOR_SETTER):
19396        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
19397        (WebCore::NAMED_PROPERTY_GETTER):
19398        (WebCore::NAMED_PROPERTY_SETTER):
19399        * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
19400        (WebCore::INDEXED_PROPERTY_GETTER):
19401        (WebCore::INDEXED_PROPERTY_SETTER):
19402        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
19403        (WebCore::toV8):
19404        (WebCore::toCanvasStyle):
19405        (WebCore::ACCESSOR_GETTER):
19406        (WebCore::ACCESSOR_SETTER):
19407        (WebCore::CALLBACK_FUNC_DECL):
19408        * bindings/v8/custom/V8ClientRectListCustom.cpp:
19409        (WebCore::INDEXED_PROPERTY_GETTER):
19410        * bindings/v8/custom/V8ClipboardCustom.cpp:
19411        (WebCore::ACCESSOR_GETTER):
19412        (WebCore::CALLBACK_FUNC_DECL):
19413        * bindings/v8/custom/V8CustomBinding.cpp:
19414        (WebCore::allowSettingFrameSrcToJavascriptUrl):
19415        (WebCore::ACCESSOR_GETTER):
19416        (WebCore::INDEXED_ACCESS_CHECK):
19417        (WebCore::NAMED_ACCESS_CHECK):
19418        (WebCore::V8Custom::GetTargetFrame):
19419        * bindings/v8/custom/V8CustomEventListener.cpp:
19420        (WebCore::V8EventListener::V8EventListener):
19421        (WebCore::V8EventListener::~V8EventListener):
19422        (WebCore::V8EventListener::callListenerFunction):
19423        * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
19424        (WebCore::V8CustomSQLStatementCallback::handleEvent):
19425        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
19426        (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
19427        * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
19428        (WebCore::V8CustomSQLTransactionCallback::handleEvent):
19429        * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
19430        (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent):
19431        * bindings/v8/custom/V8CustomVoidCallback.cpp:
19432        (WebCore::V8CustomVoidCallback::handleEvent):
19433        (WebCore::invokeCallback):
19434        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
19435        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
19436        * bindings/v8/custom/V8DOMParserConstructor.cpp:
19437        (WebCore::CALLBACK_FUNC_DECL):
19438        * bindings/v8/custom/V8DOMWindowCustom.cpp:
19439        (WebCore::V8Custom::WindowSetTimeoutImpl):
19440        (WebCore::convertBase64):
19441        (WebCore::ACCESSOR_SETTER):
19442        (WebCore::CALLBACK_FUNC_DECL):
19443        (WebCore::ACCESSOR_GETTER):
19444        (WebCore::createWindow):
19445        (WebCore::INDEXED_PROPERTY_GETTER):
19446        (WebCore::NAMED_PROPERTY_GETTER):
19447        (WebCore::V8Custom::ClearTimeoutImpl):
19448        (WebCore::NAMED_ACCESS_CHECK):
19449        (WebCore::INDEXED_ACCESS_CHECK):
19450        * bindings/v8/custom/V8DatabaseCustom.cpp:
19451        (WebCore::CALLBACK_FUNC_DECL):
19452        * bindings/v8/custom/V8DocumentCustom.cpp:
19453        (WebCore::CALLBACK_FUNC_DECL):
19454        * bindings/v8/custom/V8DocumentLocationCustom.cpp:
19455        (WebCore::ACCESSOR_GETTER):
19456        (WebCore::ACCESSOR_SETTER):
19457        * bindings/v8/custom/V8ElementCustom.cpp:
19458        (WebCore::CALLBACK_FUNC_DECL):
19459        (WebCore::ACCESSOR_SETTER):
19460        (WebCore::ACCESSOR_GETTER):
19461        * bindings/v8/custom/V8EventCustom.cpp:
19462        (WebCore::ACCESSOR_SETTER):
19463        (WebCore::ACCESSOR_GETTER):
19464        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
19465        (WebCore::CALLBACK_FUNC_DECL):
19466        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
19467        (WebCore::getNamedItems):
19468        (WebCore::getItem):
19469        (WebCore::NAMED_PROPERTY_GETTER):
19470        (WebCore::CALLBACK_FUNC_DECL):
19471        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
19472        (WebCore::NAMED_PROPERTY_GETTER):
19473        (WebCore::CALLBACK_FUNC_DECL):
19474        (WebCore::ACCESSOR_GETTER):
19475        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
19476        (WebCore::INDEXED_PROPERTY_GETTER):
19477        (WebCore::NAMED_PROPERTY_GETTER):
19478        (WebCore::CALLBACK_FUNC_DECL):
19479        * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
19480        (WebCore::ACCESSOR_SETTER):
19481        * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
19482        (WebCore::NAMED_PROPERTY_GETTER):
19483        * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
19484        (WebCore::ACCESSOR_SETTER):
19485        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
19486        (WebCore::CALLBACK_FUNC_DECL):
19487        * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
19488        (WebCore::ACCESSOR_GETTER):
19489        (WebCore::ACCESSOR_SETTER):
19490        (WebCore::CALLBACK_FUNC_DECL):
19491        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
19492        (WebCore::CALLBACK_FUNC_DECL):
19493        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
19494        (WebCore::CALLBACK_FUNC_DECL):
19495        (WebCore::ACCESSOR_GETTER):
19496        (WebCore::ACCESSOR_SETTER):
19497        (WebCore::INDEXED_PROPERTY_GETTER):
19498        (WebCore::INDEXED_PROPERTY_SETTER):
19499        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
19500        (WebCore::NAMED_PROPERTY_GETTER):
19501        (WebCore::NAMED_PROPERTY_SETTER):
19502        (WebCore::INDEXED_PROPERTY_GETTER):
19503        (WebCore::INDEXED_PROPERTY_SETTER):
19504        * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp:
19505        (WebCore::NAMED_PROPERTY_GETTER):
19506        (WebCore::INDEXED_PROPERTY_SETTER):
19507        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
19508        (WebCore::CALLBACK_FUNC_DECL):
19509        (WebCore::removeElement):
19510        * bindings/v8/custom/V8InspectorControllerCustom.cpp:
19511        (WebCore::CALLBACK_FUNC_DECL):
19512        * bindings/v8/custom/V8LocationCustom.cpp:
19513        (WebCore::ACCESSOR_SETTER):
19514        (WebCore::ACCESSOR_GETTER):
19515        (WebCore::CALLBACK_FUNC_DECL):
19516        (WebCore::INDEXED_ACCESS_CHECK):
19517        (WebCore::NAMED_ACCESS_CHECK):
19518        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
19519        (WebCore::CALLBACK_FUNC_DECL):
19520        * bindings/v8/custom/V8MessagePortCustom.cpp:
19521        (WebCore::ACCESSOR_GETTER):
19522        (WebCore::ACCESSOR_SETTER):
19523        (WebCore::CALLBACK_FUNC_DECL):
19524        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
19525        (WebCore::INDEXED_PROPERTY_GETTER):
19526        (WebCore::NAMED_PROPERTY_GETTER):
19527        * bindings/v8/custom/V8NavigatorCustom.cpp:
19528        (WebCore::ACCESSOR_GETTER):
19529        * bindings/v8/custom/V8NodeCustom.cpp:
19530        (WebCore::CALLBACK_FUNC_DECL):
19531        * bindings/v8/custom/V8NodeIteratorCustom.cpp:
19532        (WebCore::toV8):
19533        (WebCore::CALLBACK_FUNC_DECL):
19534        * bindings/v8/custom/V8NodeListCustom.cpp:
19535        (WebCore::NAMED_PROPERTY_GETTER):
19536        * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
19537        (WebCore::CALLBACK_FUNC_DECL):
19538        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
19539        (WebCore::CALLBACK_FUNC_DECL):
19540        * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
19541        (WebCore::CALLBACK_FUNC_DECL):
19542        * bindings/v8/custom/V8SVGLengthCustom.cpp:
19543        (WebCore::ACCESSOR_GETTER):
19544        (WebCore::CALLBACK_FUNC_DECL):
19545        * bindings/v8/custom/V8SVGMatrixCustom.cpp:
19546        (WebCore::CALLBACK_FUNC_DECL):
19547        * bindings/v8/custom/V8StyleSheetListCustom.cpp:
19548        (WebCore::NAMED_PROPERTY_GETTER):
19549        * bindings/v8/custom/V8TreeWalkerCustom.cpp:
19550        (WebCore::toV8):
19551        (WebCore::CALLBACK_FUNC_DECL):
19552        * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
19553        (WebCore::CALLBACK_FUNC_DECL):
19554        * bindings/v8/custom/V8WebKitPointConstructor.cpp:
19555        (WebCore::CALLBACK_FUNC_DECL):
19556        * bindings/v8/custom/V8WorkerContextCustom.cpp:
19557        (WebCore::ACCESSOR_GETTER):
19558        (WebCore::ACCESSOR_SETTER):
19559        (WebCore::SetTimeoutOrInterval):
19560        (WebCore::CALLBACK_FUNC_DECL):
19561        * bindings/v8/custom/V8WorkerCustom.cpp:
19562        (WebCore::CALLBACK_FUNC_DECL):
19563        (WebCore::getEventListener):
19564        (WebCore::ACCESSOR_GETTER):
19565        (WebCore::ACCESSOR_SETTER):
19566        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
19567        (WebCore::CALLBACK_FUNC_DECL):
19568        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
19569        (WebCore::getEventListener):
19570        (WebCore::ACCESSOR_GETTER):
19571        (WebCore::ACCESSOR_SETTER):
19572        (WebCore::CALLBACK_FUNC_DECL):
19573        * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
19574        (WebCore::ACCESSOR_GETTER):
19575        (WebCore::ACCESSOR_SETTER):
19576        (WebCore::CALLBACK_FUNC_DECL):
19577        * bindings/v8/custom/V8XMLSerializerConstructor.cpp:
19578        (WebCore::CALLBACK_FUNC_DECL):
19579        * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp:
19580        (WebCore::CALLBACK_FUNC_DECL):
19581        * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
19582        (WebCore::CALLBACK_FUNC_DECL):
19583
195842009-06-26  Kevin McCullough  <kmccullough@apple.com>
19585
19586        Reviewed by Tim Hatcher.
19587
19588        <rdar://problem/7011047> Profiler shows the record button 'on' even
19589        though it's finished
19590
19591        I consolidated the creation of the user initiated profile name into
19592        its own function and then called it from console::profile instead of
19593        calling startUserInitiatedProfiling().  This way we don't call
19594        toggleRecordButton() which turns on the record button.
19595
19596        * inspector/InspectorController.cpp:
19597        (WebCore::InspectorController::didCommitLoad):
19598        (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
19599        (WebCore::InspectorController::startUserInitiatedProfiling):
19600        (WebCore::InspectorController::stopUserInitiatedProfiling):
19601        * inspector/InspectorController.h:
19602        * page/Console.cpp:
19603        (WebCore::Console::profile):
19604        (WebCore::Console::profileEnd):
19605
196062009-06-26  Jeremy Moskovich  <jeremy@chromium.org>
19607
19608        Reviewed by Eric Seidel.
19609
19610        https://bugs.webkit.org/show_bug.cgi?id=26691
19611
19612        Cleanup: Move focusRingColor to RenderTheme.
19613
19614        Most of this CL involves deleting files and removing dead code.
19615
19616        focusRingColor() is now defined in RenderTheme rather than in
19617        misc. places on each port.  The default color is specified as
19618        black in renderTheme and ports can override it in their own
19619        custom renderThemes.
19620
19621        Behavior should be identical except for the following cases,
19622        this lists platform and what the focus ring color used to be
19623        before this cl and the file where it used to be defined:
19624
19625        Android - red
19626        WebCore/platform/android/TemporaryLinkStubs.cpp
19627
19628        Cairo - aqua focus ring color - 0xFF7DADD9
19629        WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp
19630
19631        wx - red
19632        WebCore/platform/wx/TemporaryLinkStubs.cpp
19633
19634        QT - black
19635        WebCore/platform/graphics/qt/GraphicsContextQt.cpp
19636
19637        Manual test: manual-tests/focusringcolor-change-on-theme-change.html
19638
19639        * css/CSSStyleSelector.cpp:
19640        (WebCore::CSSStyleSelector::getColorFromPrimitiveValue):
19641        * manual-tests/focusringcolor-change-on-theme-change.html: Added.
19642        * platform/android/TemporaryLinkStubs.cpp:
19643        * platform/graphics/cairo/GraphicsContextCairo.cpp:
19644        * platform/graphics/chromium/ColorChromium.cpp: Removed.
19645        * platform/graphics/chromium/ColorChromiumMac.mm: Removed.
19646        * platform/graphics/mac/ColorMac.h:
19647        * platform/graphics/mac/ColorMac.mm:
19648        (WebCore::oldAquaFocusRingColor):
19649        (WebCore::setUsesTestModeFocusRingColor):
19650        (WebCore::usesTestModeFocusRingColor):
19651        * platform/graphics/qt/GraphicsContextQt.cpp:
19652        * platform/graphics/skia/GraphicsContextSkia.cpp:
19653        (WebCore::GraphicsContext::drawFocusRing):
19654        * platform/graphics/win/ColorSafari.cpp: Removed.
19655        * platform/wx/TemporaryLinkStubs.cpp:
19656        * rendering/RenderTheme.cpp:
19657        (WebCore::RenderTheme::focusRingColor):
19658        * rendering/RenderTheme.h:
19659        * rendering/RenderThemeChromiumMac.h:
19660        * rendering/RenderThemeChromiumMac.mm:
19661        (WebCore::RenderThemeChromiumMac::focusRingColor):
19662        (WebCore::RenderThemeChromiumMac::systemColor):
19663        * rendering/RenderThemeChromiumSkia.cpp:
19664        (WebCore::RenderThemeChromiumSkia::focusRingColor):
19665        * rendering/RenderThemeChromiumSkia.h:
19666        * rendering/RenderThemeMac.h:
19667        * rendering/RenderThemeMac.mm:
19668        (WebCore::RenderThemeMac::focusRingColor):
19669        (WebCore::RenderThemeMac::systemColor):
19670        * rendering/RenderThemeSafari.cpp:
19671        (WebCore::makeRGBAFromCGColor):
19672        (WebCore::RenderThemeSafari::focusRingColor):
19673        * rendering/RenderThemeSafari.h:
19674
196752009-06-26  Dmitry Titov  <dimich@chromium.org>
19676
19677        Reviewed by David Levin.
19678
19679        https://bugs.webkit.org/show_bug.cgi?id=26761
19680        [Chromium] Enable Dedicated Workers in Chromium.
19681
19682        * bindings/v8/custom/V8WorkerCustom.cpp:
19683        (WebCore::CALLBACK_FUNC_DECL):
19684        Remove the check that prevented workers from being created w/o a command-line switch.
19685        The flag itself and methods will be removed in a subsequent patch, after
19686        corresponding change in Chromium.
19687
196882009-06-26  Jessie Berlin  <jberlin@apple.com>
19689
19690        Reviewed by Mark Rowe.
19691
19692        Fix: https://bugs.webkit.org/show_bug.cgi?id=26723
19693        Where the m_mouseDown event was never being set on windows, so the
19694        client X and Y coordinates were always being reported as zero in a
19695        dragstart handler.
19696
19697        Test: editing/selection/drag-start-event-client-x-y.html
19698
19699        * page/EventHandler.cpp:
19700        (WebCore::EventHandler::handleMousePressEvent):
19701        Set the m_mouseDown event when the mouse press is handled.
19702        * page/mac/EventHandlerMac.mm:
19703        (WebCore::EventHandler::mouseDown):
19704        Removed now redundant setting of m_mouseDown.
19705
197062009-06-26  Brady Eidson  <beidson@apple.com>
19707
19708        Tiger build fix
19709
19710        * WebCore.xcodeproj/project.pbxproj:
19711        * platform/network/mac/WebCoreURLResponse.mm:
19712        (swizzleMIMETypeMethodIfNecessary):
19713
197142009-06-26  Alexey Proskuryakov  <ap@webkit.org>
19715
19716        Reviewed by Sam Weinig.
19717
19718        https://bugs.webkit.org/show_bug.cgi?id=26681
19719        Problem updating applicationCache when server returns 304
19720
19721        Improve the fix, make the test pass on Tiger.
19722
19723        * loader/appcache/ApplicationCacheGroup.cpp:
19724        (WebCore::ApplicationCacheGroup::didReceiveResponse): Fix another code path to remove the
19725        current item from list.
19726
19727        * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::start): On Tiger,
19728        conditional requests that cannot be cached by network layer cause errors with default cache
19729        policy.
19730
197312009-06-26  Brady Eidson  <beidson@apple.com>
19732
19733        Reviewed by Sam Weinig
19734
19735        <rdar://problem/6961578> REGRESSION (r43511): Opening .fdf files from Acrobat Professional fails
19736
19737        When we disabled content sniffing for file urls we lost knowledge of many file extensions that we
19738        didn't intend to lose.  Turns out the CoreTypes UTI database doesn't know about every extension Gatekeeper
19739        knew about.
19740
19741        By comparing CoreTypes' database to Gatekeepers, this patch adds a hardcoded list of file extension to MIME
19742        type mappings that are missing in CoreType's database.
19743
19744        Test: platform/mac/fast/loader/file-url-mimetypes.html
19745
19746        * platform/network/mac/ResourceHandleMac.mm:
19747        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Move the MIME Type swizzling code to
19748          WebCoreURLResponse.
19749
19750        * platform/network/mac/ResourceResponseMac.mm:
19751        (WebCore::ResourceResponse::platformLazyInit): _webcore_MIMEType -> MIMEType, as we now have only one place
19752          where we do all MIMEType correction.
19753
19754        * platform/network/mac/WebCoreURLResponse.h: Remove _webcore_MIMEType, as it is now folded into the swizzled
19755          implementation of MIMEType.
19756        * platform/network/mac/WebCoreURLResponse.mm:
19757        (createBinaryExtensionsSet):
19758        (createExtensionToMIMETypeMap):
19759        (swizzleMIMETypeMethodIfNecessary):
19760        (webNSURLResponseMIMEType): If it's a file URL and there's no MIME type, see if the extension exists in the
19761          extension -> MIME type map before turning to the default MIME type.  Also roll in what was previously
19762          implemented in _webcore_MIMEType.
19763
19764        * svg/graphics/SVGImage.cpp:
19765        (WebCore::SVGImage::~SVGImage): Tweak this ASSERT - SVGImages might get destroyed without ever having a client.
19766
197672009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>
19768
19769        Reviewed by Simon Fraser.
19770
19771        Show the fullscreen button only if the backend has support for it.
19772
19773        https://bugs.webkit.org/show_bug.cgi?id=26661
19774
19775        No test since this is not reachable via the DOM.
19776
19777        * html/HTMLMediaElement.h:
19778        (WebCore::HTMLMediaElement::supportsFullscreen): new
19779        * html/HTMLVideoElement.h:
19780        (WebCore::HTMLVideoElement::supportsFullscreen): new
19781        * platform/graphics/MediaPlayer.cpp:
19782        (WebCore::NullMediaPlayerPrivate::supportsFullscreen): new
19783        (WebCore::MediaPlayer::supportsFullscreen): new
19784        * platform/graphics/MediaPlayer.h: new
19785        * platform/graphics/MediaPlayerPrivate.h: new
19786        (WebCore::MediaPlayerPrivateInterface::supportsFullscreen): new
19787        * rendering/MediaControlElements.cpp:
19788        (WebCore::MediaControlFullscreenButtonElement::rendererIsNeeded): new
19789        * rendering/MediaControlElements.h:
19790
197912009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>
19792
19793        Reviewed by Simon Fraser.
19794
19795        <rdar://problem/7007776> Controller doesn't automatically update counters when file
19796        is playing ( http://www.jazzguitar.be/mp3/Michael%20Lewis%20-%20SSSJ.mp3 )
19797
19798        Update the time display when the movie time changes.
19799
19800        * rendering/RenderMedia.cpp:
19801        (WebCore::RenderMedia::updateControls):
19802
198032009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>
19804
19805        Reviewed by Simon Fraser.
19806
19807        https://bugs.webkit.org/show_bug.cgi?id=26659
19808
19809        Support hidding a control bar element from the Media element controller.
19810
19811        Update layout tests since the fullscreen button no longer has a renderer.
19812
19813        * rendering/MediaControlElements.cpp:
19814        (WebCore::MediaTextDisplayElement::update): call updateStyle() so everything
19815        is updated properly.
19816        (WebCore::MediaControlInputElement::MediaControlInputElement):
19817        (WebCore::MediaControlInputElement::update): call updateStyle()
19818        (WebCore::MediaControlInputElement::updateStyle): create the renderer properly
19819        or not depending on what rendererIsNeeded() return.
19820        * rendering/MediaControlElements.h:
19821
198222009-06-26  Kevin McCullough  <kmccullough@apple.com>
19823
19824        Reviewed by Oliver Hunt.
19825
19826        <rdar://problem/6968137> Profiler title numbers increment even after a
19827        reload.
19828
19829        - Now the numbers are reset when the profiles are.
19830
19831        * inspector/InspectorController.cpp:
19832        (WebCore::InspectorController::didCommitLoad):
19833
198342009-06-26  Adele Peterson  <adele@apple.com>
19835
19836        Reviewed by Darin Adler.
19837
19838        Fix for <rdar://problem/7000796>
19839        REGRESSION(34681): Breaking up quoted text makes new, unquoted text blue after certain steps; repros with some messages
19840
19841        Test: editing/inserting/break-blockquote-after-delete.html
19842
19843        Keep track of whether the typing style should be preserved after the TypingCommand is applied.  When adding onto an open
19844        typing command, keep that flag up to date.
19845
19846        In this case, an InsertParagraphSeparatorInQuotedContent command, which should not preserve typing style,
19847        was following an open Delete command, which does preserve the typing style.  So we were applying the original
19848        typing style (from before the delete, so blue text) to the cursor in the unquoted area after breaking up the blockquote.
19849
19850        * editing/TypingCommand.cpp:
19851        (WebCore::TypingCommand::TypingCommand):
19852        (WebCore::TypingCommand::typingAddedToOpenCommand):
19853        (WebCore::TypingCommand::insertTextRunWithoutNewlines):
19854        (WebCore::TypingCommand::insertLineBreak):
19855        (WebCore::TypingCommand::insertParagraphSeparator):
19856        (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
19857        (WebCore::TypingCommand::deleteKeyPressed):
19858        (WebCore::TypingCommand::forwardDeleteKeyPressed):
19859        (WebCore::TypingCommand::deleteSelection):
19860        (WebCore::TypingCommand::updatePreservesTypingStyle):
19861        * editing/TypingCommand.h: (WebCore::TypingCommand::preservesTypingStyle):
19862
198632009-06-26  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
19864
19865        Reviewed by Simon Hausmann.
19866
19867        Add support for saving and loading of QWebHistory to and from a QByteArray.
19868
19869        This includes streaming operators for QWebHistory. for convenience.
19870
19871        New autotests that test QWebHistory and QWebHistoryItem serialization.
19872
19873        * WebCore.pro:
19874        * history/HistoryItem.h:
19875        (WebCore::HistoryItem::dailyVisitCounts):
19876        (WebCore::HistoryItem::weeklyVisitCounts):
19877        * history/qt/HistoryItemQt.cpp: Added.
19878        (WebCore::HistoryItem::restoreState):
19879        (WebCore::HistoryItem::saveState):
19880
198812009-06-26  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
19882
19883        Reviewed by Simon Hausmann.
19884
19885        Add support for QDataStream operators to String and IntPoint.
19886
19887        * platform/graphics/IntPoint.h:
19888        (WebCore::operator<<):
19889        (WebCore::operator>>):
19890        * platform/text/PlatformString.h:
19891        * platform/text/qt/StringQt.cpp:
19892        (WebCore::operator<<):
19893        (WebCore::operator>>):
19894
198952009-06-26  Ben Murdoch  <benm@google.com>
19896
19897        Reviewed by Darin Fisher.
19898
19899        Add #if ENABLE(DOM_STORAGE) to the V8 custom bindings for local/session storage.
19900        https://bugs.webkit.org/show_bug.cgi?id=26757
19901
19902        * bindings/v8/custom/V8StorageCustom.cpp
19903
199042009-06-26  Yongjun Zhang  <yongjun.zhang@nokia.com>
19905
19906        Reviewed by Eric Seidel.
19907
19908        Test: platform/qt/fast/events/event-sender-keydown-frame.html
19909
19910        Bug 20303: [Qt] Key events are not working in frames.
19911
19912        Merge scrolling handling code in qt and win port, move it to
19913        EventHandler.
19914
19915        * page/EventHandler.cpp:
19916        (WebCore::EventHandler::scrollRecursively):
19917        * page/EventHandler.h:
19918
199192009-06-26  Rob Buis  <rwlbuis@gmail.com>
19920
19921        Reviewed by Eric Seidel.
19922
19923        https://bugs.webkit.org/show_bug.cgi?id=26682
19924        Bug 26682: It should be possible to add image to SVG DOM programmatically (using JavaScript)
19925
19926        Make sure the xlink:href animated property setting syncs the corresponding attribute with the right namespace.
19927
19928        Test: svg/custom/createImageElement.svg
19929
19930        * svg/SVGAnimatedProperty.h:
19931        (WebCore::synchronizeProperty):
19932
199332009-06-26  Takeshi Yoshino  <tyoshino@google.com>
19934
19935        Reviewed by Timothy Hatcher.
19936
19937        Bug 26156: In view-source mode, always render the contents using HTMLViewSourceDocument
19938        https://bugs.webkit.org/show_bug.cgi?id=26156
19939
19940        When in view-source mode, render the contents using HTMLViewSourceDocument
19941        regardless it's applicable for any plugin or not.
19942
19943        Chromium tells WebCore to render the contents of specified URL when
19944        view-source: prefix is added to the URL. But currently, DOMImplementation
19945        ignores inViewSourceMode() when the MIME type is indicating that the contents
19946        are neither texts nor HTML family documents.
19947
19948        For example, we can check the contents of asf file without launching media
19949        player. Rendering contents for view-source:-specified input is not what user
19950        expects.
19951
19952        http://code.google.com/p/chromium/issues/detail?id=10545
19953
19954        I want to fix this issue by this patch. IMHO, regardless of this Chromium
19955        specific issue, I think we should force use of HTMLViewSourceDocument when
19956        inViewSourceMode() is specified.
19957
19958        Test: fast/frames/viewsource-on-image-file.html
19959
19960        * dom/DOMImplementation.cpp:
19961        (WebCore::DOMImplementation::createDocument):
19962        * html/HTMLViewSourceDocument.cpp:
19963        (WebCore::HTMLViewSourceDocument::createTokenizer):
19964        * html/HTMLViewSourceDocument.h:
19965
199662009-06-26  Xan Lopez  <xlopez@igalia.com>
19967
19968        Reviewed by Jan Alonzo.
19969
19970        https://bugs.webkit.org/show_bug.cgi?id=25529
19971        [Gtk] Expected states not exposed to assistive technologies
19972
19973        Add support for VISIBLE, EDITABLE and SENSITIVE states.
19974
19975        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
19976        (setAtkStateSetFromCoreObject):
19977
199782009-06-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
19979
19980        Reviewed by Darin Adler.
19981
19982        "Pointer to incomplete class type is not allowed" error with RVCT
19983        https://bugs.webkit.org/show_bug.cgi?id=26721
19984
19985        Based on Norbert Leser's work.
19986
19987        * dom/Document.cpp:
19988        (WebCore::Document::setFocusedNode):
19989        * dom/Node.cpp:
19990        (WebCore::Node::dispatchMouseEvent):
19991        * dom/Node.h: Remove the default value for PassRefPtr<Event> args,
19992        to eliminate dependency on the Event class definition
19993
199942009-06-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
19995
19996        Reviewed by Maciej Stachowiak.
19997
19998        [Qt] Build fix after r45183
19999        https://bugs.webkit.org/show_bug.cgi?id=26748
20000
20001        * WebCore.pro:
20002
200032009-06-25  Alexey Proskuryakov  <ap@webkit.org>
20004
20005        Reviewed by Darin Adler.
20006
20007        https://bugs.webkit.org/show_bug.cgi?id=26681
20008        <rdar://problem/7003461> Problem updating applicationCache when server returns 304
20009
20010        Test: http/tests/appcache/update-cache.html
20011
20012        * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::didReceiveResponse):
20013        We're already done with the resource, don't try to load it again.
20014
200152009-06-25  Simon Fraser  <simon.fraser@apple.com>
20016
20017        Reviewed by Oliver Hunt.
20018
20019        <rdar://problem/6990481>
20020
20021        Handle perspective computation on non-layer objects.
20022
20023        Test: transforms/3d/general/perspective-non-layer.html
20024
20025        * rendering/RenderObject.cpp:
20026        (WebCore::RenderObject::getTransformFromContainer):
20027
200282009-06-25  Pierre d'Herbemont  <pdherbemont@apple.com>
20029
20030        Reviewed by Eric Seidel.
20031
20032        https://bugs.webkit.org/show_bug.cgi?id=26653
20033
20034        Use flex box in the mediaControls.css style, to nicely scale if a button gets
20035        dynamically added or removed.
20036
20037        Media tests results are affected by this changes.
20038
20039        * css/mediaControls.css:
20040        * css/mediaControlsQT.css:
20041
200422009-06-25  Albert J. Wong  <ajwong@chromium.org>
20043
20044        Reviewed by Darin Fisher.
20045
20046        https://bugs.webkit.org/show_bug.cgi?id=26724
20047
20048        Move relavent part of setDefaultFontSize from RenderThemeChromiumWin
20049        up into RenderThemeChromiumSkia.
20050
20051        * rendering/RenderThemeChromiumSkia.cpp:
20052        (WebCore::RenderThemeChromiumSkia::setDefaultFontSize):
20053        * rendering/RenderThemeChromiumSkia.h:
20054        * rendering/RenderThemeChromiumWin.cpp:
20055        (WebCore::RenderThemeChromiumWin::setDefaultFontSize):
20056        * rendering/RenderThemeChromiumWin.h:
20057
200582009-06-25  Matt Perry  <mpcomplete@chromium.org>
20059
20060        Reviewed by Darin Fisher.
20061
20062        https://bugs.webkit.org/show_bug.cgi?id=26733
20063
20064        Add V8-only methods to FrameLoaderClient that V8 can use to send
20065        out notifications when it creates/destroys a script context.
20066
20067        * loader/EmptyClients.h:
20068        (WebCore::EmptyFrameLoaderClient::didCreateScriptContext):
20069        (WebCore::EmptyFrameLoaderClient::didDestroyScriptContext):
20070        * loader/FrameLoaderClient.h:
20071        (WebCore::FrameLoaderClient::didCreateScriptContext):
20072        (WebCore::FrameLoaderClient::didDestroyScriptContext):
20073
200742009-06-25  Dimitri Glazkov  <dglazkov@chromium.org>
20075
20076        Reviewed by David Levin.
20077
20078        Correct a few typos that snuck in when I was reformatting CodeGeneratorV8.pm
20079        to match WebKit style.
20080
20081        * bindings/scripts/CodeGeneratorV8.pm: Corrected lots of typos.
20082
200832009-06-25  Adam Langley  <agl@google.com>
20084
20085        TBRed: fix for Chromium tree.
20086
20087        Add missing include for r45199.
20088
20089        https://bugs.webkit.org/show_bug.cgi?id=26736
20090
20091        r45199 added a reference to throwError without including V8Proxy.h
20092
20093        * bindings/v8/WorkerScriptController.cpp:
20094
200952009-06-25  Adam Langley  <agl@google.com>
20096
20097        TBRed: fix for Chromium tree.
20098
20099        https://bugs.webkit.org/show_bug.cgi?id=26735
20100
20101        Fix V8IsolatedWorld to point to the correct include file.
20102
20103        The deprecated v8_index.h was removed from the Chromium tree in r19291
20104        and upstreamed into WebKit with r45193. However V8IsolatedWorld
20105        slipped in between the cracks and broke the build.
20106
20107        * bindings/v8/V8IsolatedWorld.h: update with new header location.
20108
201092009-06-25  Chris Marrin  <cmarrin@apple.com>
20110
20111        Reviewed by Simon Fraser  <simon.fraser@apple.com>.
20112
20113        https://bugs.webkit.org/show_bug.cgi?id=26651
20114
20115        Preference is named "WebKitAcceleratedCompositingEnabled"
20116        and is a boolean value. When false, prevents compositing layers from
20117        being created, which prevents hardware animation from running.
20118        Also forces video to do software rendering. Added a cache for
20119        the flag in RenderLayerCompositing and made it all work
20120        on-the-fly when the flag is changed while a page is loaded.
20121
20122        * WebCore.base.exp:
20123        * page/FrameView.cpp:
20124        (WebCore::FrameView::updateCompositingLayers):
20125        * page/Settings.cpp:
20126        (WebCore::setNeedsReapplyStylesInAllFrames):
20127        (WebCore::Settings::Settings):
20128        (WebCore::Settings::setAcceleratedCompositingEnabled):
20129        * page/Settings.h:
20130        (WebCore::Settings::acceleratedCompositingEnabled):
20131        * rendering/RenderLayer.cpp:
20132        (WebCore::RenderLayer::hasAcceleratedCompositing):
20133        (WebCore::RenderLayer::updateTransform):
20134        (WebCore::RenderLayer::currentTransform):
20135        * rendering/RenderLayer.h:
20136        * rendering/RenderLayerBacking.cpp:
20137        (WebCore::RenderLayerBacking::updateLayerTransform):
20138        * rendering/RenderLayerCompositor.cpp:
20139        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
20140        (WebCore::RenderLayerCompositor::enableCompositingMode):
20141        (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingEnabledFlag):
20142        (WebCore::RenderLayerCompositor::updateCompositingLayers):
20143        (WebCore::RenderLayerCompositor::canAccelerateVideoRendering):
20144        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
20145        (WebCore::RenderLayerCompositor::needsToBeComposited):
20146        (WebCore::RenderLayerCompositor::destroyRootPlatformLayer):
20147        * rendering/RenderLayerCompositor.h:
20148        (WebCore::RenderLayerCompositor::hasAcceleratedCompositing):
20149        * rendering/RenderObject.h:
20150        (WebCore::makeMatrixRenderable):
20151
201522009-06-25  Jian Li  <jianli@chromium.org>
20153
20154        Reviewed by Dimitri Glazkov.
20155
20156        Bug 26701: Implement the missing code for "FIXME: Need to return an
20157        exception" in WorkerScriptController::evaluate for v8 bindings.
20158        https://bugs.webkit.org/show_bug.cgi?id=26701
20159
20160        * bindings/v8/WorkerScriptController.cpp:
20161        (WebCore::WorkerScriptController::evaluate):
20162
201632009-06-25  Nate Chapin  <japhet@chromium.org>
20164
20165        Reviewed by Dimitri Glazkov.
20166
20167        Upstream V8Index.
20168
20169        https://bugs.webkit.org/show_bug.cgi?id=26495
20170
20171        * bindings/v8/V8Index.cpp: Added.
20172        (WebCore::V8ClassIndex::GetFactory): Moved from src.chromium.org.
20173        (WebCore::V8ClassIndex::GetCache): Moved from src.chromium.org.
20174        * bindings/v8/V8Index.h:
20175        (WebCore::V8ClassIndex::): Moved from src.chromium.org.
20176        (WebCore::V8ClassIndex::ToInt): Moved from src.chromium.org.
20177        (WebCore::V8ClassIndex::FromInt): Moved from src.chromium.org.
20178
201792009-06-25  Adam Langley  <agl@google.com>
20180
20181        Reviewed by Darin Fisher.
20182
20183        https://bugs.webkit.org/show_bug.cgi?id=26529
20184
20185        This is hopefully the last step before our renderers can run
20186        cleanly in a chroot.
20187
20188        WebKit needs to be able to ask for the correct font to use in
20189        the case that the current font doesn't include glyphs for
20190        certain code points. Currently we make a fontconfig call in our
20191        WebKit port to handle this.
20192
20193        This patch changes this so that the call is sent our via
20194        ChromiumBridge.
20195
20196        http://codereview.chromium.org/132007
20197
20198        This should not affect any layout tests.
20199
20200        * platform/chromium/ChromiumBridge.h:
20201        * platform/graphics/chromium/FontCacheLinux.cpp:
20202        (WebCore::FontCache::getFontDataForCharacters):
20203
202042009-06-25  Albert J. Wong  <ajwong@chromium.org>
20205
20206        Reviewed by David Levin.
20207
20208        https://bugs.webkit.org/show_bug.cgi?id=26566
20209        Upstream these files from the chromium v8 code.  No tests were
20210        affected because this is essentially a code move.
20211
20212        * bindings/v8/NPV8Object.cpp: Added.
20213        (allocV8NPObject):
20214        (freeV8NPObject):
20215        (listFromVariantArgs):
20216        (npIdentifierToV8Identifier):
20217        (npCreateV8ScriptObject):
20218        (NPN_Invoke):
20219        (NPN_InvokeDefault):
20220        (NPN_Evaluate):
20221        (NPN_EvaluateHelper):
20222        (NPN_GetProperty):
20223        (NPN_SetProperty):
20224        (NPN_RemoveProperty):
20225        (NPN_HasProperty):
20226        (NPN_HasMethod):
20227        (NPN_SetException):
20228        (NPN_Enumerate):
20229        (NPN_Construct):
20230        * bindings/v8/NPV8Object.h: Added.
20231        (PrivateIdentifier::):
20232        * bindings/v8/V8NPUtils.cpp: Added.
20233        (convertV8ObjectToNPVariant):
20234        (convertNPVariantToV8Object):
20235        (getStringIdentifier):
20236        * bindings/v8/V8NPUtils.h: Added.
20237
202382009-06-25  Shinichiro Hamaji  <hamaji@chromium.org>
20239
20240        Reviewed by Dimitri Glazkov.
20241
20242        https://bugs.webkit.org/show_bug.cgi?id=26436
20243
20244        Windows Chromium bug fix: save context of destination canvas in
20245        TransparencyWin::compositeTextComposite() before the function
20246        modifies the context.
20247
20248        Test: fast/canvas/translate-text.html
20249
20250        * platform/graphics/chromium/TransparencyWin.cpp:
20251        (WebCore::TransparencyWin::compositeTextComposite):
20252
202532009-06-25  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
20254
20255        Reviewed by Timothy Hatcher.
20256
20257        Show the filename and first line for "(program)" in the Profiler/Debugger
20258        https://bugs.webkit.org/show_bug.cgi?id=25475
20259
20260        Add support to associate a sourceURL with an eval()'d string
20261        via a @sourceURL comment.  Currently the sourceURL is only available
20262        in the script debugger, not in the console or profiler, but it's
20263        most needed in the script debugger.
20264
20265        * English.lproj/localizedStrings.js: added new "(program): %s" string
20266        * inspector/front-end/Script.js:
20267        (WebInspector.Script): if no sourceURL is available for the Script,
20268        search for a comment of the form //@ sourceURL=(url) to use
20269        as the sourceURL instead.
20270        * manual-tests/inspector/named-evals.html: Added.
20271
202722009-06-25  John Gregg  <johnnyg@google.com>
20273
20274        Reviewed by Sam Weinig.
20275
20276        Bug 23721: Changing dropdown's selectedIndex within onchange handler fires another onchange
20277        https://bugs.webkit.org/show_bug.cgi?id=23721
20278
20279        onchange events fire when a SELECT element has
20280        focus and the selectedIndex is updated by script in some way--either
20281        during another onchange, onkeypress, onfocus, or timer--and then
20282        focus is lost.
20283
20284        Fixed by making a separate method for user-driven selectedIndex
20285        changes, leaving scripts to use one which doesn't cause onchange to
20286        be queued.
20287
20288        Test: fast/forms/select-script-onchange.html
20289
20290        * dom/SelectElement.cpp: check if the pending change is user driven
20291        before calling onchange
20292        (WebCore::SelectElement::menuListOnChange):
20293        (WebCore::SelectElement::setSelectedIndex):
20294        * dom/SelectElement.h: store whether the pending change is user driven
20295        (WebCore::SelectElementData::userDrivenChange):
20296        (WebCore::SelectElementData::setUserDrivenChange):
20297        * html/HTMLSelectElement.cpp: split into two methods -- script version
20298        [non-user-driven] corresponds to IDL defined property name
20299        (WebCore::HTMLSelectElement::setSelectedIndex):
20300        (WebCore::HTMLSelectElement::setSelectedIndexByUser):
20301        * html/HTMLSelectElement.h:
20302        * rendering/RenderMenuList.cpp: use ByUser method when coming through
20303        the renderer
20304        (WebCore::RenderMenuList::valueChanged):
20305
203062009-06-25  Jeremy Orlow  <jorlow@chromium.org>
20307
20308        Reviewed by Darin Fisher.
20309
20310        https://bugs.webkit.org/show_bug.cgi?id=26698
20311
20312        Combined LocalStorageArea and SessionStorageArea into StorageArea since
20313        (after my other refactorings) there are no longer substantial
20314        differences between the two.
20315
20316        * GNUmakefile.am:
20317        * WebCore.vcproj/WebCore.vcproj:
20318        * WebCore.xcodeproj/project.pbxproj:
20319        * WebCoreSources.bkl:
20320        * storage/LocalStorage.cpp:
20321        (WebCore::LocalStorage::storageArea):
20322        * storage/LocalStorage.h:
20323        * storage/LocalStorageArea.cpp: Removed.
20324        * storage/LocalStorageArea.h: Removed.
20325        * storage/SessionStorage.cpp:
20326        (WebCore::SessionStorage::copy):
20327        (WebCore::SessionStorage::storageArea):
20328        * storage/SessionStorage.h:
20329        * storage/SessionStorageArea.cpp: Removed.
20330        * storage/SessionStorageArea.h: Removed.
20331        * storage/StorageArea.cpp:
20332        (WebCore::StorageArea::createLocalStorage):
20333        (WebCore::StorageArea::StorageArea):
20334        (WebCore::StorageArea::createSessionStorage):
20335        (WebCore::StorageArea::copy):
20336        (WebCore::StorageArea::setItem):
20337        (WebCore::StorageArea::removeItem):
20338        (WebCore::StorageArea::clear):
20339        (WebCore::StorageArea::scheduleFinalSync):
20340        (WebCore::StorageArea::blockUntilImportComplete):
20341        (WebCore::StorageArea::dispatchStorageEvent):
20342        * storage/StorageArea.h:
20343        * storage/StorageAreaSync.cpp:
20344        (WebCore::StorageAreaSync::StorageAreaSync):
20345        (WebCore::StorageAreaSync::scheduleFinalSync):
20346        (WebCore::StorageAreaSync::syncTimerFired):
20347        (WebCore::StorageAreaSync::performImport):
20348        * storage/StorageAreaSync.h:
20349        * storage/StorageSyncManager.h:
20350
203512009-06-25  Dan Bernstein  <mitz@apple.com>
20352
20353        Reviewed by Darin Adler.
20354
20355        - fix https://bugs.webkit.org/show_bug.cgi?id=26671
20356          <rdar://problem/7001880> Safari 4.0 crashes in
20357          WebCore::DOMTimer::fired()
20358
20359        Test: fast/dom/style-sheet-candidate-remove-unrendered-document.html
20360
20361        When a "style sheet candidate" element is removed from a document,
20362        call Document::removeStyleSheetCandidateNode() regardless of whether
20363        the document is rendered. Otherwise, the document's style sheet
20364        candidate set can end up containing stale references.
20365
20366        * dom/ProcessingInstruction.cpp:
20367        (WebCore::ProcessingInstruction::removedFromDocument):
20368        * html/HTMLLinkElement.cpp:
20369        (WebCore::HTMLLinkElement::removedFromDocument):
20370        * html/HTMLStyleElement.cpp:
20371        (WebCore::HTMLStyleElement::removedFromDocument):
20372
203732009-06-25  Dimitri Glazkov  <dglazkov@chromium.org>
20374
20375        Reviewed by Darin Fisher.
20376
20377        Update CodeGeneratorV8.pm to sync up with the changes downstream.
20378
20379        * bindings/scripts/CodeGeneratorV8.pm: Added HTMLFrameSetElement check,
20380          FileList as a ref-counted type, and DataGridColumn as typeCanFailConversion.
20381
203822009-06-25  Dimitri Glazkov  <dglazkov@chromium.org>
20383
20384        Unreviewed, build fix.
20385
20386        Add FileList.h include to fix Chromium build.
20387
20388        * platform/chromium/ClipboardChromium.cpp: Added FileList.h include.
20389
203902009-06-25  Joseph Pecoraro  <joepeck02@gmail.com>
20391
20392        Reviewed by Jan Alonzo.
20393
20394        Bug 26489: Web Inspector: Typo in DatabaseQuery Error Message
20395        https://bugs.webkit.org/show_bug.cgi?id=26489
20396
20397        Fixed a Typo in a Web Inspector error message.
20398
20399        * English.lproj/localizedStrings.js:
20400        * inspector/front-end/DatabaseQueryView.js:
20401        (WebInspector.DatabaseQueryView.prototype._queryError):
20402
204032009-06-25  Simon Hausmann  <simon.hausmann@nokia.com>
20404
20405        Fix the Qt build, add missing StorageAreaSync files to the build.
20406
20407        * WebCore.pro:
20408
204092009-06-25  Simon Hausmann  <simon.hausmann@nokia.com>
20410
20411        Reviewed by and done with Tor Arne Vestbø.
20412
20413        Fix shortcut keyboard handling with plugins on the Qt/Mac build.
20414
20415        When we receive shortcut events like Ctrl+V then the text in the QKeyEvent is
20416        empty. If we're asked to disambiguate the event into a Char keyboard event,
20417        we try to detect this situation and still set the text, to ensure that the
20418        general event handling sends a key press event after this disambiguation.
20419
20420        * platform/qt/PlatformKeyboardEventQt.cpp:
20421        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
20422
204232009-06-25  Eric Seidel  <eric@webkit.org>
20424
20425        Build fix only, no review.
20426
20427        Add FileList.h and NotImplemented.h includes in an attempt to fix bots.
20428
20429        * platform/gtk/ClipboardGtk.cpp:
20430        * platform/qt/ClipboardQt.cpp:
20431        * platform/win/ClipboardWin.cpp:
20432        * platform/wx/ClipboardWx.cpp:
20433
204342009-05-21  Eric Seidel  <eric@webkit.org>
20435
20436        Reviewed by Maciej Stachowiak.
20437
20438        Expose files in the clipboard in ondrop events
20439        https://bugs.webkit.org/show_bug.cgi?id=25916
20440
20441        Make it possible for applications like gmail to implement
20442        drag and drop of attachments onto email messages.
20443
20444        This patch exposes an event.dataTransfer.files accessor
20445        on the drop event.  No information is exposed during dragover.
20446        This follows the HTML 5 drag and drop security model:
20447        http://www.w3.org/TR/html5/editing.html#security-risks-in-the-drag-and-drop-model
20448        The test http/tests/security/clipboard/clipboard-file-access.html
20449        verifies this behavior.
20450
20451        Internet Explorer shows historical documentation of supporting
20452        getData('File') as a way of exposing files on the pasteboard.  The current version of their docs:
20453        http://msdn.microsoft.com/en-us/library/ms537658(VS.85).aspx
20454        has removed this reference (as far as I can tell IE never implemented it)
20455        I have a printed copy of that URL from 2008 on my desk describing getData('File') in IE.
20456        IE does not follow the HTML5 clipboard security model and always allows access to the full clipboard, even on dragover.
20457
20458        I choose not to use IE's getData('File') and instead added .files
20459        so that the accessor could have a type, matching WebKit's existing
20460        .files accessor on HTMLInputElement.
20461
20462        Mozilla has equivalent file access:
20463        event.dataTransfer.mozGetDataAt("application/x-moz-file", 0);
20464        which also does not return a typed value.
20465        https://developer.mozilla.org/En/DragDrop/Recommended_Drag_Types#Dragging_Files
20466
20467        This is only implemented for Mac WebKit.  All other platforms (including Apple's Win WebKit)
20468        have incomplete Clipboard implementations and will require experts from those platforms
20469        to add this functionality.  Right now they all have Clipboard*::files() methods which call notImplemented();
20470
20471        Test: http/tests/security/clipboard/clipboard-file-access.html
20472
20473        * dom/Clipboard.h:
20474        * dom/Clipboard.idl:
20475        * platform/chromium/ClipboardChromium.cpp:
20476        (WebCore::ClipboardChromium::files):
20477        * platform/chromium/ClipboardChromium.h:
20478        * platform/gtk/ClipboardGtk.cpp:
20479        (WebCore::ClipboardGtk::files):
20480        * platform/gtk/ClipboardGtk.h:
20481        * platform/mac/ClipboardMac.h:
20482        * platform/mac/ClipboardMac.mm:
20483        (WebCore::absoluteURLsFromPasteboardFilenames):
20484        (WebCore::absoluteURLsFromPasteboard):
20485        (WebCore::ClipboardMac::files):
20486        * platform/qt/ClipboardQt.cpp:
20487        (WebCore::ClipboardQt::files):
20488        * platform/qt/ClipboardQt.h:
20489        * platform/win/ClipboardWin.cpp:
20490        (WebCore::ClipboardWin::files):
20491        * platform/win/ClipboardWin.h:
20492        * platform/wx/ClipboardWx.cpp:
20493        (WebCore::ClipboardWx::files):
20494        * platform/wx/ClipboardWx.h:
20495
204962009-06-25  Eric Seidel  <eric@webkit.org>
20497
20498        No review, only completing revert of r45144.
20499
20500        Add back files deleted by r45144.
20501
20502        * storage/LocalStorageArea.cpp: Added.
20503        (WebCore::LocalStorageArea::create):
20504        (WebCore::LocalStorageArea::LocalStorageArea):
20505        (WebCore::LocalStorageArea::scheduleFinalSync):
20506        (WebCore::LocalStorageArea::itemChanged):
20507        (WebCore::LocalStorageArea::itemRemoved):
20508        (WebCore::LocalStorageArea::areaCleared):
20509        (WebCore::LocalStorageArea::blockUntilImportComplete):
20510        (WebCore::LocalStorageArea::dispatchStorageEvent):
20511        * storage/LocalStorageArea.h: Added.
20512        * storage/SessionStorageArea.cpp: Added.
20513        (WebCore::SessionStorageArea::copy):
20514        (WebCore::SessionStorageArea::SessionStorageArea):
20515        (WebCore::SessionStorageArea::itemChanged):
20516        (WebCore::SessionStorageArea::itemRemoved):
20517        (WebCore::SessionStorageArea::areaCleared):
20518        (WebCore::SessionStorageArea::blockUntilImportComplete):
20519        (WebCore::SessionStorageArea::dispatchStorageEvent):
20520        * storage/SessionStorageArea.h: Added.
20521        (WebCore::SessionStorageArea::create):
20522
205232009-06-25  Eric Seidel  <eric@webkit.org>
20524
20525        No review, reverting r45144 only.
20526
20527        Roll out r45144 after 18 test failures appeared on the bots.
20528        https://bugs.webkit.org/show_bug.cgi?id=26698
20529
20530        * GNUmakefile.am:
20531        * WebCore.vcproj/WebCore.vcproj:
20532        * WebCore.xcodeproj/project.pbxproj:
20533        * WebCoreSources.bkl:
20534        * storage/LocalStorage.cpp:
20535        (WebCore::LocalStorage::storageArea):
20536        * storage/LocalStorage.h:
20537        * storage/SessionStorage.cpp:
20538        (WebCore::SessionStorage::copy):
20539        (WebCore::SessionStorage::storageArea):
20540        * storage/SessionStorage.h:
20541        * storage/StorageArea.cpp:
20542        (WebCore::StorageArea::StorageArea):
20543        (WebCore::StorageArea::~StorageArea):
20544        (WebCore::StorageArea::setItem):
20545        (WebCore::StorageArea::removeItem):
20546        (WebCore::StorageArea::clear):
20547        * storage/StorageArea.h:
20548        * storage/StorageAreaSync.cpp:
20549        (WebCore::StorageAreaSync::StorageAreaSync):
20550        (WebCore::StorageAreaSync::scheduleFinalSync):
20551        (WebCore::StorageAreaSync::syncTimerFired):
20552        (WebCore::StorageAreaSync::performImport):
20553        * storage/StorageAreaSync.h:
20554        * storage/StorageSyncManager.h:
20555
205562009-06-24  Jeremy Orlow  <jorlow@chromium.org>
20557
20558        Reviewed by Darin Fisher.
20559
20560        https://bugs.webkit.org/show_bug.cgi?id=26698
20561
20562        Combined LocalStorageArea and SessionStorageArea into StorageArea since
20563        (after my other refactorings) there are no longer substantial
20564        differences between the two.
20565
20566        * GNUmakefile.am:
20567        * WebCore.vcproj/WebCore.vcproj:
20568        * WebCore.xcodeproj/project.pbxproj:
20569        * WebCoreSources.bkl:
20570        * storage/LocalStorage.cpp:
20571        (WebCore::LocalStorage::storageArea):
20572        * storage/LocalStorage.h:
20573        * storage/LocalStorageArea.cpp: Removed.
20574        * storage/LocalStorageArea.h: Removed.
20575        * storage/SessionStorage.cpp:
20576        (WebCore::SessionStorage::copy):
20577        (WebCore::SessionStorage::storageArea):
20578        * storage/SessionStorage.h:
20579        * storage/SessionStorageArea.cpp: Removed.
20580        * storage/SessionStorageArea.h: Removed.
20581        * storage/StorageArea.cpp:
20582        (WebCore::StorageArea::createLocalStorage):
20583        (WebCore::StorageArea::StorageArea):
20584        (WebCore::StorageArea::createSessionStorage):
20585        (WebCore::StorageArea::copy):
20586        (WebCore::StorageArea::setItem):
20587        (WebCore::StorageArea::removeItem):
20588        (WebCore::StorageArea::clear):
20589        (WebCore::StorageArea::scheduleFinalSync):
20590        (WebCore::StorageArea::blockUntilImportComplete):
20591        (WebCore::StorageArea::dispatchStorageEvent):
20592        * storage/StorageArea.h:
20593        * storage/StorageAreaSync.cpp:
20594        (WebCore::StorageAreaSync::StorageAreaSync):
20595        (WebCore::StorageAreaSync::scheduleFinalSync):
20596        (WebCore::StorageAreaSync::syncTimerFired):
20597        (WebCore::StorageAreaSync::performImport):
20598        * storage/StorageAreaSync.h:
20599        * storage/StorageSyncManager.h:
20600
206012009-06-24  Dan Bernstein  <mitz@apple.com>
20602
20603        Reviewed by Simon Fraser.
20604
20605        - fix <rdar://problem/7001817> REGRESSION (r41902): Base position track
20606          at UCSC Genome Browser doesn't work because image map prevents img
20607          from hit-testing
20608
20609        Test: fast/replaced/image-map-2.html
20610
20611        * rendering/RenderImage.cpp:
20612        (WebCore::RenderImage::nodeAtPoint): Do not reset 'inside' to false if
20613        the image map failed the hit test.
20614
206152009-06-22  Adam Barth  <abarth@webkit.org>
20616
20617        Reviewed by Dimitri Glazkov.
20618
20619        https://bugs.webkit.org/show_bug.cgi?id=26366
20620
20621        Refactor V8DOMMap to support isolated worlds.
20622
20623        * bindings/v8/ScriptController.cpp:
20624        (WebCore::ScriptController::evaluateInNewWorld):
20625        * bindings/v8/ScriptController.h:
20626        * bindings/v8/V8DOMMap.cpp:
20627        (WebCore::DOMDataStore::InternalDOMWrapperMap::InternalDOMWrapperMap):
20628        (WebCore::DOMDataStore::allStores):
20629        (WebCore::DOMDataStore::allStoresMutex):
20630        (WebCore::DOMDataStore::domData):
20631        (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
20632        (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
20633        (WebCore::StaticDOMDataStore::StaticDOMDataStore):
20634        (WebCore::):
20635        (WebCore::MainThreadDOMData::MainThreadDOMData):
20636        (WebCore::MainThreadDOMData::getStore):
20637        (WebCore::ChildThreadDOMData::ChildThreadDOMData):
20638        (WebCore::ChildThreadDOMData::getStore):
20639        (WebCore::DOMDataStore::DOMDataStore):
20640        (WebCore::DOMDataStore::~DOMDataStore):
20641        (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
20642        (WebCore::DOMDataStoreHandle::~DOMDataStoreHandle):
20643        (WebCore::forget):
20644        (WebCore::getDOMNodeMap):
20645        (WebCore::getDOMObjectMap):
20646        (WebCore::getActiveDOMObjectMap):
20647        (WebCore::getDOMSVGElementInstanceMap):
20648        (WebCore::getDOMSVGObjectWithContextMap):
20649        (WebCore::DOMData::getCurrent):
20650        (WebCore::DOMData::handleWeakObject):
20651        (WebCore::DOMData::ensureDeref):
20652        (WebCore::weakDOMObjectCallback):
20653        (WebCore::weakActiveDOMObjectCallback):
20654        (WebCore::weakNodeCallback):
20655        (WebCore::weakSVGElementInstanceCallback):
20656        (WebCore::weakSVGObjectWithContextCallback):
20657        (WebCore::DOMData::derefObject):
20658        (WebCore::DOMData::derefDelayedObjects):
20659        (WebCore::DOMData::derefDelayedObjectsInCurrentThread):
20660        (WebCore::DOMData::removeObjectsFromWrapperMap):
20661        (WebCore::removeAllDOMObjectsInCurrentThreadHelper):
20662        (WebCore::visitDOMNodesInCurrentThread):
20663        (WebCore::visitDOMObjectsInCurrentThread):
20664        (WebCore::visitActiveDOMObjectsInCurrentThread):
20665        (WebCore::visitDOMSVGElementInstancesInCurrentThread):
20666        (WebCore::visitSVGObjectsInCurrentThread):
20667        * bindings/v8/V8DOMMap.h:
20668        (WebCore::DOMDataStoreHandle::getStore):
20669        * bindings/v8/V8IsolatedWorld.cpp: Added.
20670        (WebCore::getIsolatedWorldKey):
20671        (WebCore::contextWeakReferenceCallback):
20672        (WebCore::V8IsolatedWorld::evaluate):
20673        (WebCore::V8IsolatedWorld::V8IsolatedWorld):
20674        (WebCore::V8IsolatedWorld::~V8IsolatedWorld):
20675        (WebCore::V8IsolatedWorld::getEntered):
20676        * bindings/v8/V8IsolatedWorld.h: Added.
20677        (WebCore::V8IsolatedWorld::getDOMDataStore):
20678
206792009-06-24  Mikhail Naganov  <mnaganov@chromium.org>
20680
20681        Reviewed by Timothy Hatcher.
20682
20683        Bug 26604: Search doesn't work in Web Inspector Profiler
20684        https://bugs.webkit.org/show_bug.cgi?id=26604
20685
20686        Seems like search was damaged in revision 42808.
20687
20688        * inspector/front-end/ProfileView.js:
20689        (WebInspector.ProfileView.prototype.refresh):
20690        Here and in other functions: nodes we're searching in are profile data grid
20691        nodes, so there is no more need for '_dataGridNode' references.
20692        (WebInspector.ProfileView.prototype.searchCanceled):
20693        (WebInspector.ProfileView.prototype.performSearch.matchesQuery):
20694        Fixed accidental semicolon that caused 'matchesQuery' always return true.
20695        (WebInspector.ProfileView.prototype.performSearch):
20696        To perform search correctly in the case of bottom up tree, we need to populate
20697        the tree, because there's no 1-to-1 correspondence between profile nodes and
20698        data grid nodes in this case.
20699        (WebInspector.ProfileView.prototype._jumpToSearchResult):
20700
207012009-06-24  Simon Fraser  <simon.fraser@apple.com>
20702
20703        Reviewed by Darin Adler.
20704
20705        <rdar://problem/6450239&6574516>
20706
20707        Fix flashing issues caused by compositing layers rendering content before
20708        a deferred layout has happened. Because the -viewWillDraw machinery doesn't
20709        work for composited layers, we need to use scheduleViewUpdate() to queue
20710        up a layout via the run loop observer in WebKit, whenever we know we
20711        are going to be painting soon.
20712
20713        * rendering/RenderLayerBacking.cpp:
20714        (WebCore::RenderLayerBacking::setContentsNeedDisplay):
20715        (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
20716
207172009-06-24  David Levin  <levin@chromium.org>
20718
20719        Fix all builds.
20720
20721        * ForwardingHeaders/wtf/FastAllocBase.h: Added.
20722
207232009-06-24  Jeremy Orlow  <jorlow@chromium.org>
20724
20725        Reviewed by Darin Fisher.
20726
20727        https://bugs.webkit.org/show_bug.cgi?id=26658
20728
20729        Split the syncing portions of LocalStorageArea into StorageAreaSync.
20730        This name will make more sense in the next patch (in this set) when
20731        LocalStorageArea and SessionStorageArea are merged to become simply
20732        StorageArea.  (Thus the synching portion of StorageArea is in
20733        StorageAreaSync.)
20734
20735        This looks like a big patch, but really all it's doing is splitting
20736        code and patching split-related things up.
20737
20738        * GNUmakefile.am:
20739        * WebCore.vcproj/WebCore.vcproj:
20740        * WebCore.xcodeproj/project.pbxproj:
20741        * WebCoreSources.bkl:
20742        * storage/LocalStorageArea.cpp:
20743        (WebCore::LocalStorageArea::create):
20744        (WebCore::LocalStorageArea::LocalStorageArea):
20745        (WebCore::LocalStorageArea::scheduleFinalSync):
20746        (WebCore::LocalStorageArea::itemChanged):
20747        (WebCore::LocalStorageArea::itemRemoved):
20748        (WebCore::LocalStorageArea::areaCleared):
20749        (WebCore::LocalStorageArea::blockUntilImportComplete):
20750        * storage/LocalStorageArea.h:
20751        * storage/LocalStorageTask.cpp:
20752        (WebCore::LocalStorageTask::LocalStorageTask):
20753        * storage/LocalStorageTask.h:
20754        (WebCore::LocalStorageTask::createImport):
20755        (WebCore::LocalStorageTask::createSync):
20756        * storage/LocalStorageThread.cpp:
20757        (WebCore::LocalStorageThread::scheduleImport):
20758        (WebCore::LocalStorageThread::scheduleSync):
20759        * storage/LocalStorageThread.h:
20760        * storage/SessionStorageArea.cpp:
20761        (WebCore::SessionStorageArea::blockUntilImportComplete):
20762        * storage/SessionStorageArea.h:
20763        * storage/StorageArea.h:
20764        * storage/StorageAreaSync.cpp: Copied from WebCore/storage/LocalStorageArea.cpp.
20765        * storage/StorageAreaSync.h: Copied from WebCore/storage/LocalStorageArea.h.
20766        * storage/StorageSyncManager.cpp:
20767        (WebCore::StorageSyncManager::scheduleImport):
20768        (WebCore::StorageSyncManager::scheduleSync):
20769        * storage/StorageSyncManager.h:
20770
207712009-06-24  Adam Treat  <adam.treat@torchmobile.com>
20772
20773        Fix Qt build.
20774
20775        * WebCore.pro:
20776
207772009-06-24  David Levin  <levin@chromium.org>
20778
20779        Reviewed by David Hyatt.
20780
20781        Bug 26696: Member functions in DataGridColumnList should return pointers instead of PassRefPtr.
20782        https://bugs.webkit.org/show_bug.cgi?id=26696
20783
20784        * html/DataGridColumnList.cpp:
20785        (WebCore::DataGridColumnList::itemWithName):
20786        (WebCore::DataGridColumnList::add):
20787        * html/DataGridColumnList.h:
20788        (WebCore::DataGridColumnList::item):
20789        (WebCore::DataGridColumnList::primaryColumn):
20790        (WebCore::DataGridColumnList::sortColumn):
20791
207922009-06-24  Sam Weinig  <sam@webkit.org>
20793
20794        Reviewed by Dave "Messy" Hyatt.
20795
20796        Little bit of style cleanup.
20797
20798        * html/DataGridColumn.cpp:
20799        * html/DataGridColumn.h:
20800        * html/DataGridColumn.idl:
20801        * html/DataGridColumnList.cpp:
20802        * html/DataGridColumnList.h:
20803        * html/DataGridColumnList.idl:
20804        * html/HTMLDataGridCellElement.cpp:
20805        * html/HTMLDataGridCellElement.h:
20806        * html/HTMLDataGridCellElement.idl:
20807        * html/HTMLDataGridColElement.cpp:
20808        * html/HTMLDataGridColElement.h:
20809        * html/HTMLDataGridColElement.idl:
20810        * html/HTMLDataGridElement.h:
20811        * html/HTMLDataGridElement.idl:
20812        * html/HTMLDataGridRowElement.cpp:
20813        * html/HTMLDataGridRowElement.h:
20814        * html/HTMLDataGridRowElement.idl:
20815
208162009-06-24  Chris Fleizach  <cfleizach@apple.com>
20817
20818        Reviewed by Oliver Hunt.
20819
20820        Bug 26668: AX: need a way to retrieve the language for an element
20821
20822        Provides a way to retrieve the language associated with a specific accessibility element.
20823
20824        Test: accessibility/language-attribute.html
20825
20826        * accessibility/AccessibilityObject.cpp:
20827        (WebCore::AccessibilityObject::language):
20828        * accessibility/AccessibilityObject.h:
20829        * accessibility/AccessibilityRenderObject.cpp:
20830        (WebCore::AccessibilityRenderObject::language):
20831        * accessibility/AccessibilityRenderObject.h:
20832        * accessibility/mac/AccessibilityObjectWrapper.mm:
20833        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
20834
208352009-06-24  Brady Eidson  <beidson@apple.com>
20836
20837        Reviewed by Dan Bernstein.
20838
20839        <rdar://problem/6893811> Instead of downloading files linked from Google Earth, file contents displayed in browser window as text.
20840
20841        * platform/network/mac/WebCoreURLResponse.mm:
20842        (createBinaryExtensionsSet): Add '.kmz' to the list of known-to-be-binary extensions.
20843
208442009-06-24  Nicolas Weber  <thakis@chromium.org>
20845
20846        Reviewed by Eric Seidel.
20847
20848        https://bugs.webkit.org/show_bug.cgi?id=26685
20849        Accomodate for backwards-incompatible skia api changes.
20850
20851        * platform/graphics/skia/GraphicsContextSkia.cpp:
20852        (WebCore::GraphicsContext::clearRect):
20853        (WebCore::GraphicsContext::setCompositeOperation):
20854        * platform/graphics/skia/ImageBufferSkia.cpp:
20855        (WebCore::ImageBuffer::ImageBuffer):
20856        * platform/graphics/skia/ImageSkia.cpp:
20857        (WebCore::paintSkBitmap):
20858        (WebCore::Image::drawPattern):
20859        * platform/graphics/skia/PlatformContextSkia.cpp:
20860        (PlatformContextSkia::State::State):
20861        (PlatformContextSkia::setupPaintCommon):
20862        (PlatformContextSkia::setXfermodeMode):
20863        (PlatformContextSkia::applyClipFromImage):
20864        * platform/graphics/skia/PlatformContextSkia.h:
20865        * platform/graphics/skia/SkiaUtils.cpp:
20866        (WebCore::):
20867        (WebCore::WebCoreCompositeToSkiaComposite):
20868        * platform/graphics/skia/SkiaUtils.h:
20869
208702009-06-24  Jan Michael Alonzo  <jmalonzo@webkit.org>
20871
20872        Gtk build fix. Add files that were added in r45093 and r45096
20873
20874        * GNUmakefile.am:
20875
208762009-06-24  Brady Eidson  <beidson@apple.com>
20877
20878        Fix 64-bit SnowLeopard build.
20879
20880        * html/DataGridColumnList.cpp:
20881        (WebCore::DataGridColumnList::remove):
20882        (WebCore::DataGridColumnList::move):
20883
208842009-06-24  Rob Buis  <rwlbuis@gmail.com>
20885
20886        Reviewed by Eric Seidel.
20887
20888        https://bugs.webkit.org/show_bug.cgi?id=26392
20889        Bug 26392: In html, modification of xlink:href of an newly inserted svg image does not work.
20890        https://bugs.webkit.org/show_bug.cgi?id=26328
20891        Bug 26328: changing href attribute of svg images does not work when changing display attribute as well
20892
20893        React to href updates even when there is no renderer, i.e. display=none.
20894
20895        Tests: svg/custom/js-update-image-and-display.svg
20896               svg/custom/js-update-image-and-display2.svg
20897               svg/custom/js-update-image-and-display3.svg
20898
20899        * svg/SVGImageElement.cpp:
20900        (WebCore::SVGImageElement::svgAttributeChanged):
20901
209022009-06-24  David Hyatt  <hyatt@apple.com>
20903
20904        Reviewed by Sam Weinig.
20905
20906        https://bugs.webkit.org/show_bug.cgi?id=26687
20907
20908        Add basic back-end column support to datagrid.
20909
20910        Added fast/dom/HTMLDataGridElement/ column tests.
20911
20912        * DerivedSources.cpp:
20913        * DerivedSources.make:
20914        * WebCore.pro:
20915        * WebCore.vcproj/WebCore.vcproj:
20916        * WebCore.xcodeproj/project.pbxproj:
20917        * WebCoreSources.bkl:
20918        * html/DataGridColumn.cpp: Added.
20919        (WebCore::DataGridColumn::setPrimary):
20920        * html/DataGridColumn.h: Added.
20921        (WebCore::DataGridColumn::create):
20922        (WebCore::DataGridColumn::id):
20923        (WebCore::DataGridColumn::setId):
20924        (WebCore::DataGridColumn::label):
20925        (WebCore::DataGridColumn::setLabel):
20926        (WebCore::DataGridColumn::type):
20927        (WebCore::DataGridColumn::setType):
20928        (WebCore::DataGridColumn::sortable):
20929        (WebCore::DataGridColumn::setSortable):
20930        (WebCore::DataGridColumn::sortDirection):
20931        (WebCore::DataGridColumn::setSortDirection):
20932        (WebCore::DataGridColumn::primary):
20933        (WebCore::DataGridColumn::detachFromColumnList):
20934        (WebCore::DataGridColumn::DataGridColumn):
20935        * html/DataGridColumn.idl: Added.
20936        * html/DataGridColumnList.cpp: Added.
20937        (WebCore::DataGridColumnList::~DataGridColumnList):
20938        (WebCore::DataGridColumnList::itemWithName):
20939        (WebCore::DataGridColumnList::add):
20940        (WebCore::DataGridColumnList::remove):
20941        (WebCore::DataGridColumnList::move):
20942        (WebCore::DataGridColumnList::clear):
20943        (WebCore::DataGridColumnList::primaryColumnChanged):
20944        * html/DataGridColumnList.h: Added.
20945        (WebCore::DataGridColumnList::create):
20946        (WebCore::DataGridColumnList::length):
20947        (WebCore::DataGridColumnList::item):
20948        (WebCore::DataGridColumnList::primaryColumn):
20949        (WebCore::DataGridColumnList::sortColumn):
20950        * html/DataGridColumnList.idl: Added.
20951        * html/HTMLDataGridColElement.cpp:
20952        (WebCore::HTMLDataGridColElement::sortable):
20953        (WebCore::HTMLDataGridColElement::setSortable):
20954        (WebCore::HTMLDataGridColElement::sortDirection):
20955        (WebCore::HTMLDataGridColElement::setSortDirection):
20956        * html/HTMLDataGridColElement.h:
20957        * html/HTMLDataGridColElement.idl:
20958        * html/HTMLDataGridElement.cpp:
20959        (WebCore::HTMLDataGridElement::HTMLDataGridElement):
20960        * html/HTMLDataGridElement.h:
20961        (WebCore::HTMLDataGridElement::columns):
20962        * html/HTMLDataGridElement.idl:
20963        * rendering/RenderDataGrid.cpp:
20964        (WebCore::RenderDataGrid::paintObject):
20965        (WebCore::RenderDataGrid::paintColumnHeaders):
20966        (WebCore::RenderDataGrid::rebuildColumns):
20967        * rendering/RenderDataGrid.h:
20968        (WebCore::RenderDataGrid::gridElement):
20969
209702009-06-24  Jessie Berlin  <jberlin@apple.com>
20971
20972        Reviewed by Adam Roben.
20973
20974        Partially fixes: https://bugs.webkit.org/show_bug.cgi?id=24735
20975        (<rdar://problem/5015942>)
20976        Where on windows it was not possible to set an element as the drag
20977        image using setDragImage on the dataTransfer object.
20978
20979        Does not "fix" the case of dragging a link where the default link image
20980        is still used, even when the -webkit-user-drag is set to "element". This
20981        is the same behavior as is found on OS X.
20982
20983        Added a manual test because it is not possible to check that what is
20984        contained in the image snapshot is indeed the requested element.
20985
20986        * dom/Clipboard.h:
20987        (WebCore::Clipboard::dragImageElement):
20988        Made getting the raw pointer from the RefPtr a const operation.
20989        * manual-tests/drag-with-div-or-image-as-data-image.html: Added.
20990        * platform/win/ClipboardWin.cpp:
20991        (WebCore::ClipboardWin::createDragImage):
20992        Get an image of the rendered element and its subtree.
20993
209942009-06-24  Darin Fisher  <darin@chromium.org>
20995
20996        Reviewed by David Levin.
20997
20998        https://bugs.webkit.org/show_bug.cgi?id=26683
20999        Fix Chromium build bustage: Add custom binding for HTMLDataGridElement.dataSource
21000
21001        This change just adds a stub implementation for now to help fix the build.
21002
21003        * bindings/v8/custom/V8CustomBinding.h:
21004        * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Added.
21005
210062009-06-24  David Kilzer  <ddkilzer@apple.com>
21007
21008        Build fixes for ENABLE(PLUGIN_PROXY_FOR_VIDEO)
21009
21010        Reviewed by Adam Roben.
21011
21012        * html/HTMLMediaElement.cpp:
21013        (WebCore::HTMLMediaElement::deliverNotification): Removed
21014        ExceptionCode parameter from togglePlayState().
21015        (WebCore::HTMLMediaElement::initialURL): Don't convert a KURL
21016        object to a String when assigning to a KURL variable.
21017
210182009-06-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
21019
21020        Reviewed by Adam Treat.
21021
21022        Save memory by not storing attribute values in member variables, if not absolutely needed.
21023        Also fixes bugs where we're substituting variables too early (noticeable with the upcoming <select> element).
21024
21025        * wml/WMLDoElement.cpp:
21026        (WebCore::WMLDoElement::parseMappedAttribute):
21027        (WebCore::WMLDoElement::label):
21028        * wml/WMLDoElement.h:
21029        * wml/WMLFieldSetElement.cpp:
21030        (WebCore::WMLFieldSetElement::insertedIntoDocument):
21031        * wml/WMLFieldSetElement.h:
21032        * wml/WMLOptGroupElement.cpp:
21033        (WebCore::WMLOptGroupElement::title):
21034        (WebCore::WMLOptGroupElement::parseMappedAttribute):
21035        (WebCore::WMLOptGroupElement::groupLabelText):
21036        * wml/WMLOptGroupElement.h:
21037        * wml/WMLPostfieldElement.cpp:
21038        (WebCore::WMLPostfieldElement::name):
21039        (WebCore::WMLPostfieldElement::value):
21040        (WebCore::WMLPostfieldElement::encodeData):
21041        * wml/WMLPostfieldElement.h:
21042        * wml/WMLSetvarElement.cpp:
21043        (WebCore::WMLSetvarElement::parseMappedAttribute):
21044        (WebCore::WMLSetvarElement::name):
21045        (WebCore::WMLSetvarElement::value):
21046        * wml/WMLSetvarElement.h:
21047        * wml/WMLTimerElement.cpp:
21048        (WebCore::WMLTimerElement::parseMappedAttribute):
21049        (WebCore::WMLTimerElement::insertedIntoDocument):
21050        (WebCore::WMLTimerElement::timerFired):
21051        (WebCore::WMLTimerElement::start):
21052        (WebCore::WMLTimerElement::value):
21053        * wml/WMLTimerElement.h:
21054
210552009-06-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
21056
21057        Reviewed by Adam Roben.
21058
21059        Forgot to initialize m_task member variable. Results in crashes sometimes.
21060
21061        * wml/WMLAnchorElement.cpp:
21062        (WebCore::WMLAnchorElement::WMLAnchorElement):
21063
210642009-06-24  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
21065
21066        Not reviewed. Forgot to include within last patch.
21067
21068        * manual-tests/wml/card-title-attr.wml: Added.
21069
210702009-06-24  Wajahat Siddiqui <wajahatmeister@gmail.com>
21071
21072        Reviewed by Nikolas Zimmermann.
21073
21074        Fixes: https://bugs.webkit.org/show_bug.cgi?id=26474
21075        Adding WML <card> title attribute handling.
21076
21077        * wml/WMLElement.h: marking parseValueSubstitutingVariableReferences and parseValueForbiddingVariableReferences as const
21078        * wml/WMLElement.cpp:
21079        * wml/WMLCardElement.h:
21080        (WebCore::WMLCardElement::title):
21081        * wml/WMLCardElement.cpp:
21082        * wml/manual-test/card-title-attr.wml: Manual test
21083
210842009-06-24  Simon Hausmann  <simon.hausmann@nokia.com>
21085
21086        Reviewed by Tor Arne Vestbø.
21087
21088        Fix the build without ENABLE_VIDEO.
21089
21090        * html/CanvasRenderingContext2D.cpp: Add #if ENABLE guards.
21091        * html/CanvasRenderingContext2D.h: Ditto.
21092
210932009-06-24  Siddhartha Chattopadhyay  <sidchat@google.com>
21094
21095        Reviewed by Eric Seidel.
21096
21097        Fix for https://bugs.webkit.org/show_bug.cgi?id=26200 which I introduced earlier. I had
21098        the smartReplace set TRUE initially, which was wrong since the purpose of this call is
21099        to just replace the selection, and place the caret at the end of the selection it replaced.
21100
21101        * editing/Editor.cpp:
21102        (WebCore::Editor::markMisspellingsAfterTypingToPosition):
21103        * manual-tests/textarea-caret-position-after-auto-spell-correct.html: Added.
21104
211052009-06-24  Kevin Watters  <kevinwatters@gmail.com>
21106
21107        Reviewed by Kevin Ollivier.
21108
21109        Don't use an unsigned int for intervalInMS because we sometimes initialize
21110        it with a negative value.
21111
21112        * platform/wx/SharedTimerWx.cpp:
21113        (WebCore::setSharedTimerFireTime):
21114
211152009-06-24  Eric Seidel  <eric@webkit.org>
21116
21117        No review, build fix only.
21118
21119        The previous checkin had an improper merge.  This fixes the build.
21120
21121        * page/DragController.cpp:
21122        (WebCore::DragController::tryDocumentDrag):
21123
211242009-06-05  Eric Seidel  <eric@webkit.org>
21125
21126        Reviewed by Oliver Hunt.
21127
21128        https://bugs.webkit.org/show_bug.cgi?id=25922
21129        JS setting dropEffect = "none" causes tryDHTMLDrag
21130        to return DragOperationNone.  Which is also the value
21131        tryDHTMLDrag previously used to indicate JS did not
21132        want to handle the drag.
21133
21134        Make it possible for the DragController::try* methods
21135        to return a bool to indicate if javascript accepted
21136        or rejected the drag event, separate from the DragOperation.
21137
21138        Tests:
21139        - fast/events/drag-to-navigate.html
21140        - fast/events/prevent-drag-to-navigate.html
21141
21142        * page/DragController.cpp:
21143        (WebCore::DragController::dragEnteredOrUpdated):
21144        (WebCore::DragController::tryDocumentDrag):
21145        (WebCore::defaultOperationForDrag):
21146        (WebCore::DragController::tryDHTMLDrag):
21147        * page/DragController.h:
21148
211492009-06-23  Oliver Hunt  <oliver@apple.com> and Eric Carlson  <eric.carlson@apple.com>
21150
21151        Reviewed by Sam Weinig and Dave Hyatt.
21152
21153        <rdar://problem/6164797> Add Canvas API to allow drawing of <video> frames
21154        <https://bugs.webkit.org/show_bug.cgi?id=25920>
21155
21156        Add support for drawing the contents of the video element to the canvas
21157        in accordance with the current HTML5 draft.
21158
21159        Test: media/video-canvas.html
21160
21161        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
21162        (WebCore::JSCanvasRenderingContext2D::drawImage):
21163          Standard custom bindings stuff we need to do for all canvas methods.
21164        * html/CanvasRenderingContext2D.cpp:
21165        (WebCore::size): Helper function for finding the size of a video element
21166        (WebCore::CanvasRenderingContext2D::checkOrigin): moved up in the file.
21167        (WebCore::CanvasRenderingContext2D::drawImage): The various overloads of HTML5's drawImage(<video>)
21168        * html/CanvasRenderingContext2D.h:
21169        * html/HTMLMediaElement.h:
21170        (WebCore::HTMLMediaElement::hasSingleSecurityOrigin):
21171          hasSingleSecurityOrigin is needed for security, currently all implementations are trivial
21172          as we force QT to maintain a single origin.
21173        * html/HTMLVideoElement.cpp:
21174        (WebCore::HTMLVideoElement::paint):
21175            Paint routine on video so we don't have to look at MediaPlayer directly
21176        * html/HTMLVideoElement.h:
21177        * platform/graphics/MediaPlayer.cpp:
21178        (WebCore::NullMediaPlayerPrivate::hasSingleSecurityOrigin):
21179        (WebCore::MediaPlayer::hasSingleSecurityOrigin):
21180            Default implementations of hasSingleSecurityOrigin
21181        * platform/graphics/MediaPlayer.h:
21182        * platform/graphics/MediaPlayerPrivate.h:
21183        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
21184        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
21185        (WebCore::MediaPlayerPrivate::setUpVideoRendering):
21186            A video may need a player now even if it is not visible.
21187        (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
21188            Always return true due to restrictions we've placed on QT.
21189        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
21190        (WebCore::MediaPlayerPrivate::paint):
21191            Jump through some hoops to allow windows QT to draw to an intermediate buffer.
21192            In the long term we'd like to cache the HDC, but this will do for now.
21193        (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
21194        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
21195            As for Mac we force QT to only allow same origin loads.
21196
211972009-06-23  Adam Langley  <agl@google.com>
21198
21199        Reviewed by Eric Seidel.
21200
21201        Chromium: Fix crash with inherited font-size in <option>
21202
21203        https://bugs.webkit.org/show_bug.cgi?id=26656
21204        http://code.google.com/p/chromium/issues/detail?id=14853
21205
21206        In r42597 (https://bugs.webkit.org/show_bug.cgi?id=25244), I changed
21207        the <select> handing for Chromium to fix a rendering bug. However,
21208        although the font-size is correctly ignored, getRowHeight wasn't
21209        updated and so was calculating the height of the rows in an
21210        inconsistent manner. This can lead to a crash.
21211
21212        * manual-tests/optgroup-empty-and-nested.html: adding test case for crash
21213        * platform/chromium/PopupMenuChromium.cpp:
21214        (WebCore::PopupListBox::getRowHeight):
21215
212162009-06-23  Brady Eidson  <beidson@apple.com>
21217
21218        Patch by Antti Koivisto.
21219        Reviewed by Brady Eidson.
21220
21221        <rdar://problem/6988010> Failed resources not reloaded when built against Tiger SDK
21222
21223        A latent bug that cache revalidation uncovered.  When a CachedResource failed to load,
21224        it should always be revalidated upon reload.
21225
21226        * loader/CachedResource.cpp:
21227        (WebCore::CachedResource::canUseCacheValidator):
21228        (WebCore::CachedResource::mustRevalidate):
21229
212302009-06-23  Dan Bernstein  <mitz@apple.com>
21231
21232        Reviewed by Darin Adler.
21233
21234        - fix <rdar://problem/6634228> Crash in [NSScroller mouseDown:] beneath
21235          EventHandler::passMouseDownEventToWidget()
21236
21237        * page/mac/EventHandlerMac.mm:
21238        (WebCore::EventHandler::passMouseDownEventToWidget): Surround the
21239        -mouseDown: call with calls to Widget::beforeMouseDown() and
21240        Widget::afterMouseDown(), which prevent the widget's view hierarchy from
21241        being removed from its parent view while the scroller is tracking the
21242        mouse.
21243
212442009-06-23  Sam Weinig  <sam@webkit.org>
21245
21246        Reviewed by Dave Hyatt.
21247
21248        Fix for https://bugs.webkit.org/show_bug.cgi?id=26516
21249        Add initial implementation of DataGridDataSource
21250
21251        - Initial implementation only supports the initialize callback function.
21252
21253        Test: fast/dom/HTMLDataGridElement/DataGridDataSource-basic.html
21254
21255        * WebCore.xcodeproj/project.pbxproj:
21256        * GNUmakefile.am:
21257        * WebCore.pro:
21258        * WebCore.vcproj/WebCore.vcproj:
21259        * WebCore.xcodeproj/project.pbxproj:
21260        * WebCoreSources.bkl:
21261        * bindings/js/JSDataGridDataSource.cpp: Added.
21262        (WebCore::JSDataGridDataSource::JSDataGridDataSource):
21263        (WebCore::JSDataGridDataSource::~JSDataGridDataSource):
21264        (WebCore::JSDataGridDataSource::initialize):
21265        * bindings/js/JSDataGridDataSource.h: Added.
21266        (WebCore::JSDataGridDataSource::create):
21267        (WebCore::JSDataGridDataSource::isJSDataGridDataSource):
21268        (WebCore::JSDataGridDataSource::jsDataSource):
21269        (WebCore::asJSDataGridDataSource):
21270        * bindings/js/JSHTMLDataGridElementCustom.cpp: Added.
21271        (WebCore::JSHTMLDataGridElement::listener):
21272        (WebCore::JSHTMLDataGridElement::setListener):
21273        * html/DataGridDataSource.h: Added.
21274        (WebCore::DataGridDataSource::~DataGridDataSource):
21275        (WebCore::DataGridDataSource::isJSDataGridDataSource):
21276        * html/HTMLDataGridElement.cpp:
21277        (WebCore::HTMLDataGridElement::HTMLDataGridElement):
21278        (WebCore::HTMLDataGridElement::setDataSource):
21279        (WebCore::HTMLDataGridElement::initializationTimerFired):
21280        * html/HTMLDataGridElement.h:
21281        (WebCore::HTMLDataGridElement::dataSource):
21282        * html/HTMLDataGridElement.idl:
21283
212842009-06-23  Ryosuke Niwa  <rniwa@google.com>
21285
21286        Reviewed by Justin Garcia.
21287
21288        Undo the changeset 21212 to fix the regression bug 14062.
21289        The changeset 21212 attempted to fix rdar://problem/5002441.
21290        The changeset 21212 modified InsertTextCommand::input so as to convert
21291        all spaces in text to non-breaking spaces for rdar://problem/5002441.
21292        However, the bug was originally caused by rebalanceWhitespaceAt
21293        and this workaround introduced a regression bug 14062.
21294        Because rebalanceWhitespaceAt appears to behave correctly now,
21295        the workaround introduced in 21212 is no longer needed.
21296
21297        Test: editing/inserting/space-after-removeformat.html
21298
21299        * editing/InsertTextCommand.cpp:
21300        (WebCore::InsertTextCommand::input):
21301
213022009-06-23  Beth Dakin  <bdakin@apple.com>
21303
21304        Reviewed by Dave Hyatt.
21305
21306        Fix for https://bugs.webkit.org/show_bug.cgi?id=26523 <col>
21307        elements width can't be changed with javascript
21308
21309        This patch both fixes setting the width attribute directly in
21310        JavaScript, and setting the width on the style attribute.
21311
21312        * html/HTMLTableColElement.cpp:
21313        (WebCore::HTMLTableColElement::parseMappedAttribute): If we have a
21314        new width, call setNeedsLayoutAndPrefWidthsRecalc()
21315
21316        Call calcPrefWidths() on the table cols.
21317        * rendering/AutoTableLayout.cpp:
21318        (WebCore::AutoTableLayout::recalcColumn):
21319        * rendering/FixedTableLayout.cpp:
21320        (WebCore::FixedTableLayout::calcWidthArray):
21321
21322        Call layoutIfNeeded on the table cols.
21323        * rendering/RenderTable.cpp:
21324        (WebCore::RenderTable::layout):
21325
21326        * rendering/RenderTableCol.cpp:
21327        (WebCore::RenderTableCol::clippedOverflowRectForRepaint): Use new
21328        table() convenience function.
21329        (WebCore::RenderTableCol::calcPrefWidths): Just call
21330        setPrefWidthsDirty(false) on ourself and our children.
21331        (WebCore::RenderTableCol::table):
21332        * rendering/RenderTableCol.h:
21333
213342009-06-23  Ojan Vafai  <ojan@chromium.org>
21335
21336        Reviewed by Dan Bernstein.
21337
21338        Add logic to CSSStyleDeclaration::diff to deal with font-sizes that are
21339        keyword values. When diff is called on a CSSStyleDeclaration, we check
21340        the keywordSize to see if font-size matches a keyword value.
21341
21342        This ensures that when we diff a CSSMutableStyleDeclaration returned from
21343        copyInheritableProperties on a CSSComputedStyleDeclaration that we
21344        correctly identify matching font-sizes.
21345
21346        https://bugs.webkit.org/show_bug.cgi?id=26279
21347
21348        Test: editing/inserting/font-size-clears-from-typing-style.html
21349
21350        * css/CSSComputedStyleDeclaration.cpp:
21351        (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
21352        * css/CSSComputedStyleDeclaration.h:
21353        * css/CSSStyleDeclaration.cpp:
21354        (WebCore::CSSStyleDeclaration::cssPropertyMatches):
21355        (WebCore::CSSStyleDeclaration::diff):
21356        * css/CSSStyleDeclaration.h:
21357
213582009-06-23  Kevin McCullough  <kmccullough@apple.com>
21359
21360        Reviewed by Darin Adler.
21361
21362        <rdar://problem/6994790> CrashTracer: [USER] 8 crashes in Mail trying to
21363        add a blank line to pasted Facebook content (under
21364        CompositeEditCommand::positionAvoidingSpecialElementBoundary)
21365
21366        - Just added null checks and I will create a new bug to prevent the
21367        bad behavior.
21368
21369        * editing/CompositeEditCommand.cpp:
21370        (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
21371
213722009-06-23  Simon Fraser  <simon.fraser@apple.com>
21373
21374        Build fix.
21375
21376        Wrap shouldDoSoftwarePaint() in #if USE(ACCELERATED_COMPOSITING) to avoid warning when
21377        ACCELERATED_COMPOSITING is not defined.
21378
21379        * rendering/RenderLayer.cpp:
21380
213812009-06-23  Simon Fraser  <simon.fraser@apple.com>
21382
21383        Reviewed by Dave Hyatt.
21384
21385        https://bugs.webkit.org/show_bug.cgi?id=24863
21386
21387        Fix reflection painting on elements with compositing layers.
21388
21389        Test: compositing/reflections/reflection-on-composited.html
21390
21391        * rendering/RenderLayer.h:
21392        Add a new PaintLayerPaintingReflection flag which is set while painting inside
21393        reflections.
21394        (WebCore::RenderLayer::setPaintingInsideReflection):
21395        Add a setter so that RenderLayerBacking can call it.
21396
21397        * rendering/RenderLayer.cpp:
21398        (WebCore::shouldDoSoftwarePaint):
21399        Utility to clarify the logic of when a composited layer should do a software paint.
21400
21401        (WebCore::RenderLayer::paintLayer):
21402        Use shouldDoSoftwarePaint() to determine when to software-paint a reflected layer.
21403        Remove transform-related tests from the reflection-painting if test because they appear
21404        to be unnecessary.
21405
21406        * rendering/RenderLayerBacking.cpp:
21407        (WebCore::RenderLayerBacking::paintIntoLayer):
21408        Add the code to paint reflections to the composited layer painting method.
21409
21410        * rendering/RenderReplica.cpp:
21411        (WebCore::RenderReplica::paint):
21412        Set the PaintLayerPaintingReflection flag.
21413
214142009-06-23  Antti Koivisto  <antti@apple.com>
21415
21416        Reviewed by Darin Adler.
21417
21418        https://bugs.webkit.org/show_bug.cgi?id=26643
21419        Memory cache should respect Cache-Control: no-store
21420
21421        Make resources with Cache-Control: no-store uncacheable in the memory cache.
21422        They get evicted immediately when all clients are gone and are always
21423        reloaded from the server.
21424
21425        Conforms to RFC2616 14.9.2 and seems also match Firefox behavior.
21426
21427        * loader/CachedResource.cpp:
21428        (WebCore::CachedResource::removeClient):
21429        (WebCore::CachedResource::canUseCacheValidator):
21430        (WebCore::CachedResource::mustRevalidate):
21431        * platform/network/ResourceResponseBase.cpp:
21432        (WebCore::ResourceResponseBase::ResourceResponseBase):
21433        (WebCore::ResourceResponseBase::parseCacheControlDirectives):
21434        (WebCore::ResourceResponseBase::cacheControlContainsNoStore):
21435        * platform/network/ResourceResponseBase.h:
21436
214372009-06-23  Brady Eidson  <beidson@apple.com>
21438
21439        Windows build fix.
21440
21441        * platform/graphics/win/QTMovieWin.cpp:
21442        (QTMovieWin::play):
21443        (QTMovieWin::pause):
21444        (QTMovieWin::setRate):
21445        (QTMovieWin::setCurrentTime):
21446
214472009-06-23  Kevin McCullough  <kmccullough@apple.com>
21448
21449        Reviewed by Adele Peterson.
21450
21451        <rdar://problem/6902203> REGRESSION: 'Return' insertion point incorrect
21452        after manually quoting blank line then hitting return
21453
21454        If the insertion point is both the begining and ending visible position
21455        then we need to insert at the end instead of the begining, which is what
21456        would normally happen if the insertion point was as the begining.
21457
21458        * editing/BreakBlockquoteCommand.cpp:
21459        (WebCore::BreakBlockquoteCommand::doApply):
21460
214612009-06-23  Brady Eidson  <beidson@apple.com>
21462
21463        Reviewed by Sam Weinig, and looked over by Eric Carlson.
21464
21465        <rdar://problem/6980466> Media elements should provide option for changing pitch correction
21466
21467        Introduce a new boolean property to HTMLMediaElement called webkitPreservesPitch for script to control this.
21468
21469        * html/HTMLMediaElement.cpp:
21470        (WebCore::HTMLMediaElement::HTMLMediaElement): Currently the platforms that have a flexible pitch preservation
21471          property (Quicktime on Mac and Win) have had it on by default, so continue that default for now.
21472        (WebCore::HTMLMediaElement::loadResource):
21473        (WebCore::HTMLMediaElement::webkitPreservesPitch):
21474        (WebCore::HTMLMediaElement::setWebkitPreservesPitch):
21475        * html/HTMLMediaElement.h:
21476        * html/HTMLMediaElement.idl:
21477
21478        * platform/graphics/MediaPlayer.cpp:
21479        (WebCore::NullMediaPlayerPrivate::setPreservesPitch):
21480        (WebCore::MediaPlayer::MediaPlayer):
21481        (WebCore::MediaPlayer::preservesPitch):
21482        (WebCore::MediaPlayer::setPreservesPitch):
21483        * platform/graphics/MediaPlayer.h:
21484        * platform/graphics/MediaPlayerPrivate.h:
21485        (WebCore::MediaPlayerPrivateInterface::setPreservesPitch):
21486
21487        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
21488        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
21489        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
21490        (WebCore::MediaPlayerPrivate::createQTMovie): Rework to allow recreation of the movie with almost the
21491          exact same attributes as before, with pitch preservation being the difference.
21492        (WebCore::MediaPlayerPrivate::setPreservesPitch): Recreate the QTMovie if the flag actually changes.
21493        (WebCore::MediaPlayerPrivate::updateStates): Restore current time and rate if this is a recreated movie.
21494        (WebCore::MediaPlayerPrivate::timeChanged): Clear the time-to-be-restored, as this callback means it
21495          has been effectively overwritten.
21496
21497        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
21498        (WebCore::MediaPlayerPrivate::load):
21499        (WebCore::MediaPlayerPrivate::setPreservesPitch):
21500        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
21501        * platform/graphics/win/QTMovieWin.cpp:
21502        (QTMovieWinPrivate::QTMovieWinPrivate):
21503        (QTMovieWinPrivate::~QTMovieWinPrivate):
21504        (QTMovieWinPrivate::task): Restore current time and rate if this is a re-created movie.
21505        (QTMovieWin::play): Clear the time-to-be-restored, as this effectively overwrites it.
21506        (QTMovieWin::pause): Ditto.
21507        (QTMovieWin::setRate): Ditto.
21508        (QTMovieWin::setCurrentTime): Ditto.
21509        (QTMovieWin::setPreservesPitch): Recreate the Movie if the flag actually changes.
21510        (QTMovieWin::load): Rework to allow recreation of the Movie with similar state as the movie before it,
21511          but changing the pitch preservation flag.
21512        * platform/graphics/win/QTMovieWin.h:
21513
215142009-06-23  Eric Carlson  <eric.carlson@apple.com>
21515
21516        Reviewed by Simon Fraser.
21517
21518        <rdar://problem/6998286> Crash after leaving page with <video>
21519
21520        Don't try to post events after going into the page cache.
21521
21522        * html/HTMLMediaElement.cpp:
21523        (WebCore::HTMLMediaElement::documentWillBecomeInactive): Cancel pending events and stop
21524        event timers so we won't try to post events after going into the cache.
21525
215262009-06-23  Jeremy Orlow  <jorlow@chromium.org>
21527
21528        Reviewed by Brady Eidson.
21529
21530        Simplify the interaction between LocalStorageArea/SessionStorageArea
21531        and StorageArea by creating a "blockUntilImportComplete()" function
21532        rather than bouncing back and forth between the child and parent
21533        classes in a somewhat unintuitive manner.
21534
21535        This patch also paves the way for LocalStorageArea and
21536        SessionStorageArea being merged into one.  It's part of several in a
21537        set which are separating syncing (to disk) code from the rest of the
21538        implementation so that local storage and session storage's code can be
21539        unified.
21540
21541        https://bugs.webkit.org/show_bug.cgi?id=25376
21542
21543        * storage/LocalStorageArea.cpp:
21544        (WebCore::LocalStorageArea::blockUntilImportComplete):
21545        * storage/LocalStorageArea.h:
21546        * storage/StorageArea.cpp:
21547        (WebCore::StorageArea::length):
21548        (WebCore::StorageArea::key):
21549        (WebCore::StorageArea::getItem):
21550        (WebCore::StorageArea::setItem):
21551        (WebCore::StorageArea::removeItem):
21552        (WebCore::StorageArea::clear):
21553        (WebCore::StorageArea::contains):
21554        * storage/StorageArea.h:
21555        (WebCore::StorageArea::blockUntilImportComplete):
21556
215572009-06-23  Simon Fraser  <simon.fraser@apple.com>
21558
21559        Reviewed by Dave Hyatt
21560
21561        First part of https://bugs.webkit.org/show_bug.cgi?id=26652
21562
21563        * rendering/RenderLayer.cpp:
21564        (WebCore::RenderLayer::paint):
21565        (WebCore::RenderLayer::paintLayer):
21566        * rendering/RenderLayer.h:
21567        (WebCore::RenderLayer::):
21568        * rendering/RenderReplica.cpp:
21569        (WebCore::RenderReplica::paint):
21570        Replace the 3 boolean params to RenderLayer::paintLayer() with a bit mask for readability.
21571
21572        * rendering/RenderLayerBacking.cpp:
21573        (WebCore::RenderLayerBacking::paintIntoLayer):
21574        (WebCore::RenderLayerBacking::paintContents):
21575        * rendering/RenderLayerBacking.h:
21576        Remove the unused 'haveTransparency' param to paintIntoLayer().
21577
215782009-06-23  Simon Fraser  <simon.fraser@apple.com>
21579
21580        Reviewed by Darin Adler.
21581
21582        <rdar://problem/6997929> Assertion at WebCore::RenderLayer::updateClipRects with hardware acceleration
21583
21584        The updatingControlTints() painting pass goes through compositing layer boundaries,
21585        so we need to ensure we don't cache clip rects computed with the wrong root by
21586        setting temporaryClipRects to true.
21587
21588        * rendering/RenderLayer.cpp:
21589        (WebCore::RenderLayer::paintLayer):
21590
21591        * rendering/RenderLayerBacking.cpp:
21592        (WebCore::RenderLayerBacking::contentOffsetInCompostingLayer):
21593        Remove a printf that I left in by mistake.
21594
215952009-06-23  Anders Carlsson  <andersca@apple.com>
21596
21597        Reviewed by Darin Adler.
21598
21599        WebCore side of <rdar://problem/6946094>.
21600
21601        * platform/win/ClipboardWin.cpp:
21602        (WebCore::ClipboardWin::setExternalDataObject):
21603        * platform/win/ClipboardWin.h:
21604
216052009-06-23  Darin Fisher  <darin@chromium.org>
21606
21607        Reviewed by Darin Adler.
21608
21609        https://bugs.webkit.org/show_bug.cgi?id=26650
21610
21611        Add setFormContentType and setFormData since it is awkward for Chromium
21612        to use setFormInfoFromRequest to set the underlying members.  Also, add
21613        a clearChildren method that Chromium needs.  These methods are used as
21614        part of the Chromium code that serializes a HistoryItem for storing in
21615        the browser's session history.
21616
21617        * history/HistoryItem.cpp:
21618        * history/HistoryItem.h:
21619
216202009-06-23  Eric Carlson  <eric.carlson@apple.com>
21621
21622        Reviewed by Darin Adler.
21623
21624        <rdar://problem/6978938> Need HTML 5 event attributes for media elements
21625
21626        Test: media/event-attributes.html
21627
21628        * html/HTMLAttributeNames.in: Add media event attribute names.
21629        * html/HTMLMediaElement.cpp:
21630        (WebCore::HTMLMediaElement::parseMappedAttribute): Handle media event attributes.
21631
216322009-06-23  Thiago Macieira  <thiago.macieira@nokia.com>
21633
21634        Reviewed by Simon Hausmann.
21635
21636        Fix Qt build with Phonon.
21637
21638        The #include <phonon> header no longer exists. And the <Phonon> or
21639        <Phonon/Phonon> headers have never existed (neither for us nor for the
21640        Phonon sources). You have to select each and every header that you do
21641        want now.
21642
21643        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
21644
216452009-06-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
21646
21647        Reviewed by Simon Hausmann.
21648
21649        Remove duplicated code in Qt & GTK logging initialization
21650
21651        We now share the getChannelFromName() function in Logging.cpp
21652
21653        * platform/gtk/LoggingGtk.cpp:
21654        * platform/qt/LoggingQt.cpp:
21655
216562009-06-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
21657
21658        Reviewed by Simon Hausmann.
21659
21660        Rename the plugin logging channel to plural form 'Plugins'
21661
21662        This matches both the other logging channel names, as well as the
21663        WebKit logging channel used by Safari/Mac for plugins.
21664
21665        * platform/Logging.cpp:
21666        * platform/Logging.h:
21667        * platform/gtk/LoggingGtk.cpp:
21668        * platform/mac/LoggingMac.mm:
21669        * platform/qt/LoggingQt.cpp:
21670        * platform/win/LoggingWin.cpp:
21671        * plugins/PluginDebug.h:
21672        * plugins/gtk/PluginPackageGtk.cpp:
21673        * plugins/mac/PluginPackageMac.cpp:
21674        * plugins/mac/PluginViewMac.cpp:
21675        * plugins/qt/PluginPackageQt.cpp:
21676
216772009-06-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
21678
21679        Reviewed by Simon Hausmann.
21680
21681        Fix NPAPI mouse translation issues on Mac
21682
21683        The WindowRef we pass to the plugin refers to the the top level window,
21684        so the x and y positions have to be relative to this position, but we
21685        have to manually compensate for title bar decorations and other parents
21686        of the QWebView since contentsToWindow() only traverses to the QWebView.
21687
21688        Previously we did this compensation when passing on mouse coordinates to
21689        the plugin, which caused various issues with translations such as not
21690        being able to close the Flash settings dialog, or the hand cursor not
21691        appearing over links.
21692
21693        We now do the compensation as part of the call to NPP_SetWindow, and
21694        then pass mouse coordinates in global context without any compensation,
21695        similar to how both Safari and Mozilla does it.
21696
21697        * plugins/mac/PluginViewMac.cpp:
21698        (WebCore::PluginView::updatePluginWidget):
21699        (WebCore::PluginView::globalMousePosForPlugin):
21700
217012009-06-23  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
21702
21703        Rubber-stamped by Simon Hausmann.
21704
21705        [Qt] Resolve absolute path to library install_name manually
21706
21707        Since our target.path is set to the Qt directory (to be able
21708        to do 'make install') the 'absolute_library_soname' option
21709        to QMake did not do the right thing.
21710
21711        We now compute the absolute path manually using DESTDIR.
21712
21713        * WebCore.pro:
21714
217152009-06-22  Simon Fraser  <simon.fraser@apple.com>
21716
21717        Reviewed by Oliver Hunt.
21718
21719        <rdar://problem/6991146> Scrollbars in hardware layers don't change to the
21720        inactive look in background windows
21721
21722        * rendering/RenderLayer.cpp:
21723        (WebCore::RenderLayer::paintLayer):
21724        Don't short-circuit the "painting" pass that is used to udpate control tints.
21725
217262009-06-22  Dimitri Glazkov  <dglazkov@chromium.org>
21727
21728        Reviewed by Sam Weinig.
21729
21730        https://bugs.webkit.org/show_bug.cgi?id=26567
21731        Upstream V8 bindings code generator. With this change, also added interface ancestor
21732        traversal to IDL parser, which is necessary for V8 bindings. The traversal is used
21733        to determine whether an interface is a Node to facilitate proper casting and storage
21734        in V8DOMMap.
21735
21736        * bindings/scripts/CodeGenerator.pm: Added parent traversal sub, needed
21737            by V8 bindings.
21738        * bindings/scripts/CodeGeneratorV8.pm: Added.
21739        * bindings/scripts/IDLParser.pm: Modified to allow limited parsing for
21740            parent traversal cases.
21741
217422009-06-22  Sam Weinig  <sam@webkit.org>
21743
21744        Reviewed by Gavin Barraclough.
21745
21746        Add event handler attribute getter/setters to HTMLFrameSetElement
21747        as specified in HTML 5.  These match the ones on HTMLBodyElement.
21748
21749        * dom/Node.h:
21750        * html/HTMLFrameSetElement.cpp:
21751        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
21752        (WebCore::HTMLFrameSetElement::onblur):
21753        (WebCore::HTMLFrameSetElement::setOnblur):
21754        (WebCore::HTMLFrameSetElement::onerror):
21755        (WebCore::HTMLFrameSetElement::setOnerror):
21756        (WebCore::HTMLFrameSetElement::onfocus):
21757        (WebCore::HTMLFrameSetElement::setOnfocus):
21758        (WebCore::HTMLFrameSetElement::onload):
21759        (WebCore::HTMLFrameSetElement::setOnload):
21760        (WebCore::HTMLFrameSetElement::onbeforeunload):
21761        (WebCore::HTMLFrameSetElement::setOnbeforeunload):
21762        (WebCore::HTMLFrameSetElement::onmessage):
21763        (WebCore::HTMLFrameSetElement::setOnmessage):
21764        (WebCore::HTMLFrameSetElement::onoffline):
21765        (WebCore::HTMLFrameSetElement::setOnoffline):
21766        (WebCore::HTMLFrameSetElement::ononline):
21767        (WebCore::HTMLFrameSetElement::setOnonline):
21768        (WebCore::HTMLFrameSetElement::onresize):
21769        (WebCore::HTMLFrameSetElement::setOnresize):
21770        (WebCore::HTMLFrameSetElement::onstorage):
21771        (WebCore::HTMLFrameSetElement::setOnstorage):
21772        (WebCore::HTMLFrameSetElement::onunload):
21773        (WebCore::HTMLFrameSetElement::setOnunload):
21774        * html/HTMLFrameSetElement.h:
21775        * html/HTMLFrameSetElement.idl:
21776
217772009-06-22  Darin Adler  <darin@apple.com>
21778
21779        Reviewed by Sam Weinig.
21780
21781        Bug 25425: DOM attribute getter/setter functions should use const AtomicString& type
21782        https://bugs.webkit.org/show_bug.cgi?id=25425
21783
21784        * bindings/scripts/CodeGeneratorJS.pm: Added handling for ReflectURL.
21785        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
21786
21787        * dom/Element.cpp:
21788        (WebCore::Element::getURLAttribute): Added. For use implementing getters
21789        for ReflectURL.
21790        * dom/Element.h: Added getURLAttribute.
21791
21792        * html/HTMLImageElement.idl: Use Reflect and ReflectURL.
21793
217942009-06-22  Jian Li  <jianli@chromium.org>
21795
21796        Reviewed by Dimitri Glazkov.
21797
21798        Bug 26626: Make WorkerContextExecutionProxy::toV8Object handle exception
21799        objects.
21800        https://bugs.webkit.org/show_bug.cgi?id=26626
21801
21802        * bindings/v8/WorkerContextExecutionProxy.cpp:
21803        (WebCore::WorkerContextExecutionProxy::ToV8Object):
21804
218052009-06-22  David Hyatt  <hyatt@apple.com>
21806
21807        Reviewed by Sam Weinig.
21808
21809        Add RenderDataGrid to the build.  Give it some basic default styling (that more or less matches a listbox).  It has a default size
21810        of 300x150.
21811
21812        * GNUmakefile.am:
21813        * WebCore.pro:
21814        * WebCore.vcproj/WebCore.vcproj:
21815        * WebCore.xcodeproj/project.pbxproj:
21816        * WebCoreSources.bkl:
21817        * css/html4.css:
21818        * html/HTMLDataGridElement.cpp:
21819        (WebCore::HTMLDataGridElement::createRenderer):
21820        * html/HTMLDataGridElement.h:
21821        * html/HTMLDataGridElement.idl:
21822        * rendering/RenderDataGrid.cpp: Added.
21823        (WebCore::RenderDataGrid::RenderDataGrid):
21824        (WebCore::RenderDataGrid::~RenderDataGrid):
21825        (WebCore::RenderDataGrid::calcPrefWidths):
21826        (WebCore::RenderDataGrid::paintObject):
21827        (WebCore::RenderDataGrid::valueChanged):
21828        (WebCore::RenderDataGrid::invalidateScrollbarRect):
21829        (WebCore::RenderDataGrid::isActive):
21830        * rendering/RenderDataGrid.h: Added.
21831        (WebCore::RenderDataGrid::renderName):
21832        (WebCore::RenderDataGrid::canHaveChildren):
21833        (WebCore::RenderDataGrid::scrollbarCornerPresent):
21834
218352009-06-22  Simon Fraser  <simon.fraser@apple.com>
21836
21837        Reviewed by Dave Hyatt.
21838
21839        https://bugs.webkit.org/show_bug.cgi?id=26430
21840        <rdar://problem/6944442> Elements jump around when they become composited (WWDC checkers demo)
21841        <rdar://problem/6989006> Lots of time spent in RenderLayerCompositor::calculateCompositedBounds()
21842            during window resize when using hardware layers
21843
21844        Fix an ordering dependency which caused the compositing position of a layer
21845        to be affected by some later sibling, which affected the compositing ancestor's
21846        composited bounds.
21847
21848        The fix is to only update the compositing positions of layers in some subtree
21849        when updateAfterLayout() has been called on all the layers in that subtree,
21850        from the ancestor down.
21851
21852        Also cache the composited bounds of a RenderLayerBacking, now that we can
21853        guarantee that those bounds are accurate.
21854
21855        Test: compositing/sibling-positioning.html
21856
21857        * rendering/RenderLayer.cpp:
21858        (WebCore::RenderLayer::updateLayerPositions):
21859        (WebCore::RenderLayer::hitTestLayer):
21860        * rendering/RenderLayerBacking.cpp:
21861        (WebCore::RenderLayerBacking::RenderLayerBacking):
21862        (WebCore::RenderLayerBacking::updateAfterLayout):
21863        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
21864        (WebCore::RenderLayerBacking::contentOffsetInCompostingLayer):
21865        (WebCore::RenderLayerBacking::paintContents):
21866        (WebCore::RenderLayerBacking::compositedBounds):
21867        (WebCore::RenderLayerBacking::setCompositedBounds):
21868        * rendering/RenderLayerBacking.h:
21869        * rendering/RenderLayerCompositor.cpp:
21870        (WebCore::RenderLayerCompositor::updateBacking):
21871        (WebCore::RenderLayerCompositor::updateLayerCompositingState):
21872        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
21873        (WebCore::RenderLayerCompositor::layerWillBeRemoved):
21874        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
21875        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
21876        (WebCore::RenderLayerCompositor::updateCompositingChildrenGeometry):
21877        * rendering/RenderLayerCompositor.h:
21878
218792009-06-22  Jeremy Orlow  <jorlow@chromium.org>
21880
21881        Reviewed by Darin Fisher.
21882
21883        First step in https://bugs.webkit.org/show_bug.cgi?id=25376
21884
21885        Add StorageSyncManager.cpp/h
21886
21887        * GNUmakefile.am:
21888        * WebCore.pro:
21889        * WebCore.vcproj/WebCore.vcproj:
21890        * WebCore.xcodeproj/project.pbxproj:
21891        * WebCoreSources.bkl:
21892
21893        In preparation for combining SessionStorage and LocalStorage into a
21894        single StorageManager, move the syncing bits out of LocalStorage and
21895        into its own class.
21896
21897        The next step is to combine LocalStorageArea and SessionStorageArea
21898        into one.  Then SessionStorage and LocalStorage can be combined.
21899
21900        Note that combining them will cut down on code paths that must be
21901        proxied, eliminate virtual dispatch, and allow Chromium to (eventually)
21902        write historical sessionStorage to disk when memory is getting tight.
21903
21904        Also remove a couple bits of cruft including code for quotas which is
21905        unnecessary (since a meta-data db is unnecessary since you can just
21906        count bytes as you read the local storage databases into memory).
21907
21908        * storage/LocalStorage.cpp:
21909        (WebCore::LocalStorage::LocalStorage):
21910        (WebCore::LocalStorage::storageArea):
21911        (WebCore::LocalStorage::close):
21912        * storage/LocalStorage.h:
21913        * storage/LocalStorageArea.cpp:
21914        (WebCore::LocalStorageArea::LocalStorageArea):
21915        (WebCore::LocalStorageArea::scheduleFinalSync):
21916        (WebCore::LocalStorageArea::syncTimerFired):
21917        (WebCore::LocalStorageArea::performImport):
21918        * storage/LocalStorageArea.h:
21919        (WebCore::LocalStorageArea::create):
21920        * storage/LocalStorageTask.cpp:
21921        (WebCore::LocalStorageTask::performTask):
21922        * storage/LocalStorageTask.h:
21923        (WebCore::LocalStorageTask::):
21924        (WebCore::LocalStorageTask::createImport):
21925        * storage/LocalStorageThread.cpp:
21926        * storage/LocalStorageThread.h:
21927        * storage/SessionStorage.h:
21928        * storage/StorageSyncManager.cpp: Copied from WebCore/storage/LocalStorage.cpp.
21929        (WebCore::StorageSyncManager::create):
21930        (WebCore::StorageSyncManager::StorageSyncManager):
21931        (WebCore::StorageSyncManager::fullDatabaseFilename):
21932        (WebCore::StorageSyncManager::close):
21933        (WebCore::StorageSyncManager::scheduleImport):
21934        (WebCore::StorageSyncManager::scheduleSync):
21935        * storage/StorageSyncManager.h: Copied from WebCore/storage/LocalStorage.h.
21936        (WebCore::):
21937
219382009-06-22  Darin Fisher  <darin@chromium.org>
21939
21940        Reviewed by Dimitri Glazkov.
21941
21942        https://bugs.webkit.org/show_bug.cgi?id=26622
21943        Add ChromiumDataObject::copy()
21944
21945        * platform/chromium/ChromiumDataObject.cpp:
21946        * platform/chromium/ChromiumDataObject.h:
21947
219482009-06-22  Timothy Hatcher  <timothy@apple.com>
21949
21950        Add a silhouette image for the enable view of the Resource panel.
21951
21952        Reviewed by Kevin McCullough.
21953
21954        * inspector/front-end/Images/resourcesSilhouette.png: Added.
21955        * inspector/front-end/inspector.css:
21956
219572009-06-22  Kyle Prete  <kylep@chromium.org>
21958
21959        Reviewed by Dimitri Glazkov.
21960
21961        https://bugs.webkit.org/show_bug.cgi?id=26552
21962        Add V8 JS bindings for Audio Constructor.
21963
21964        * bindings/v8/custom/V8CustomBinding.h:
21965        Added a callback declaration for audio ctor to macro.
21966        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
21967        Added the whole file.
21968
219692009-06-22  Alexey Proskuryakov  <ap@webkit.org>
21970
21971        Reviewed by David Levin.
21972
21973        https://bugs.webkit.org/show_bug.cgi?id=26600
21974        StringImpl::copy() no longer copies empty string correctly
21975
21976        * platform/text/StringImpl.cpp:
21977        (WebCore::StringImpl::ustring): Changed method calling syntax to look less like calling a
21978        static method.
21979        (WebCore::StringImpl::copy): Reverted part of r41917 that caused the problem.
21980
219812009-06-22  Xiaomei Ji  <xji@chromium.org>
21982
21983        Reviewed by Eric Seidel
21984
21985        Not auto-testable since it involves sending a keyboard event to
21986        the popup, which is not possible (eventSender sends the key
21987        events through webview, we want to go through the webwidget).
21988
21989        This patch is one part of the fix for issue "keyboard selection in
21990        Hebrew select element does not work in Windows". The other part of the
21991        fix is in chromium's webkit/glue layer.
21992        https://bugs.webkit.org/show_bug.cgi?id=25899
21993
21994        * manual-tests/keyboard_select_non_english.html: Added.
21995        * platform/chromium/PopupMenuChromium.cpp:
21996        (WebCore::isCharacterTypeEvent): Added. Check whether the event is a
21997        character type event. "Char" in Windows or "KeyDown" in Mac is character
21998        type event.
21999        (WebCore::PopupListBox::typeAheadFind): Since m_lastCharTime is used to
22000        indicate whether user types multiple characters continuely as a search
22001        prefix or not, it should be only assigned when the event is character
22002        type event.
22003
220042009-06-22  Kevin McCullough  <kmccullough@apple.com>
22005
22006        Reviewed by Darin Adler.
22007
22008        <rdar://problem/6115819> Notify of profile start in console
22009
22010        Put a message in the console that announces that a profile has started,
22011        similar to how a console message announces that a profile has finished.
22012
22013        * inspector/InspectorController.cpp:
22014        (WebCore::InspectorController::addProfile): Use renamed function.
22015        (WebCore::InspectorController::addProfileFinishedMessageToConsole):
22016        Renamed.
22017        (WebCore::InspectorController::addStartProfilingMessageToConsole):
22018        New function that logs the message about the profile starting.
22019        (WebCore::InspectorController::startUserInitiatedProfiling): Ditto
22020        * inspector/InspectorController.h:
22021        * inspector/front-end/ProfilesPanel.js: Print the "run" of the profile's
22022        title if there are multiple profiles, and take into account the fact
22023        that titles are displayed twice as much now.
22024        (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink):
22025        * page/Console.cpp:
22026        (WebCore::Console::profile): Call new function.
22027
220282009-06-22  David Hyatt  <hyatt@apple.com>
22029
22030        Reviewed by Sam Weinig.
22031
22032        https://bugs.webkit.org/show_bug.cgi?id=26615
22033
22034        Add IDL interface for datagrid cell elements.  Add a few more properties to the datagrid itself that
22035        correspond to ones you find on <select> elements.
22036
22037        Add an expanded property to row elements.
22038
22039        * DerivedSources.cpp:
22040        * DerivedSources.make:
22041        * GNUmakefile.am:
22042        * WebCore.pro:
22043        * WebCore.vcproj/WebCore.vcproj:
22044        * WebCore.xcodeproj/project.pbxproj:
22045        * WebCoreSources.bkl:
22046        * html/HTMLAttributeNames.in:
22047        * html/HTMLDataGridCellElement.cpp: Added.
22048        (WebCore::HTMLDataGridCellElement::HTMLDataGridCellElement):
22049        (WebCore::HTMLDataGridCellElement::label):
22050        (WebCore::HTMLDataGridCellElement::setLabel):
22051        (WebCore::HTMLDataGridCellElement::focused):
22052        (WebCore::HTMLDataGridCellElement::setFocused):
22053        (WebCore::HTMLDataGridCellElement::checked):
22054        (WebCore::HTMLDataGridCellElement::setChecked):
22055        (WebCore::HTMLDataGridCellElement::indeterminate):
22056        (WebCore::HTMLDataGridCellElement::setIndeterminate):
22057        (WebCore::HTMLDataGridCellElement::progress):
22058        (WebCore::HTMLDataGridCellElement::setProgress):
22059        * html/HTMLDataGridCellElement.h: Added.
22060        (WebCore::HTMLDataGridCellElement::endTagRequirement):
22061        (WebCore::HTMLDataGridCellElement::tagPriority):
22062        * html/HTMLDataGridCellElement.idl: Added.
22063        * html/HTMLDataGridElement.cpp:
22064        (WebCore::HTMLDataGridElement::autofocus):
22065        (WebCore::HTMLDataGridElement::setAutofocus):
22066        (WebCore::HTMLDataGridElement::disabled):
22067        (WebCore::HTMLDataGridElement::setDisabled):
22068        (WebCore::HTMLDataGridElement::size):
22069        (WebCore::HTMLDataGridElement::setSize):
22070        * html/HTMLDataGridElement.h:
22071        * html/HTMLDataGridElement.idl:
22072        * html/HTMLDataGridRowElement.cpp:
22073        (WebCore::HTMLDataGridRowElement::checkDTD):
22074        (WebCore::HTMLDataGridRowElement::expanded):
22075        (WebCore::HTMLDataGridRowElement::setExpanded):
22076        * html/HTMLDataGridRowElement.h:
22077        * html/HTMLDataGridRowElement.idl:
22078        * html/HTMLElementsAllInOne.cpp:
22079        * html/HTMLTagNames.in:
22080
220812009-06-22  Sam Weinig  <sam@webkit.org>
22082
22083        Reviewed by Mark Rowe.
22084
22085        Add event handler attribute getter/setters to HTMLBodyElement
22086        as specified in HTML 5.
22087
22088        - Removes erroneous inclusion of the onresize and onunload event
22089        handler attributes in Element and Document.
22090
22091        * dom/Document.cpp:
22092        (WebCore::Document::getWindowAttributeEventListener):
22093        * dom/Document.h:
22094        * dom/Document.idl:
22095        * dom/Element.idl:
22096        * dom/Node.cpp:
22097        * dom/Node.h: onblur, onerror, onfocus, and onload all need to be declared
22098        virtual, since their behavior for HTMLBodyElement differs from the base
22099        implementation.
22100        * html/HTMLBodyElement.cpp:
22101        (WebCore::HTMLBodyElement::onblur):
22102        (WebCore::HTMLBodyElement::setOnblur):
22103        (WebCore::HTMLBodyElement::onerror):
22104        (WebCore::HTMLBodyElement::setOnerror):
22105        (WebCore::HTMLBodyElement::onfocus):
22106        (WebCore::HTMLBodyElement::setOnfocus):
22107        (WebCore::HTMLBodyElement::onload):
22108        (WebCore::HTMLBodyElement::setOnload):
22109        (WebCore::HTMLBodyElement::onbeforeunload):
22110        (WebCore::HTMLBodyElement::setOnbeforeunload):
22111        (WebCore::HTMLBodyElement::onmessage):
22112        (WebCore::HTMLBodyElement::setOnmessage):
22113        (WebCore::HTMLBodyElement::onoffline):
22114        (WebCore::HTMLBodyElement::setOnoffline):
22115        (WebCore::HTMLBodyElement::ononline):
22116        (WebCore::HTMLBodyElement::setOnonline):
22117        (WebCore::HTMLBodyElement::onresize):
22118        (WebCore::HTMLBodyElement::setOnresize):
22119        (WebCore::HTMLBodyElement::onstorage):
22120        (WebCore::HTMLBodyElement::setOnstorage):
22121        (WebCore::HTMLBodyElement::onunload):
22122        (WebCore::HTMLBodyElement::setOnunload):
22123        * html/HTMLBodyElement.h:
22124        * html/HTMLBodyElement.idl:
22125
221262009-06-22  Alexey Proskuryakov  <ap@webkit.org>
22127
22128        Reviewed by Darin Adler.
22129
22130        https://bugs.webkit.org/show_bug.cgi?id=26601
22131        Remove disabled code for appcache dynamic entries
22132
22133        This also removes code for DOM 3 Core DOMStringList, which we don't use for anything else yet.
22134
22135        * DerivedSources.cpp:
22136        * DerivedSources.make:
22137        * GNUmakefile.am:
22138        * WebCore.pro:
22139        * WebCore.vcproj/WebCore.vcproj:
22140        * WebCore.xcodeproj/project.pbxproj:
22141        * WebCoreSources.bkl:
22142        * bindings/js/JSDOMStringListCustom.cpp: Removed.
22143        * bindings/v8/custom/V8CustomBinding.h:
22144        * bindings/v8/custom/V8DOMStringListCustom.cpp: Removed.
22145        * dom/DOMStringList.cpp: Removed.
22146        * dom/DOMStringList.h: Removed.
22147        * dom/DOMStringList.idl: Removed.
22148        * dom/StaticStringList.cpp: Removed.
22149        * dom/StaticStringList.h: Removed.
22150        * loader/DocumentLoader.cpp:
22151        (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache):
22152        * loader/appcache/ApplicationCache.cpp:
22153        (WebCore::ApplicationCache::addResource):
22154        * loader/appcache/ApplicationCache.h:
22155        * loader/appcache/ApplicationCacheGroup.cpp:
22156        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
22157        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
22158        * loader/appcache/ApplicationCacheResource.cpp:
22159        (WebCore::ApplicationCacheResource::dumpType):
22160        * loader/appcache/ApplicationCacheResource.h:
22161        (WebCore::ApplicationCacheResource::):
22162        * loader/appcache/ApplicationCacheStorage.cpp:
22163        (WebCore::ApplicationCacheStorage::storeUpdatedType):
22164        * loader/appcache/DOMApplicationCache.cpp:
22165        * loader/appcache/DOMApplicationCache.h:
22166        * loader/appcache/DOMApplicationCache.idl:
22167        * page/DOMWindow.idl:
22168
221692009-06-22  Steve Falkenburg  <sfalken@apple.com>
22170
22171        Windows build fix.
22172
22173        * DerivedSources.cpp:
22174        * html/HTMLElementsAllInOne.cpp:
22175
221762009-06-22  Alexey Proskuryakov  <ap@webkit.org>
22177
22178        Reviewed by John Sullivan.
22179
22180        <rdar://problem/6956606> REGRESSION (S4Beta -> Final): After the password is input,
22181        Japanese can't be input.
22182
22183        WebKit uses a per-frame input context for most editable fields, and application's global
22184        context for password fields, manually controlling secure input state and the list of available
22185        input sources.
22186
22187        We were setting TSMDocument property to disable non-Roman input methods after focus changed
22188        to a password field, but before selection was updated. This resulted in the property being
22189        applied to a wrong TSMDocument in some cases, because TSMGetActiveDocument() uses input
22190        context cached by +[NSApplication updateWindows], we change context based on selection,
22191        not on focus.
22192
22193        * page/mac/FrameMac.mm: (WebCore::Frame::setUseSecureKeyboardEntry): Since there is only one
22194        context that we use for password fields - the global one - there is no need to get the active
22195        one.
22196
221972009-06-22  David Levin  <levin@chromium.org>
22198
22199        Reviewed by David Hyatt and Eric Seidel.
22200
22201        REGRESSION: When the main page (ScrollView) has a custom scrollbar, it crashes on destruction.
22202        https://bugs.webkit.org/show_bug.cgi?id=26326
22203
22204        Test: scrollbars/scrollbar-crash-on-refresh.html
22205
22206        * dom/Document.cpp:
22207        (WebCore::Document::detach):
22208        Gives the FrameView a change to do any necessary cleanup on
22209        Document::detach() which is where the renderArena gets detroyed.
22210        * page/FrameView.cpp:
22211        (WebCore::FrameView::detachCustomScrollbars):
22212        Gets rid of any custom scrollbars (if the docment supplied them).
22213        * page/FrameView.h:
22214        * platform/Scrollbar.h:
22215        (WebCore::Scrollbar::isCustomScrollbar):
22216        * rendering/RenderObject.cpp:
22217        (WebCore::RenderObject::destroy):
22218        Removed the check for document()->frame().  If frame() is 0 in this code,
22219        then the call to animation() is also incorrect (since it does document()->frame()->animation()).
22220        * rendering/RenderScrollbar.h:
22221        (WebCore::RenderScrollbar::isCustomScrollbar):
22222
222232009-06-22  Dan Bernstein  <mitz@apple.com>
22224
22225        Reviewed by Simon Fraser.
22226
22227        - fix https://bugs.webkit.org/show_bug.cgi?id=23606
22228          <rdar://problem/6537777> CSS gradient not repainted when image load
22229          completes
22230
22231        Test: fast/repaint/background-generated.html
22232
22233        * rendering/RenderObject.cpp:
22234        (WebCore::mustRepaintFillLayers): Return true if the layer does not
22235        specify a size and the image uses the container size.
22236
222372009-06-22  David Hyatt  <hyatt@apple.com>
22238
22239        Reviewed by Sam Weinig.
22240
22241        https://bugs.webkit.org/show_bug.cgi?id=26607
22242
22243        Add IDL for HTMLDataGridRowElement.
22244
22245        * DerivedSources.make:
22246        * GNUmakefile.am:
22247        * WebCore.pro:
22248        * WebCore.vcproj/WebCore.vcproj:
22249        * WebCore.xcodeproj/project.pbxproj:
22250        * WebCoreSources.bkl:
22251        * html/HTMLAttributeNames.in:
22252        * html/HTMLDataGridColElement.cpp:
22253        (WebCore::HTMLDataGridColElement::primary):
22254        (WebCore::HTMLDataGridColElement::setPrimary):
22255        * html/HTMLDataGridColElement.h:
22256        * html/HTMLDataGridColElement.idl:
22257        * html/HTMLDataGridElement.cpp:
22258        (WebCore::HTMLDataGridElement::checkDTD):
22259        (WebCore::HTMLDataGridElement::multiple):
22260        (WebCore::HTMLDataGridElement::setMultiple):
22261        * html/HTMLDataGridElement.h:
22262        * html/HTMLDataGridElement.idl:
22263        * html/HTMLDataGridRowElement.cpp: Added.
22264        (WebCore::HTMLDataGridRowElement::HTMLDataGridRowElement):
22265        (WebCore::HTMLDataGridRowElement::selected):
22266        (WebCore::HTMLDataGridRowElement::setSelected):
22267        (WebCore::HTMLDataGridRowElement::focused):
22268        (WebCore::HTMLDataGridRowElement::setFocused):
22269        * html/HTMLDataGridRowElement.h: Added.
22270        (WebCore::HTMLDataGridRowElement::tagPriority):
22271        * html/HTMLDataGridRowElement.idl: Added.
22272        * html/HTMLTagNames.in:
22273
222742009-06-19  Yael Aharon <yael.aharon@nokia.com>
22275
22276        Reviewed by Holger Freyther.
22277
22278        https://bugs.webkit.org/show_bug.cgi?id=26556
22279
22280        Fix a crash in case that the QNetworkReply::readReady signal is
22281        "stuck" in deferred mode due to JavaScript alert, and in the meantime,
22282        QNetworkreply::finished signal is received and processed before
22283        QNetworkReply::readReady is processed.
22284
22285        * manual-tests/qt/unload-alert.html: Added.
22286        * platform/network/qt/QNetworkReplyHandler.cpp:
22287        (WebCore::QNetworkReplyHandler::setLoadMode):
22288        (WebCore::QNetworkReplyHandler::finish):
22289        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
22290        (WebCore::QNetworkReplyHandler::forwardData):
22291        (WebCore::QNetworkReplyHandler::start):
22292        (WebCore::QNetworkReplyHandler::sendQueuedItems):
22293        * platform/network/qt/QNetworkReplyHandler.h:
22294        (WebCore::QNetworkReplyHandler::):
22295
222962009-06-22  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
22297
22298        Fix the Qt build.
22299
22300        * WebCore.pro:
22301
223022009-06-21  Darin Adler  <darin@apple.com>
22303
22304        Reviewed by Sam Weinig.
22305
22306        Bug 25425: DOM attribute getter/setter functions should use const AtomicString& type
22307        https://bugs.webkit.org/show_bug.cgi?id=25425
22308
22309        * bindings/scripts/CodeGeneratorJS.pm: Tweaked mechanism for includes to be a bit
22310        more consistent and to make SVGElement.h be included in the header rather than in
22311        every implementation file that includes the header. Added code to use getAttribute
22312        and setAttribute directly when the [Reflect] extended attribute is used.
22313
22314        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
22315
22316        * html/HTMLElement.idl: Used [Reflect] for all the attributes in this class that
22317        reflect content attributes. Restricting this to one class for now to keep the
22318        patch small and start out slowly.
22319
223202009-06-21  Sam Weinig  <sam@webkit.org>
22321
22322        Reviewed by Oliver Hunt.
22323
22324        Fix for https://bugs.webkit.org/show_bug.cgi?id=26596
22325        Only expose event handler attributes to elements and documents.
22326
22327        Test: fast/dom/event-attribute-availability.html
22328
22329        * dom/Document.idl:
22330        * dom/Element.idl:
22331        * dom/Node.cpp:
22332        * dom/Node.h:
22333        * dom/Node.idl:
22334
223352009-06-21  Daniel Bates  <dbates@intudata.com>
22336
22337        Reviewed by Adam Barth.
22338
22339        https://bugs.webkit.org/show_bug.cgi?id=26580
22340
22341        Fix to enable XSSAuditor on child windows.
22342
22343        Test: http/tests/security/xssAuditor/link-opens-new-window.html
22344
22345        * page/XSSAuditor.cpp:
22346        (WebCore::XSSAuditor::XSSAuditor):
22347        (WebCore::XSSAuditor::isEnabled):
22348        (WebCore::XSSAuditor::canEvaluate):
22349        (WebCore::XSSAuditor::canCreateInlineEventListener):
22350        (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
22351        (WebCore::XSSAuditor::canLoadObject):
22352        * page/XSSAuditor.h: Removed method setXSSAuditorEnabled, and field m_isEnabled.
22353        Moved implementation of isEnabled to XSSAuditor.cpp and changed implementation
22354        to query Settings.
22355
223562009-06-21  David Levin  <levin@chromium.org>
22357
22358        Reviewed by NOBODY.
22359
22360        Speculative windows build fix (idea by Mark Rowe).
22361
22362        * WebCore.vcproj/WebCore.vcproj:
22363
223642009-06-21  David Levin  <levin@chromium.org>
22365
22366        Reviewed by NOBODY (Speculative gtk build fix).
22367
22368        * GNUmakefile.am:
22369
223702009-06-21  David Levin  <levin@chromium.org>
22371
22372        Reviewed by NOBODY.
22373
22374        Speculative tiger build fix and a windows build fix.
22375        More fixes may still be in order.
22376
22377        * WebCore.vcproj/WebCoreCommon.vsprops:
22378        * dom/default/PlatformMessagePortChannel.h:
22379        (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):
22380
223812009-06-21  David Levin  <levin@chromium.org>
22382
22383        Reviewed by NOBODY (Speculative tiger build fix).
22384
22385        * dom/default/PlatformMessagePortChannel.h:
22386        (WebCore::PlatformMessagePortChannel::MessagePortQueue::~MessagePortQueue):
22387
223882009-06-21  Drew Wilson  <atwilson@google.com>
22389
22390        Reviewed by David Levin.
22391
22392        <https://bugs.webkit.org/show_bug.cgi?id=26448>
22393
22394        Added optimized GC for MessagePorts when the entangled port is run by the same thread.
22395        Fixed bug in isProxyFor() that was not properly throwing an exception when trying to clone the entangled port.
22396
22397        * bindings/js/JSDOMBinding.cpp:
22398        (WebCore::markActiveObjectsForContext):
22399        Now marks remotely entangled ports as in-use, in addition to those with pending activity.
22400        * bindings/js/JSMessagePortCustom.cpp:
22401        (WebCore::JSMessagePort::mark):
22402        Now checks if the entangled port is local (run by same thread) and if so mark()s it.
22403        * dom/MessagePort.cpp:
22404        (WebCore::MessagePort::postMessage):
22405        (WebCore::MessagePort::disentangle):
22406        Removes cloned ports from the ScriptExecutionContext - this allows cloned ports to be GC'd as otherwise they look like remotely entangled ports.
22407        (WebCore::MessagePort::start):
22408        (WebCore::MessagePort::locallyEntangledPort):
22409        Added API for fetching the entangled port if it is run by the same thread
22410        * dom/MessagePort.h:
22411        * dom/MessagePortProxyWrapper.h:
22412        * dom/default/MessagePortProxy.cpp:
22413        (WebCore::MessagePortProxyWrapper::locallyEntangledPort):
22414        Added API for fetching the entangled port if it is run by the same thread
22415        (WebCore::MessagePortProxy::hasPendingActivity):
22416        Changed definition of hasPendingActivity() to be stricter - only returns true if there are pending messages.
22417        (WebCore::MessagePortProxy::locallyEntangledPort):
22418        * dom/default/MessagePortProxy.h:
22419
224202009-06-21  Drew Wilson  <atwilson@google.com>
22421
22422        Reviewed by David Levin.
22423
22424        <https://bugs.webkit.org/show_bug.cgi?id=25043>
22425        Removed obsolete MessagePort.startConversation(), active and onclose APIs.
22426
22427        Refactored MessagePortProxy into MessagePortChannel and a platform-dependent PlatformMessagePortChannel
22428        implementation. Modified APIs to simplify cross-process implementations by moving the messaging code
22429        entirely into the platform-dependent proxy.
22430
22431        Created a thread-safe default PlatformMessagePortChannel implementation.
22432
22433        Changed DOMWindow messaging to create the MessageEvent in the target ScriptExecutionContext to match how
22434        cross-thread MessagePorts work.
22435
22436        * GNUMakefile.am:
22437        * WebCore.vcproj/WebCore.vcproj:
22438        * WebCore.xcodeproj/project.pbxproj:
22439            Added MessagePortChannel/PlatformMessagePortChannel files.
22440        * bindings/js/JSMessagePortCustom.cpp:
22441        (WebCore::JSMessagePort::mark):
22442            Changed ports to not mark their entangled pair as reachable, per the spec.
22443        * bindings/v8/custom/V8MessagePortCustom.cpp:
22444        * dom/MessageChannel.cpp:
22445        (WebCore::MessageChannel::MessageChannel):
22446            Updated to use PlatformMessagePortChannel::createChannel() to entangle the ports.
22447        * dom/MessagePort.cpp:
22448        (WebCore::MessagePort::MessagePort):
22449        (WebCore::MessagePort::~MessagePort):
22450        (WebCore::MessagePort::postMessage):
22451        (WebCore::MessagePort::disentangle):
22452        (WebCore::MessagePort::messageAvailable):
22453        (WebCore::MessagePort::start):
22454        (WebCore::MessagePort::close):
22455        (WebCore::MessagePort::entangle):
22456        (WebCore::MessagePort::contextDestroyed):
22457        (WebCore::MessagePort::dispatchMessages):
22458        (WebCore::MessagePort::setOnmessage):
22459        (WebCore::MessagePort::hasPendingActivity):
22460            Changed these APIs to delegate to new PlatformMessagePortChannel APIs.
22461        * dom/MessagePort.h:
22462            Renamed isQueueOpen() to started().
22463        * dom/MessagePort.idl:
22464            Removed startConversation and onclose.
22465        * dom/MessagePortProxy.h: Removed.
22466        * dom/MessagePortChannel.cpp: Added.
22467        (WebCore::MessagePortChannel::EventData::create):
22468        (WebCore::MessagePortChannel::EventData::EventData):
22469        (WebCore::MessagePortChannel::~MessagePortChannel):
22470        * dom/MessagePortChannel.h: Added.
22471        (WebCore::MessagePortChannel::EventData::message):
22472        (WebCore::MessagePortChannel::EventData::channel):
22473            Changed EventData to hold a reference to a MessagePortChannel object instead of a MessagePort to enable cross-thread messaging.
22474        (WebCore::MessagePortChannel::MessagePortChannel):
22475        (WebCore::MessagePortChannel::create):
22476        * dom/ScriptExecutionContext.cpp:
22477        (WebCore:ScriptExecutionContext::dispatchMessagePortEvents):
22478            Renamed isQueueOpen() to started().
22479        * dom/default/PlatformMessagePortChannel.cpp: Added.
22480        (WebCore::MessagePortChannel::entangleIfOpen):
22481        (WebCore::MessagePortChannel::disentangle):
22482        (WebCore::MessagePortChannel::postMessageToRemote):
22483        (WebCore::MessagePortChannel::tryGetMessageFromRemote):
22484        (WebCore::MessagePortChannel::close):
22485        (WebCore::MessagePortChannel::isConnectedTo):
22486        (WebCore::MessagePortChannel::hasPendingActivity):
22487        (WebCore::PlatformMessagePortChannel::PlatformMessagePortChannel):
22488        (WebCore::PlatformMessagePortChannel::~PlatformMessagePortChannel):
22489        (WebCore::PlatformMessagePortChannel::createChannel):
22490        (WebCore::PlatformMessagePortChannel::entangleIfOpen):
22491        (WebCore::PlatformMessagePortChannel::disentangle):
22492        (WebCore::PlatformMessagePortChannel::setRemotePort):
22493        (WebCore::PlatformMessagePortChannel::remotePort):
22494        (WebCore::PlatformMessagePortChannel::entangledChannel):
22495        (WebCore::PlatformMessagePortChannel::setEntangledChannel):
22496        (WebCore::PlatformMessagePortChannel::postMessageToRemote):
22497        (WebCore::PlatformMessagePortChannel::tryGetMessageFromRemote):
22498        (WebCore::PlatformMessagePortChannel::isConnectedTo):
22499        (WebCore::PlatformMessagePortChannel::close):
22500        (WebCore::PlatformMessagePortChannel::closeInternal):
22501        (WebCore::PlatformMessagePortChannel::hasPendingActivity):
22502        * dom/default/PlatformMessagePortChannel.h: Added.
22503        (WebCore::PlatformMessagePortChannel::MessagePortQueue::create):
22504        (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):
22505        (WebCore::PlatformMessagePortChannel::MessagePortQueue::appendAndCheckEmpty):
22506        (WebCore::PlatformMessagePortChannel::MessagePortQueue::isEmpty):
22507        (WebCore::PlatformMessagePortChannel::MessagePortQueue::MessagePortQueue):
22508        * page/DOMWindow.cpp:
22509        (WebCore::PostMessageTimer::PostMessageTimer):
22510            Changed DOMWindow messaging to create the MessageEvent in the target ScriptExecutionContext to match how cross-thread MessagePorts work.
22511        (WebCore::PostMessageTimer::event):
22512        (WebCore::DOMWindow::postMessage):
22513        (WebCore::DOMWindow::postMessageTimerFired):
22514
225152009-06-21  Dan Bernstein  <mitz@apple.com>
22516
22517        Reviewed by Sam Weinig.
22518
22519        - fix https://bugs.webkit.org/show_bug.cgi?id=15383
22520          <rdar://problem/5682745> resize: vertical does not restrict to vertical
22521          resize
22522
22523        Test: fast/css/resize-single-axis.html
22524
22525        * rendering/RenderLayer.cpp:
22526        (WebCore::RenderLayer::resize): Ignore movement along the non-resizing
22527        axis.
22528
225292009-06-21  Sam Weinig  <sam@webkit.org>
22530
22531        Reviewed by Eric Seidel
22532
22533        Fix for https://bugs.webkit.org/show_bug.cgi?id=26578
22534        event.currentTarget for listener registered on window should point to the window object like in Firefox
22535
22536        Test: fast/events/event-trace.html
22537
22538        * dom/Node.cpp:
22539        (WebCore::Node::dispatchGenericEvent): Make the DOMWindow the currentTarget when events are dispatched
22540        to it. We previously used the document because DOMWindow was not yet an EventTarget.
22541
225422009-06-21  Dan Bernstein  <mitz@apple.com>
22543
22544        Reviewed by Sam Weinig.
22545
22546        - fix https://bugs.webkit.org/show_bug.cgi?id=9694
22547          resize value not compared
22548
22549        Test: fast/css/resize-value-compared.html
22550
22551        * rendering/style/StyleRareInheritedData.cpp:
22552        (WebCore::StyleRareInheritedData::operator==): Compare the resize
22553        member.
22554
225552009-06-19  Alice Liu  <alice.liu@apple.com>
22556
22557        Fix https://bugs.webkit.org/show_bug.cgi?id=26568
22558        Repro crash animating GIF if previously used in a closed window's back/forward list
22559        Also filed as <rdar://problem/6978362>
22560
22561        Reviewed by Maciej Stachowiak.
22562
22563        Can't test this bug with an automated layout test since it requires b/f caching
22564        * manual-tests/animated-gif-bfcache-crash.html: Added.
22565        * manual-tests/resources/containsAnimatedGif.html: Added.
22566
22567        Adding checks for hostWindow() since there is no guarantee that the Page is alive
22568        * platform/ScrollView.cpp:
22569        (WebCore::ScrollView::scrollRectIntoViewRecursively):
22570        (WebCore::ScrollView::contentsToScreen):
22571        (WebCore::ScrollView::screenToContents):
22572        (WebCore::ScrollView::wheelEvent):
22573
225742009-06-20  Sam Weinig  <sam@webkit.org>
22575
22576        Reviewed by Adam Barth.
22577
22578        Fix for https://bugs.webkit.org/show_bug.cgi?id=26554
22579        Shadowing of top and parent
22580
22581        * page/DOMWindow.idl:
22582
225832009-06-20  Mark Rowe  <mrowe@apple.com>
22584
22585        Reviewed by Dan Bernstein.
22586
22587        Fix <https://bugs.webkit.org/show_bug.cgi?id=15106>.
22588        Bug 15106: REGRESSION: Can't drag text as element when user-select is set to none
22589
22590        We allow selections to begin within an element that has -webkit-user-select: none set,
22591        unless the element is draggable as dragging should take priority over starting a selection.
22592
22593        Test: editing/selection/user-drag-element-and-user-select-none.html
22594
22595        * dom/Node.cpp:
22596        (WebCore::Node::canStartSelection):
22597
225982009-06-20  Darin Adler  <darin@apple.com>
22599
22600        Reviewed by Dan Bernstein.
22601
22602        Bug 26528: REGRESSION (r44674): Assertion in TextIterator::pushFullyClippedState while counting matches for "a" on apple.com
22603        https://bugs.webkit.org/show_bug.cgi?id=26528
22604        rdar://problem/6985329
22605
22606        * editing/TextIterator.cpp:
22607        (WebCore::TextIterator::handleReplacedElement): When entering a text control,
22608        start at the top of the shadow tree (by calling shadowTreeRootNode). Also
22609        remove assumption that innerTextElement will never be 0 since RenderTextControl
22610        doesn't really guarantee this.
22611
226122009-06-20  Jan Michael Alonzo  <jmalonzo@webkit.org>
22613
22614        Reviewed by NOBODY.
22615
22616        Speculative Qt build fix - add HTMLDataGridColElement to the build script.
22617
22618        * WebCore.pro:
22619
226202009-06-19  Adam Barth  <abarth@webkit.org>
22621
22622        Reviewed by Darin Adler.
22623
22624        https://bugs.webkit.org/show_bug.cgi?id=26561
22625
22626        Remove a memcpy by retrieving the already existing copy of a string
22627        instead of making a new one.
22628
22629        * bindings/js/ScriptSourceCode.h:
22630        (WebCore::ScriptSourceCode::ScriptSourceCode):
22631        (WebCore::ScriptSourceCode::source):
22632        * bindings/js/StringSourceProvider.h:
22633        (WebCore::StringSourceProvider::source):
22634
226352009-06-19  Brian Weinstein  <bweinstein@apple.com>
22636
22637        Reviewed by Steve Falkenburg.
22638
22639        https://bugs.webkit.org/show_bug.cgi?id=26488
22640        No Support for Single Finger or Two Finger Panning in Windows 7
22641
22642        The code in WebCore allows us to interpret a Pan gesture as
22643        a mousewheel event, and we are able to reuse the scrolling code.
22644        Another constructor was created in WheelEventWin which takes data
22645        better suited to the pan guesture than what was currently there.
22646
22647        Unable to add tests to simulate touch behavior/gestures.
22648
22649        * platform/PlatformWheelEvent.h:
22650        * platform/win/WheelEventWin.cpp:
22651
226522009-06-19  Chris Marrin  <cmarrin@apple.com>
22653
22654        Fixed a build error, which only shows up in the i386 compile
22655
22656        * platform/graphics/mac/GraphicsLayerCA.mm:
22657        (WebCore::GraphicsLayerCA::animateTransform):
22658
226592009-06-19  Simon Fraser  <simon.fraser@apple.com>
22660
22661        Reviewed by Oliver Hunt.
22662
22663        <rdar://problem/6988385> REGRESSION: In full page video player, movie's
22664        video track becomes detached from its controller.
22665
22666        When in the media document, the MediaPlayer should not report that it
22667        is capable of hardware acceleration, because it renders via a QTMovieView
22668        which is already accelerated.
22669
22670        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
22671        (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
22672
226732009-06-19  Kevin Ollivier  <kevino@theolliviers.com>
22674
22675        Adding XSSAuditor.cpp to the wx build.
22676
22677        * WebCoreSources.bkl:
22678
226792009-06-19  Chris Marrin  <cmarrin@apple.com>
22680
22681        Reviewed by Simon Fraser  <simon.fraser@apple.com>.
22682
22683        https://bugs.webkit.org/show_bug.cgi?id=26544
22684
22685        If I am doing a Matrix hardware animation and any matrix is singular, I revert to software.
22686        This is not really testable, since we can't see what the hardware animation is doing.
22687
22688        * platform/graphics/mac/GraphicsLayerCA.mm:
22689        (WebCore::GraphicsLayerCA::animateTransform):
22690
226912009-06-19  Geoffrey Garen  <ggaren@apple.com>
22692
22693        Reviewed by Maciej Stachowiak.
22694
22695        An additional fix for Bug 26532: Native functions do not correctly unlink
22696        from optimised callsites when they're collected
22697        <https://bugs.webkit.org/show_bug.cgi?id=26532> | <rdar://problem/6625385>
22698
22699        Use "NativeFunctionWrapper" instead of "PrototypeFunction" in cross-frame
22700        accessors, so the type of object you get to wrap a function is the same,
22701        regardless of whether the access to the function is cross-frame.
22702
22703        This is faster and more idiomatic than what we had before. It also would
22704        have avoided Bug 26532 because it would have prevented a conflicting
22705        PrototypeFunction from being allocated to wrap postMessage, where a
22706        NativeFunctionWrapper had been allocated previously.
22707
22708        * bindings/js/JSDOMBinding.cpp:
22709        (WebCore::objectToStringFunctionGetter):
22710        * bindings/js/JSDOMWindowCustom.cpp:
22711        (WebCore::nonCachingStaticFunctionGetter):
22712        * bindings/js/JSHistoryCustom.cpp:
22713        (WebCore::nonCachingStaticBackFunctionGetter):
22714        (WebCore::nonCachingStaticForwardFunctionGetter):
22715        (WebCore::nonCachingStaticGoFunctionGetter):
22716        * bindings/js/JSLocationCustom.cpp:
22717        (WebCore::nonCachingStaticReplaceFunctionGetter):
22718        (WebCore::nonCachingStaticReloadFunctionGetter):
22719        (WebCore::nonCachingStaticAssignFunctionGetter):
22720
227212009-06-19  Simon Fraser  <simon.fraser@apple.com>
22722
22723        Reviewed by John Sullivan
22724
22725        <rdar://problem/6953673> Crash in RenderLayerCompositor::setCompositingParent
22726
22727        Fix a crash that could occur in complex content due to timing issues
22728        when doing a partial layer tree rebuild which is required when painting;
22729        setCompositingParent() could be called with a parent which has not been made
22730        compositing yet.
22731
227322009-06-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
22733
22734        Build fix. Adding missing HTMLDataGrid* files to the build.
22735
22736        * GNUmakefile.am:
22737
227382009-06-19  Peter Kasting  <pkasting@google.com>
22739
22740        Reviewed by Eric Seidel.
22741
22742        https://bugs.webkit.org/show_bug.cgi?id=26460 part three
22743        Make BMPImageReader a standalone class that is used by ICOImageDecoder
22744        and BMPImageDecoder to decode individual BMPs within a file.  These
22745        decoders now inherit directly from ImageDecoder.
22746
22747        This also makes these decoders decode on-demand in isSizeAvailable() and
22748        frameBufferAtIndex(), like the other decoders, instead of when setData()
22749        is called, like before.  This should provide a speedup on pages
22750        containing BMPs that aren't immediately onscreen.
22751
22752        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
22753        (WebCore::BMPImageDecoder::BMPImageDecoder):
22754        (WebCore::BMPImageDecoder::setData):
22755        (WebCore::BMPImageDecoder::isSizeAvailable):
22756        (WebCore::BMPImageDecoder::frameBufferAtIndex):
22757        (WebCore::BMPImageDecoder::decodeWithCheckForDataEnded):
22758        (WebCore::BMPImageDecoder::decode):
22759        (WebCore::BMPImageDecoder::processFileHeader):
22760        * platform/image-decoders/bmp/BMPImageDecoder.h:
22761        (WebCore::BMPImageDecoder::readUint32):
22762        * platform/image-decoders/bmp/BMPImageReader.cpp:
22763        (WebCore::BMPImageReader::BMPImageReader):
22764        (WebCore::BMPImageReader::decodeBMP):
22765        (WebCore::BMPImageReader::readInfoHeaderSize):
22766        (WebCore::BMPImageReader::processInfoHeader):
22767        (WebCore::BMPImageReader::readInfoHeader):
22768        (WebCore::BMPImageReader::processBitmasks):
22769        (WebCore::BMPImageReader::processColorTable):
22770        (WebCore::BMPImageReader::processRLEData):
22771        (WebCore::BMPImageReader::processNonRLEData):
22772        (WebCore::BMPImageReader::setFailed):
22773        * platform/image-decoders/bmp/BMPImageReader.h:
22774        (WebCore::BMPImageReader::readUint16):
22775        (WebCore::BMPImageReader::readUint32):
22776        (WebCore::BMPImageReader::setBuffer):
22777        (WebCore::BMPImageReader::setData):
22778        (WebCore::BMPImageReader::):
22779        (WebCore::BMPImageReader::pastEndOfImage):
22780        (WebCore::BMPImageReader::readCurrentPixel):
22781        (WebCore::BMPImageReader::setRGBA):
22782        * platform/image-decoders/ico/ICOImageDecoder.cpp:
22783        (WebCore::ICOImageDecoder::ICOImageDecoder):
22784        (WebCore::ICOImageDecoder::setData):
22785        (WebCore::ICOImageDecoder::isSizeAvailable):
22786        (WebCore::ICOImageDecoder::size):
22787        (WebCore::ICOImageDecoder::frameBufferAtIndex):
22788        (WebCore::ICOImageDecoder::decodeWithCheckForDataEnded):
22789        (WebCore::ICOImageDecoder::decode):
22790        (WebCore::ICOImageDecoder::processDirectory):
22791        (WebCore::ICOImageDecoder::processDirectoryEntries):
22792        (WebCore::ICOImageDecoder::readDirectoryEntry):
22793        (WebCore::ICOImageDecoder::processImageType):
22794        * platform/image-decoders/ico/ICOImageDecoder.h:
22795        (WebCore::ICOImageDecoder::readUint16):
22796        (WebCore::ICOImageDecoder::readUint32):
22797
227982009-06-19  Adam Barth  <abarth@webkit.org>
22799
22800        Reviewed by Dimitri Glazkov.
22801
22802        https://bugs.webkit.org/show_bug.cgi?id=26555
22803
22804        Fix the Chromium canary bot.  Turns out ScriptSourceCode doesn't have
22805        the same API in V8 and JSC.
22806
22807        * WebCore/bindings/js/ScriptController.cpp:
22808        * WebCore/bindings/js/ScriptSourceCode.h:
22809        * WebCore/bindings/v8/ScriptController.cpp:
22810        * WebCore/page/XSSAuditor.cpp:
22811        * WebCore/page/XSSAuditor.h:
22812
228132009-06-19  David Hyatt  <hyatt@apple.com>
22814
22815        Reviewed by Anders Carlsson.
22816
22817        https://bugs.webkit.org/show_bug.cgi?id=26547
22818
22819        Implement the IDL interface for HTMLDataGridColElement.
22820
22821        * DerivedSources.cpp:
22822        * DerivedSources.make:
22823        * GNUmakefile.am:
22824        * WebCore.pro:
22825        * WebCore.vcproj/WebCore.vcproj:
22826        * WebCore.xcodeproj/project.pbxproj:
22827        * WebCoreSources.bkl:
22828        * html/HTMLAttributeNames.in:
22829        * html/HTMLDataGridColElement.cpp: Added.
22830        (WebCore::HTMLDataGridColElement::HTMLDataGridColElement):
22831        (WebCore::HTMLDataGridColElement::label):
22832        (WebCore::HTMLDataGridColElement::setLabel):
22833        (WebCore::HTMLDataGridColElement::type):
22834        (WebCore::HTMLDataGridColElement::setType):
22835        (WebCore::HTMLDataGridColElement::sortable):
22836        (WebCore::HTMLDataGridColElement::setSortable):
22837        (WebCore::HTMLDataGridColElement::sortDirection):
22838        (WebCore::HTMLDataGridColElement::setSortDirection):
22839        (WebCore::HTMLDataGridColElement::selected):
22840        (WebCore::HTMLDataGridColElement::setSelected):
22841        * html/HTMLDataGridColElement.h: Added.
22842        (WebCore::HTMLDataGridColElement::endTagRequirement):
22843        (WebCore::HTMLDataGridColElement::tagPriority):
22844        * html/HTMLDataGridColElement.idl: Added.
22845        * html/HTMLDataGridElement.h:
22846        * html/HTMLElementsAllInOne.cpp:
22847        * html/HTMLTagNames.in:
22848        * page/DOMWindow.idl:
22849
228502009-06-19  Chris Evans  <scarybeasts@gmail.com>
22851
22852        Reviewed by Eric Seidel.
22853
22854        There is no new test because this cannot be tested deterministically.
22855        I've not been able to cause a crash at all in the test framework, but
22856        I have verified that this is happening in the wild and that the patch
22857        fixes the likely cause in the debugger.
22858
22859        * loader/TextResourceDecoder.cpp: careful not to iterate off the end
22860          of our input buffer looking for the end of the comment.
22861
228622009-06-19  Adam Barth  <abarth@webkit.org>
22863
22864        Reviewed by Dimitri Glazkov.
22865
22866        https://bugs.webkit.org/show_bug.cgi?id=26536
22867
22868        Fix external-script-URL-location.html and
22869        write-external-script-open.html LayoutTests.
22870
22871        implicitOpen is called from several places.  We need to setXSSAuditor
22872        each time, so I moved the call inside implicitOpen.
22873
22874        * dom/Document.cpp:
22875        (WebCore::Document::open):
22876        (WebCore::Document::implicitOpen):
22877        * loader/FrameLoader.cpp:
22878        (WebCore::FrameLoader::begin):
22879
228802009-06-19  Kent Tamura  <tkent@chromium.org>
22881
22882        Reviewed by David Levin.
22883
22884        Use WebCore::multipleFileUploadText() in Chromium to fix a problem
22885        that Chromium shows only the first filename even if a user selects
22886        multiple files for <input type=file multiple>.
22887        <https://bugs.webkit.org/show_bug.cgi?id=26502>
22888
22889        * platform/chromium/FileChooserChromium.cpp:
22890        (WebCore::FileChooser::basenameForWidth):
22891
228922009-06-19  Dan Bernstein  <mitz@apple.com>
22893
22894        Reviewed by Dave Hyatt.
22895
22896        - fix <rdar://problem/6967596> Safari hung using 100% CPU when I tried
22897          to look up a word in Dictionary using command-control-d
22898
22899        Test: editing/selection/move-by-line-005.html
22900
22901        The root cause of this bug was searchAheadForBetterMatch() continuing
22902        past the first rendered text object after the given object. While we
22903        want to skip non-rendered text and empty containers, when we encounter
22904        rendered text object, we must return a text box for that object.
22905
22906        * dom/Position.cpp:
22907        (WebCore::searchAheadForBetterMatch):
22908
229092009-06-19  Jungshik Shin  <jshin@chromium.org>
22910
22911        Reviewed by David Levin
22912
22913        https://bugs.webkit.org/show_bug.cgi?id=25657
22914
22915        Chromium Linux port does not handle non-BMP characters properly.
22916        It's fixed with a 'UTF-16 iterator macro' to extract Unicode
22917        codepoints out of a UTF-16 input string.
22918
22919        A manual test is added for non-BMP character rendering,
22920        which we can use until a small freely-distributable font
22921        covering non-BMP is added to the Webkit source tree.
22922
22923
22924        * platform/graphics/chromium/FontCacheLinux.cpp:
22925        (WebCore::FontCache::getFontDataForCharacters):
22926        * manual-tests/non-bmp.html: Added.
22927
229282009-06-19  Pavel Feldman  <pfeldman@chromium.org>
22929
22930        Reviewed by Dimitri Glazkov.
22931
22932        V8 Bindings: return proper state from the script stack.
22933
22934        https://bugs.webkit.org/show_bug.cgi?id=26512
22935
22936        * bindings/v8/ScriptCallStack.cpp:
22937        (WebCore::ScriptCallStack::ScriptCallStack):
22938        * bindings/v8/ScriptCallStack.h:
22939        (WebCore::ScriptCallStack::state):
22940
229412009-06-19  Jessie Berlin  <jberlin@apple.com>
22942
22943        Reviewed by Simon Fraser.
22944
22945        Windows build fix.
22946
22947        * platform/graphics/cg/PatternCG.cpp:
22948        (WebCore::Pattern::createPlatformPattern):
22949
229502009-06-19  Yael Aharon  <yael.aharon@nokia.com>
22951
22952        Reviewed by Simon Hausmann.
22953        Build fix after 44825.
22954
22955        * platform/graphics/qt/ImageDecoderQt.cpp:
22956        (WebCore::ImageDecoderQt::isSizeAvailable):
22957        * platform/graphics/qt/ImageDecoderQt.h:
22958
229592009-06-18  Shinichiro Hamaji  <hamaji@chromium.org>
22960
22961        Reviewed by Oliver Hunt.
22962
22963        Bug 26426: Canvas: rotation of 'no-repeat' pattern is weird
22964        <https://bugs.webkit.org/show_bug.cgi?id=26426>
22965
22966        Use 1<<23-1 as steps of no-repeat patterns instead of 100000000.0f.
22967        The original number cannot be represented by mantissa of float
22968        (23bit) so that it caused some error.
22969
22970        Test: fast/canvas/image-object-in-canvas.html:
22971
22972        * platform/graphics/cg/PatternCG.cpp:
22973        (WebCore::Pattern::createPlatformPattern):
22974
229752009-06-19  Adam Barth  <abarth@webkit.org>
22976
22977        Unreviewed attempt to fix the Chromium build.
22978
22979        * bindings/v8/ScriptController.cpp:
22980        (WebCore::ScriptController::ScriptController):
22981        (WebCore::ScriptController::evaluate):
22982        * bindings/v8/ScriptController.h:
22983        (WebCore::ScriptController::xssAuditor):
22984        * bindings/v8/ScriptEventListener.cpp:
22985        (WebCore::createAttributeEventListener):
22986
229872009-06-18  Adam Barth  <abarth@webkit.org>
22988
22989        Reviewed by Sam Weinig.
22990
22991        https://bugs.webkit.org/show_bug.cgi?id=26199
22992
22993        Added an experimental reflective XSS filter.  The filter is disabled by
22994        default.
22995
22996        Test: http/tests/security/xssAuditor/script-tag.html
22997
22998        * GNUmakefile.am:
22999        * WebCore.base.exp:
23000        * WebCore.pro:
23001        * WebCore.vcproj/WebCore.vcproj:
23002        * WebCore.xcodeproj/project.pbxproj:
23003        * bindings/js/ScriptController.cpp:
23004        (WebCore::ScriptController::ScriptController):
23005        (WebCore::ScriptController::evaluate):
23006        * bindings/js/ScriptController.h:
23007        (WebCore::ScriptController::xssAuditor):
23008        * bindings/js/ScriptEventListener.cpp:
23009        (WebCore::createAttributeEventListener):
23010        * dom/Tokenizer.h:
23011        (WebCore::Tokenizer::xssAuditor):
23012        (WebCore::Tokenizer::setXSSAuditor):
23013        (WebCore::Tokenizer::Tokenizer):
23014        * html/HTMLTokenizer.cpp:
23015        (WebCore::HTMLTokenizer::scriptHandler):
23016        * loader/FrameLoader.cpp:
23017        (WebCore::FrameLoader::begin):
23018        (WebCore::FrameLoader::requestObject):
23019        * page/Settings.cpp:
23020        (WebCore::Settings::Settings):
23021        (WebCore::Settings::setXSSAuditorEnabled):
23022        * page/Settings.h:
23023        (WebCore::Settings::xssAuditorEnabled):
23024        * page/XSSAuditor.cpp: Added.
23025        (WebCore::isControlCharacter):
23026        (WebCore::XSSAuditor::XSSAuditor):
23027        (WebCore::XSSAuditor::~XSSAuditor):
23028        (WebCore::XSSAuditor::canEvaluate):
23029        (WebCore::XSSAuditor::canCreateInlineEventListener):
23030        (WebCore::XSSAuditor::canLoadExternalScriptFromSrc):
23031        (WebCore::XSSAuditor::canLoadObject):
23032        (WebCore::XSSAuditor::decodeURL):
23033        (WebCore::XSSAuditor::findInRequest):
23034        * page/XSSAuditor.h: Added.
23035        (WebCore::XSSAuditor::isEnabled):
23036        (WebCore::XSSAuditor::setXSSAuditorEnabled):
23037
230382009-06-18  Dirk Schulze  <krit@webkit.org>
23039
23040        Reviewed by Oliver Hunt.
23041
23042        feOffset and objectBoundingBox
23043        [https://bugs.webkit.org/show_bug.cgi?id=26441]
23044
23045        If we use objectBoundingBox for primitiveUnits, the fractions given
23046        to dx or dy of feOffset must be multiplied with the referenced objects
23047        objectBoundingBox size.
23048
23049        Test: svg/filters/feOffset.svg
23050
23051        * svg/graphics/filters/SVGFEOffset.cpp:
23052        (WebCore::FEOffset::apply):
23053
230542009-06-18  Dirk Schulze  <krit@webkit.org>
23055
23056        Reviewed by Oliver Hunt.
23057
23058        feTile implementation missing
23059        [https://bugs.webkit.org/show_bug.cgi?id=26419]
23060
23061        Implementation of feTile, a pattern effect for SVG filters. It was
23062        necessary to modify FilterEffect since source inputs need a secial
23063        logic and we have to identify if an effect is a source input.
23064
23065        Tests: svg/batik/filters/feTile.svg
23066               svg/filters/feTile.svg
23067
23068        * platform/graphics/filters/FilterEffect.h:
23069        (WebCore::FilterEffect::isSourceInput):
23070        * platform/graphics/filters/SourceAlpha.h:
23071        (WebCore::SourceAlpha::isSourceInput):
23072        * platform/graphics/filters/SourceGraphic.h:
23073        (WebCore::SourceGraphic::isSourceInput):
23074        * svg/graphics/filters/SVGFETile.cpp:
23075        (WebCore::FETile::apply):
23076
230772009-06-18  Dirk Schulze  <krit@webkit.org>
23078
23079        Reviewed by Oliver Hunt.
23080
23081        feMerge implementation
23082        [https://bugs.webkit.org/show_bug.cgi?id=26480]
23083
23084        Added feMerge to the SVG Filter system.
23085
23086        Test: svg/filters/feMerge.svg
23087
23088        * svg/graphics/filters/SVGFEMerge.cpp:
23089        (WebCore::FEMerge::uniteChildEffectSubregions):
23090        (WebCore::FEMerge::apply):
23091        * svg/graphics/filters/SVGFEMerge.h:
23092
230932009-06-18  Mark Rowe  <mrowe@apple.com>
23094
23095        Speculative Windows build fix.
23096
23097        * page/win/FrameCGWin.cpp: Add missing #include.
23098
230992009-06-17  Brent Fulgham  <bfulgham@webkit.org>
23100
23101        Reviewed by Dave Levin.
23102
23103        https://bugs.webkit.org/show_bug.cgi?id=26425
23104        Final refactorings, picking up a few places where BitmapInfo
23105        could be used.
23106
23107        * page/win/FrameCGWin.cpp:
23108        (WebCore::imageFromRect):
23109        * platform/win/CursorWin.cpp:
23110        (WebCore::Cursor::Cursor):
23111        * platform/win/PopupMenuWin.cpp:
23112        (WebCore::PopupMenu::paint):
23113
231142009-06-18  Chris Fleizach  <cfleizach@apple.com>
23115
23116        Reviewed by Darin Adler.
23117
23118        Bug 26522: In DOM mode, VoiceOver reads some mouseover text on web sites strangely
23119        https://bugs.webkit.org/show_bug.cgi?id=26522
23120
23121        Test: accessibility/non-data-table-cell-title-ui-element.html
23122
23123        * accessibility/AccessibilityTableCell.cpp:
23124        (WebCore::AccessibilityTableCell::titleUIElement):
23125
231262009-06-18  Kevin Ollivier  <kevino@theolliviers.com>
23127
23128        wx build fix after recent RenderTheme changes.
23129
23130        * platform/wx/RenderThemeWx.cpp:
23131        (WebCore::RenderThemeWx::~RenderThemeWx):
23132        (WebCore::RenderTheme::themeForPage):
23133
231342009-06-18  Peter Kasting  <pkasting@google.com>
23135
23136        Reviewed by Eric Seidel.
23137
23138        https://bugs.webkit.org/show_bug.cgi?id=26460 part two
23139        Attempt to minimize diff of following functional change by first landing
23140        non-functional change to:
23141        * Make readUintX() public and static (since they will need to be once
23142          BMPImageReader is included in *ImageDecoder via composition rather
23143          than inheritance).  Add wrappers in each class so callers can be
23144          simpler.  In the next patch, these wrappers will be beefed up slightly
23145          and the callers will get even simpler.
23146        * Change direct setting of m_failed to use setFailed(), since in the
23147          next patch much of this code won't even have direct access to m_failed
23148        * Add a helper function in ICOImageDecoder to determine the image type
23149          instead of simply doing it inline
23150        * Rewrap lines that used to be <=80 cols and slipped over it during the
23151          original landing of these decoders
23152        * Other misc. changes, e.g. adding constructor definitions, reordering
23153          functions, changing RGBA32Buffer& to RGBA32Buffer*, etc. that have no
23154          functional effect but minimize the subsequent diff for readability
23155
23156
23157        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
23158        (WebCore::BMPImageDecoder::BMPImageDecoder):
23159        (WebCore::BMPImageDecoder::processFileHeader):
23160        * platform/image-decoders/bmp/BMPImageDecoder.h:
23161        (WebCore::BMPImageDecoder::readUint32):
23162        * platform/image-decoders/bmp/BMPImageReader.cpp:
23163        (WebCore::BMPImageReader::decodeBMP):
23164        (WebCore::BMPImageReader::getInfoHeaderSize):
23165        (WebCore::BMPImageReader::processInfoHeader):
23166        (WebCore::BMPImageReader::readInfoHeader):
23167        (WebCore::BMPImageReader::processBitmasks):
23168        (WebCore::BMPImageReader::processColorTable):
23169        (WebCore::BMPImageReader::processRLEData):
23170        (WebCore::BMPImageReader::processNonRLEData):
23171        * platform/image-decoders/bmp/BMPImageReader.h:
23172        (WebCore::BMPImageReader::readUint16Helper):
23173        (WebCore::BMPImageReader::readUint32Helper):
23174        (WebCore::BMPImageReader::):
23175        (WebCore::BMPImageReader::readUint16):
23176        (WebCore::BMPImageReader::readUint32):
23177        (WebCore::BMPImageReader::readCurrentPixel):
23178        (WebCore::BMPImageReader::getComponent):
23179        (WebCore::BMPImageReader::setI):
23180        (WebCore::BMPImageReader::setRGBA):
23181        (WebCore::BMPImageReader::fillRGBA):
23182        * platform/image-decoders/ico/ICOImageDecoder.cpp:
23183        (WebCore::ICOImageDecoder::ICOImageDecoder):
23184        (WebCore::ICOImageDecoder::isSizeAvailable):
23185        (WebCore::ICOImageDecoder::size):
23186        (WebCore::ICOImageDecoder::decodeImage):
23187        (WebCore::ICOImageDecoder::processDirectory):
23188        (WebCore::ICOImageDecoder::processDirectoryEntries):
23189        (WebCore::ICOImageDecoder::isBetterEntry):
23190        (WebCore::ICOImageDecoder::processImageType):
23191        * platform/image-decoders/ico/ICOImageDecoder.h:
23192        (WebCore::ICOImageDecoder::readUint16):
23193        (WebCore::ICOImageDecoder::readUint32):
23194
231952009-06-18  Peter Kasting  <pkasting@google.com>
23196
23197        Fix build bustage.
23198
23199        * platform/image-decoders/gif/GIFImageDecoder.h:
23200
232012009-06-18  Kevin McCullough  <kmccullough@apple.com>
23202
23203        Reviewed by Oliver Hunt.
23204
23205        <rdar://problem/6940880> REGRESSION: Breakpoints don't break in 64-bit
23206
23207        Convert intptr_t to Strings so that we don't loose bits in the
23208        conversion to JS.  Previously they were being put into 32bit ints.
23209
23210        * inspector/InspectorController.cpp: Convert the String back to an
23211        intptr_t.
23212        (WebCore::InspectorController::addBreakpoint):
23213        (WebCore::InspectorController::removeBreakpoint):
23214        * inspector/InspectorController.h:
23215        * inspector/InspectorController.idl: Use strings in JS to avoid 32bit
23216        truncation.
23217        * inspector/InspectorFrontend.cpp: Make the intptr_t into a String.
23218        (WebCore::InspectorFrontend::parsedScriptSource):
23219        * platform/text/PlatformString.h: Implemented the necessary conversion
23220        functions to be able to convert to and from an intptr_t.
23221        * platform/text/String.cpp: Ditto.
23222        (WebCore::String::toIntPtrStrict):
23223        (WebCore::String::toIntPtr):
23224        (WebCore::charactersToIntPtrStrict):
23225        (WebCore::charactersToIntPtr):
23226        * platform/text/StringImpl.cpp: Ditto.
23227        (WebCore::StringImpl::toIntPtrStrict):
23228        (WebCore::StringImpl::toIntPtr):
23229        * platform/text/StringImpl.h: Ditto.
23230
232312009-06-17  Brent Fulgham  <bfulgham@webkit.org>
23232
23233        Reviewed by Eric Seidel.
23234
23235        Final cleanups in this refactoring:
23236        (1) Move WindowsBitmap implementation from CG-specific file to
23237            the platform-common GraphicsContextWin.cpp, since it is
23238            equally useful on both platforms.
23239        (2) Revise the TransformationMatrix logic as suggested by
23240            Adam Roben in his review comments to Part #2 of this
23241            refactoring.
23242
23243        * platform/graphics/win/GraphicsContextCGWin.cpp:
23244        * platform/graphics/win/GraphicsContextWin.cpp:
23245        (WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap):
23246        (WebCore::GraphicsContext::WindowsBitmap::~WindowsBitmap):
23247        (WebCore::GraphicsContext::createWindowsBitmap):
23248        (WebCore::GraphicsContext::getWindowsContext):
23249        (WebCore::GraphicsContextPlatformPrivate::scale):
23250        (WebCore::GraphicsContextPlatformPrivate::rotate):
23251        (WebCore::GraphicsContextPlatformPrivate::translate):
23252        (WebCore::GraphicsContextPlatformPrivate::concatCTM):
23253
232542009-06-18  Peter Kasting  <pkasting@google.com>
23255
23256        Reviewed by Eric Seidel.
23257
23258        https://bugs.webkit.org/show_bug.cgi?id=26460 part one
23259        Make isSizeAvailable non-const, since it's not logically const (it
23260        triggers lazy decoding), and simplify all the implementations (without
23261        changing behavior; just make less verbose).  Remove some other
23262        inappropriate consts, which enables the removal of all the mutable
23263        declarations in the decoders.
23264
23265        * platform/image-decoders/ImageDecoder.h:
23266        (WebCore::ImageDecoder::isSizeAvailable):
23267        (WebCore::ImageDecoder::setSize): Make public to avoid needing a friend declaration in the JPEG decoder, and because the ICO/BMP decoders will soon need this.
23268        * platform/image-decoders/gif/GIFImageDecoder.cpp:
23269        (WebCore::GIFImageDecoder::isSizeAvailable):
23270        (WebCore::GIFImageDecoder::repetitionCount):
23271        (WebCore::GIFImageDecoder::decode):
23272        * platform/image-decoders/gif/GIFImageDecoder.h:
23273        * platform/image-decoders/ico/ICOImageDecoder.cpp:
23274        (WebCore::ICOImageDecoder::isSizeAvailable):
23275        * platform/image-decoders/ico/ICOImageDecoder.h:
23276        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
23277        (WebCore::JPEGImageDecoder::isSizeAvailable):
23278        (WebCore::JPEGImageDecoder::decode):
23279        * platform/image-decoders/jpeg/JPEGImageDecoder.h:
23280        * platform/image-decoders/png/PNGImageDecoder.cpp:
23281        (WebCore::PNGImageDecoder::isSizeAvailable):
23282        (WebCore::PNGImageDecoder::decode):
23283        * platform/image-decoders/png/PNGImageDecoder.h:
23284        * platform/image-decoders/xbm/XBMImageDecoder.cpp:
23285        (WebCore::XBMImageDecoder::isSizeAvailable):
23286        (WebCore::XBMImageDecoder::frameBufferAtIndex):
23287        (WebCore::XBMImageDecoder::decode):
23288        * platform/image-decoders/xbm/XBMImageDecoder.h: Rename decodeXBM() to decode() for consistency with the JPEG/PNG decoders, and in the future the ICO/BMP decoders.
23289
232902009-06-17  Brent Fulgham  <bfulgham@webkit.org>
23291
23292        Reviewed by Eric Seidel.
23293
23294        Move some common functions out of platform files and into
23295        the common implementation.
23296
23297        https://bugs.webkit.org/show_bug.cgi?id=26425.
23298        Add a new platform context method (flush) so that the
23299        getWindowsContext method can be consolidated into the common
23300        GraphicsContextWin.cpp file.
23301
23302        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
23303        (WebCore::GraphicsContextPlatformPrivate::flush):
23304        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
23305        (WebCore::GraphicsContextPlatformPrivate::flush):
23306        * platform/graphics/win/GraphicsContextCGWin.cpp: Remove
23307          getWindowContext method.
23308        * platform/graphics/win/GraphicsContextCairoWin.cpp: Remove
23309          getWindowContext method and fillWithClearColor methods.
23310        * platform/graphics/win/GraphicsContextWin.cpp:
23311        (WebCore::fillWithClearColor): Moved from *CairoWin.cpp
23312        (WebCore::GraphicsContext::getWindowsContext): Moved
23313          from *CairoWin.cpp
23314
233152009-06-18  Ojan Vafai  <ojan@chromium.org>
23316
23317        Reviewed by Oliver Hunt.
23318
23319        Remove code that I accidentally committed in r44811.
23320
23321        * editing/markup.cpp:
23322        (WebCore::createMarkup):
23323
233242009-06-18  Simon Fraser  <simon.fraser@apple.com>
23325
23326        Reviewed by Dan Bernstein.
23327
23328        <rdar://problem/6983207> Non-layer content is not re-rendered when transition
23329        starts sometimes (with hardware acceleration).
23330
23331        When deciding which RenderLayers should be composited, when a layer goes into
23332        compositing mode we repaint the old location. However, we did that before
23333        we'd looked at all the factors that may force a layer to composite, so missed
23334        some cases. Fix by doing the repaint once we really know whether it's going
23335        to composite.
23336
23337        Test: compositing/repaint/become-overlay-composited-layer.html
23338
23339        * rendering/RenderLayerCompositor.cpp:
23340        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
23341
233422009-06-18  Simon Fraser  <simon.fraser@apple.com>
23343
23344        Fix the Leopard build where USE(ACCELERATED_COMPOSITING) is not defined, and
23345        the Tiger build where QTMovieLayer does not exist.
23346
23347        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
23348        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
23349        (WebCore::MediaPlayerPrivate::createQTMovieLayer):
23350        (WebCore::MediaPlayerPrivate::destroyQTMovieLayer):
23351        (WebCore::MediaPlayerPrivate::currentRenderingMode):
23352        (WebCore::MediaPlayerPrivate::setUpVideoRendering):
23353        (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
23354        (WebCore::MediaPlayerPrivate::hasSetUpVideoRendering):
23355
233562009-06-18  Simon Fraser  <simon.fraser@apple.com>
23357
23358        Fix the Leopard build where USE(ACCELERATED_COMPOSITING) is not defined.
23359
23360        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
23361        (WebCore::MediaPlayerPrivate::currentRenderingMode):
23362        (WebCore::MediaPlayerPrivate::setUpVideoRendering):
23363        (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
23364
233652009-06-17  Erik Arvidsson  <arv@chromium.org>
23366
23367        Reviewed by Adele Peterson.
23368
23369        https://bugs.webkit.org/show_bug.cgi?id=15189
23370        Adds the HTML5 input event support for textarea.
23371
23372        Also, moves the oninput attribute parse handling to HTMLElement so that
23373        it can be set on any HTML element so that bubbling events can be handled
23374        using HTML attribute handlers.
23375
23376        Test: fast/forms/textarea-input-event.html
23377
23378        * html/HTMLElement.cpp:
23379        (WebCore::HTMLElement::parseMappedAttribute):
23380        * html/HTMLInputElement.cpp:
23381        (WebCore::HTMLInputElement::parseMappedAttribute):
23382        * rendering/RenderTextControlMultiLine.cpp:
23383        (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
23384
233852009-06-18  Dirk Schulze  <krit@webkit.org>
23386
23387        Reviewed by Oliver Hunt.
23388
23389        Share code between filterEffects
23390        [https://bugs.webkit.org/show_bug.cgi?id=26479]
23391
23392        Share more code of filter effects. The imageBuffer creation can move to
23393        FilterEffect ant every effect asks for the GraphicsContext. Move the
23394        drawingRect calculation to FilterEffect.
23395
23396        * platform/graphics/filters/FilterEffect.cpp:
23397        (WebCore::FilterEffect::calculateDrawingRect):
23398        (WebCore::FilterEffect::getEffectContext):
23399        * platform/graphics/filters/FilterEffect.h:
23400        * platform/graphics/filters/SourceGraphic.cpp:
23401        (WebCore::SourceGraphic::apply):
23402        * svg/graphics/filters/SVGFEFlood.cpp:
23403        (WebCore::FEFlood::apply):
23404        * svg/graphics/filters/SVGFEOffset.cpp:
23405        (WebCore::FEOffset::apply):
23406
234072009-06-18  Simon Fraser  <simon.fraser@apple.com>
23408
23409        Reviewed by Dave Hyatt.
23410
23411        https://bugs.webkit.org/show_bug.cgi?id=26499
23412
23413        Support hardware-accelerationed rendering of video elements.
23414
23415        * html/HTMLMediaElement.cpp:
23416        (WebCore::HTMLMediaElement::mediaPlayerSawUnsupportedTracks):
23417        (WebCore::HTMLMediaElement::mediaPlayerRepaint):
23418        Just move these methods to group the render-related methods together.
23419
23420        (WebCore::HTMLMediaElement::mediaPlayerRenderingCanBeAccelerated):
23421        Call out method to ask the RenderLayerCompositor if presentation of this video
23422        can be acclerated. It might say no, if, for example, the video has a reflection.
23423
23424        (WebCore::HTMLMediaElement::mediaPlayerGraphicsLayer):
23425        Fetch the GraphicsLayer from the RenderVideo that will host the movie layer.
23426
23427        * html/HTMLMediaElement.h:
23428        Reordered the rendering-related methods, and added two methods related to video
23429        acceleration.
23430
23431        * platform/graphics/MediaPlayer.cpp:
23432        (WebCore::MediaPlayer::acceleratedRenderingStateChanged):
23433        Called by the rendering system when it determines that the video must go into, or
23434        fall off of the hardware-accelerated path.
23435
23436        (WebCore::MediaPlayer::supportsAcceleratedRendering):
23437        Method to say whether the media engine supports accelerated rendering.
23438
23439        * platform/graphics/MediaPlayer.h:
23440        (WebCore::MediaPlayerClient::mediaPlayerRepaint):
23441        (WebCore::MediaPlayerClient::mediaPlayerSizeChanged):
23442        Moved.
23443
23444        (WebCore::MediaPlayerClient::mediaPlayerRenderingCanBeAccelerated):
23445        (WebCore::MediaPlayerClient::mediaPlayerGraphicsLayer):
23446        New methods to ask the client if the rendering system can support accelerated
23447        rendering, and to get a GraphicsLayer to plug the movie layer into.
23448
23449        * platform/graphics/MediaPlayerPrivate.h:
23450        (WebCore::MediaPlayerPrivateInterface::supportsAcceleratedRendering):
23451        (WebCore::MediaPlayerPrivateInterface::acceleratedRenderingStateChanged):
23452        Forwarding methods from MediaPlayer.
23453
23454        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
23455        Some new methods related to using a QTMovieLayer, and to simplify the rendering mode logic.
23456
23457        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
23458        (WebCore::MediaPlayerPrivate::createQTMovieLayer):
23459        (WebCore::MediaPlayerPrivate::destroyQTMovieLayer):
23460        Methods to create and destroy the QTMovieLayer.
23461
23462        (WebCore::MediaPlayerPrivate::currentRenderingMode):
23463        (WebCore::MediaPlayerPrivate::preferredRenderingMode):
23464        Methods to clarify the code that decides which of the 3 rendering modes to use.
23465
23466        (WebCore::MediaPlayerPrivate::setUpVideoRendering):
23467        Changed to use the new rendering mode methods.
23468
23469        (WebCore::MediaPlayerPrivate::tearDownVideoRendering):
23470        Destroy the layer if we have one.
23471
23472        (WebCore::MediaPlayerPrivate::hasSetUpVideoRendering):
23473        Small utility method.
23474
23475        (WebCore::MediaPlayerPrivate::updateStates):
23476        Move the call to setUpVideoRendering() to before we send out the state notifications,
23477        so that we will have created the rendering objects already.
23478
23479        (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
23480        Return true if we have QTMovieLayer.
23481
23482        (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged):
23483        We've been told that we went into or out of accelerated mode; maybe reset
23484        the renderer, and set the layer if we have to.
23485
23486        * rendering/RenderLayer.cpp:
23487        (WebCore::RenderLayer::rendererContentChanged):
23488        We may need to udpate compositing layers if the video went into accelerated mode.
23489
23490        * rendering/RenderLayerBacking.cpp:
23491        (WebCore::RenderLayerBacking::canUseDirectCompositing):
23492        Add smarts to deal with video, which allows us to avoid extra backing store.
23493
23494        (WebCore::RenderLayerBacking::contentsBox):
23495        Use the videoBox to use the content layer for video layers.
23496
23497        * rendering/RenderLayerCompositor.cpp:
23498        (WebCore::RenderLayerCompositor::updateLayerCompositingState):
23499        Poke the RenderVideo if the state changed.
23500
23501        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
23502        Handle an edge case when the video element itself is a stacking context
23503        because of opacity or transform.
23504
23505        (WebCore::RenderLayerCompositor::canAccelerateVideoRendering):
23506        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
23507        (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
23508        Allow video to throw us into compositing mode if the media engine supports it.
23509
23510        * rendering/RenderLayerCompositor.h:
23511        New methods related to video.
23512
23513        * rendering/RenderVideo.h:
23514        * rendering/RenderVideo.cpp:
23515        (WebCore::RenderVideo::updatePlayer):
23516        Call rendererContentChanged() to give the compositor a change to throw the video into
23517        compositing mode.
23518
23519        (WebCore::RenderVideo::supportsAcceleratedRendering):
23520        (WebCore::RenderVideo::acceleratedRenderingStateChanged):
23521        (WebCore::RenderVideo::videoGraphicsLayer):
23522        Methods to allow the MediaPlayer to do rendering-related stuff via the media element.
23523
235242009-06-18  Rob Buis  <rwlbuis@gmail.com>
23525
23526        Reviewed by Niko.
23527
23528        https://bugs.webkit.org/show_bug.cgi?id=26385
23529        Root SVG element is not checked on requiredFeatures, requiredExtension like other elements
23530
23531        Also do the isValid check for outer <svg>.
23532
23533        Test: svg/custom/outer-svg-unknown-feature.svg
23534
23535        * svg/SVGDocument.cpp:
23536        (WebCore::SVGDocument::childShouldCreateRenderer):
23537        * svg/SVGDocument.h:
23538
235392009-06-18  Dan Bernstein  <mitz@apple.com>
23540
23541        Reviewed by Darin Adler.
23542
23543        - fix <rdar://problem/6913221> REGRESSION (Safari 3-4): Search field on
23544          apple.com cuts entered text
23545
23546        Test: fast/forms/search-vertical-alignment.html
23547
23548        * rendering/RenderTextControlSingleLine.cpp:
23549        (WebCore::RenderTextControlSingleLine::layout): Vertically center the
23550            the search field's inner block.
23551
235522009-06-18  Janne Koskinen  <janne.p.koskinen@digia.com>
23553
23554        Reviewed by Simon Hausmann.
23555
23556        Fix compilation with Symbian WINSCW compiler, which produced
23557        multiple definitions of the CSSPrimitiveValue conversion operators.
23558
23559        It turns out that they are defined inline but not declared inline.
23560
23561        Adding the inline keyword to the declaration fixes the build.
23562
23563        * css/CSSPrimitiveValue.h:
23564
235652009-06-18  Markus Goetz <Markus.Goetz@nokia.com>
23566
23567        Reviewed by Simon Hausman.
23568
23569        Clarify in docs how to compile with debug information.
23570
23571        * WebCore.pro:
23572
235732009-06-18  Jakub Wieczorek  <faw217@gmail.com>
23574
23575        Reviewed by Simon Hausmann.
23576
23577        [Qt] When writing an URL to the clipboard, save the corresponding title
23578        in the mime data as well.
23579
23580        * platform/qt/ClipboardQt.cpp:
23581        (WebCore::ClipboardQt::writeURL):
23582
235832009-06-18  Jakub Wieczorek  <faw217@gmail.com>
23584
23585        [Qt] Fix build. Add HTMLDataGridElement.
23586
23587        * WebCore.pro:
23588
235892009-06-18  Jan Michael Alonzo  <jmalonzo@webkit.org>
23590
23591        Gtk build fix.
23592
23593        Add HTMLDataGridElement header and IDL to the build script.
23594
23595        * GNUmakefile.am:
23596
235972009-06-18  Chris Evans  <scarybeasts@gmail.com>
23598
23599        Reviewed by Adam Barth.
23600
23601        Fix 8-digit long hex entities. Fixes bug 26454
23602        https://bugs.webkit.org/show_bug.cgi?id=26454
23603
23604        Test: fast/parser/eightdigithexentity.html
23605
23606        * html/HTMLTokenizer.cpp: fix off-by-ones.
23607
236082009-06-18  David Levin  <levin@chromium.org>
23609
23610        Fix chromium linux build.
23611
23612        Fixes a mistake that happened during the complicated merge for
23613        landing r44775, r44776, r44777.
23614
23615        * rendering/RenderThemeChromiumLinux.cpp:
23616        (WebCore::RenderThemeChromiumLinux::create):
23617
236182009-06-17  Simon Fraser  <simon.fraser@apple.com>
23619
23620        Reviewed by Darin Adler.
23621
23622        https://bugs.webkit.org/show_bug.cgi?id=26499
23623
23624        First step to making video rendering be hardware-accelerated:
23625        make <video> elements get self-painting RenderLayers, and add
23626        an isVideo() virtual method to RenderObject.
23627
23628        * html/HTMLMediaElement.cpp:
23629        (WebCore::HTMLMediaElement::setReadyState):
23630        (WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
23631        (WebCore::HTMLMediaElement::mediaPlayerSizeChanged):
23632        * rendering/RenderLayer.cpp:
23633        (WebCore::RenderLayer::shouldBeNormalFlowOnly):
23634        (WebCore::RenderLayer::isSelfPaintingLayer):
23635        * rendering/RenderObject.h:
23636        (WebCore::RenderObject::isVideo):
23637        * rendering/RenderVideo.h:
23638        (WebCore::RenderVideo::requiresLayer):
23639        (WebCore::RenderVideo::isVideo):
23640
236412009-06-17  Brent Fulgham  <bfulgham@webkit.org>
23642
23643        Reviewed by Adam Roben.
23644
23645        Refactor a few common routines in the various Windows ports
23646        and reduce some duplicated code.
23647
23648        (1) Create TransformationMatrix XFORM casting operator, and
23649            switch various XFORM structure uses to utilize it.
23650        (2) Push concatCTM call to GraphicsContextWin now that the
23651            TransformationMatrix can directly create XFORM (rather
23652            than converting to CGAffineTransform/cairo_matrix_t first.)
23653
23654        * WebCore.vcproj/WebCore.vcproj: Add new BitmapInfo structure.
23655        * platform/graphics/transforms/TransformationMatrix.h:
23656        * platform/graphics/win/GraphicsContextCGWin.cpp:
23657        * platform/graphics/win/GraphicsContextCairoWin.cpp:
23658        * platform/graphics/win/GraphicsContextWin.cpp:
23659        (WebCore::GraphicsContextPlatformPrivate::scale):
23660        (WebCore::GraphicsContextPlatformPrivate::rotate):
23661        (WebCore::GraphicsContextPlatformPrivate::translate):
23662        (WebCore::GraphicsContextPlatformPrivate::concatCTM):
23663        * platform/graphics/win/TransformationMatrixWin.cpp: Added.
23664        (WebCore::TransformationMatrix::operator XFORM): New operator
23665
236662009-06-17  Brent Fulgham  <bfulgham@webkit.org>
23667
23668        Non-CG Windows build fix after @r44758.
23669
23670        * rendering/RenderThemeWin.cpp:
23671        (WebCore::RenderTheme::themeForPage):
23672
236732009-06-17  Brent Fulgham  <bfulgham@webkit.org>
23674
23675        Reviewed by Adam Roben.
23676
23677        Refactor a few common routines in the various Windows ports
23678        and reduce some duplicated code.
23679        https://bugs.webkit.org/show_bug.cgi?id=26425.
23680
23681        Refactor use of BITMAPINFO for the new BitmapInfo structure.
23682
23683        * WebCore.vcproj/WebCore.vcproj:
23684        * platform/win/BitmapInfo.cpp: Added.
23685        (WebCore::bitmapInfoForSize):
23686        (WebCore::BitmapInfo::create):
23687        (WebCore::BitmapInfo::createBottomUp):
23688        * platform/win/BitmapInfo.h: Added.
23689        * platform/graphics/win/GraphicsContextCairoWin.cpp:
23690        * platform/graphics/win/GraphicsContextCGWin.cpp:
23691        * platform/graphics/win/TransformationMatrixWin.cpp: Added.
23692        (WebCore::TransformationMatrix::operator XFORM): New operator
23693        * platform/win/DragImageCGWin.cpp:
23694        (WebCore::allocImage):
23695        * platform/win/DragImageCairoWin.cpp:
23696        (WebCore::allocImage):
23697        * platform/win/PasteboardWin.cpp:
23698        (WebCore::Pasteboard::writeImage):
23699        * platform/win/PopupMenuWin.cpp:
23700        (WebCore::PopupMenu::paint):
23701
237022009-06-17  Adam Roben  <aroben@apple.com>
23703
23704        Remove unnecessary 6th parameter from SOFT_LINK_OPTIONAL
23705
23706        Reviewed by Mark Rowe.
23707
23708        * platform/graphics/win/ColorSafari.cpp: Removed the 6th parameter and
23709        an unnecessary parameter name.
23710        * platform/win/SoftLinking.h: Removed the unused 6th parameter.
23711
237122009-06-17  Adam Roben  <aroben@apple.com>
23713
23714        Make Settings::shouldPaintNativeControls default to true
23715
23716        This matches the default up in WebKit (that was changed in r43318).
23717
23718        Fixes Bug 26493: REGRESSION (r44758): First tab always uses Mac-style
23719        form controls
23720        <https://bugs.webkit.org/show_bug.cgi?id=26493>
23721
23722        Reviewed by Darin Adler and Dave Hyatt.
23723
23724        No test possible since DRT always uses Mac-style form controls.
23725
23726        * page/Settings.cpp: Changed the initial value of
23727        gShouldPaintNativeControls to true.
23728
23729        * rendering/RenderThemeSafari.cpp:
23730        (WebCore::RenderTheme::themeForPage): Added a FIXME about the design
23731        flaw here involving querying Settings before it's been initialized.
23732
237332009-06-17  David Levin  <levin@chromium.org>
23734
23735        Fix chromium windows build.
23736
23737        A mistake that happened during the complicated merge for
23738        landing r44775, r44776, r44777.
23739
23740        * rendering/RenderThemeChromiumWin.h:
23741        (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
23742        (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):
23743
237442009-06-17  Eric Carlson  <eric.carlson@apple.com>
23745
23746        Reviewed by Simon Fraser.
23747
23748        <rdar://problem/6981193> Crash in MediaControlInputElement::attachToParent
23749
23750        * rendering/MediaControlElements.cpp:
23751        (WebCore::MediaTextDisplayElement::attachToParent): NULL check element renderer or parent renderer.
23752        (WebCore::MediaControlInputElement::attachToParent): Ditto.
23753
237542009-06-17  David Hyatt  <hyatt@apple.com>
23755
23756        Fix Windows build.  There's no HTMLDataGridElement.cpp file yet.
23757
23758        * html/HTMLElementsAllInOne.cpp:
23759
237602009-06-17  David Hyatt  <hyatt@apple.com>
23761
23762        Reviewed by Adam Roben and Anders Carlsson.
23763
23764        Stub out the HTMLDataGridElement.
23765
23766        * DerivedSources.make:
23767        * WebCore.vcproj/WebCore.vcproj:
23768        * WebCore.xcodeproj/project.pbxproj:
23769        * WebCoreSources.bkl:
23770        * css/CSSStyleSelector.cpp:
23771        (WebCore::CSSStyleSelector::adjustRenderStyle):
23772        * editing/htmlediting.cpp:
23773        (WebCore::canHaveChildrenForEditing):
23774        * html/HTMLDataGridElement.h: Added.
23775        (WebCore::HTMLDataGridElement::HTMLDataGridElement):
23776        (WebCore::HTMLDataGridElement::tagPriority):
23777        * html/HTMLDataGridElement.idl: Added.
23778        * html/HTMLElement.cpp:
23779        (WebCore::inlineTagList):
23780        * html/HTMLParser.cpp:
23781        (WebCore::HTMLParser::isAffectedByResidualStyle):
23782        * html/HTMLTagNames.in:
23783
237842009-06-17  David Levin  <levin@chromium.org>
23785
23786        Reviewed by NOBODY (chromium build fix).
23787
23788        Fix typo in previous changes.
23789
23790        * rendering/RenderThemeChromiumSkia.cpp:
23791        (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
23792
237932009-06-17  Albert J. Wong  <ajwong@chromium.org>
23794
23795        Reviewed by Eric Seidel.
23796
23797        https://bugs.webkit.org/show_bug.cgi?id=26148
23798        Remove common code from RenderThemeChromiumWin that is shared with
23799        RenderThemeChromiumSkia.
23800
23801        Also move supportsControlTints to RenderThemeChromiumLinux since it
23802        is linux specific.
23803
23804        There are no tests changed because this just removes functions with
23805        duplicate implementations between the base and derived classes.
23806
23807        * rendering/RenderThemeChromiumLinux.cpp:
23808        (WebCore::RenderThemeChromiumLinux::supportsControlTints):
23809        * rendering/RenderThemeChromiumLinux.h:
23810        * rendering/RenderThemeChromiumSkia.cpp:
23811        * rendering/RenderThemeChromiumSkia.h:
23812        * rendering/RenderThemeChromiumWin.cpp:
23813        (WebCore::):
23814        (WebCore::getNonClientMetrics):
23815        (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
23816        (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):
23817        (WebCore::RenderThemeChromiumWin::systemFont):
23818        (WebCore::RenderThemeChromiumWin::paintCheckbox):
23819        (WebCore::RenderThemeChromiumWin::paintRadio):
23820        (WebCore::RenderThemeChromiumWin::paintSliderThumb):
23821        (WebCore::RenderThemeChromiumWin::caretBlinkIntervalInternal):
23822        * rendering/RenderThemeChromiumWin.h:
23823
238242009-06-17  Albert J. Wong  <ajwong@chromium.org>
23825
23826        Reviewed by Eric Seidel.
23827
23828        https://bugs.webkit.org/show_bug.cgi?id=26148
23829        Move RenderThemeChromiumSkia into its own file.  This is purely a code move.
23830
23831        * rendering/RenderThemeChromiumLinux.cpp:
23832        * rendering/RenderThemeChromiumLinux.h:
23833        * rendering/RenderThemeChromiumSkia.cpp:
23834        (WebCore::):
23835        (WebCore::setSizeIfAuto):
23836        (WebCore::mediaElementParent):
23837        (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
23838        (WebCore::RenderThemeChromiumSkia::RenderThemeChromiumSkia):
23839        (WebCore::RenderThemeChromiumSkia::~RenderThemeChromiumSkia):
23840        (WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet):
23841        (WebCore::RenderThemeChromiumSkia::extraQuirksStyleSheet):
23842        (WebCore::RenderThemeChromiumSkia::extraMediaControlsStyleSheet):
23843        (WebCore::RenderThemeChromiumSkia::supportsHover):
23844        (WebCore::RenderThemeChromiumSkia::supportsFocusRing):
23845        (WebCore::RenderThemeChromiumSkia::platformActiveSelectionBackgroundColor):
23846        (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionBackgroundColor):
23847        (WebCore::RenderThemeChromiumSkia::platformActiveSelectionForegroundColor):
23848        (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionForegroundColor):
23849        (WebCore::RenderThemeChromiumSkia::platformTextSearchHighlightColor):
23850        (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
23851        (WebCore::RenderThemeChromiumSkia::systemFont):
23852        (WebCore::RenderThemeChromiumSkia::minimumMenuListSize):
23853        (WebCore::RenderThemeChromiumSkia::paintCheckbox):
23854        (WebCore::RenderThemeChromiumSkia::setCheckboxSize):
23855        (WebCore::RenderThemeChromiumSkia::paintRadio):
23856        (WebCore::RenderThemeChromiumSkia::setRadioSize):
23857        (WebCore::brightenColor):
23858        (WebCore::paintButtonLike):
23859        (WebCore::RenderThemeChromiumSkia::paintButton):
23860        (WebCore::RenderThemeChromiumSkia::paintTextField):
23861        (WebCore::RenderThemeChromiumSkia::paintTextArea):
23862        (WebCore::RenderThemeChromiumSkia::paintSearchField):
23863        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldCancelButtonStyle):
23864        (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
23865        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldDecorationStyle):
23866        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsDecorationStyle):
23867        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
23868        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsButtonStyle):
23869        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
23870        (WebCore::RenderThemeChromiumSkia::paintMediaButtonInternal):
23871        (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
23872        (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
23873        (WebCore::RenderThemeChromiumSkia::adjustMenuListStyle):
23874        (WebCore::RenderThemeChromiumSkia::paintMenuList):
23875        (WebCore::RenderThemeChromiumSkia::adjustMenuListButtonStyle):
23876        (WebCore::RenderThemeChromiumSkia::paintMenuListButton):
23877        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingLeft):
23878        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingRight):
23879        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingTop):
23880        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingBottom):
23881        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingLeft):
23882        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingRight):
23883        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingTop):
23884        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingBottom):
23885        (WebCore::RenderThemeChromiumSkia::caretBlinkIntervalInternal):
23886        (WebCore::RenderThemeChromiumSkia::menuListInternalPadding):
23887        * rendering/RenderThemeChromiumSkia.h:
23888        (WebCore::RenderThemeChromiumSkia::supportsControlTints):
23889
238902009-06-17  Albert J. Wong  <ajwong@chromium.org>
23891
23892        Reviewed by Eric Seidel.
23893
23894        https://bugs.webkit.org/show_bug.cgi?id=26148
23895        Extract RenderThemeChromiumSkia out of RenderThemeChromiumLinux.  This
23896        is mostly a code shuffle.  The non-suffle changes are:
23897           1) Creation of a caretBlinkIntervalInternal.
23898           2) Moving of some inline functions into the implementation files.
23899           3) Changing of defaultGUIFont into a static class constant from a
23900              static function.  Also the type is changed to String.
23901           4) Changing of defaultFontSize into a static class constant from a
23902              static variable in the file scope.
23903           5) The static supportsFocus function was collapsed into
23904              supportsFocusRing.
23905           6) Split the extraDefaultStyleSheet into Skia and Linux versions.
23906
23907        * rendering/RenderThemeChromiumLinux.cpp:
23908        (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
23909        (WebCore::RenderThemeChromiumSkia::RenderThemeChromiumSkia):
23910        (WebCore::RenderThemeChromiumSkia::~RenderThemeChromiumSkia):
23911        (WebCore::RenderThemeChromiumSkia::extraDefaultStyleSheet):
23912        (WebCore::RenderThemeChromiumSkia::extraQuirksStyleSheet):
23913        (WebCore::RenderThemeChromiumSkia::extraMediaControlsStyleSheet):
23914        (WebCore::RenderThemeChromiumSkia::supportsHover):
23915        (WebCore::RenderThemeChromiumSkia::supportsFocusRing):
23916        (WebCore::RenderThemeChromiumSkia::platformActiveSelectionBackgroundColor):
23917        (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionBackgroundColor):
23918        (WebCore::RenderThemeChromiumSkia::platformActiveSelectionForegroundColor):
23919        (WebCore::RenderThemeChromiumSkia::platformInactiveSelectionForegroundColor):
23920        (WebCore::RenderThemeChromiumSkia::platformTextSearchHighlightColor):
23921        (WebCore::RenderThemeChromiumSkia::caretBlinkInterval):
23922        (WebCore::RenderThemeChromiumSkia::systemFont):
23923        (WebCore::RenderThemeChromiumSkia::minimumMenuListSize):
23924        (WebCore::RenderThemeChromiumSkia::paintCheckbox):
23925        (WebCore::RenderThemeChromiumSkia::setCheckboxSize):
23926        (WebCore::RenderThemeChromiumSkia::paintRadio):
23927        (WebCore::RenderThemeChromiumSkia::setRadioSize):
23928        (WebCore::RenderThemeChromiumSkia::paintButton):
23929        (WebCore::RenderThemeChromiumSkia::paintTextField):
23930        (WebCore::RenderThemeChromiumSkia::paintTextArea):
23931        (WebCore::RenderThemeChromiumSkia::paintSearchField):
23932        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldCancelButtonStyle):
23933        (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
23934        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldDecorationStyle):
23935        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsDecorationStyle):
23936        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
23937        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsButtonStyle):
23938        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
23939        (WebCore::RenderThemeChromiumSkia::paintMediaButtonInternal):
23940        (WebCore::RenderThemeChromiumSkia::paintMediaPlayButton):
23941        (WebCore::RenderThemeChromiumSkia::paintMediaMuteButton):
23942        (WebCore::RenderThemeChromiumSkia::adjustMenuListStyle):
23943        (WebCore::RenderThemeChromiumSkia::paintMenuList):
23944        (WebCore::RenderThemeChromiumSkia::adjustMenuListButtonStyle):
23945        (WebCore::RenderThemeChromiumSkia::paintMenuListButton):
23946        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingLeft):
23947        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingRight):
23948        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingTop):
23949        (WebCore::RenderThemeChromiumSkia::popupInternalPaddingBottom):
23950        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingLeft):
23951        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingRight):
23952        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingTop):
23953        (WebCore::RenderThemeChromiumSkia::buttonInternalPaddingBottom):
23954        (WebCore::RenderThemeChromiumSkia::caretBlinkIntervalInternal):
23955        (WebCore::RenderThemeChromiumLinux::RenderThemeChromiumLinux):
23956        (WebCore::RenderThemeChromiumLinux::~RenderThemeChromiumLinux):
23957        (WebCore::RenderThemeChromiumLinux::systemColor):
23958        (WebCore::RenderThemeChromiumLinux::extraDefaultStyleSheet):
23959        (WebCore::RenderThemeChromiumSkia::menuListInternalPadding):
23960        * rendering/RenderThemeChromiumLinux.h:
23961
239622009-06-17  Adam Roben  <aroben@apple.com>
23963
23964        Add a SOFT_LINK_OPTIONAL macro
23965
23966        This macro is useful when soft-linking functions that are present in
23967        only some versions of a particular library (e.g., APIs added in
23968        Windows Vista that aren't available on Windows XP).
23969
23970        Reviewed by Ada Chan.
23971
23972        * platform/graphics/win/ColorSafari.cpp:
23973        (WebCore::focusRingColor):
23974        Use the SoftLinking.h macros instead of doing the soft-link ourselves.
23975        Also removed an unused call to focusRingColor.isValid().
23976
23977        * platform/win/SoftLinking.h: Added SOFT_LINK_OPTIONAL.
23978
239792009-06-17  Brent Fulgham  <bfulgham@webkit.org>
23980
23981        Reviewed by Gustavo Noronha.
23982
23983        Fixes: https://bugs.webkit.org/show_bug.cgi?id=26470.
23984        The use of zero-width or zero-height rectangles in generating
23985        gradients caused Windows Cairo to crash, and webkitgtk to
23986        produce invalid images.
23987
23988        We now test for NaN in the phase argument, which is calculated
23989        using fmodf and can blow up when the width/height values passed
23990        are zero.
23991
23992        Test: fast/gradients/border-image-gradient-sides-and-corners.html
23993
23994        * platform/graphics/cairo/ImageCairo.cpp:
23995        (WebCore::Image::drawPattern):
23996
239972009-06-17  Ojan Vafai  <ojan@chromium.org>
23998
23999        Reviewed by Dimitri Glazkov.
24000
24001        If loading a font fails because of the sandbox, we ask the browser process to
24002        try to load it by calling ensureFontLoaded. If it still fails after
24003        ensureFontLoaded, we hit a ASSERT_NOT_REACHED.
24004
24005        This case happens once in a while during browser shutdown. The browser will
24006        queue a message to the renderer to shutdown, and will then stop answering sync
24007        messages from the renderer. If the renderer is still loading a page during this
24008        time, it might try to call the browser process to ask to load a font. The
24009        browser process will ignore the request, and the font will fail to load, even
24010        after the second try.
24011
24012        This is unfortunate, but there is no real risk here, since the renderer will be
24013        going away as soon as it processes another message.
24014
24015        This can't be layout tested as it depends on the sandbox.
24016
24017        https://bugs.webkit.org/show_bug.cgi?id=26484
24018
24019        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
24020        (WebCore::fontContainsCharacter):
24021
240222009-06-17  Eric Carlson  <eric.carlson@apple.com>
24023
24024        Reviewed by Dan Bernstein.
24025
24026        https://bugs.webkit.org/show_bug.cgi?id=26482
24027        <rdar://problem/6978590> When setting playback rate to 0, the audio element stops
24028        playing (doesn't resume later)
24029
24030        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
24031        (WebCore::MediaPlayerPrivate::setRate): Always set the rate, even when "paused".
24032
24033        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
24034        (WebCore::MediaPlayerPrivate::setRate): Ditto.
24035
240362009-06-17  Adam Roben  <aroben@apple.com>
24037
24038        Add all the generated JS*.cpp files back to WebCore.vcproj
24039
24040        They are not compiled by the vcproj directly. Instead they are
24041        compiled as part of DerivedSources.cpp. Having them listed in the
24042        vcproj makes them be included in Project Find, etc.
24043
24044        Rubber-stamped in advance by Steve Falkenburg.
24045
24046        * WebCore.vcproj/WebCore.vcproj:
24047
240482009-06-17  Kent Tamura  <tkent@chromium.org>
24049
24050        Reviewed by Darin Fisher.
24051
24052        Don't fire redundant 'change' events for a file upload form.
24053        https://bugs.webkit.org/show_bug.cgi?id=26471
24054
24055        * platform/FileChooser.cpp:
24056        (WebCore::FileChooser::chooseFiles): Suppress change event if the
24057        existing selected files and the incoming selected files are equal.
24058        (WebCore::FileChooser::chooseIcon): Returns 0 if there is no selected
24059        files.
24060
240612009-06-17  Adam Treat  <adam.treat@torchmobile.com>
24062
24063        Reviewed by George Staikos.
24064
24065        https://bugs.webkit.org/show_bug.cgi?id=23155
24066        Move WIN_CE -> WINCE as previously discussed with Qt WINCE folks.
24067
24068        * platform/KeyboardCodes.h:
24069
240702009-06-17  George Staikos  <george.staikos@torchmobile.com>
24071
24072        Reviewed by Adam Treat.
24073
24074        https://bugs.webkit.org/show_bug.cgi?id=23155
24075        Move WIN_CE -> WINCE as previously discussed with Qt WINCE folks.
24076
24077        * platform/graphics/qt/GraphicsContextQt.cpp:
24078        (WebCore::GraphicsContext::getWindowsContext):
24079        * platform/win/SystemTimeWin.cpp:
24080        (WebCore::userIdleTime):
24081
240822009-06-17  Adam Roben  <aroben@apple.com>
24083
24084        Speculative Mac build fix
24085
24086        * page/Page.h: Forward-declare RenderTheme instead of including
24087        RenderTheme.h so that we don't need to make RenderTheme.h a private
24088        header for WebKit's benefit.
24089
24090        * editing/SelectionController.cpp:
24091        * rendering/InlineTextBox.cpp:
24092        * rendering/RenderObject.cpp:
24093        Added #includes of RenderTheme.h.
24094
240952009-06-17  Adam Roben  <aroben@apple.com>
24096
24097        Speculative Mac build fix
24098
24099        * rendering/RenderThemeMac.mm:
24100        (WebCore::RenderTheme::create): Added.
24101
241022009-06-17  Adam Roben  <aroben@apple.com>
24103
24104        Speculative Mac build fix
24105
24106        * rendering/RenderThemeMac.mm:
24107        (WebCore::RenderTheme::themeForPage): Remove the name of an unused
24108        parameter.
24109
241102009-06-17  Adam Roben  <aroben@apple.com>
24111
24112        Speculative Mac build fix
24113
24114        * page/Page.cpp:
24115        (WebCore::Page::Page): Change the initializer order to match the
24116        declaration order.
24117
241182009-06-16  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
24119
24120        Reviewed by Simon Hausmann.
24121
24122        Follow up to bug https://bugs.webkit.org/show_bug.cgi?id=26278
24123        Patch that make WebCore have a RenderTheme per page
24124
24125        Make the Qt implementation of RenderTheme create a theme per page,
24126        and use the QStyle associated with the view of each page, in order
24127        to make the QWidget setStyle() method work as advertised.
24128
24129        * platform/qt/RenderThemeQt.cpp:
24130        (WebCore::RenderThemeQt::RenderThemeQt):
24131        (WebCore::RenderThemeQt::qStyle):
24132        (WebCore::findFrameLineWidth):
24133        (WebCore::inflateButtonRect):
24134        (WebCore::RenderThemeQt::adjustRepaintRect):
24135        (WebCore::RenderThemeQt::isControlStyled):
24136        (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
24137        (WebCore::RenderThemeQt::setButtonPadding):
24138        (WebCore::RenderThemeQt::paintButton):
24139        (WebCore::RenderThemeQt::paintTextField):
24140        (WebCore::RenderThemeQt::setPopupPadding):
24141        * platform/qt/RenderThemeQt.h:
24142
241432009-06-16  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
24144
24145        Reviewed by Dave Hyatt and Adam Roben.
24146
24147        https://bugs.webkit.org/show_bug.cgi?id=26278
24148        Patch that make WebCore have a RenderTheme per page
24149
24150
24151        Create a different RenderTheme per page, so that RenderTheme has
24152        access to page specific theming. This is needed for the Qt port, as Qt
24153        supports setting the theme (style) per widget.
24154
24155        This change was suggested and discussed with Dave Hyatt.
24156
24157        More detailed:
24158
24159        1) Create a theme per page or one global one, depending on the needs
24160           of the platform.
24161        2) Add an accesser to the theme from RenderObject.
24162        3) Change all uses of the theming to access the theme through
24163           RenderObject, using the global default theme as fallback, when the
24164           document of RenderObject has no page.
24165           When we don't have access to a RenderObject, use the default theme.
24166        4) Modify all RenderTheme platform implementations to work with the
24167           above changes, still creating only one global theme.
24168
24169
24170        * accessibility/AccessibilityRenderObject.cpp:
24171        (WebCore::AccessibilityRenderObject::boundingBoxRect):
24172        * css/CSSStyleSelector.cpp:
24173        (WebCore::loadFullDefaultStyle):
24174        (WebCore::CSSStyleSelector::styleForElement):
24175        (WebCore::CSSStyleSelector::adjustRenderStyle):
24176        (WebCore::CSSStyleSelector::applyProperty):
24177        * dom/ContainerNode.cpp:
24178        (WebCore::ContainerNode::setActive):
24179        (WebCore::ContainerNode::setHovered):
24180        * editing/SelectionController.cpp:
24181        (WebCore::SelectionController::focusedOrActiveStateChanged):
24182        * html/HTMLFormControlElement.cpp:
24183        (WebCore::HTMLFormControlElement::parseMappedAttribute):
24184        * html/HTMLInputElement.cpp:
24185        (WebCore::HTMLInputElement::setChecked):
24186        (WebCore::HTMLInputElement::setIndeterminate):
24187        * page/Frame.cpp:
24188        (WebCore::Frame::selectionLayoutChanged):
24189        * page/FrameView.cpp:
24190        (WebCore::FrameView::updateControlTints):
24191        * page/Page.cpp:
24192        (WebCore::Page::Page):
24193        * page/Page.h:
24194        (WebCore::Page::theme):
24195        * platform/chromium/PopupMenuChromium.cpp:
24196        (WebCore::PopupListBox::paintRow):
24197        * platform/gtk/RenderThemeGtk.cpp:
24198        (WebCore::RenderThemeGtk::create):
24199        (WebCore::RenderTheme::themeForPage):
24200        (WebCore::RenderThemeGtk::RenderThemeGtk):
24201        (WebCore::RenderThemeGtk::~RenderThemeGtk):
24202        (WebCore::RenderThemeGtk::gtkEntry):
24203        (WebCore::RenderThemeGtk::gtkTreeView):
24204        * platform/gtk/RenderThemeGtk.h:
24205        * platform/qt/RenderThemeQt.cpp:
24206        (WebCore::RenderThemeQt::create):
24207        (WebCore::RenderTheme::themeForPage):
24208        * platform/qt/RenderThemeQt.h:
24209        * platform/win/PopupMenuWin.cpp:
24210        (WebCore::PopupMenu::paint):
24211        * rendering/RenderMediaControls.cpp:
24212        (WebCore::determineState):
24213        * platform/wx/RenderThemeWx.cpp:
24214        (WebCore::RenderThemeWx::create):
24215        (WebCore::RenderTheme::themeForPage):
24216        * rendering/InlineTextBox.cpp:
24217        (WebCore::InlineTextBox::paintTextMatchMarker):
24218        * rendering/MediaControlElements.cpp:
24219        (WebCore::MediaControlInputElement::hitTest):
24220        * rendering/RenderObject.cpp:
24221        (WebCore::RenderObject::theme):
24222        * rendering/RenderObject.h:
24223        * rendering/RenderTheme.cpp:
24224        (WebCore::RenderTheme::adjustStyle):
24225        * rendering/RenderTheme.h:
24226        (WebCore::RenderTheme::defaultTheme):
24227        * rendering/RenderThemeChromiumLinux.cpp:
24228        (WebCore::RenderThemeChromiumLinux::create):
24229        (WebCore::RenderTheme::themeForPage):
24230        * rendering/RenderThemeChromiumLinux.h:
24231        (WebCore::RenderThemeChromiumLinux::~RenderThemeChromiumLinux):
24232        * rendering/RenderThemeChromiumMac.h:
24233        * rendering/RenderThemeChromiumMac.mm:
24234        (WebCore::RenderThemeChromiumMac::create):
24235        (WebCore::RenderTheme::themeForPage):
24236        * rendering/RenderThemeChromiumWin.cpp:
24237        (WebCore::RenderThemeChromiumWin::create):
24238        (WebCore::RenderTheme::themeForPage):
24239        * rendering/RenderThemeChromiumWin.h:
24240        (WebCore::RenderThemeChromiumWin::RenderThemeChromiumWin):
24241        (WebCore::RenderThemeChromiumWin::~RenderThemeChromiumWin):
24242        * rendering/RenderThemeMac.h:
24243        * rendering/RenderThemeMac.mm:
24244        (WebCore::RenderTheme::themeForPage):
24245        * rendering/RenderThemeSafari.cpp:
24246        (WebCore::RenderThemeSafari::create):
24247        (WebCore::RenderTheme::themeForPage):
24248        * rendering/RenderThemeSafari.h:
24249        * rendering/RenderThemeWin.cpp:
24250        (WebCore::RenderThemeWin::create):
24251        (WebCore::RenderTheme::themeForPage):
24252        * rendering/RenderThemeWin.h:
24253
242542009-06-17  Gavin Barraclough  <barraclough@apple.com>
24255
24256        Reviewed by Oliver Hunt.
24257
24258        <rdar://problem/6974175> ASSERT in JITStubs.cpp at appsaccess.apple.com
24259
24260        JSDOMWindowCustom was using PropertySlot::putValue, however this interface
24261        appears to be fundaementally incorrect - PropertySlots are only used to get
24262        values, all puts use PutPropertySlot.  However PutPropertySlot cannot be
24263        used in the fashion desired here - it only reports the caching type of a
24264        write that has been performed.
24265
24266        (This caused a bug where the put should have triggered a transition, and
24267        failed to do so.)
24268
24269        Removing the faulty case from the optimization leads to a ~0.5% progression
24270        on in-browser SunSpider (presumably the very first case was not being hit
24271        often, and the simplification here is beneficial).
24272
24273        * bindings/js/JSDOMWindowCustom.cpp:
24274        (WebCore::JSDOMWindow::put):
24275
242762009-06-17  David Levin  <levin@chromium.org>
24277
24278        Reviewed by NOBODY, layout tests fix.
24279
24280        https://bugs.webkit.org/show_bug.cgi?id=26326
24281        This reverts commit r44751.
24282
24283        Once that change was checked scrollbars/scrollbar-orientation.html started
24284        crashing on Windows.
24285
24286        * dom/Document.cpp:
24287        (WebCore::Document::detach):
24288        * page/FrameView.cpp:
24289        * page/FrameView.h:
24290        * platform/Scrollbar.h:
24291        * rendering/RenderObject.cpp:
24292        (WebCore::RenderObject::destroy):
24293        * rendering/RenderScrollbar.h:
24294
242952009-06-16  Kevin Watters  <kevinwatters@gmail.com>
24296
24297        Reviewed by Kevin Ollivier.
24298
24299        In ImageSource::setData, delete the old m_encoder before replacing it with a new one.
24300
24301        https://bugs.webkit.org/show_bug.cgi?id=26458
24302
24303        * platform/graphics/wx/ImageSourceWx.cpp:
24304        (WebCore::ImageSource::setData):
24305
243062009-06-16  David Levin  <levin@chromium.org>
24307
24308        Reviewed by David Hyatt.
24309
24310        REGRESSION: When the main page (ScrollView) has a custom scrollbar, it crashes on destruction.
24311        https://bugs.webkit.org/show_bug.cgi?id=26326
24312
24313        Test: scrollbars/scrollbar-crash-on-refresh.html
24314
24315        * dom/Document.cpp:
24316        (WebCore::Document::detach):
24317        Gives the FrameView a change to do any necessary cleanup on
24318        Document::detach() which is where the renderArena gets detroyed.
24319        * page/FrameView.cpp:
24320        (WebCore::FrameView::detachCustomScrollbars):
24321        Gets rid of any custom scrollbars (if the docment supplied them).
24322        * page/FrameView.h:
24323        * platform/Scrollbar.h:
24324        (WebCore::Scrollbar::isCustomScrollbar):
24325        * rendering/RenderObject.cpp:
24326        (WebCore::RenderObject::destroy):
24327        Removed the check for document()->frame().  If frame() is 0 in this code,
24328        then the call to animation() is also incorrect (since it does document()->frame()->animation()).
24329        * rendering/RenderScrollbar.h:
24330        (WebCore::RenderScrollbar::isCustomScrollbar):
24331
243322009-06-16  Brian Weinstein  <bweinstein@apple.com>
24333
24334        Reviewed by Adele Peterson.
24335
24336        Fix of <rdar://6967547> Ctrl-C copies null value erasing text in clipboard in Safari.
24337        This patch kept the way events were firing as they were before, and Windows events are
24338        consistent with Mac.
24339
24340        * editing/Editor.cpp:
24341        (WebCore::Editor::tryDHTMLCopy): Added check for canCopy() before clearing PasteBoard
24342        (WebCore::Editor::tryDHTMLCut): Added check for canCut() before clearing PasteBoard
24343
243442009-06-16  Antti Koivisto  <antti@apple.com>
24345
24346        Reviewed by Brady Eidson.
24347
24348        <rdar://problem/6660037> CrashTracer: [USER] 46 crashes in Safari at com.apple.WebCore • WebCore::CachedCSSStyleSheet::addClient + 53
24349
24350        When revalidating a resource, calling addClient() on one client might cause another to get removed.
24351
24352        - made CachedResource::addClient() non-virtual and added virtual didAddClient()
24353        - in CachedResource::switchClientsToRevalidatedResource() add all clients to the client set of the revalidated resource first
24354        - check if the client is still in the set before invoking didAddClient() for it
24355
24356        No test case, I didn't manage to construct one. You need some combination of 304 revalidation, stylesheets that
24357        reference each other via @imports and reloading.
24358
24359        * WebCore.base.exp:
24360        * loader/CachedCSSStyleSheet.cpp:
24361        (WebCore::CachedCSSStyleSheet::didAddClient):
24362        * loader/CachedCSSStyleSheet.h:
24363        * loader/CachedFont.cpp:
24364        (WebCore::CachedFont::didAddClient):
24365        * loader/CachedFont.h:
24366        * loader/CachedImage.cpp:
24367        (WebCore::CachedImage::didAddClient):
24368        * loader/CachedImage.h:
24369        * loader/CachedResource.cpp:
24370        (WebCore::CachedResource::addClient):
24371        (WebCore::CachedResource::addClientToSet):
24372        (WebCore::CachedResource::switchClientsToRevalidatedResource):
24373        * loader/CachedResource.h:
24374        * loader/CachedScript.cpp:
24375        (WebCore::CachedScript::didAddClient):
24376        * loader/CachedScript.h:
24377        * loader/CachedXSLStyleSheet.cpp:
24378        (WebCore::CachedXSLStyleSheet::didAddClient):
24379        * loader/CachedXSLStyleSheet.h:
24380
243812009-06-16  Simon Fraser  <simon.fraser@apple.com>
24382
24383        No Review
24384
24385        Fix code inside an #ifdef that draws the video framerate.
24386
24387        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
24388        (WebCore::MediaPlayerPrivate::paint):
24389
243902009-06-16  Jian Li  <jianli@chromium.org>
24391
24392        Reviewed by Dimitri Glazkov.
24393
24394        Bug 26456: Hook up V8 bindings for Worker's importScripts functionality.
24395        https://bugs.webkit.org/show_bug.cgi?id=26456
24396
24397        * bindings/v8/custom/V8WorkerContextCustom.cpp:
24398        (WebCore::CALLBACK_FUNC_DECL):
24399        * bindings/v8/custom/V8WorkerCustom.cpp: Fixed missing exception code
24400          handling in Worker constructor for V8 bindings.
24401        (WebCore::CALLBACK_FUNC_DECL):
24402
244032009-06-16  Brent Fulgham  <bfulgham@webkit.org>
24404
24405        Reviewed by Maciej Stachowiak.
24406
24407        Update of https://bugs.webkit.org/show_bug.cgi?id=26353.
24408        Provide an assignment operator to avoid improper reference
24409        counts on the Cairo font objects.  This brings the Windows
24410        Cairo port in line with the GTK+ port.
24411
24412        * platform/graphics/win/FontPlatformData.h:
24413        * platform/graphics/win/FontPlatformDataCairoWin.cpp:
24414        (WebCore::FontPlatformData::FontPlatformData):
24415        (WebCore::FontPlatformData::operator=):
24416
244172009-06-16  Eric Carlson  <eric.carlson@apple.com>
24418
24419        Reviewed by Simon Fraser.
24420
24421        Fix for <rdar://problem/6890126> Theme code should fetch the MediaControlElementType from
24422        the MediaControlInputElement, rather than computing it again
24423
24424        * html/HTMLMediaElement.cpp:
24425        (WebCore::HTMLMediaElement::percentLoaded): New, utility function for controller implementation.
24426        * html/HTMLMediaElement.h:
24427
24428        * rendering/MediaControlElements.h:
24429        (WebCore::MediaControlInputElement::displayType): New, return m_displayType.
24430
24431        * rendering/RenderMediaControls.cpp:
24432        (WebCore::RenderMediaControls::paintMediaControlsPart): Stop using MediaPlayer object, get button
24433        state from the button itself and get movie state from HTMLMediaElement.
24434
24435        * rendering/RenderThemeMac.mm:
24436        (WebCore::RenderThemeMac::paintMediaMuteButton): Get state from button instead of MediaPlayer.
24437        (WebCore::RenderThemeMac::paintMediaPlayButton): Ditto.
24438
244392009-06-16  Jian Li  <jianli@chromium.org>
24440
24441        Reviewed by David Levin.
24442
24443        Bug 26450: Rename values of enum RedirectOriginCheck to make them
24444        clearer.
24445        https://bugs.webkit.org/show_bug.cgi?id=26450
24446
24447        * loader/DocumentThreadableLoader.cpp:
24448        (WebCore::DocumentThreadableLoader::create):
24449        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
24450        (WebCore::DocumentThreadableLoader::willSendRequest):
24451        * loader/DocumentThreadableLoader.h:
24452        * loader/ThreadableLoader.cpp:
24453        (WebCore::ThreadableLoader::create):
24454        (WebCore::ThreadableLoader::loadResourceSynchronously):
24455        * loader/ThreadableLoader.h:
24456        * workers/Worker.cpp:
24457        (WebCore::Worker::Worker):
24458        * workers/WorkerContext.cpp:
24459        (WebCore::WorkerContext::importScripts):
24460        * loader/WorkerThreadableLoader.cpp:
24461        (WebCore::WorkerThreadableLoader::WorkerThreadableLoader):
24462        (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
24463        (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
24464        (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader):
24465        * loader/WorkerThreadableLoader.h:
24466        (WebCore::WorkerThreadableLoader::create):
24467        * workers/WorkerScriptLoader.cpp:
24468        (WebCore::WorkerScriptLoader::loadSynchronously):
24469        (WebCore::WorkerScriptLoader::loadAsynchronously):
24470        * workers/WorkerScriptLoader.h:
24471        (WebCore::WorkerContext::importScripts):
24472        * xml/XMLHttpRequest.cpp:
24473        (WebCore::XMLHttpRequest::loadRequestAsynchronously):
24474
244752009-06-16  Tony Chang  <tony@chromium.org>
24476
24477        Reviewed by Darin Fisher.
24478
24479        Fix a UMR in WebCore::BitStack by initializing new memory to 0.
24480        https://bugs.webkit.org/show_bug.cgi?id=26449
24481        No new tests, covered by purify.
24482
24483        * editing/TextIterator.cpp:
24484        (WebCore::BitStack::push):
24485
244862009-06-16  Brent Fulgham  <bfulgham@webkit.org>
24487
24488        Reviewed by Xan Lopez.
24489
24490        Test: fast/multicol/columns-shorthand-parsing.html
24491
24492        Fixes https://bugs.webkit.org/show_bug.cgi?id=26453.
24493        Null Cairo contextwill crash Windows Cairo build.
24494
24495        * platform/graphics/win/GraphicsContextCairoWin.cpp:
24496        (WebCore::GraphicsContextPlatformPrivate::syncContext):
24497          Add a check for null context before attempting to
24498          retrieve the Cairo surface.
24499
245002009-06-16  Peter Kasting  <pkasting@google.com>
24501
24502        Reviewed by Xan Lopez.
24503
24504        https://bugs.webkit.org/show_bug.cgi?id=26447
24505        Fix animated GIF breakage in Cairo/wx ports.
24506
24507        * platform/image-decoders/cairo/ImageDecoderCairo.cpp:
24508        (WebCore::RGBA32Buffer::copyBitmapData):
24509        (WebCore::RGBA32Buffer::operator=):
24510        * platform/image-decoders/wx/ImageDecoderWx.cpp:
24511        (WebCore::RGBA32Buffer::copyBitmapData):
24512        (WebCore::RGBA32Buffer::operator=):
24513
245142009-06-16  Pierre d'Herbemont  <pdherbemont@apple.com>
24515
24516        Reviewed by John Sullivan
24517
24518        <rdar://problem/6937882>
24519
24520        Tweak "time remaining" and "time elapsed" fields in the overlay video controller.
24521
24522        * css/mediaControlsQT.css:
24523
245242009-06-16  Jian Li  <jianli@chromium.org>
24525
24526        Reviewed by Adam Barth and David Levin.
24527
24528        Bug 26146: Change to use ThreadableLoader to load the worker script
24529        in order to check URL origin for redirection.
24530        https://bugs.webkit.org/show_bug.cgi?id=26146
24531
24532        Test: http/tests/workers/worker-redirect.html
24533
24534        * GNUmakefile.am:
24535        * WebCore.pro:
24536        * WebCore.vcproj/WebCore.vcproj:
24537        * WebCore.xcodeproj/project.pbxproj:
24538        * workers/Worker.cpp:
24539        (WebCore::Worker::Worker):
24540        (WebCore::Worker::notifyFinished):
24541        * workers/Worker.h:
24542        * workers/WorkerContext.cpp:
24543        (WebCore::WorkerContext::importScripts):
24544        * workers/WorkerImportScriptsClient.cpp: Removed.
24545        * workers/WorkerImportScriptsClient.h: Removed.
24546        * workers/WorkerScriptLoader.cpp: Renamed from workers/WorkerImportScriptsClient.cpp.
24547          This to make it more generic so worker script loading could use it.
24548        (WebCore::WorkerScriptLoader::loadSynchronously):
24549        (WebCore::WorkerScriptLoader::loadAsynchronously):
24550        (WebCore::WorkerScriptLoader::didFinishLoading):
24551        (WebCore::WorkerScriptLoader::didFail):
24552        (WebCore::WorkerScriptLoader::didFailRedirectCheck):
24553        (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation):
24554        (WebCore::WorkerScriptLoader::notifyFinished):
24555        * workers/WorkerScriptLoader.h: Renamed from workers/WorkerImportScriptsClient.h.
24556          This to make it more generic so worker script loading could use it.
24557        * workers/WorkerScriptLoaderClient.h: Added.
24558
245592009-06-16  Brent Fulgham  <bfulgham@gmail.com>
24560
24561        Reviewed by Darin Adler.
24562
24563        Use consistent GUID comparison functions.
24564        https://bugs.webkit.org/show_bug.cgi?id=26427
24565
24566        * platform/win/WCDataObject.cpp:
24567        (WebCore::WCDataObject::QueryInterface):
24568
245692009-06-16  Xan Lopez  <xlopez@igalia.com>
24570
24571        Reviewed by Gustavo Noronha.
24572
24573        Fix compiler warning.
24574
24575        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
24576        (webkit_accessible_class_init):
24577
245782009-08-07  Luke Kenneth Casson Leighton  <lkcl@lkcl.net>
24579
24580        Reviewed by Eric Seidel.
24581
24582        https://bugs.webkit.org/show_bug.cgi?id=27424
24583
24584        * WebKit/gtk/gdom/ConvertToGCharPrivate.h: Added.
24585        (copyAsGChar): added to help GObject bindings convert various types to glib's gchar*
24586
245872009-06-16  Xan Lopez  <xlopez@igalia.com>
24588
24589        Reviewed by Gustavo Noronha.
24590
24591        Remove dummy AtkStreamableContent implementation.
24592
24593        It's completely empty, we'll add it back (and conditionally
24594        instead of unconditionally) when it does something.
24595
24596        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
24597        (GetAtkInterfaceTypeFromWAIType):
24598        (getInterfaceMaskFromObject):
24599
24600== Rolled over to ChangeLog-2009-06-16 ==
24601