1. 18 Apr, 2013 9 commits
    • andersca@apple.com's avatar
      Change storage factory functions to take a PageGroup and Page respectively · e44d33f5
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=114776
      
      Reviewed by Beth Dakin.
      
      Source/WebCore:
      
      Change StorageNamespace::localStorageNamespace to take a PageGroup since WebKit2 needs
      to know which local storage namespace belongs to which page group. Also remove the quota parameter from
      the sessionStorageNamespace function since that's trivial to get from the Page.
      
      * WebCore.exp.in:
      * page/Page.cpp:
      (WebCore::Page::sessionStorage):
      * page/PageGroup.cpp:
      (WebCore::PageGroup::localStorage):
      * storage/StorageNamespace.cpp:
      (WebCore::StorageNamespace::localStorageNamespace):
      (WebCore::StorageNamespace::sessionStorageNamespace):
      * storage/StorageNamespace.h:
      * storage/StorageNamespaceImpl.cpp:
      (WebCore::StorageNamespaceImpl::localStorageNamespace):
      (WebCore::StorageNamespaceImpl::sessionStorageNamespace):
      * storage/StorageNamespaceImpl.h:
      * storage/StorageStrategy.cpp:
      (WebCore::StorageStrategy::localStorageNamespace):
      (WebCore::StorageStrategy::sessionStorageNamespace):
      * storage/StorageStrategy.h:
      
      Source/WebKit2:
      
      Update for WebCore changes.
      
      * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
      (WebKit::WebPlatformStrategies::localStorageNamespace):
      (WebKit::WebPlatformStrategies::sessionStorageNamespace):
      * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
      (WebPlatformStrategies):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148683 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e44d33f5
    • timothy@apple.com's avatar
      Remove an ASSERT that is causing flakeyness in Debug builds. · 248f4b3a
      timothy@apple.com authored
      https://webkit.org/b/113020
      
      Reviewed by Jessie Berlin.
      
      * UIProcess/WebInspectorProxy.cpp:
      (WebKit::WebInspectorProxy::open): Removed ASSERT(m_createdInspectorPage).
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148682 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      248f4b3a
    • carlosgc@webkit.org's avatar
      [GTK] Add WebKitWebPage::send-request signal to WebKit2 GTK+ API · 0dba8d2b
      carlosgc@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=83681
      
      Reviewed by Anders Carlsson.
      
      Add WebKitWebPage::send-request signal emitted in willSendRequest
      callback to allow web process extensions to modify requests before
      they are sent or cancel the resource load.
      This patch makes WebKitURIRequest and WebKitURIResponse objects
      shareable between UI process and web extensions APIs. Since both
      APIs force single header includes, the WebKitDefines.h header has
      been split moving the forward declarations specific to the UI
      process API to a new file WebKitForwardDeclarations.h. This way we
      can also  share the WebKitDefines.h header and remove the
      WebKitWebExtensionDefines.h header used in the web extensions API.
      
      * GNUmakefile.list.am: Add new files to compilation.
      * UIProcess/API/gtk/WebKitContextMenu.h: Include WebKitForward.h.
      * UIProcess/API/gtk/WebKitContextMenuItem.h: Ditto.
      * UIProcess/API/gtk/WebKitDefines.h: Remove forward declarations.
      * UIProcess/API/gtk/WebKitDownload.h: Include WebKitForward.h.
      * UIProcess/API/gtk/WebKitFindController.h: Ditto.
      * UIProcess/API/gtk/WebKitForwardDeclarations.h: Added. Contains
      the forward declarations moved from WebKitDefines.h.
      * UIProcess/API/gtk/WebKitPrintOperation.h: Include WebKitForward.h.
      * UIProcess/API/gtk/WebKitURIRequest.cpp:
      (webkitURIRequestSetProperty): Use webkit_uri_request_set_uri() to
      set the new URI.
      (webkit_uri_request_class_init): Make URI property construct
      instead of construct-only, since it can be updated once
      constructed. It should never be NULL, so set default value to
      about:blank instad of NULL.
      (webkit_uri_request_set_uri): New public method to set the URI of
      the WebKitURIRequest.
      * UIProcess/API/gtk/WebKitURIRequest.h: Allow to include this file
      from webkit-web-extension.h.
      * UIProcess/API/gtk/WebKitURIResponse.h: Ditto.
      * UIProcess/API/gtk/WebKitURISchemeRequest.h: Include
      WebKitForward.h.
      * UIProcess/API/gtk/WebKitWebView.h: Ditto.
      * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add
      webkit_uri_request_set_uri.
      * UIProcess/API/gtk/tests/TestResources.cpp:
      (testWebResourceSendRequest):
      (serverCallback):
      (beforeAll):
      * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
      (sendRequestCallback):
      (pageCreatedCallback):
      * UIProcess/API/gtk/webkit2marshal.list:
      * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.h: Include
      WebKitDefines.h instead of WebKitWebExtensionDefines.h.
      * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
      (willSendRequestForFrame): Emit WebKitWebPage::send-request and
      return early if the load is cancelled.
      (webkit_web_page_class_init): Add WebKitWebPage::send-request
      signal.
      * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.h: Include
      WebKitDefines.h instead of WebKitWebExtensionDefines.h.
      * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148679 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0dba8d2b
    • bruno.abinader@basyskom.com's avatar
      [WK2] CoordinatedGraphicsLayerState is a struct, not a class · 3ffb4363
      bruno.abinader@basyskom.com authored
      https://bugs.webkit.org/show_bug.cgi?id=108855
      
      Reviewed by Andreas Kling.
      
      Fixes the forward declaration which takes CoordinatedGraphicsLayerState
      as a class.
      
      * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
      (WebCore):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148674 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3ffb4363
    • commit-queue@webkit.org's avatar
      [EFL][WK2] Change inadequate return value in method setDone(). · 3fb2cc07
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114806
      
      Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2013-04-18
      Reviewed by Andreas Kling.
      
      Fix possible warning in EFL port: no return statement in function returning non-void.
      Change return value from bool to void in method setDone().
      
      * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
      (EWK2UnitTest::CallbackDataTimer::setDone):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148671 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3fb2cc07
    • g.czajkowski@samsung.com's avatar
      [WK2][EFL] Text Checker's settings refactor · a2e88c1d
      g.czajkowski@samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=111713
      
      Reviewed by Andreas Kling.
      
      Source/WebKit2:
      
      Use WK2's TextCheckerState object as the store for the text checker settings.
      It's shared between the client (Ewk API part) and WebProcess (read only).
      Thanks to it, we don't have to keep any additional structure with
      the settings on ewk side.
      
      In the consistency with WKTextChecker C API, move the Ewk's text checker settings APIs
      to the ewk_text_checker.h/cpp. They're not connected to Ewk_View/Ewk_Settings object to
      keep them in ewk_setting.h/cpp.
      
      Introduce a new class to implement WKTextCheckerClient callbacks to call spelling
      methods through WK2 C API.
      The main purpose of this change is to detach text checker initialization from ewk_context.
      
      * PlatformEfl.cmake:
      Add a new files to the build.
      
      * UIProcess/API/efl/ewk_context.cpp:
      (EwkContext::EwkContext):
      Detach the text checker initialization from context.
      There might be more than default context.
      There is one text checker object per application.
      
      * UIProcess/API/efl/ewk_settings.cpp:
      * UIProcess/API/efl/ewk_settings.h:
      Remove the text checker settings.
      
      * UIProcess/API/efl/ewk_text_checker.cpp:
      Add the text checker settings to the ewk_text_checker.h/cpp
      
      (convertLanguagesToEinaList):
      Add helper function to convert Vector's values to Eina_List.
      
      (clientCallbacks):
      Add the client callback responsible for the continuous spell checking
      setting change to the struct.
      
      (ewk_text_checker_continuous_spell_checking_enabled_set):
      Do not call the client's callback responsible for the setting
      change unless WebKit changes the setting (trough the context
      'Check Spelling While Typing' option).
      
      * UIProcess/API/efl/ewk_text_checker.h:
      Adjust APIs name to the ewk_text_checker syntax.
      Update the documentation according to the changes.
      
      * UIProcess/API/efl/ewk_text_checker_private.h:
      (ClientCallbacks):
      Move ClientCallbacks structure to TextCheckerClientEfl.
      The client callbacks (Ewk API) have to be accessible in WKTextCheckerClient callbacks
      to choose what implementation will be used - the client's (if definied) or Enchant impl.
      
      * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
      Update the unit tests according to the APIs change.
      Update the test responsible for the notification about the setting change
      according to changes in 'ewk_text_checker_continuous_spell_checking_enabled_set'.
      
      * UIProcess/efl/TextCheckerClientEfl.cpp: Added.
      Implement WKTextCheckerClient callbacks.
      
      (TextCheckerClientEfl::TextCheckerClientEfl):
      (TextCheckerClientEfl::instance):
      Allow to get and create TextCheckerClientEfl object.
      
      (TextCheckerClientEfl::isContinuousSpellCheckingEnabled):
      Get the setting value based on WK2 C API.
      
      (TextCheckerClientEfl::ensureSpellCheckingLanguage):
      Load the default languages if user didn't specify any.
      
      (TextCheckerClientEfl::updateSpellCheckingLanguages):
      (TextCheckerClientEfl::languagesUpdateTimerFired):
      (TextCheckerClientEfl::availableSpellCheckingLanguages):
      (TextCheckerClientEfl::loadedSpellCheckingLanguages):
      (TextCheckerClientEfl::availableSpellCheckingLanguages):
      (TextCheckerClientEfl::loadedSpellCheckingLanguages):
      Provide support for languages.
      
      (TextCheckerClientEfl::spellCheckingSettingChangeTimerFired):
      (TextCheckerClientEfl::callContinuousSpellCheckingChangeCallbackAsync):
      Notify the client about the setting change.
      
      (TextCheckerClientEfl::isContinuousSpellCheckingEnabledCallback):
      (TextCheckerClientEfl::setContinuousSpellCheckingEnabledCallback):
      (TextCheckerClientEfl::uniqueSpellDocumentTagCallback):
      (TextCheckerClientEfl::closeSpellDocumentWithTagCallback):
      (TextCheckerClientEfl::checkSpellingOfStringCallback):
      (TextCheckerClientEfl::guessesForWordCallback):
      (TextCheckerClientEfl::learnWordCallback):
      (TextCheckerClientEfl::ignoreWordCallback):
      WKTextCheckerClient callbacks implementation.
      
      * UIProcess/efl/TextCheckerClientEfl.h: Added.
      (TextCheckerClientEfl):
      (TextCheckerClientEfl::clientCallbacks):
      Return the client callbacks to be used in ewk_text_checker.cpp.
      
      * UIProcess/efl/TextCheckerEfl.cpp:
      (WebKit::TextChecker::state):
      Initialize the TextCheckerState's members to false.
      
      (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
      Set the default language if user didn't specify any.
      Notify the client about the setting change.
      This method is called when context menu 'Check Spelling While Typing'
      option has been toggled.
      
      (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
      Set the default language if user didn't specify any.
      Called by WKTextChecker's API.
      
      Tools:
      
      * MiniBrowser/efl/main.c:
      (window_create):
      Use a new text checker API to enable spell checking.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148670 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a2e88c1d
    • commit-queue@webkit.org's avatar
      [GTK][WK2] Add WebKitWebPage::webkit_web_page_get_uri to WebKit2 GTK+ API · 4387c174
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=111288
      
      Patch by Manuel Rego Casasnovas <rego@igalia.com> on 2013-04-18
      Reviewed by Anders Carlsson.
      
      Add new property URI to WebKitWebPage providing a method
      webkit_web_page_get_uri to get it and the signal "notify::uri" to
      monitor changes in the URI.
      
      * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Include new method in
      GTK+ doc.
      * UIProcess/API/gtk/tests/TestLoaderClient.cpp:
      (testWebPageURI):
      (beforeAll):
      (afterAll): Add test to check that WebKitWebPage URI matches with
      WebKitWebView value. The tests is listening for changes in WebKitWebPage
      URI via D-Bus and checks that value is the same than WebKitWebView URI.
      It also checks that the order of the URIs in a redirection is right.
      When the test finishes the signals are disconnected properly.
      * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
      (uriChangedCallback):
      (pageCreatedCallback): Add new D-Bus signal "URIChanged" connected to
      "notify::uri" signal of WebKitWebPage.
      * UIProcess/API/gtk/tests/WebKitTestBus.cpp:
      (WebKitTestBus::getOrCreateConnection): Rename method connection() to
      getOrCreateConnection().
      (WebKitTestBus::createProxy): Use the new method name.
      * UIProcess/API/gtk/tests/WebKitTestBus.h:
      (WebKitTestBus::connection): Add public getter for m_connection.
      (WebKitTestBus): Add private method header getOrCreateConnection().
      * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
      (_WebKitWebPagePrivate): Add new URI attribute.
      (webkitWebPageSetURI): Method to set the URI and emit the "notify:uri"
      signal if it has changed.
      (didStartProvisionalLoadForFrame): At this point it use the unreachable
      URL from provisional document loader if any. Otherwise, it uses the URL
      from provisional document loader.
      (didReceiveServerRedirectForProvisionalLoadForFrame): In the case of
      redirections it works like for didStartProvisionalLoadForFrame getting
      the unreachable URL if any.
      (didSameDocumentNavigationForFrame): In this case it gets the URL from
      the document loader.
      (webkitWebPageGetProperty): Add code related to URI property.
      (webkit_web_page_class_init): Add bits related to URI property.
      (webkitWebPageCreate): Implement callbacks to monitor URI changes.
      (webkit_web_page_get_uri): Return URI attribute.
      * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.h: Add new method
      header.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148666 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4387c174
    • xan@webkit.org's avatar
      [GTK] When the WebProcess crashes, a signal should be emitted · 121c35ce
      xan@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=105180
      
      Reviewed Carlos Garcia Campos.
      
      Emit a "web-process-crashed" signal when the WebProcess crashes. This
      is useful, for example, to show an error page in a web browser
      like Chrome does.
      
      * UIProcess/API/gtk/WebKitLoaderClient.cpp:
      (processDidCrash):
      (attachLoaderClientToView):
      * UIProcess/API/gtk/WebKitWebContextPrivate.h:
      * UIProcess/API/gtk/WebKitWebView.cpp:
      (webkit_web_view_class_init):
      (webkitWebViewWebProcessCrashed):
      * UIProcess/API/gtk/tests/TestWebExtensions.cpp:
      (testWebExtensionGetTitle):
      (webProcessCrashedCallback):
      (testWebKitWebViewProcessCrashed):
      (beforeAll):
      * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
      (methodCallCallback):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148665 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      121c35ce
    • mikhail.pozdnyakov@intel.com's avatar
      [EFL][WK2] Add tooltip API to the WKView client · dcbe6044
      mikhail.pozdnyakov@intel.com authored
      https://bugs.webkit.org/show_bug.cgi?id=111563
      
      Patch by Kenneth Rohde Christiansen <kenneth@webkit.org> on 2013-04-18
      Reviewed by Andreas Kling.
      
      Add tooltip to the barebone Tizen C API, and implement
      the method so that the EFL API keeps working.
      
      * UIProcess/API/C/efl/WKView.h:
      * UIProcess/efl/ViewClientEfl.cpp:
      (WebKit::ViewClientEfl::didChangeTooltip):
      (WebKit):
      (WebKit::ViewClientEfl::ViewClientEfl):
      * UIProcess/efl/ViewClientEfl.h:
      (ViewClientEfl):
      * UIProcess/efl/WebView.cpp:
      (WebKit::WebView::toolTipChanged):
      * UIProcess/efl/WebViewClient.cpp:
      (WebKit::WebViewClient::didChangeTooltip):
      (WebKit):
      * UIProcess/efl/WebViewClient.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148660 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      dcbe6044
  2. 17 Apr, 2013 4 commits
  3. 16 Apr, 2013 14 commits
    • andersca@apple.com's avatar
      Clone storage namespaces for window.open · 55fda687
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=114703
      
      Reviewed by Sam Weinig.
      
      Source/WebCore:
      
      Pass the new page to StorageNamespace::copy.
      
      * page/Chrome.cpp:
      (WebCore::Chrome::createWindow):
      * storage/StorageNamespace.h:
      (StorageNamespace):
      * storage/StorageNamespaceImpl.cpp:
      (WebCore::StorageNamespaceImpl::copy):
      * storage/StorageNamespaceImpl.h:
      (WebCore):
      (StorageNamespaceImpl):
      
      Source/WebKit2:
      
      * UIProcess/Storage/StorageManager.cpp:
      (WebKit::StorageManager::StorageArea::clone):
      New helper function for cloning a storage area.
      
      (WebKit::StorageManager::StorageArea::setItem):
      Correctly handle the copy-on-write feature of StorageMap if it has multiple storage areas pointing to it.
      
      (WebKit::StorageManager::StorageArea::removeItem):
      Ditto.
      
      (WebKit::StorageManager::SessionStorageNamespace::cloneTo):
      Add cloned storage areas.
      
      * WebProcess/Storage/StorageNamespaceImpl.cpp:
      (WebKit::StorageNamespaceImpl::copy):
      Create a new session storage namespace for the new page.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148585 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      55fda687
    • bdakin@apple.com's avatar
      Need a new layout milestone to notify bundle clients when the header has been · 60d628f6
      bdakin@apple.com authored
      flushed
      https://bugs.webkit.org/show_bug.cgi?id=114706
      -and corresponding-
      <rdar://problem/13657284>
      
      Reviewed by Simon Fraser.
      
      Source/WebCore: 
      
      New LayoutMilestone is DidFirstFlushForHeaderLayer.
      * page/LayoutMilestones.h:
              
      New API to allow removing a LayoutMilestone.
      * WebCore.exp.in:
      * page/Page.cpp:
      (WebCore::Page::removeLayoutMilestones):
      * page/Page.h:
      (Page):
      
      New boolean member variable m_headerLayerAwaitingFirstFlush keeps track of whether 
      we need to send the DidFirstFlushForHeaderLayer milestone.
      * rendering/RenderLayerCompositor.h:
      (RenderLayerCompositor):
      * rendering/RenderLayerCompositor.cpp:
      (WebCore::RenderLayerCompositor::RenderLayerCompositor):
      
      Send the milestone if appropriate.
      (WebCore::RenderLayerCompositor::flushPendingLayerChanges):
      
       Set m_headerLayerAwaitingFirstFlush to true for a newly created layer.
      (WebCore::RenderLayerCompositor::updateLayerForHeader):
      
      Source/WebKit2: 
      
      Make this new LayoutMilestone private at the API layer. 
      * Shared/API/c/WKPageLoadTypes.h:
      * Shared/API/c/WKPageLoadTypesPrivate.h: Added.
      
      Handle the new milestone.
      * Shared/API/c/WKSharedAPICast.h:
      (WebKit::toWKLayoutMilestones):
      (WebKit::toLayoutMilestones):
      
      New file to make the milestone private.
      * WebKit2.xcodeproj/project.pbxproj:
      
      Add or remove the DidFirstFlushForHeaderLayer millstone based on whether we just 
      added or removed a header.
      * WebProcess/WebPage/mac/WebPageMac.mm:
      (WebKit::WebPage::setHeaderLayerWithHeight):
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148564 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      60d628f6
    • rniwa@webkit.org's avatar
      Another EFL build fix. · 06880d6a
      rniwa@webkit.org authored
      * WebProcess/WebPage/efl/WebPageEfl.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148553 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      06880d6a
    • weinig@apple.com's avatar
      Remove more #includes from Frame.h · 13d777fe
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=114642
      
      Reviewed by Anders Carlsson.
      
      Source/WebCore: 
      
      Convert Editor, FrameSelection, EventHandler and AnimationController into
      OwnPtrs, to avoid inclusion.
      
      * accessibility/AXObjectCache.cpp:
      * accessibility/AccessibilityObject.cpp:
      * accessibility/atk/WebKitAccessibleInterfaceEditableText.cpp:
      * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
      * bindings/objc/DOM.mm:
      * dom/CharacterData.cpp:
      * dom/ContainerNode.cpp:
      * dom/Element.cpp:
      * editing/AlternativeTextController.cpp:
      * editing/CompositeEditCommand.cpp:
      * editing/DeleteButtonController.h:
      * editing/EditingStyle.cpp:
      * editing/InsertLineBreakCommand.cpp:
      * editing/SpellChecker.cpp:
      * editing/SpellingCorrectionCommand.cpp:
      * editing/TextInsertionBaseCommand.cpp:
      * history/CachedFrame.cpp:
      * html/HTMLAnchorElement.cpp:
      * html/HTMLInputElement.cpp:
      * html/HTMLPlugInElement.cpp:
      * html/HTMLSelectElement.cpp:
      * html/HTMLTextAreaElement.cpp:
      * html/HTMLTextFormControlElement.cpp:
      * html/TextFieldInputType.cpp:
      * html/shadow/ClearButtonElement.cpp:
      * html/shadow/MediaControlElements.cpp:
      * html/shadow/SliderThumbElement.cpp:
      * inspector/InspectorPageAgent.h:
      * loader/FrameLoader.cpp:
      * page/DOMWindow.cpp:
      * page/Frame.cpp:
      * page/Frame.h:
      * page/FrameView.cpp:
      * page/FrameView.h:
      * page/Page.cpp:
      * page/TouchAdjustment.cpp:
      * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
      * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
      * platform/gtk/PasteboardGtk.cpp:
      * platform/qt/ClipboardQt.cpp:
      * rendering/HitTestResult.cpp:
      * rendering/RenderBlock.cpp:
      * rendering/RenderEmbeddedObject.cpp:
      * rendering/RenderLayer.cpp:
      * rendering/RenderNamedFlowThread.cpp:
      * rendering/RenderObject.cpp:
      * rendering/RenderSnapshottedPlugIn.cpp:
      * svg/graphics/SVGImage.cpp:
      * testing/Internals.cpp:
      
      Source/WebKit/mac: 
      
      * WebView/WebFrame.mm:
      * WebView/WebHTMLRepresentation.mm:
      * WebView/WebView.mm:
      
      Source/WebKit/qt: 
      
      * WebCoreSupport/DragClientQt.cpp:
      * WebCoreSupport/FrameLoaderClientQt.cpp:
      * WebCoreSupport/QWebFrameAdapter.cpp:
      * WebCoreSupport/QWebPageAdapter.cpp:
      
      Source/WebKit2: 
      
      * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
      * WebProcess/Plugins/PluginView.cpp:
      * WebProcess/WebPage/WebFrame.cpp:
      * WebProcess/WebPage/gtk/WebPageGtk.cpp:
      * WebProcess/WebPage/mac/WebPageMac.mm:
      * WebProcess/WebPage/qt/WebPageQt.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148545 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      13d777fe
    • timothy@apple.com's avatar
      Make resizing the docked Web Inspector stay in sync with the inspected view. · 47e26d29
      timothy@apple.com authored
      https://webkit.org/b/114682
      
      Reviewed by Joseph Pecoraro.
      
      * UIProcess/mac/WebInspectorProxyMac.mm:
      (WebKit::WebInspectorProxy::inspectedViewFrameDidChange):
      Disable screen updates to make sure the layers for both views resize in sync.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148538 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      47e26d29
    • andersca@apple.com's avatar
      Remove unneeded headers from ScriptExecutionContext.h · a5fb7dae
      andersca@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=114631
      
      Reviewed by Alexey Proskuryakov.
      
      Source/WebCore:
      
      This shaves another minute off WebCore build time on my MacBook Pro.
      
      * dom/ScriptExecutionContext.cpp:
      * dom/ScriptExecutionContext.h:
      * fileapi/Blob.cpp:
      * rendering/RenderBlock.cpp:
      * rendering/RenderBox.cpp:
      * rendering/RenderFlowThread.cpp:
      * rendering/RenderFrameSet.cpp:
      * rendering/RenderIFrame.cpp:
      * rendering/RenderImage.cpp:
      * rendering/RenderListBox.cpp:
      * rendering/RenderListItem.cpp:
      * rendering/RenderListMarker.cpp:
      * rendering/RenderMedia.cpp:
      * rendering/RenderObject.cpp:
      * rendering/RenderRegion.cpp:
      * rendering/RenderReplaced.cpp:
      * rendering/RenderReplica.cpp:
      * rendering/RenderRubyRun.cpp:
      * rendering/RenderScrollbarPart.cpp:
      * rendering/RenderSlider.cpp:
      * rendering/RenderTable.cpp:
      * rendering/RenderTableCell.cpp:
      * rendering/RenderTableRow.cpp:
      * rendering/RenderTableSection.cpp:
      * rendering/RenderTextControlSingleLine.cpp:
      * rendering/RenderTextTrackCue.cpp:
      * rendering/RenderVideo.cpp:
      * rendering/RenderView.cpp:
      * rendering/RenderWidget.cpp:
      * rendering/svg/RenderSVGContainer.cpp:
      * rendering/svg/RenderSVGForeignObject.cpp:
      * rendering/svg/RenderSVGGradientStop.cpp:
      * rendering/svg/RenderSVGHiddenContainer.cpp:
      * rendering/svg/RenderSVGImage.cpp:
      * rendering/svg/RenderSVGResourceContainer.cpp:
      * rendering/svg/RenderSVGResourceMarker.cpp:
      * rendering/svg/RenderSVGRoot.cpp:
      * rendering/svg/RenderSVGShape.cpp:
      * rendering/svg/RenderSVGText.cpp:
      
      Source/WebKit2:
      
      * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
      * WebProcess/WebPage/PageOverlay.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148536 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a5fb7dae
    • mjs@apple.com's avatar
      Remove even yet still more traces of v8 · d52258b1
      mjs@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=114693
      
      Reviewed by Anders Carlsson.
      
      ../WebCore: 
      
      No behavior change.
      
      * bindings/generic/ActiveDOMCallback.h:
      (WebCore::ActiveDOMCallback::isScriptControllerTerminating): Remove a V8-specific
      method and the comment referencing it.
      * bindings/generic/ActiveDOMCallback.cpp:
      (WebCore::ActiveDOMCallback::isScriptControllerTerminating): ditto
      * fileapi/File.cpp:
      (WebCore::File::File): Remove a comment referencing v8
      * inspector/InjectedScriptExterns.js: ditto
      
      ../WebKit2: 
      
      * Scripts/generate-forwarding-headers.pl: Remove v8 from list of platforms.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148534 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d52258b1
    • ap@apple.com's avatar
      Remove unused AlternativeTextClient::dismissDictationAlternativeUI · e7b48f78
      ap@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=114598
      
      Reviewed by Ryosuke Niwa.
      
      Source/WebCore:
      
      Removing dead code.
      
      * WebCore.exp.in:
      * editing/mac/AlternativeTextUIController.h: Made dismissAlternatives() private.
      * page/AlternativeTextClient.h:
      
      Source/WebKit/mac:
      
      * WebCoreSupport/WebAlternativeTextClient.h:
      * WebCoreSupport/WebAlternativeTextClient.mm:
      * WebView/WebView.mm:
      * WebView/WebViewInternal.h:
      
      Source/WebKit2:
      
      * UIProcess/API/mac/PageClientImpl.h:
      * UIProcess/API/mac/PageClientImpl.mm:
      (WebKit::PageClientImpl::dictationAlternatives):
      * UIProcess/PageClient.h:
      * UIProcess/WebPageProxy.cpp:
      * UIProcess/WebPageProxy.h:
      * UIProcess/WebPageProxy.messages.in:
      * WebProcess/WebCoreSupport/WebAlternativeTextClient.h:
      * WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148531 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e7b48f78
    • csaavedra@igalia.com's avatar
      [GTK][WK2] Add API to retrieve a snapshot from a webview · 495a040a
      csaavedra@igalia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=98270
      
      Reviewed by Anders Carlsson.
      
      This adds the GTK+ API necessary to retrieve a snapshot from a
      webview asynchronously. The API uses the injected bundle
      internally to get the snapshot from the WebProcess.
      
      * UIProcess/API/gtk/WebKitError.cpp:
      (webkit_snapshot_error_quark): Add snapshot API related error
      quark.
      * UIProcess/API/gtk/WebKitError.h: Add snapshot error handling.
      * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
      (didReceiveWebViewMessageFromInjectedBundle): Handle the new
      "DidGetSnapshot" message.
      * UIProcess/API/gtk/WebKitPrivate.h: Add SnapshotRegion enum.
      * UIProcess/API/gtk/WebKitWebView.cpp:
      (_WebKitWebViewPrivate): Add a map for the snapshot results.
      (GetSnapshotAsyncData):
      (webKitWebViewDidReceiveSnapshot):
      (webKitSnapshotRegionToSnapshotRegion): Helper method for casting
      the region option enumeration.
      (generateSnapshotCallbackID): Method to generate unique callback
      ids.
      (webkit_web_view_get_snapshot):
      (webkit_web_view_get_snapshot_finish): New snapshotting API.
      * UIProcess/API/gtk/WebKitWebView.h: Ditto.
      * UIProcess/API/gtk/WebKitWebViewPrivate.h: Add the private method
      to handle a received snapshot.
      * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add the new API
      bits.
      * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
      (cairoSurfacesEqual): Add helper to compare cairo_surface_t
      structs.
      (testWebViewSnapshot): New test.
      (beforeAll): Add the new test.
      * UIProcess/API/gtk/tests/WebViewTest.cpp:
      (WebViewTest::selectAll): Add method to help test snapshots
      including selection.
      * UIProcess/API/gtk/tests/WebViewTest.h: Ditto
      * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:
      (didReceiveMessageToPage): Ditto.
      (webkitWebExtensionCreate): Register method above.
      * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
      (webkitWebPageDidReceiveMessage): Add this method. It
      handles the new message "GetSnapshot".
      * WebProcess/InjectedBundle/API/gtk/WebKitWebPagePrivate.h:
      Add method above.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148526 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      495a040a
    • timothy@apple.com's avatar
      Create full rects for the inspector and inspected views when · 2b81afee
      timothy@apple.com authored
      adjusting to an inspected view frame change.
      
      This ensures switching dock sides restores the inspected view
      and inspector to fill the parent's bounds.
      
      https://webkit.org/b/114666
      rdar://problem/13660796
      
      Reviewed by Joseph Pecoraro.
      
      * UIProcess/mac/WebInspectorProxyMac.mm:
      (WebKit::WebInspectorProxy::inspectedViewFrameDidChange):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148524 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2b81afee
    • kbalazs@webkit.org's avatar
      Initialize logging channels for web processes · e63ce400
      kbalazs@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114621
      
      Reviewed by Sam Weinig.
      
      Use InitializeWebKit2 for initializing the web and plugin processes.
      It handles initializing the logging channels and it's better to have
      shared core for this. For the plugin process now we always create
      a RunLoop object which is not necessary with the -scanPlugin argument
      but it shouldn't be a problem.
      
      * PluginProcess/qt/PluginProcessMainQt.cpp:
      (WebKit::PluginProcessMain):
      * PluginProcess/unix/PluginProcessMainUnix.cpp:
      (WebKit::PluginProcessMainUnix):
      * WebProcess/efl/WebProcessMainEfl.cpp:
      (WebKit::WebProcessMainEfl):
      * WebProcess/gtk/WebProcessMainGtk.cpp:
      (WebKit::WebProcessMainGtk):
      * WebProcess/qt/WebProcessMainQt.cpp:
      (WebKit::WebProcessMainQt):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148519 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e63ce400
    • commit-queue@webkit.org's avatar
      [EFL][WK2] Add an API for getting context menu item's parent menu · e1034614
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=107510
      
      Patch by Michał Pakuła vel Rutka <m.pakula@samsung.com> on 2013-04-16
      Reviewed by Kenneth Rohde Christiansen.
      
      Added parent menu support and API for Ewk_Context_Menu_Item, to
      allow selecting context menus using Elementary widgets.
      Context menu unit test updated with new function.
      
      * UIProcess/API/efl/ewk_context_menu.cpp:
      (EwkContextMenu::EwkContextMenu):
      * UIProcess/API/efl/ewk_context_menu_item.cpp:
      (EwkContextMenuItem::EwkContextMenuItem):
      (ewk_context_menu_item_parent_menu_get):
      * UIProcess/API/efl/ewk_context_menu_item.h:
      * UIProcess/API/efl/ewk_context_menu_item_private.h:
      (EwkContextMenuItem::create):
      (EwkContextMenuItem::parentMenu):
      (EwkContextMenuItem::setParentMenu):
      (EwkContextMenuItem):
      * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
      (showContextMenu):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148514 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e1034614
    • akling@apple.com's avatar
      Fix release builds with !LOG_DISABLED. · 52397b26
      akling@apple.com authored
      * Platform/mac/Logging.mac.mm:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148509 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      52397b26
    • philn@webkit.org's avatar
      [GTK][EFL] Remove deprecated libsoup API usage · c5331afd
      philn@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=104894
      
      Patch by Manuel Rego Casasnovas <rego@igalia.com> on 2013-04-16
      Reviewed by Philippe Normand.
      
      Source/WebCore:
      
      Based on a patch by Claudio Saavedra <csaavedra@igalia.com>.
      Remove LIBSOUP_USE_UNSTABLE_REQUEST_API and only include
      libsoup/soup.h.
      
      * platform/network/ResourceHandleInternal.h:
      * platform/network/soup/GOwnPtrSoup.cpp:
      * platform/network/soup/ProxyResolverSoup.h:
      * platform/network/soup/ResourceErrorSoup.cpp:
      * platform/network/soup/ResourceHandleSoup.cpp:
      (WebCore::ensureSessionIsInitialized): No need to add the requester
      feature.
      (WebCore::createSoupRequestAndMessageForHandle): SoupSession has a
      requester API, use it.
      
      Source/WebKit/efl:
      
      Remove LIBSOUP_USE_UNSTABLE_REQUEST_API and only include
      libsoup/soup.h.
      
      Source/WebKit2:
      
      Remove LIBSOUP_USE_UNSTABLE_REQUEST_API and only include
      libsoup/soup.h.
      
      * WebProcess/Cookies/soup/WebKitSoupCookieJarSqlite.h:
      * WebProcess/efl/WebProcessMainEfl.cpp:
      * WebProcess/gtk/WebProcessMainGtk.cpp:
      * WebProcess/soup/WebKitSoupRequestGeneric.h:
      * WebProcess/soup/WebProcessSoup.cpp:
      * WebProcess/soup/WebSoupRequestManager.cpp:
      (WebKit::WebSoupRequestManager::registerURIScheme): Remove requester and
      use method soup_session_add_feature_by_type().
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148507 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c5331afd
  4. 15 Apr, 2013 7 commits
    • dino@apple.com's avatar
      Plugins that resize might need to be snapshotted. · 455c0193
      dino@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=102157
      <rdar://problem/12696259>
      
      Reviewed by Tim Horton.
      
      Source/WebCore:
      
      A plugin could avoid snapshotting if it started very
      small (below the threshold where we autostart), and then
      resized to be large (above the threshold). Detect this
      case and tell the plugin to snapshot.
      
      There unfortunately is a bit of state to track when doing
      this. We have to start the snapshotting in a post-layout
      task, so we carry a flag to say we're checking size but
      not wanting the plugin to update (which would restart it).
      We also might be a plugin that would have already restarted
      due to a similar plugin being clicked or detected as dominant.
      So this patch introduces a member variable that tracks what
      decision has been made on snapshotting.
      
      I also added some more logging to be more clear about what is
      happening to plugins going through the snapshot process, and
      changed the order of the tests in the algorithm so that domain
      detection comes before examining the size.
      
      * html/HTMLPlugInImageElement.cpp:
      (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Initialise
          the two new member variables.
      (WebCore::HTMLPlugInImageElement::setDisplayState): Mark a restarted
          plugin as NeverSnapshot. This means that if it later resizes above the
          threshold, it won't trigger the snapshot detection.
      (WebCore::HTMLPlugInImageElement::checkSnapshotStatus): Renamed from
          updateSnapshotInfo. This now updates the snapshot, but also runs
          the check for size changes.
      (WebCore::addPlugInsFromNodeListMatchingPlugInOrigin): Gather all plugins
          that look like a restarting plugin, not just those snapshotted. That
          way they can all be marked as NeverSnapshot.
      (WebCore::HTMLPlugInImageElement::restartSimilarPlugIns): Bless every
          plugin that looks similar, whether or not it is snapshotted.
      (WebCore::HTMLPlugInImageElement::userDidClickSnapshot): More logging.
      (WebCore::HTMLPlugInImageElement::setIsPrimarySnapshottedPlugIn): Ditto.
      (WebCore::HTMLPlugInImageElement::checkSizeChangeForSnapshotting): New
          method. If the plugin was below the threshold and is now above it,
          begin the snapshotting process.
      (WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): Plugins
          that were marked as NeverSnapshot should start immediately. Move the origin
          test earlier in the method. If a plugin avoided snapshotting due to size,
          remember the size.
      (WebCore::HTMLPlugInImageElement::subframeLoaderDidCreatePlugIn): Mark the
          plugin as NeverSnapshot.
      
      * html/HTMLPlugInImageElement.h:
      (HTMLPlugInImageElement): Four new member variables:
          - the decision we made regarding snapshotting (or not), uses the SnapshotDecision enum
          - the size when it avoided snapshotting
          - a flag to indicate the post layout update was triggered due to
            a size change
      (WebCore::HTMLPlugInImageElement::needsCheckForSizeChange): New method.
      (WebCore::HTMLPlugInImageElement::setNeedsCheckForSizeChange): New method.
      (WebCore::HTMLPlugInImageElement::snapshotDecision): Return the decision
          regarding snapshotting or not snapshotting.
      
      * page/FrameView.cpp:
      (WebCore::FrameView::addWidgetToUpdate): Guard updating the widget. We don't
          want to do it when we're checking for a size change in the plugin.
      (WebCore::FrameView::updateWidget): Call new name.
      
      * plugins/PluginViewBase.h:
      (WebCore::PluginViewBase::beginSnapshottingRunningPlugin): Empty virtual
          method to snapshot a running plugin.
      
      * rendering/RenderEmbeddedObject.cpp:
      (WebCore::RenderEmbeddedObject::layout): If the plugin has increased in
          size add it to the post layout list so that it will be checked.
      
      Source/WebKit2:
      
      Allow a running plugin to be snapshotted. All this
      means is that we start the snapshot timer again.
      
      * WebProcess/Plugins/PluginView.cpp:
      (WebKit::PluginView::beginSnapshottingRunningPlugin): Restart
          the timer.
      * WebProcess/Plugins/PluginView.h: Virtual method declaration.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148482 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      455c0193
    • commit-queue@webkit.org's avatar
      [EFL][WK2] build fix after r148434 · c65e38e6
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114647
      
      Patch by Seokju Kwon <seokju.kwon@gmail.com> on 2013-04-15
      Reviewed by Benjamin Poulain.
      
      * UIProcess/API/efl/EwkView.cpp:
      (EwkView::showContextMenu):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148477 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c65e38e6
    • jer.noble@apple.com's avatar
      After switching to another space and back, video races to catch up with audio · eee41125
      jer.noble@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=114634
      
      Reviewed by Tim Horton.
      
      In Mountain Lion and previous, report that a view is "not visible" when its window
      is not in the active space. This causes us to notify AVFoundation that its CAImageQueues
      will not be serviced and results in not having the "catch up" behavior when returning
      to the browser's space.
      
      * UIProcess/API/mac/PageClientImpl.mm:
      (WebKit::PageClientImpl::isViewVisible):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148464 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eee41125
    • commit-queue@webkit.org's avatar
      Schedule rendering at regular interval (60fps) · 3b83585f
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114617
      
      Patch by Seulgi Kim <seulgikim@company100.net> on 2013-04-15
      Reviewed by Martin Robinson.
      
      Schedule rendering reguarly regardless of the time taken to render a
      frame. Otherwise, next flush delayed by the amount of the rendering
      time.
      
      * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
      (WebKit::LayerTreeHostGtk::LayerTreeHostGtk):
      (WebKit::LayerTreeHostGtk::layerFlushTimerFired):
      (WebKit::LayerTreeHostGtk::flushAndRenderLayers):
      * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148439 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3b83585f
    • commit-queue@webkit.org's avatar
      [EFL][WK2] Use C API in ewk_context_menu · e48eb1c9
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=109698
      
      Patch by Michał Pakuła vel Rutka <m.pakula@samsung.com> on 2013-04-15
      Reviewed by Andreas Kling.
      
      EFL port unlike others does not handle context menus inside WebKit but exposes an API:
      ewk_context_menu and ewk_context_menu_item, and leaves context menu to application.
      Currently EFL port's context menu API uses internal C++ classes, while it should use WK2 C API,
      to avoid violating layering.
      This patch changes EFL context menu API to use only WK2 C API.
      
      * UIProcess/API/efl/EwkView.cpp:
      (EwkView::showContextMenu):
      * UIProcess/API/efl/EwkView.h:
      (WebKit):
      (EwkView):
      * UIProcess/API/efl/ewk_context_menu.cpp:
      (EwkContextMenu::EwkContextMenu):
      (EwkContextMenu::contextMenuItemSelected):
      (ewk_context_menu_item_select):
      (getWKTagFromEwkAction):
      * UIProcess/API/efl/ewk_context_menu_item.cpp:
      (EwkContextMenuItem::EwkContextMenuItem):
      (getEwkActionFromWKTag):
      * UIProcess/API/efl/ewk_context_menu_item.h:
      * UIProcess/API/efl/ewk_context_menu_item_private.h:
      (EwkContextMenuItem::create):
      (EwkContextMenuItem):
      * UIProcess/API/efl/ewk_context_menu_private.h:
      (EwkContextMenu::create):
      (EwkContextMenu):
      * UIProcess/efl/ContextMenuClientEfl.cpp:
      (showContextMenu):
      (hideContextMenu):
      (ContextMenuClientEfl::ContextMenuClientEfl):
      * UIProcess/efl/ContextMenuClientEfl.h:
      (WebKit::ContextMenuClientEfl::view):
      * UIProcess/efl/WebContextMenuProxyEfl.cpp:
      (WebKit::WebContextMenuProxyEfl::showContextMenu):
      (WebKit::WebContextMenuProxyEfl::hideContextMenu):
      * UIProcess/efl/WebContextMenuProxyEfl.h:
      (WebContextMenuProxyEfl):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148434 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e48eb1c9
    • kbalazs@webkit.org's avatar
      [CoordGfx] Background color should not be part of GraphicsLayerState · 1283cf3b
      kbalazs@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=113785
      
      Source/WebCore:
      
      Page background is independent from layer state, send it to the UI
      as soon as possible.
      
      Should not cause observable change in behavior so no new tests.
      
      * platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
      (WebCore::CoordinatedGraphicsScene::commitSceneState):
      * platform/graphics/texmap/coordinated/CoordinatedGraphicsState.h:
      
      Source/WebKit2:
      
      Reviewed by Andreas Kling.
      
      Page background is independent from layer state, send it to the UI
      as soon as possible.
      
      * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
      (CoreIPC::::encode):
      (CoreIPC::::decode):
      * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
      (WebKit::CoordinatedLayerTreeHost::setBackgroundColor):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148430 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      1283cf3b
    • commit-queue@webkit.org's avatar
      [WK2] Add new callbacks and a function for WebKit2 context menu API · 7c44c3f1
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=111552
      
      Patch by Michał Pakuła vel Rutka <m.pakula@samsung.com> on 2013-04-15
      Reviewed by Anders Carlsson.
      
      Add contextMenuHide and contextMenuShow callbacks to WKPageContextMenuClient
      and WKPageContextMenuSelected API so context menus can be handled outside
      WebKit. API version of this client was bumped so older client version still
       can be used
      
      * Shared/APIClientTraits.cpp:
      (WebKit):
      * Shared/APIClientTraits.h:
      * UIProcess/API/C/WKPage.cpp:
      (WKPageSelectContextMenuItem):
      * UIProcess/API/C/WKPage.h:
      * UIProcess/API/gtk/WebKitContextMenuClient.cpp:
      (attachContextMenuClientToView):
      * UIProcess/WebPageContextMenuClient.cpp:
      (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
      (WebKit::WebPageContextMenuClient::showContextMenu):
      (WebKit):
      (WebKit::WebPageContextMenuClient::hideContextMenu):
      * UIProcess/WebPageContextMenuClient.h:
      (WebPageContextMenuClient):
      * UIProcess/WebPageProxy.cpp:
      (WebKit::WebPageProxy::internalShowContextMenu):
      * UIProcess/efl/ContextMenuClientEfl.cpp:
      (ContextMenuClientEfl::ContextMenuClientEfl):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148420 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7c44c3f1
  5. 14 Apr, 2013 3 commits
    • ch.dumez@sisa.samsung.com's avatar
      [EFL][WK2] Regression(r148274): Broke rendering in the browser · 3f0c705f
      ch.dumez@sisa.samsung.com authored
      https://bugs.webkit.org/show_bug.cgi?id=114593
      
      Reviewed by Anders Carlsson.
      
      r148274 added a new "didChangeViewportAttributes" callback to
      WKView but did not hook it up in ViewClientEfl. This patch
      fixes this and makes rendering work again in the browser.
      
      * UIProcess/efl/ViewClientEfl.cpp:
      (WebKit::ViewClientEfl::ViewClientEfl):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148407 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      3f0c705f
    • akling@apple.com's avatar
      Move CSSOM classes to using MutableStylePropertySet over StylePropertySet. · b977e619
      akling@apple.com authored
      <http://webkit.org/b/114581>
      
      Reviewed by Anders Carlsson.
      
      Source/WebCore:
      
      Moved ensureCSSStyleDeclaration() and ensureInlineCSSStyleDeclaration() from StylePropertySet
      to MutableStylePropertySet.
      
      StyleRule & co now return a MutableStylePropertySet* from mutableProperties() to aid with...
      
      CSSStyleDeclaration now only deals with MutableStylePropertySets. This was already the case
      in practice, we just didn't have any compile-time foot-shooting protection.
      In other words, if there's a CSSOM wrapper for a given StylePropertySet, it's guaranteed to
      be mutable, and the pointer types now reflect this.
      
      * WebCore.exp.in:
      * css/PropertySetCSSStyleDeclaration.cpp:
      (WebCore::StyleRuleCSSStyleDeclaration::StyleRuleCSSStyleDeclaration):
      (WebCore::StyleRuleCSSStyleDeclaration::reattach):
      * css/PropertySetCSSStyleDeclaration.h:
      (WebCore::PropertySetCSSStyleDeclaration::PropertySetCSSStyleDeclaration):
      (PropertySetCSSStyleDeclaration):
      (WebCore::StyleRuleCSSStyleDeclaration::create):
      (StyleRuleCSSStyleDeclaration):
      (WebCore::InlineCSSStyleDeclaration::InlineCSSStyleDeclaration):
      * css/StylePropertySet.cpp:
      (WebCore::MutableStylePropertySet::ensureCSSStyleDeclaration):
      (WebCore::MutableStylePropertySet::ensureInlineCSSStyleDeclaration):
      * css/StylePropertySet.h:
      (StylePropertySet):
      (MutableStylePropertySet):
      * css/StyleRule.cpp:
      (WebCore::StyleRule::mutableProperties):
      (WebCore::StyleRulePage::mutableProperties):
      (WebCore::StyleRuleFontFace::mutableProperties):
      (WebCore::StyleRuleViewport::mutableProperties):
      (WebCore::StyleRuleFilter::mutableProperties):
      * css/StyleRule.h:
      (StyleRule):
      (StyleRuleFontFace):
      (StyleRulePage):
      (StyleRuleViewport):
      (StyleRuleFilter):
      * css/WebKitCSSKeyframeRule.cpp:
      (WebCore::StyleKeyframe::mutableProperties):
      * css/WebKitCSSKeyframeRule.h:
      (StyleKeyframe):
      * dom/Attr.cpp:
      (WebCore::Attr::style):
      * dom/Attr.h:
      (Attr):
      * editing/EditingStyle.cpp:
      (WebCore::EditingStyle::removeStyleAddedByNode):
      (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
      (WebCore::EditingStyle::triStateOfStyle):
      (WebCore::styleFromMatchedRulesForElement):
      (WebCore::EditingStyle::removeStyleFromRulesAndContext):
      * editing/FrameSelection.cpp:
      (WebCore::FrameSelection::copyTypingStyle):
      * editing/FrameSelection.h:
      * inspector/InspectorCSSAgent.cpp:
      (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
      
      Source/WebKit/gtk:
      
      * WebCoreSupport/EditorClientGtk.cpp:
      (WebKit::EditorClient::shouldApplyStyle):
      
      Source/WebKit/mac:
      
      * WebCoreSupport/WebEditorClient.mm:
      (WebEditorClient::shouldApplyStyle):
      * WebView/WebFrame.mm:
      (-[WebFrame _typingStyle]):
      
      Source/WebKit2:
      
      * WebProcess/WebCoreSupport/WebEditorClient.cpp:
      (WebKit::WebEditorClient::shouldApplyStyle):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148396 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b977e619
    • ch.dumez@sisa.samsung.com's avatar
      Source/WebKit/efl: Unreviewed build fix for WebKit1 EFL after r148373 due to missing · 2dcd5305
      ch.dumez@sisa.samsung.com authored
      header includes.
      
      * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
      * WebCoreSupport/EditorClientEfl.cpp:
      * WebCoreSupport/FrameLoaderClientEfl.cpp:
      * WebCoreSupport/InspectorClientEfl.cpp:
      * ewk/ewk_frame.cpp:
      * ewk/ewk_view.cpp:
      * ewk/ewk_view_private.h:
      (WebCore):
      
      Source/WebKit2: Unreviewed build fix for WebKit2 EFL after r148373 due to missing
      header includes.
      
      * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp:
      * UIProcess/efl/InputMethodContextEfl.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148381 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      2dcd5305
  6. 13 Apr, 2013 3 commits
    • weinig@apple.com's avatar
      Add ObjC API for setting initialization data for the WKWebProcessPlugIn · 5391fb6f
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=103846
      
      Reviewed by Darin Adler.
      
      * UIProcess/API/mac/WKProcessGroup.h:
      Adds a new optional processGroupWillCreateConnectionToWebProcessPlugIn: method for the WKProcessGroupDelegate protocol,
      which allows the user to pass (via an autoreleased return value) initialization data to the web process plugin.
      
      * UIProcess/API/mac/WKProcessGroup.mm:
      (getInjectedBundleInitializationUserData):
      (setUpInectedBundleClient):
      (-[WKProcessGroup initWithInjectedBundleURL:]):
      (-[WKProcessGroup dealloc]):
      Use the existing WKContextInjectedBundleClient infrastructure to pass the initialization data to the bundle
      via the new ObjCObjectGraph APIObject.
      
      * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
      Adds webProcessPlugIn:initializeWithObject: to the WKWebProcessPlugIn protocol, replacing webProcessPlugInInitialize:.
      
      * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
      (WebKit::InjectedBundle::load):
      Pass the initialization data to the web process plugin.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148376 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5391fb6f
    • weinig@apple.com's avatar
      Attempt Build Fix. · a3a53b29
      weinig@apple.com authored
      * WebProcess/Plugins/Netscape/NPJSObject.cpp:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148374 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a3a53b29
    • weinig@apple.com's avatar
      Make Frame's ScriptController an OwnPtr and remove the #include · 123e4aae
      weinig@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=114105
      
      Reviewed by Dean Jackson.
      
      Source/WebCore: 
      
      * Modules/websockets/WebSocket.cpp:
      * bindings/generic/BindingSecurity.cpp:
      * bindings/js/JSEventListener.cpp:
      * bindings/js/JSLazyEventListener.cpp:
      * bindings/js/PageScriptDebugServer.cpp:
      * bindings/js/ScriptEventListener.cpp:
      * bindings/js/ScriptState.cpp:
      * bindings/objc/DOM.mm:
      * bindings/objc/DOMAbstractView.mm:
      * bindings/objc/DOMInternal.mm:
      * dom/DocumentStyleSheetCollection.cpp:
      * dom/EventTarget.cpp:
      * dom/ScriptElement.cpp:
      * history/CachedFrame.cpp:
      * html/HTMLCanvasElement.cpp:
      * html/HTMLDocument.cpp:
      * html/HTMLElement.cpp:
      * html/HTMLFormElement.cpp:
      * html/HTMLPlugInElement.cpp:
      * html/HTMLPlugInImageElement.cpp:
      * html/parser/HTMLParserOptions.cpp:
      * inspector/InspectorAgent.cpp:
      * inspector/InspectorController.cpp:
      * inspector/InspectorFrontendClientLocal.cpp:
      * inspector/InspectorFrontendHost.cpp:
      * inspector/InspectorInstrumentation.cpp:
      * inspector/InspectorOverlay.cpp:
      * inspector/InspectorPageAgent.cpp:
      * inspector/PageRuntimeAgent.cpp:
      * loader/DocumentWriter.cpp:
      * loader/NavigationScheduler.cpp:
      * loader/SubframeLoader.cpp:
      * loader/cache/CachedResourceLoader.cpp:
      * page/DOMWindow.cpp:
      * page/EventSource.cpp:
      * page/Frame.cpp:
      * page/Frame.h:
      * page/Navigator.cpp:
      * page/Page.cpp:
      * page/PageGroup.cpp:
      * xml/XMLHttpRequest.cpp:
      * xml/XMLTreeViewer.cpp:
      
      Source/WebKit/mac: 
      
      * Plugins/Hosted/HostedNetscapePluginStream.mm:
      * Plugins/WebNetscapePluginStream.mm:
      * Plugins/WebPluginContainerCheck.mm:
      * WebCoreSupport/WebGeolocationClient.mm:
      * WebCoreSupport/WebInspectorClient.mm:
      * WebView/WebFrame.mm:
      
      Source/WebKit2: 
      
      * Shared/WebHitTestResult.cpp:
      * Shared/WebHitTestResult.h:
      * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
      * UIProcess/WebContext.h:
      * UIProcess/WebPageProxy.h:
      * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
      * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
      * WebProcess/Plugins/Netscape/NPJSObject.cpp:
      * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
      * WebProcess/Plugins/PDF/PDFPlugin.h:
      * WebProcess/Plugins/PluginView.cpp:
      * WebProcess/Storage/StorageAreaImpl.cpp:
      * WebProcess/Storage/StorageAreaMap.cpp:
      * WebProcess/WebPage/WebFrame.cpp:
      * WebProcess/WebPage/WebPage.cpp:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148373 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      123e4aae